Реляционная модель данных


Формирование набора отношений в составе логической модели данных


Download 372 Kb.
bet7/21
Sana28.12.2022
Hajmi372 Kb.
#1023068
1   2   3   4   5   6   7   8   9   10   ...   21
Bog'liq
Conn&Begg

Формирование набора отношений в составе логической модели данных. Для каждой сущности создается таблица, включающая все простые атрибуты этой сущности. В случае составного атрибута (например, name) в таблицу включаются только составляющие его простые атрибуты (такие как fName и lName). Связи между разными таблицами реализуются с помощью механизма «первичный ключ/внешний ключ», т.е. родительская сущность передает копию своего первичного ключа в дочернюю сущность для его использования в качестве внешнего ключа.
Для описания структуры создаваемых отношений будет использоваться язык DDL (Data Definition Language). Описание таблицы на этом языке начинается с указания имени таблицы. Затем в круглых скобках приводится список простых атрибутов. В следующих строках указывается первичный ключ таблицы, а также все альтернативные и внешние ключи. Рядом с каждым внешним ключом необходимо указать первичный ключ, на который он ссылается. Каждый производный атрибут объявляется вместе с теми атрибутами, с помощью которого вычисляется его значение. Ниже приведен пример описания структуры отношения Staff.

Staff(staffNo, fName, lName, position, sex)


Первичный ключ staffNo

Для каждой двухсторонней связи 1:* сущность, находящаяся на стороне «один», объявляется как родительская, а сущность на стороне «многие» — как дочерняя. Например, для связи Staff Registers Client (Сотрудник компании регистрирует клиента) сущность Staff является родительской, а сущность Client — дочерней. Схема взаимодействия отношений Staff и Client выглядит следующим образом:




Если связь 1:* имеет свои атрибуты, то они должны следовать за вставкой первичного ключа в дочернее отношение. Например, если связь Staff Registers Client имеет атрибут dateRegistration, содержащий дату проведения регистрации клиента, то этот атрибут также должен быть вставлен в отношение Client.


При создании отношений, участвующих в связи типа 1:1, необходимо выбрать один из следующих вариантов:

  • объединение всех сущностей, участвующих в связи, в одно отношение;

  • создание двух отношений и передача копии первичного ключа из одного отношения в другое.

Критерием выбора конкретного варианта является степень участия.
1. При обязательном участии обеих сторон в связи типа 1:1 необходимо объединить в одно отношение сущности, участвующие в связи, и выбрать один из первичных ключей первоначальных сущностей для использования в качестве первичного ключа нового отношения.
2. При обязательном участии одной стороны в связи типа 1:1 сущность, которая характеризуется необязательным участием, обозначается как родительская, а сущность с обязательным участием в связи становится дочерней.
Пусть, например, связь Client States Preference (клиент выражает свои пожелания) характеризуется частичным участием со стороны сущности Client (т.е. не каждый клиент высказывает свой пожелания). Тогда сущность Client должна быть определена как родительская, а сущность Preference — как дочерняя.
3. При необязательном участии обеих сторон в связи типа 1:1 одна из них произвольно назначается родительской, а другая — дочерней. В качестве дочерней рекомендуется назначать сущность, которая характеризуется более полным участием в связи.

Download 372 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   ...   21




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling