Глава 20. Проектирование реляционных баз данных с использованием семантических моделей: ER-диаграммы

Содержание

20.1. Ограниченность реляционной модели при проектировании баз данных
20.2. Семантические модели данных
20.3. Семантическая модель Entity-Relationship (Сущность-Связь)
20.4. Основные понятия ER-модели
20.5. Уникальные идентификаторы типов сущности
20.6. Первая нормальная форма ER-диаграммы
20.7. Вторая нормальная форма ER-диаграммы
20.8. Третья нормальная форма ER-диаграммы
20.9. Более сложные элементы ER-модели
20.10. Наследование типов сущности и типов связи
20.11. Взаимно исключающие связи
20.12. Получение реляционной схемы из ER-диаграммы. Базовые приемы
20.13. Получение реляционной схемы из ER-диаграммы. Представление в реляционной схеме супертипов и подтипов сущности
20.14. Получение реляционной схемы из ER-диаграммы. Представление в реляционной схеме взаимно исключающих связей
20.15. Заключение

В главе использована книга [KUZN03].

20.1. Ограниченность реляционной модели при проектировании баз данных

Широкое распространение реляционных СУБД и их использование в самых разнообразных приложениях показывает, что реляционная модель данных достаточна для моделирования разнообразных предметных областей. Однако проектирование реляционной базы данных в терминах отношений на основе кратко рассмотренного нами в двух предыдущих лекциях механизма нормализации часто представляет собой очень сложный и неудобный для проектировщика процесс.

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

  1. Модель не обеспечивает достаточных средств для представления смысла данных. Семантика реальной предметной области должна независимым от модели способом представляться в голове проектировщика. В частности, это относится к отмечавшейся нами ранее проблеме представления ограничений целостности, выходящих за пределы ограничений первичного и внешнего ключа.

  2. Во многих прикладных областях трудно моделировать предметную область на основе плоских таблиц. (Мы переходим к использованию терминов таблица, строка и столбец вместо строгих реляционных терминов отношение, атрибут и таблица, поскольку здесь под «реляционными» базами данных понимаются, главным образом, SQL-ориентированные базы данных, для которых эта упрощенная терминология более естественна.) В ряде случаев на самой начальной стадии проектирования дизайнеру приходится нелегко, поскольку от него требуется описать предметную область в виде одной (возможно, даже ненормализованной) таблицы.

  3. Хотя весь процесс проектирования происходит на основе учета зависимостей, реляционная модель не предоставляет какие-либо формализованные средства для представления этих зависимостей.

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