Раздел II. Создание связей между сущностями, подмножеств модели и хранимых отображений. Переход к физической модели данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Раздел II. Создание связей между сущностями, подмножеств модели и хранимых отображений. Переход к физической модели данных



1. Создайте между сущностями связи типа 1: М (один ко многим) таким образом, чтобы в результате сущности оказались дополнены атрибутами, отмеченными выше звездочками.

Связь 1:М между парой сущностей, одна из которых рассматривается как родительская, а другая – как дочерняя, создается следующим образом: на панели инструментов нужно нажать одну из двух кнопок создания связи 1:М (идентифицирующей – Identifying relationship или неидентифицирующей – Non-identifying relationship), после чего щелкнуть мышью на родительской сущности, а затем – на дочерней. При этом между сущностями появляется связь и в дочернюю сущность будет автоматически добавлены атрибуты, дублирующие ключевые атрибуты родительской сущности. Эти атрибуты получают название внешнего ключа (FK) и будут включены в состав ключевых (идентифицирующая связь) или неключевых (неидентифицируюшая связь) атрибутов дочерней сущности. Выше в сущностях атрибуты внешних ключей отмечены звездочками, причем одна звездочка указывает на идентифицирующую связь 1:М, а две – на неидентифицирующую связь 1:М.

Например, чтобы в сущности Поставщик появился атрибут Код региона нужно создать неиндефицирующую связь 1:М между родительской сущностью Регион и дочерней сущностью Поставщик.

2. Создайте между сущностями Поставщик и Товар связь типа М:М (многие ко многим). Эта связь создается следующим образом: на панели инструментов нужно нажать кнопку создания связи М:М (Many-to-many relationship), после чего щелкнуть мышью на одной сущности, а затем – на другой.

Для удобства разместите сущности в рабочей области так, чтобы связи между ними не пересекались между собой.

3. Выделите подсветкой одну из связей между сущностями и затем с помощью команды меню Model►Relationships откройте окно Relationships и дайте имя этой, а затем и остальным связям, используя для этого подходящие глаголы или глагольные формы. Для связей 1:М достаточно указать имя, характеризующее отношение или от родительской сущности к дочерней (Parent-to-Child) или от дочерней сущности к родительской (Child-to-Parent). Для связи М:М следует указывать имена как Parent-to-Child так и Child-to-Parent.

Например связи М:М между сущностями Поставщик и Товар можно дать такие имена: «Поставляет» (Parent-to-Child) и «Поставляется» (Child-to-Parent).

4. Измените заданное по умолчанию правило ссылочной целостности RESTRICT (Ограничить) на правило CASCADE (Каскадировать) для двух связей: связи между сущностями Клиент и Заказ и связи между сущностями Товар и Заказ. Для этого в окне Relationships перейдите на вкладку RI Actions, выберите вверху с помощью выпадающего списка Relationship нужную связь и далее поменяйте правило RESTRICT на правило CASCADE в каждом из списков: Parent Delete и Parent Update.

5. С помощью команды меню Model►Subject Areas откройте окно Subject Areas и создайте помимо существующего основного множества Main Subject Area еще два подмножества модели: Subject Area 1 и Subject Area 2, включив (вкладка Members) в первое из них сущности Клиент, Поставщик, Регион, а во второе – Товар со всеми непосредственно связанными с ней (Level = 1) сущностями. После этого просмотрите поочередно все три модели, используя для переключения между ними кнопку с выпадающим списком Create Subject Area, расположенную на панели инструментов.

6. С помощью команды меню Format►Stored Display Settings откройте окно Stored Displays и создайте для каждого из подмножеств модели Subject Area 1 и Subject Area 2 по два новых хранимых отображения (Display2 и Display3), отличающиеся друг от друга и от исходного отображения Display1 расположением частей логической модели на экране, масштабом, уровнями просмотра этой модели, видимостью отдельных компонентов сущностей и связей, а также другими характеристиками.

7. Переключитесь на Main Subject Area / Display1, а затем с помощью команды меню Model►Relationships откройте окно Relationships и опробуйте настройку характеристик связей между сущностями, таких как имя связи (Verb Phrase), мощность (Cardinality), имя роли (RoleName), правила ссылочной целостности (RI Actions). Опробуйте режимы показа на диаграмме указанных выше характеристик связей с помощью команд меню: Format►Relationship Display►... В конце восстановите первоначальные настройки характеристик связей между сущностями.

8. Опробуйте варианты показа на диаграмме различных уровней логической модели (команды меню: Format►Display Level►…) и различных способов отображения атрибутов в сущностях (команды меню: Format►Entity Display►…).

9. С помощью команды меню Model►Domain Dictionary откройте окно Domain Dictionary и создайте на основе домена Number новые домены Денежный и Точность. Далее свяжите атрибут Цена (сущность Товар) с новым доменом Денежный, а атрибут Шаг округления (сущность Валюта) - с новым доменом Точность.

10. С помощью команды меню Model►Key Groups откройте окно Key Groups и, используя кнопку New, создайте для сущностей дополнительно к имеющемуся первичному ключу еще и возможные альтернативные ключи (Alternate Key) и возможные инверсионные входы (Inversion Entry). Включите режим их отображения на диаграмме.

Факт вхождения отдельных атрибутов в состав ключей и инверсионных входов можно также увидеть в окне Attributes, котороеоткрывается с помощью команды меню Model►Attributes. Для этого надо перейти на вкладку Key Group и начать последовательно перемещаться по списку атрибутов, расположенному слева.

11. Переключившись в режим показа физической модели, уберите пробелы в названиях полей (сделав первую букву второго слова прописной), а также проверьте и, в случае необходимости, скорректируйте их типы и длины, ориентируясь на специфику типов данных СУБД Access. В частности, поле Цена должно иметь тип Currency, а поля Шаг округления и Количество - тип Single.

12. В физической модели с помощью команды меню Model►Columns откройте окно Columns, перейдите на вкладку Constraint и задайте для тех полей, где это возможно, правила валидации (Validation Constraint) и/или значения по умолчанию (Default). Например, для полей Цена, Количество и КурсВалюты правило валидации заключается в выборе только неотрицательных значений, что обеспечивается вводом выражения: >= 0. Для поля ШагОкругления – в выборе значений из множества {10, 1, 0.01}, что обеспечивается вводом выражения: IN (10, 1, 0.01). Значением по умолчанию для поля Страна будет " Беларусь "; для поля УсловияОплаты – " Предоплата "; для поля ШагОкругления0.01; для поля Единица_изм – " штука "; для поля КодВалюты (только из таблицы Товар) – " BYR "; для поля ДатаЗаказаDate(), т.е. текущая дата; для поля СрокПоставкиDate() + 14, т.е. через две недели от текущей даты.

13. В физической модели (окно Columns, вкладка ...Access) настроите свойство Формат (Format), установив его для поля Количество равным #,##0.000 и для поля КурсВалюты – равным #,##0. Настройте также свойство Маска ввода (Mask) для полей Телефон и Факс, установив его равным (999) 999-99-99.

14. В окне Model Properties, которое вызывается командой меню Model►Model Properties, на вкладке General установите флажок Auto apply Supertype-Subtype Identity transform. В физической модели выделите мышью связь М:М между таблицами Поставщик и Товар, после чего нажмите кнопку Many to Many Transform на панели инструментов и запустите мастер преобразования связи М:М. В результате эта связь будет преобразована в две связи 1:М путем создания дополнительной связующей таблицы. При этом в логической модели преобразований не будет и останется прежняя связь М:М.

Примечание 1. Если в окне Model Properties на вкладке General не устанавливать флажок Auto apply Supertype-Subtype Identity transform, то указанное выше преобразование связи будет выполнено также и в логической модели.

Примечание 2. Если в окне Model Properties на вкладке General установить флажок Auto apply Many-to-Many transform, то Erwin будет автоматически выполнять упомянутую выше трансформу связи М:М при переключении с логической модели на физическую.

15. Сохраните модель данных на жестком диске в файле Склад.erwin.

 



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 251; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.88.130 (0.009 с.)