разработка концептуальной модели. ПР_7_Разработка концептуальной модели базы данных. Разработка концептуальной модели базы данных
Скачать 0.52 Mb.
|
Создание связейТип связи определяется бизнес-правилами, семантическими условиями, действующими в предметной области. Допустим, в нашей организации, которая состоит из отделов, возможно создание отделов, временно не укомплектованных сотрудниками. Допустим также, что сотрудники, работающие в организации, могут быть временно не приписаны ни к одному отделу. В этом случае между сущностями «Отдел» и «Сотрудник» имеется неидентифицирующая связь, потому что персона сотрудника идентифицируется своими средствами (например, табельным номером), а не связью с отделом. Для внесения неидентифицирующей связи между сущностями «Отдел» и «Сотрудник» необходимо «кликнуть» по кнопке неидентифицирующей связи на панели инструментов (ERwin Toolbox), затем «кликнуть» по родительской сущности («Отдел») и по сущности-потомку («Сотрудник»). Направление связи имеет принципиальное значение. Для спецификации свойств связи следует щелкнуть правой кнопкой мыши по ее шаблону и выбирать в контекстном меню пункт Relationship Properties. В диалоге Relationships на закладке General следует присвоить связи имя, кардинальность, тип (рис. 14). Рис. 14. Диалог спецификации свойств связи Имя связи (Verb Phrase) – фраза, характеризующая отношение между родительской сущностью и сущностью-потомком. Для связи «один ко многим» идентифицирующей или неидентифицирующей достаточно указать имя, характеризующее отношение родительской сущности к сущности-потомку (Parent-to-Child). Для связи «многие ко многим» следует указывать имена как Parent-to-Child так и Child-to-Parent. Связь между сущностями «Отдел» и «Сотрудник» можно назвать, например, «Включает». Мощность связи (Cardinality) – служит для обозначения отношения одного экземпляра родительской сущности к числу экземпляров сущности- потомка. Мощность (кардинальность) связи бывает четырех типов: ноль, один или много (не помечается); один или много (помечается символом P (positive)); ноль или один (помечается символом Z (zero); конкретное число экземпляров (помечается целым числом). В случае связи «Включает» кардинальность будет ноль, один или много. Тип связи (Identifying/Non-Identifying). Для неидентифицирующей связи можно указать обязательность (No Nulls) или необязательность (Nulls Allowed) для ключа связи сущностей (внешнего ключа) принимать значение «не определено» (Null). В случае связи «Включает» экземпляры сущности «Сотрудник» могут существовать без связи с родительской сущностью «Отдел», поэтому обязательность связи имеет значение по умолчанию для неидентифицирующей связи Nulls Allowed. На закладке Definition диалога Relationships рекомендуется дать содержательное описание связи, которое является полезной метаинформацией. Например, связь «Включает» можно описать так «Отдел может включать в свой состав сотрудника, но сотрудник может быть не приписан ни к одному отделу». В закладке Rolename можно задать имя роли внешнего ключа. В закладке RI Actions правила ссылочной целостности. По умолчанию имя и другие свойства связи на ER-диаграмме не показывается. Для отображения свойств связи следует в контекстном меню, которое появляется, если щелкнуть правой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Relationship Display и затем «включить» опции Verb Phrase и Cardinality (рис. 15). Рис. 15. Контекстное меню настройки отображения свойств связей Между сущностями «Сотрудник», с одной стороны, «Работа» и «Дети», с другой, имеются идентифицирующие связи. Персона конкретного ребенка в контексте учета кадров на предприятии не может идентифицироваться вне связи с его родителем – конкретным сотрудником. Точно также этапы послужного списка не могут идентифицироваться вне связи с сотрудником, чью трудовую деятельность они представляют. Для внесения идентифицирующей связи между сущностями «Сотрудник» и «Дети», а также «Сотрудник» и «Работа» необходимо «кликнуть» по кнопке идентифицирующей связи на панели инструментов (ERwin Toolbox), затем «кликнуть» по родительской сущности («Сотрудник») и по сущности-потомку («Дети» или «Работа»). Направление связи имеет принципиальное значение. Для спецификации свойств связи следует щелкнуть правой кнопкой мыши по ее шаблону и выбрать в контекстном меню пункт Relationship Properties. В диалоге Relationships на закладках General и Definition следует присвоить имя связи, кардинальность, тип связи и описание, руководствуясь таблица 3. Таблица 3 |