
- •1. Описание предметной области Спецификация требований
- •1.1. Требования к данным
- •1.2. Требования к транзакциям.
- •2. Построение локальной концептуальной модели данных
- •2.1. Определение типов сущностей
- •Документирование выделенных типов сущностей
- •2.2. Определение типов связей.
- •2.3. Определение кардинальности и уровня участия отдельных типов связи.
- •Документирование типов связей
- •2.4. Определение атрибутов и связывание их с типами сущностей и связей.
- •2.5. Определение атрибутов, являющихся потенциальными и первичными ключами.
- •Документирование выделенных атрибутов
- •2.6. Определение доменов атрибутов
- •2.7. Специализация/генерализация типов сущностей.
- •2.8. Создание диаграммы «сущность-связь»
- •2.9. Обсуждение локальной концептуальной модели с пользователем
- •3. Построение и проверка локальной логической модели данных
- •3.1. Преобразование концептуальной модели данных в логическую модель
- •3.1.1. Удаление связей типа m:n
- •3.1.2. Удаление сложных связей
- •3.1.3. Удаление рекурсивных связей.
- •3.1.4. Удаление множественных атрибутов
- •3.1.5. Перепроверкасвязей типа 1:1
- •3.1.6. Удаление избыточных связей
- •3.1.7. Создание диаграммы «сущность-связь»
- •3.2. Определение набора отношений исходя из структуры локальной логической модели данных.
- •3.3. Проверка модели с помощью правил нормализации.
- •3.4. Проверка модели в отношении транзакций пользователей.
- •3.5. Определение требований поддержки целостности данных.
- •3.5.1. Обязательные данные.
- •3.5.2. Ограничения для доменов атрибутов
- •3.5.3. Целостность таблицы
- •3.5.4. Ссылочная целостность
- •3.5.5. Требования данного предприятия
- •3.5.6. Документирование всех ограничений целостности данных
- •3.6. Обсуждение разработанных локальных логических моделей данных с конечными пользователями
3.1.3. Удаление рекурсивных связей.
На рисунке 2.8 показаны две рекурсивные связи – Менеджер Руководит РаботникомиСекретарь Помогает Работнику. Эти связи являются рекурсивными, поскольку они представляют связи между отдельными экземплярами сущности одного и того же типа. ИМенеджериСекретарьявляются такими же членами коллектива, как и другие работники, но выполняют особые обязанности, определяющие их отношения с другими членами производственного персонала. Однако сущностиМенеджериСекретарьпредставляют только некоторых членов персонала и не могут представлять любого из работников.
Рекурсивные связи РуководитиПомогаетустраняются посредством введения новой слабой сущности под именемПодчиненный, как показано на рисунке 3.1.1. Эта сущность представляет тех сотрудников, которые находятся в подчинении у инспектора и пользуются услугами секретаря.
1 М
Секретарь Менеджер Подчин-й
1 М
1
Работник
Рис. 3.1.2. Удаление рекурсивных связей ПомогаетиРуководит.
3.1.4. Удаление множественных атрибутов
В локальной концептуальной модели данных представления Менеджер множественные атрибуты отсутствуют, поэтому мы просто переходим к следующему этапу.
3.1.5. Перепроверкасвязей типа 1:1
В некоторых случаях сущности, участвующие в связи 1:1, могут фактически представлять различные аспекты одного и того же объекта. По этой причине рекомендуется вновь проанализировать смысл всех связей типа 1:1, присутствующих в модели данных. В нашей модели имеется две связи подобного типа: Собеседование С КлиентомиДоговор Связан с Объектом, однако совершенно очевидно, что участвующие в нем сущности представляют разные объекты реального мира.
На этапе 3.1.3. была введена новая связь типа 1:1, помещенная в модель с целью удаления рекурсивных связей. Это связь Подчиненный Принадлежит к Работник, показанная на рисунке 3.1.3. В данном случае сущностиРаботник иПодчиненный, по сути, не являются представлением одного и того же объекта. Различие между ними состоит в том, что работники, представленные сущностьюПодчиненный, имеют особые связи с сущностямиМенеджериСекретарь, а так же составляют только часть всего персонала. Исходя из этих соображений, мы принимаем решение, сохранить в модели сущности и их связи, показанные на рисунке 3.1.2.
3.1.6. Удаление избыточных связей
Показанная на рис. 2.8. связь Клиент Покупает Объектфактически уже представлена в модели в виде пути, образованного связямиКлиент Заключает ДоговориДоговор Связан с Объектом. Поэтому связьПокупаетявляется избыточной и не вносит какой-либо дополнительной информации, которая не представлялась бы уже через путь, включающий сущностьДоговор. Более того, клиент вообще не может купить какой-либо объект недвижимость, не заключив договор продажи этого объекта.
Связь Клиент Покупает Объектследует просто удалить из модели данных.
3.1.7. Создание диаграммы «сущность-связь»
ER-диаграмма, представляющая локальную концептуальную модель данных для представленияМенеджерприложенияРеалтэкс, была показана на рис. 2.8. При выполнении этапа 3.1 эта модель была пересмотрена и модифицирована с целью устранения структур данных, реализация которых в среде реляционных СУБД затруднительна. Вид модифицированной модели данных, с учетом всех изменений показан на рис. 3.1.7. Полученную в результате внесения изменений модель данных правильнее будет называть локальной логической моделью данных представленияМенеджерприложенияРеалтэкс.
Очень важно также внести все необходимые изменения в прилагаемую к логической модели данных документацию. Эти изменения должны отражать результаты модификации модели, выполненные на данном этапе.
1
М
Менеджер Секретарь Подчин-й
1
1
Отдел Собеседо-вание Работник
М 1 М 1
1
1
1 М
Договор
1
М
М
1 1
1
Владелец Объект
1
1
Клиент
1
М
Осмотр
СМИ
Объявле-ние
М
1
Рис. 3.1.7. Локальная логическая модель данных для пользователя МенеджерприложенияРеалтэкс