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

ДНим и только одним клиентом. Поскольку нуль не является одним из вариантов,
1 взаимоотношение обязательно. Напротив, 0 и комбинация из трех линий, соеди-
пая с сущностью заказов, указывают на то, что клиент может сделать нуль, один
^и несколько заказов.
22
Часть первая • Теория
На концах линий диаграммы информационного проектирования используются четыре символа:
¦ (| — один и только один (обязательное взаимоотношение)
¦ О I — нуль или один
¦ >| — один или более (обязательное взаимоотношение)
¦ >0 — нуль, один или более
Эти символы часто изображаются повернутыми на 90° (см. рис. 2.8). Приведен ный выше список облегчит их восприятие.
При использовании метода информационного проектирования атрибуты часто указываются непосредственно на ER-диаграмме. Так, на рис. 2.8 идентификаторы сущностей помечены звездочками.
Базовые взаимоотношения для Lasers Only
Основные сущности базы данных Lasers Only приведены на диаграмме, изображенной на рис. 2.9. Эти взаимоотношения читаются следующим образом:
¦ Один клиент (customer) может делать нуль, один или несколько заказов. Заказ поступает от одного и только одного клиента.
¦ В заказе (order) может быть один или несколько пунктов. Пункт (item) может фигурировать в нуле, одном или нескольких заказах.
¦ Актер (actor) фигурирует в нуле, одном или нескольких пунктах.
В пункте имеется нуль, один или несколько актеров (иногда встречаются фильмы, где актерами являются не люди, а животные, поэтому требовать, чтобы каждый пункт (товар) был связан как минимум с одним актером, скорее всего, неразумно).
¦ У каждого пункта существует нуль, один или несколько продюсеров (производителей — producers). Каждый продюсер несет ответственность за нуль, один или несколько пунктов. (Хотя на практике информация о продюсере чаще всего не хранится, если только продюсер не связан с каким-то пунктом, установление необязательного взаимоотношения между продюсером и пунктом означает, что при необходимости можно хранить сведения о продюсерах без пунктов.)
По поводу этой структуры следует отметить одно важное обстоятельство, здесь установлены три взаимоотношения типа "многие-ко-многим"— заказ-пункт , "актер-пункт" и "продюсер-пункт". Перед отображением этой модели данных на реляционную базу данных установленные взаимоотношения необходимо упорядочить определенным образом.
Глава 2 • Сущности и взаимоотношения данных
23
Customer
*cus tomer_литЬ
customer_f i rst_name
cus tomer_I as t_naroe
cus tomer_s tree t
custorner_ci ty
customer—state
customer_zip
cus tomer-phone
cred i t_card_numb
cord_exp_fia te
i
Order
*order_numb customer_numb p"(->~
order_date order_fiI led
Distributor
*d i str i butor_numb d i s tr i bu tor_name distributor-street distributor_ci ty d i s tr i bu tor _s ta te
distributor_z ip
d i s tr i butor_phone
d i s tr i bu tor_con tac t.
con tac t_person_ex t
M
I tern
*i tem_numb
title
d i str i butor_num
retai I-price