Опубликован: 02.08.2007 | Уровень: специалист | Доступ: свободно
Лекция 7:

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

Пример преобразования ER-диаграмм в отношения базы данных

Продемонстрируем применение метода декомпозиции (без потерь при естественном соединении) для создания логической модели и базы данных для поддержки деятельности небольшой консультационной фирмы. Фирма производит консалтинг и обучение своих постоянных клиентов; данные о клиентах, сохраняемые в базе данных, будут использоваться консультантами фирмы для проведения семинаров, практических занятий и консультаций.

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

  1. Каждый клиент имеет свой регистрационный номер (далее - номер). Все номера у клиентов уникальны и различны. Номер однозначно определяет Фамилию, но не наоборот. Номер \to Фамилия.
  2. Каждый клиент располагается по определенному адресу, по которому могут находиться несколько клиентов. Номер \to Адрес.
  3. Предположим, что только один телефон связан с данным адресом. Адреса \gets \to Телефон.
  4. Каждому клиенту может быть приписан телефон. Номер \to Телефон.
  5. Для каждого клиента определяется рейтинг (активность, частота обращений и т.д.) за период по конкретной теме. Рейтинг клиента однозначно определяется по его номеру.
  6. Консультации носят тематический характер. Каждая тема имеет свой идентификатор.
  7. Период представляет собой отрезок времени, в течение которого проводилась тематическая консультация. Для определенности назовем этот период семестром. Номер, Тема, Семестр \to Рейтинг.

Полученное универсальное отношение назовем КОНСУЛЬТАНТ.

Универсальное отношение КОНСУЛЬТАНТ

Рис. 7.2. Универсальное отношение КОНСУЛЬТАНТ

Перечислим ФЗ предметной области базы данных:

Номер \to Фамилия
Номер \to Адрес
Номер \to Телефон
Адрес \to Телефон
Телефон \to Адрес
{Номер, Тема, Семестр} \to Рейтинг

Рассмотрим детерминанты и возможные ключи отношения КОНСУЛЬТАНТ.

Возможные ключи Детерминанты
{Номер, Тема, Семестр} {Номер, Тема, Семестр}
{Номер}
{Телефон}
{Адрес}

Согласно критерию Кодда, поскольку не каждый детерминант в отношении есть возможный ключ, то отношение не находится в НФБК. Выполним декомпозицию отношения КОНСУЛЬТАНТ R0 (Номер, Тема, Семестр, Фамилия, Адрес, Телефон, Рейтинг). Кандидатами на выполнение проекции являются следующие ФЗ:

Номер \to Адрес; Номер \to Телефон; Адрес \to Телефон; Телефон \to Адрес.

Внимание! На практике существует неединственность представления отношений базы данных, обусловленная выбором ФЗ при разбиении отношений. Выбор ФЗ для выполнения проекции отношения - очень важный шаг в проектировании логической модели реляционной базы данных. Выбор альтернативных ФЗ для выполнения проекции может привести к различным базам данных!

Выберем ФЗ Адрес \to Телефон, тогда получим два отношения R1 (Номер, Тема, Семестр, Фамилия, Адрес, Рейтинг) и R2 (Адрес, Телефон). Первая итерация декомпозиции отношений представлена на рис. 7.3.

Первая итерация декомпозиции отношений

Рис. 7.3. Первая итерация декомпозиции отношений

Проверим, находится ли отношение R2 в НФБК.

Возможные ключи Детерминанты
{Адрес} {Телефон}
{Адрес} {Телефон}

Отношение R2 находится в НФБК.

Проверим, находится ли отношение R1 в НФБК.

Возможные ключи Детерминанты
{Номер, Тема, Семестр} {Номер, Тема, Семестр}
{Номер}
{Адрес}

Отношение R1 не находится в НФБД, необходимо продолжить его декомпозицию. Выберем ФЗ Номер \to Адрес и выполним разбиение R1 на R3(Номер, Тема, Семестр, Рейтинг) и R4 (Номер, Фамилия, Адрес). Вторая итерация декомпозиции отношений представлена на рис. 7.4.

Вторая итерация декомпозиции отношений

Рис. 7.4. Вторая итерация декомпозиции отношений

Проверим, находится ли отношение R3 в НФБК.

Возможные ключи Детерминанты
{Номер, Тема, Семестр} {Номер, Тема, Семестр}

Отношение R3 находится в НФБК.

Проверим, находится ли отношение R4 в НФБК.

Возможные ключи Детерминанты
{Номер} {Номер}

Отношение R4 находится в НФБК. Декомпозиция закончена.

Заметим, что если бы изначально в нашем примере в качестве ФЗ для выполнения проекции была выбрана ФЗ Телефон \to Адрес, то в результате мы имели бы совсем другой (!) набор отношений.

Литература: [1], [11], [15], [20], [31], [43], [44], [45].

Александра Каева
Александра Каева
Михаил Забелкин
Михаил Забелкин
Асан Султанов
Асан Султанов
Казахстан, Алматы, Международный Университет IT, 2013