
- •Т.Е.Ильиных л.И.Шустова проектирование реляционных баз данных в нотациях idef1x
- •Содержание
- •Этапы проектирования базы данных
- •Инфологическое проектирование базы данных
- •Общие сведения
- •Описание бизнес компонентов и бизнес процессов
- •Сущность
- •Атрибут
- •Другие компоненты инфологической модели
- •Уровни представления данных
- •Этапы инфологического проектирования Инициирование проекта (фаза 0)
- •Определение сущностей (фаза 1)
- •Построение модели уровня сущностей (фаза 2)
- •Построение модели уровня ключей (фаза 3)
- •Построение полноатрибутной модели (фаза 4)
- •Нормализация данных
- •Даталогическое проектирование базы данных
- •Создание даталогической модели Общие сведения
- •Получение спецификаций внутренней схемы базы данных
- •Ограничения целостности
- •Результаты этапа даталогического проектирования
- •Имя таблицы
- •Основы нормализации отношений Общие сведения
- •Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Нормальная форма Бойса – Кодда
- •Четвертая нормальная форма
- •Пятая нормальная форма
- •Денормализация
- •Примеры проектирования баз данных различных бизнес приложений
- •Общие замечания
- •Проектирование базы данных "Школа" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Построение модели уровня сущностей (фаза 2)
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Определение связей
- •Определение ключевых атрибутов и доменов
- •Изучаемый предмет/e5
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Проектирование базы данных "Обмен валюты" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Фаза 2. Построение модели уровня сущностей Матрица связей
- •Матрица связей
- •Описание связей
- •Описание связей
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Определение связей
- •Определение ключевых атрибутов и доменов
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Проектирование базы данных "Торговля" Постановка задачи
- •Инициирование проекта (фаза 0)
- •Определение множеств сущностей (фаза 1) Выделение множеств сущностей
- •Описание множеств сущностей
- •Пул сущностей
- •Построение модели уровня сущностей (фаза 2)
- •Концептуальная схема уровня сущностей
- •Построение модели уровня ключей (фаза 3) Разрешение неопределенных связей
- •Пул сущностей
- •Описание связей
- •Определение ключевых атрибутов и доменов
- •Товар в списке цен/e5
- •Описание доменов
- •Описание атрибутов
- •Концептуальная схема
- •Построение полноатрибутной модели (фаза 4)
- •Описание доменов
- •Описание атрибутов
- •Явные ограничения целостности
- •Даталогическая модель
- •Список литературы
- •115409, Москва, Каширское ш., 31
Определение сущностей (фаза 1)
Следующим шагом проектирования является составление предварительного пула (списка) сущностей.
Механизм определения сущностей следующий. Сначала на основе анализа предметной области определяются так называемые кандидаты в сущности. Для этого выявляют экземпляры объектов предметной области с одинаковыми характеристиками и объединяют их в одну сущность-кандидат.
Для того чтобы выбрать среди объектов, являющихся кандидатами, собственно сущности, разработчик модели должен относительно каждого кандидата ответить на следующие вопросы:
можно ли описать этот объект, т.е. можно ли получить о нем информацию?
имеет ли этот объект характеризующие его свойства?
можно ли получить информацию об этих свойствах?
можно ли выделить несколько образцов этого объекта, т.е. набор экземпляров этого объекта с одинаковыми свойствами?
можно ли отличить один образец этого объекта от другого, т.е. имеется ли у объекта свойство (группа свойств), определяющее уникальность каждого образца этого объекта?
является ли этот объект характеристикой чего-либо, т.е. описывает ли этот объект некоторый другой объект?
Если схема ответов на все эти вопросы такова: ДА, ДА, ДА, ДА, ДА, НЕТ, то этот объект обычно включают в пул сущностей. В противном случае, данный объект, скорее всего, нужно рассматривать как атрибут некоторой другой сущности.
При включении сущности в пул необходимо задать ей уникальное имя и номер, сформулировать определение объекта реального мира, соответствующего этой сущности, и привести описание механизма включения нового экземпляра в данную сущность. Результат работы на данной фазе проектирования оформляется в виде таблицы, заголовок которой приведен на рис. 2.16.
Номер множества сущностей |
Имя множества сущностей |
Определение множества сущностей |
Описание множества сущностей |
Рис. 2.16. Заголовок таблицы, описывающей пул сущностей
В графах "Номер множества сущностей" и "Имя множества сущностей" указываются номер и имя сущности.
В графе "Определение множества сущностей" указывается словесное описание этого объекта реального мира, соответствующее его использованию в предметной области.
В графе "Описание множества сущностей" указываются дополнительные пояснения и механизм включения в это множество сущностей нового экземпляра.
Здесь надо отметить, что не все сущности из списка, составленного на первой фазе проектирования, останутся в пуле сущностей к концу фазы 4. Кроме того, на следующих фазах проектирования в пул могут быть добавлены новые сущности. В связи с этим, в качестве одного из обязательных документов, отражающих результат проектных работ на каждой из последующих фаз проектирования, должен быть скорректированный пул сущностей.
Построение модели уровня сущностей (фаза 2)
Модель уровня сущностей состоит из уточненного пула сущностей, матрицы связей, описания связей между сущностями, диаграммы ER-типа. Кроме того, в эту модель входят уточненные на фазе 2 проектирования требования пользователей, ограничения целостности, лингвистические отношения и алгоритмические связи показателей.
Проектирование на данной фазе начинается с определения всех возможных бинарных связей между выявленными сущностями, на основании чего строится матрица связей. Матрица связей представляется в виде двухмерной таблицы, заголовками столбцов и строк которой являются сущности из списка. Если между некоторыми сущностями выявлена бинарная связь, то в точках пересечения соответствующих строк и столбцов таблицы помещается некоторый символ (например, “X”). Пример. В пуле имеются сущности с номерами Е1, Е2, Е3, Е4. Пусть между сущностями Е1 и Е3, Е2 и Е3, Е2 и Е4 определены бинарные связи. Вид матрицы связей для данного примера представлен на рис. 2.17.
|
Е1 |
Е2 |
Е3 |
Е4 |
Е1 |
|
|
Х |
|
Е2 |
|
|
Х |
Х |
Е3 |
Х |
Х |
|
|
Е4 |
|
Х |
|
|
Рис. 2.17. Пример матрицы связей
Каждой выявленной связи назначаются имя и уникальный номер. Матрица связей отражает только факт наличия бинарных связей между сущностями, но не отражает их природу. Поэтому далее исследуется каждая выявленная бинарная связь в обоих направлениях. Схема действий при этом следующая.
Сначала определяется мощность (кардинальное число) для каждого конца связи. Для этого необходимо предположить существование экземпляра одной из связанных сущностей и, исходя из семантики предметной области, определить, сколько конкретных экземпляров второй сущности может быть связано с первым. Затем такой же анализ проводится относительно другой сущности этой связи.
Далее определяется тип связи (определенная/неопределенная), ее обязательность и составляется словесное описание связи (в обоих направлениях в соответствии с семантикой предметной области). На данном этапе не всегда можно определить, является связь идентифицирующей или не идентифицирующей. Это решение откладывается на последующие этапы проектирования.
Результат этой работы отражается в таблице описания связей, заголовок которой приведен на рис. 2.18. В процессе формирования описания связей может корректироваться пул сущностей.
Номер связи |
Номер 1-й сущности |
Номер 2-й сущности |
Имя связи |
Тип связи |
Мощность связи |
Описание связи |
Рис. 2.18. Заголовок таблицы описания связей
В графах "Номер связи" и "Имя связи" указываются номер и имя связи.
В графе "Номер 1-й сущности" указывается номер одной из сущностей, участвующей в этой связи. Если связь является определенной или типа категория, то дополнительно указывается отношение сущности к этой связи (родительская – дочерняя, родовая – категория).
В графе "Номер 2-й сущности" указывается номер другой сущности, участвующей в этой связи. Если связь является определенной или типа категория, то дополнительно указывается отношение сущности к этой связи (родительская – дочерняя, родовая – категория).
В графе "Тип связи" указывается тип связи (например, обязательная определенная, необязательная определенная, неопределенная, связь типа категория, иерархическая рекурсия и т.п.).
В графе "Мощность связи" указываются кардинальные числа обоих концов связи для неопределенной связи или одного конца для определенной связи.
В графе "Описание связи" приводится словесное описание связи в обоих направлениях.
Необходимо отметить, что таблица описания связей может корректироваться на следующих фазах проектирования.
Далее на основе пула сущностей и таблицы описания связей строится ER-диаграмма. В моделях этого уровня разрешается отображение в диаграмме всех типов бинарных связей. Атрибуты в ER-диаграммах не отображаются. Так как на данном этапе не всегда можно сделать заключение о том, является связь идентифицирующей или не идентифицирующей, на диаграмме все сущности, как правило, изображаются прямоугольниками с прямыми углами. Пример ER-диаграммы приведен на рис. 2.19.
Рис. 2.19. Пример ER-диаграммы