При переходе от концептуального проекта в реляционному необходимо учитывать переход сущностей в таблицы, преобразование связей и создание индексов.
1. Переход объектных множеств в таблицы.
Каждый объект множества становится таблицей, каждый элемент множества - кортежем (строкой). Уникальный идентификатор (простой или составной) – первичный ключ.
Если в состав первичного ключа входят связи, то к нему добавляется атрибут уникальный идентификатор, в множестве на конце связи.
2. Преобразование связей между множествами (генерация таблиц).
Связи 1:М, 1:1реализуется через первичные и внешние ключи соответствующих таблиц. На конце связи «1» - первичный ключ, на конце связи «многие» -внешний ключ к таблице
Если необязательный тип участия – NULL (допускается неопределённое значение атрибута) («может быть» Пример, Клиент может воспользоваться услугой), а если обязательный тип участия– то NULL (неопределённое значение атрибута) («должен», «обязан», например, каждый заказ обязательно заказан клиентом)
Правила генерации отношений:
Случай 1.
Между двумя сущностями (множествами) установлена связь 1:1 с обязательной степенью участия с обеих сторон, достаточно одной таблицы, первичным ключом может быть любой первичный ключ из двух множеств.
Пример.
Каждый продукт хранится в точности на одном складе и каждый склад хранит не более одного продукта.
Соответствующие диаграммы ER-экземпляров и ER-типа
(НП, Наименование, Характеристика, Склад, Распределение, МОЛ)
НП Наименование Характеристика Склад МОЛ |