Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabBD4St2013_03_042.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

4.2.4 Этапы концептуального и логического проектирования бд предметной области в классической теории бд

Подготовительный этап включает в себя:

  • разработка спецификации требований (описание пользователей, требования к данным, требования к отчетам пользователей)/техническое задание;

  • разработка бизнес правил БД и глоссария БД.

В классической теории концептуальное моделирование включает в себя следующие этапы:

  • определение типов сущностей;

  • определение типов связей;

  • построение предварительной концептуальной модели (в виде ER-диаграммы);

  • анализ модели на достаточность всех связей;

  • определение атрибутов и связывание их с типами сущностей и связей;

  • определение потенциальных ключей и выбор первичного;

  • специализация/генерализация типов сущности;

  • построение итоговой концептуальной модели данных (ER-диаграмма);

В классической теории логическое моделирование включает в себя следующие этапы по коррекции концептуальной модели:

  • проверка на «повторяющиеся» данные;

  • преобразование связей типа M:N;

  • удаление множественных атрибутов за счет добавления новой сущности;

  • преобразование сложных связей (не бинарных) в сущности;

  • преобразование связей, имеющих атрибуты, в сущности;

  • проверка/преобразование рекурсивных связей;

  • проверка связей типа 1:1;

  • удаление избыточных связей;

  • проверка модели с помощью правил нормализации;

  • создание итоговой ER-диаграммы логической модели и внесение изменений в документацию;

  • определение набора отношений исходя из структуры логической модели данных.

4.2.4 Создание логической модели данных Erwin (по классической теории концептуальная модель и не полная логическая)

4.2.4.1 Создание сущностей, атрибутов и связей

Основными компонентами ER-диаграмм являются сущности, связи и атрибуты. Для создания сущностей и связей применяется Палитра инструментов – ERwin Toolbox (табл.4.1).

Для создания сущности необходимо воспользоваться кнопкой “Entity”, находящейся на панели инструментов. Выбрав данную кнопку и щелкнув мышкой на пустом поле, получим экземпляр сущности. В выделенном поле необходимо ввести название сущности – напр., «Student» (по умолчанию ее имя “Е/1”).

Таблица 4.1 – Кнопки ERwin Toolbox

Название кнопки

Назначение

Select

Выбрать объекты для копирования, удаления или дальнейшего редактирования.

Всегда переходите в этот режим после редактирования объекта

Entity

Создать новую независимую сущность

Complete sub-category

Создать полную подкатегорию

Identifying relationship

Создать идентифицирующую связь между двумя сущностями

Non-indentifying relationship

Создать не идентифицирующую связь между двумя сущностями

Many-to-many relationship

Создать неопределенную связь (многие ко многим) между двумя сущностями

Для определения атрибутов необходимо щелкнуть правой кнопкой мыши по соответствующей сущности и выбрать пункт меню “Attribute Editor” (для вызова окна “Attribute Editor” можно также воспользоваться двойным щелчком на сущности). В появившемся окне необходимо задать имя атрибута, его тип, если атрибут является ключом, то поставить птичку в соответствующем поле.

ERwin позволяет устанавливать различные типы связи между сущностями. На концептуальном уровне можно установить идентифицирующую связь “один-ко-многим”, связь “многие-ко-многим” и неидентифицирующую связь “один-ко-многим”. В использовавшейся нотации IDEFIX различаются зависимые (слабые) и независимые (сильные) сущности, причём тип сущности определяется её связью с другими сущностями.

Идентифицирующая связь устанавливается между независимой (родительский конец связи) и зависимой (дочерний конец связи) сущностями. При установлении такой связи атрибуты первичного ключа родительской сущности автоматически переносятся в состав первичного ключа дочерней сущности. Эта операция называется миграцией атрибутов. В дочерней сущности атрибуты помечаются как внешний ключ (Foreign Key) – (FK).

При установлении неидентифицирующей связи дочерняя сущность остаётся независимой, а атрибуты первичного ключа родительской сущности мигрируют в состав не ключевых компонентов дочерней сущности, т.е. становиться внешним ключом.

Для редактирования свойств связи следует "кликнуть" правой кнопкой мыши по связи и выбрать на контекстном меню пункт Relationship Editor.

В закладке General появившегося диалога можно задать мощность, имя и тип связи.

Мощность связи (Cardinality) - служит для обозначения отношения чис­ла экземпляров родительской сущности к числу экземпляров дочерней.

Различают четыре типа мощности (рис. 4.1):

  • общий случай, когда одному экземпляру родительской сущности соот­ветствуют 0, 1 или много экземпляров дочерней сущности не помечает­ся каким-либо символом;

  • символом Р помечается случай, когда одному экземпляру родительской сущности соответствуют 1 или много экземпляров дочерней сущности (исключено нулевое значение);

  • символом Z помечается случай, когда одному экземпляру родительской сущности соответствуют 0 или 1 экземпляр дочерней сущности (исклю­чены множественные значения);

  • цифрой помечается случай точного соответствия, когда одному экземп­ляру родительской сущности соответствует заранее заданное число эк­земпляров дочерней сущности.

По умолчанию символ, обозначающий мощность связи, не показывает­ся на диаграмме. Для отображения имени следует в контекстном меню, которое появляется, если щелкнуть правой кнопкой мыши по любому месту диаграммы, не занятому объектами модели, выбрать пункт Display Options/Relationship и затем включить опцию Cardinality.

Рисунок 4.1 – Обозначения мощности

Имя связи (Verb Phrase) - фраза, характеризующая отношение между родительской и дочерней сущностями. Для связи один-ко-многим иденти­фицирующей или неидентифицируюшей достаточно указать имя, характе­ризующее отношение от родительской к дочерней сущности (Parent-to-Child). Для связи многие-ко-многим следует указывать имена как Parent-to-Child так и Child-to-Parent.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]