Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
108.79 Кб
Скачать

4. Удаление многозначных атрибутов

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

Определение набора отношений исходя из структуры локальной логической модели данных

Связь между двумя сущностями отображается с использованием механизма "первичный ключ/внешний ключ". При определении того, в каком отношении должен находиться атрибут (атрибуты) внешнего ключа, необходимо вначале выяснить, какая из сущностей, участвующих в связи, является родительской, а какая дочерней. Родительской называется сущность, которая передает копию своего первичного ключа в отношение, представляющее дочернюю сущность, для использования в качестве внешнего ключа.

Ниже описаны способы создания отношений на основе структур, представленных в модели данных.

1. Сильные типы сущностей

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

2. Слабые типы сущностей

Для каждой слабой сущности, присутствующей в модели данных, создается отношение, включающее все простые атрибуты этой сущности. Первичный ключ слабой сущности частично или полностью зависит от ключа сущности-владельца и поэтому выявление первичного ключа слабой сущности невозможно выполнить до тех пор, пока не завершено преобразование в отношения всех связей сущностей-владельцев.

3. Двухсторонние связи типа "один ко многим" (1 :*}

Для каждой двухсторонней связи 1:* сущность, находящаяся на стороне связи "один", определяется как родительская, а сущность на стороне связи "многие" - как дочерняя. Для обозначения этой связи копия атрибута (атрибутов) первичного ключа родительской сущности передается в отношение, соответствующее дочерней сущности, для использования в качестве внешнего ключа. В том случае, если связь 1:* охватывает один или несколько атрибутов, такие атрибуты должны следовать за вставкой первичного ключа в дочернее отношение.

4. Двухсторонние связи типа "один к одному" (1:1)

А. Обязательное участие обеих сторон в связи типа 1:1

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

Задача определения родительской и дочерней сущностей для связи 1:1 с использованием ограничения степени участия решается просто. Сущность, которая характеризуется необязательным участием в связи, обозначается как родительская, а сущность, которая должна обязательно участвовать в связи, определяется как дочерняя.

К концу данного этапа должны быть выявлены все новые первичные или потенциальные ключи, сформированные в этом процессе, а также соответствующим образом обновлен словарь данных.

В. Необязательное участие обеих сторон в связи типа 1:1

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