"Проектирование реляционных баз данных." - читать интересную книгу автора (Джен Л. Харрингтон)

Выявление слабых сущностей и связанных с ними обязательных взаимоотношений может быть очень важно с точки зрения обеспечения согласованности и целостности данных. Рассмотрим, к примеру, результат хранения заказа, который сделан неизвестным клиентом: поставить товар клиенту невозможн , что влечет за собой потери в деятельности компании.
Документирование взаимоотношений \
Используемые для построения ER-диаграмм методы Чена и информационного проектирования по-разному отображают взаимоотношения. Каждый из методов имеет !'ои преимущества с точки зрения предоставляемого объема информации и сложности Диаграмм.
Метод Чена
р методе Чена для изображения взаимоотношений используются ромбы, а для
Т* ражения типа взаимоотношения между сущностями — линии со стрелками. На-
еР, на рис. 2.5 представлено взаимоотношение между клиентом и заказом в Lasers
У- одиночная стрелка, направленная на сущность клиентов (Customer), указывает
20
Часть первая • Теория
Customer
Order
Рис. 2.5. Использование метода Чена со стрелками и ромбами взаимоотношений
на то, что заказ принадлежит максимум одному клиенту. Двойная стрелка, направленная на сущность заказов (Order), означает, что клиент может сделать один или несколько заказов. Слово (places — делает) в ромбе взаимоотношения поясняет смысл взаимоотношения.
В границах метода Чена существуют два альтернативных способа представления взаимоотношений. Первый (см. рис. 2.6) предполагает использование стрелок с цифрами и буквами. Здесь "1" указывает на то, что заказ поступает от одного клиента, а "М" (или "N") — на то, что клиент может делать много заказов.
Customer
РИС. 2.6. ER-диаграмма метода Чена с использованием букв и цифр для изображения взаимоотношений
При использовании второго способа устраняется недостаток, связанный с удобочитаемостью взаимоотношения в обоих направлениях, когда имя взаимоотношения находится внутри ромба. "Customer places order" (клиент делает заказ) имеет вполне определенный смысл, но "order places customer' (заказ делает клиента) — бессмыслица. Для решения этой задачи имя взаимоотношения удаляется из ромба и добавляется как ко взаимоотношению, так и к его инверсии на диаграмме (см. рис. 2.7). Этот вариант диаграммы можно читать в любом направлении: "A customer places many orders (клиент делает много заказов) и "An order is placed by one customer" (заказ делается одним клиентом).
Customer
1
is placed by
M
places
Order
Рис. 2.7. Добавление обратных взаимоотношений к ER-диаграмме метода Чена
При изображении ER-диаграмм с помощью метода Чена существует одн° весьма важное ограничение: отсутствует очевидный способ указания слабых суШ' ностей и обязательных взаимоотношений. Так, заказ не должен присутствоват" в базе данных без клиента. Следовательно, заказ является слабой сущностью, и ег взаимоотношение с клиентом обязательно.
Глава 2 • Сущности и взаимоотношения данных
21
Order
Именно поэтому многие разработчики баз данных, использующие метод Чена, стали применять для слабой сущности новый символ — прямоугольник с двойной границей.
Всякий раз при изображении на ER-диаграмме слабой сущности указывается, что взаимоотношение между этой сущностью и, по меньшей мере, одним из ее родителей является обязательным. Однако если у данной сущности несколько родителей, то невозможно определить по диаграмме, какие из взаимоотношений обязательные.
Метод информационного проектирования
В методе информационного проектирования дополнительная информация отображается графическими символами на концах линий. В качестве первого примера рассмотрим рис. 2.8. Это то же самое взаимоотношение типа "один-ко-многим", которое использовалось для демонстрации ER-диаграмм метода Чена. Однако в данном случае концы линий указывают, какие из взаимоотношений являются обязательными.
^ис. 2.8.
Customer
*cus tomer_numb
customer_first_name
cus tomer_l ast_name
cus tomer_s tree t
customer_?i ty
cus tomer_sta te
cus tomer_z i p
cus tomer„phone
cred i t_jcard jiu»b
card_jexp_date
Order
*order_numb cus tomer-jiurn
order_date order_f iI Ied
Изображение взаимоотношения "один-ко-многим" методом информационного проектирования
Двойная линия ниже сущности клиентов означает, что каждый заказ связан