Переход к реляционной модели В реляционной модели связи явным образом не отображаются, однако между отношениями поддерживаются иерархические связи (в каждой связи одно отношение выступает как основное, а другое как подчиненное). Это значит, что один кортеж основного отношения может быть связан с несколькими кортежами подчиненного отношения. Для поддержки этих связей оба отношения должны содержать наборы атрибутов, по которым они связаны. В основном отношении это первичный ключ отношения. В подчиненном отношении для моделирования связи должен присутствовать набор атрибутов, соответствующий первичному ключу основного отношения. Данный набор атрибутов в подчиненном отношении принято называть внешним ключом. Согласно правилу 4 перехода к реляционной модели (в каждое отношение, соответствующее подчиненной сущности, добавляется набор атрибутов основной сущности, являющейся ее первичным ключом), введем в дополнительное отношение Договор на покупку ключи отношений Покупатель и Объект недвижимости для продажи.
Для связи М:М между сущностями Покупатель и Объект недвижимости для продажи введем дополнительное связующее отношение, которое связано с каждым исходным связью 1:М.. Атрибутами этого связующего отношения, помимо даты осмотра и комментарии, будут первичные ключи связываемых отношений, т.е. Property_no и Buyer_no. Для нового отношения они являются внешними ключами, а вместе они образуют первичный ключ новой связующей сущности Осмотр (VIEWING).
ОСМОТР (VIEWING) Дата осмотра (Date_View) Комментарии (Comments) Property_no Buyer_no
Задание Выполните проектирование базы данных:
– анализ предметной области в соответствии с вариантом индивидуального задания;
– выявление сущностей предметной области (не менее 5) и их атрибутов (минимально необходимый перечень атрибутов приведен и может быть расширен);
– определение ключевых атрибутов сущностей; определение связей между сущностями.
Исходные данные в соответствии с вариантом задания находятся в Приложении 1.
Для проектирования реляционной модели можно использовать следующее ПО: AllFusion ERwin Data Modeler (Erwin), SQL Manager Studio, MS Visio, сервис http://ondras.zarovi.cz/sql/demo/.