Базы данных

Диаграммы “сущность-связь”


 Клиент может взять напрокат несколько видеокассет.

 Видеокассета может браться напрокат одним клиентом.

Эта связь допускает существование клиентов, не взявших напрокат ни одной кассеты, и кассет, не взятых напрокат ни одним клиентом. Она же позволяет клиентам брать напрокат любое количестве кассет, но не допускает, чтобы одна видеокассета была взята напрокат более чем одним клиентом. На основании этих фактов можно сделать вывод, что связь Rents представляет текущее состояние проката и не отображает историю прокатов, поскольку видеокассета может выдаваться напрокат много раз в течение своего срока службы.

Можно заметить, что в исходном списке классов сущностей (2.1) Rental вводился как класс сущностей, но обсуждение 2.3 и диаграмма на 2.4 рассматривают его как тип связи Rents. Эту связь вполне можно реализовать в виде класса Rental (2.5). Класс Rental имеет те же атрибуты, что и тип связи Rents. Тип связи “многие к одному” и тип связи “один к одному” заменили тип связи, существовавший между классами Customer и VideoTape.

 Двойные линии, связывающие класс Rental с его двумя типами связей, устанавливают ограничение участия. Эти двойные линии указывают, что каждая сущность класса Rental (отражающая факт предоставления видеокассеты напрокат) должна участвовать в обеих связях, т.е. каждая отражающая операцию проката сущность должна быть связана с клиентом и видеокассетой. Типы связей можно представить следующими предложениями.

Комментарии закрыты