Этап логического проектирования

Задачей этапа логического проектирования БД является создание такой логической модели данных, которая, с одной стороны, соответствует описанию предметной области, а с другой, отвечает всем требованиям целевой СУБД, которая выбирается (или используется как существующая) на этом этапе проектирования.

2.2.1. ER-диаграмма в среде ERwin.

Для построения ER-диаграммы в среде ERwin (стандарт IDEF1X) используют данные из таблиц № 2.1 и 2.2 или КМД, построенную на этапе концептуального проектирования.

При запуске среды ERwin необходимо внимательно заполнять все появляющиеся окна. В первом окне нужно выбрать режим создания новой модели или открыть существующую ER-диаграмму (см. рис. № 2.1).

Рис.2.1. Вид 1-го окна при запуске CASE –средства ERwin.

Этап логического проектирования - student2.ru

Во втором окне необходимо выбрать этапы проектирования, которые будут выполняться – для выполнения курсовой работы это этап Logical/Physical (см. рис. № 2.2), в этом случае становится активной нижняя часть окна, где необходимо выбрать целевую СУБД (на рис. № 2.2 – это SQL Server).

Рис. 2.2. Вид 2-го окна при запуске CASE –средства ERwin.

Этап логического проектирования - student2.ru

При такой настройке можно будет работать на логическом и физическом этапах проектирования в среде ERwin, более того, на этапе физического проектирования ERwin будет поддерживать типы данных выбранной СУБД и автоматически переносить разработанную структуру базы данных в выбранную СУБД.

При нажатии кнопки «ОК» во втором окне открывается рабочее окно в среде ERwin, имеющее несколько строк, приближенных по своему виду и функционалу к стандарту Microsoft Office (см. рис. № 2.3).

Первая строка – строка заголовка, содержащая имя (путь) файла, содержащего модель, которая в текущий момент находится в рабочем окне, по умолчанию modelN.er, где N - номер открываемого в среде ERwin окна по порядку. Первая строка имеет стандартные кнопки – свертывания, изменения размера и закрытия рабочего окна.

Вторая строка – строка главного меню - содержит все команды, которые можно выполнять в CASE-средстве Erwin, в том числе как привычные, например относящиеся к работе с файлами - «открыть», «сохранить», «сохранить как», так и специальные, например выбрать стандарт проектирования модели.

Рис. 2.3. Вид рабочего окна при запуске CASE –средства ERwin.

Этап логического проектирования - student2.ru

Третья строка – пиктографическое меню, на которое выведены иконки наиболее часто используемых команд – работа с файлами («создать», «открыть», «сохранить», «распечатать»), изменение уровня отображения модели (уровень сущности, уровень атрибутов, уровень описания), масштабирования отображения модели (мельче, крупнее) и выбор этапа проектирования. Необходимо убедиться, что нажата кнопка «уровень атрибутов», при котором отображается не только сама сущность, но и все ее атрибуты, а также что вы находитесь на логическом этапе проектирования.

Четвертая строка - так называемая панель форматирования, почти полностью повторяет стандарт Microsoft Office с добавлением кнопок «отмена действия нажатой кнопки», «создать сущность», «связь суперкласс/подкласс», «идентифицирующая связь», «связь многие-ко-многим», «неидентифицирующая связь». Именно с помощью этих кнопок создается модель (см. рис. № 2.4).

Рис.2.4. Часть панели форматирования с кнопками для создания модели.

Этап логического проектирования - student2.ru

1 2 3 4 5

Для отображения сущности необходимо нажать кнопку 1 (см. рис. № 2.4), указатель курсора поменяет свой вид на крестик, что позволит, щелкнув мышью, показать местоположение в рабочем окне сущности. В рабочем окне появится:

Этап логического проектирования - student2.ru

Сущность отображается прямоугольником, разделенным на две части. Над прямоугольником выделено имя и номер сущности – Е/5 (сущность – Entity № 5). Выделение говорит о том, что мы можем изменить имя сущности, просто набирая на клавиатуре нужное нам:

Этап логического проектирования - student2.ru

Обратите внимание - размер прямоугольника изменится таким образом, чтобы имя сущности читалось целиком. Размер и положение сущности меняется привычным в Microsoft Office способом работы с объектами. Если необходимо изменить имя сущности - щелкните дважды по нему мышью, появится окно работы с сущностью – рис.2.5, и в строке Name можно вписать другое имя.

Рис.2.5. Изменение имени в окне работы с сущностью.

Этап логического проектирования - student2.ru

Для того чтобы в вести атрибуты сущности, необходимо добавить эти атрибуты в окне ввода нового атрибута окна работы с атрибутами - рис.2.6. При этом пишется имя атрибута и выбирается один из четырех предлагаемых типов атрибута:

  • Blob – логический и OLE-тип,
  • Datetime – время-дата,
  • Number - числовой,
  • String – символьный тип.

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

Рис.2.6. Добавление нового атрибута в окне ввода атрибута.

Этап логического проектирования - student2.ru

На рис. 2.7. показано назначение введенного атрибута «Табном» сущности «Персонал» первичным ключом. При нажатии на кнопки, расположенные в нижней части окна, можно:

· New… - открыть окно ввода нового атрибута;

  • Rename… - изменить имя выбранного атрибута;
  • Delete – удалить выбранный атрибут.

Для уточнения типа атрибута, для указания значения атрибута по умолчанию в правой части окна работы с атрибутами выбирается вкладка Datatype. На рис. 2.8. показано, что для атрибута FIO тип принимается как varchar (55) – не более 55 символов.

Необходимо отметить, что первичный ключ располагается в верхней части прямоугольника («на крыше»), все остальные атрибуты – в нижней. Можно указателем мыши переносить атрибуты «с крыши» вниз и наоборот, меняя таким образом первичный ключ.

Рис.2.7. Окно работы с атрибутами.

Этап логического проектирования - student2.ru

После ввода всех атрибутов желательно изменить высоту прямоугольника таким образом, чтобы были видны все атрибуты и оставалось место примерно еще для двух атрибутов – см. рис. 2.9.

У изображения сущности можно менять шрифт, его размер, цвет шрифта, цвет фона и линий аналогично тому, как это делается в среде Microsoft Word.

Для установления связей между сущностями необходимо пользоваться кнопками 2-5 (см. рис.2.4.).

Для выбора нужной связи необходимо использовать таблицу 2.2, подготовленную на этапе концептуального проектирования.

Для отображения связей с показателями кардинальности 1хМ и 1х1 используют:

  • кнопку 4 – «идентифицирующая связь», она переводит первичный ключ сущности с кардинальностью «1» в качестве обычного, внешнего атрибута в сущность с кардинальностью «М»;
  • кнопку 5 – «неидентифицирующая связь», она переводит первичный ключ сущности с кардинальностью «1» в качестве первичного, внешнего атрибута в сущность с кардинальностью «М».

Рис. 2.8. Уточнение типа атрибута.

Этап логического проектирования - student2.ru

Рис. 2.9. Отображение сущности в CASE-средстве Erwin.

Этап логического проектирования - student2.ru

Для того, чтобы зафиксировать свойства связи, используют окно «Свойства связи» (Relationship Property), вызываемое из контекстного меню правой кнопки мыши одноименной строчкой (см. рис.2.10).

В этом окне указывается имя связи: в нашем примере - «заключает» и степень участия в этой связи сущности с кардинальностью «1», так называемой «родительской» сущности: в нашем примере - экземпляры сущности «Персонал» могут не принимать участие в связи «заключает», то есть не заключать договора ( например, лаборанты ), а могут принимать, то есть заключать М договоров. Если же все экземпляры сущности «Персонал» принимают участие в связи «заключает», то необходимо выбрать строчку “One or More (P)”.

Для связи с показателем кардинальности 1х1 выбираются строки “Zero or One (Z)” и “Exactly”. Если выбирается строка “Zero or One (Z)”, экземпляры сущности «Персонал» могут не принимать участие в связи «заключает», то есть не заключать договора, а могут принимать, то есть заключать, только 1 договор. Если выбирается строка “Exactly”, необходимо указать конкретную цифру. В этом случае экземпляры сущности «Персонал» обязательно принимают участие в связи и заключают конкретное количество договоров.

Рис. 2.10. Окно «Свойства связи» в CASE-средстве Erwin.

Этап логического проектирования - student2.ru

Если две сущности связаны друг с другом двумя или более разными связями, а также в случае рекуррентных (ролевых) связей, необходимо указать ролевые имена, с которыми эти сущности вступают в связь. Для этого в окне «Свойства связи» (Relationship Property) открывают вкладку «Ролевые имена» (Rolename) (см. рис. 2.11) и в строке «Ролевое имя» (Rolename) указывают имя – в данном примере для связи «доставляют» ролевое имя - «курьер». Ролевое имя используется в качестве имени внешнего атрибута, по которому передается первичный ключ.

Для отображения связи «суперкласс-подкласс» используется кнопка 3. При этом сначала щелкают мышью по кнопке 3 – выбирают тип связи, затем щелкают по сущности-суперклассу, затем по сущности-подклассу. Если у сущности-суперкласса есть несколько сущностей-подклассов, то для их включения используется кнопка 4, сначала щелкают по кнопке, затем – по значку связи, а затем – по сущности-подклассу. Для связи «суперкласс-подкласс» необходимо указать степень вхождения подклассов в суперкласс в окне “Subtype Relationships” (см. рис. 2.12), вызываемое правой кнопкой мыши. “Complete” – сущность-суперкласс состоит только из экземпляров сущностей-подклассов; “Incomplete” - сущность-суперкласс состоит не только из экземпляров сущностей-подклассов. На рис. 2.12. изображен пример неполного вхождения сущностей-подклассов в сущность-суперкласс: «Персонал» состоит не только из «Менеджеры» и «Операторы».

Рис. 2.11. Вкладка “Ролевые имена” (“Rolename”).

Этап логического проектирования - student2.ru

При отображении полного вхождения значок связи будет иметь двойное подчеркивание.

Для отображе6ния связи с показателем кардинальности МхМ используется кнопка 5. Передача ключа при этой связи не происходит (см. рис. 2.13).

При отображении всех сущностей и связей, заявленных в таблицах

2.1 и 2.2., получается ER- диаграмма в стандарте IDEF1X.

Рис. 2.12. Окно “Subtype Relationships”.

Этап логического проектирования - student2.ru

Анализ ER- диаграммы.

Целью данного анализа является преобразование полученной ранее модели в соответствии с требованиями реализации существующих типов СУБД. В строгом понимании эти действия не являются элементами логического проектирования, но эта процедура заставляет разработчика более тщательно обдумать смысл каждого элемента данных. На этом этапе необходимо проанализировать следующие «нежелательные», с точки зрения многих СУБД, элементы.

· Многозначные атрибуты – меняются на сущность с именем многозначного атрибута и связь с показателем кардинальности «1 х М». См. рис. 2.13 – атрибут «телефон» сущности «Клиент» заменен на сущность «Телефон». Обратите внимание, что в сущности «Клиент» такого атрибута уже нет.

· Производные атрибуты – удаляются из логической модели с обязательным указанием всех производных атрибутов в таблице №2.1.

· Рекурсивные связи – возможно требуют добавления сущности или сущности-подкласса и связи с показателем кардинальности «1 х М».

· Связи с показателем кардинальности «1 х 1» - требуют дополнительного анализа, действительно ли это две разные сущности или возможно объединение в одну сущность.

· Избыточная связь – связь, соединяющая две сущности, соединенные друг с другом набором других связей и не несущая дополнительных данных. Обычно на этом этапе удаляется до 80% избыточных связей. На рис. 2.13 видно, что связь «заключают» заменена на связи «менеджер-договор» и «оператор-договор» как несущие дополнительные данные.

· Связи с показателем кардинальности «М х N» - анализируются на наличие собственных атрибутов.

Все проведенные изменения обязательно фиксируются. Измененная ER- диаграмма является результатом данного этапа проектирования и считается окончательной ER-диаграммой. Например, ER- диаграмма на этом этапе может принимать вид, как на рис. 2.12.

Наши рекомендации