Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДИПЛОМ Аюпова-теория.doc
Скачиваний:
17
Добавлен:
19.03.2015
Размер:
537.09 Кб
Скачать

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

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

Для описания структуры создаваемых отношений мы воспользуемся языком DBDL(DatabaseDefinitionLanguage), широко используемым в реляционных СУБД. Описание отношения на языкеDBDLначинается с присвоенного ему имени, за кото­рым следует помещенный в скобки список имен его простых полей. Затем указыва­ется первичный ключ отношения и все его альтернативные и/или внешние ключи. После описания внешних ключей может указываться ссылочный первичный ключ, если таковой имеется. Все имена отношений и полей мы будем писать в английской транскрипции.

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

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

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

Otdel (Otdel_№, Otdel_Imya, Tel_№, Fax_№)

Primary Key Otdel_№

Alternate Key Tel_№

Rabotnik (Rab_№, Imya, Familiya, Adres, Tel_№, Pol, DR, Dolzhnost, Skorost_Pechati, Otdel_№)

Primary Key Rab_№

Foreign Key Otdel_№ reference Otdel (Otdel_№)

Object (Object_№, Tip, S, Komnaty, Cena, Rayon, Ulica, Dom, Kv,Otdel_№, Vladelec_№)

Primary Key Object_№

Foreign Key Otdel_№ reference Otdel (Otdel_№)

Foreign Key Vladelec_№ reference Vladelec (Vladelec_№)

Vladelec (Vladelec_№, Nazvanie, Adres, Tel_№, Kontakt)

Primary Key Vladelec_№

Klient (Klient_№, Imya, Familiya, Adres, Tel_Kl, Object_Tip, S_Max, Cena_Max )

Primary Key Klient_№

Dogovor (Dogovor_№, Data_Dogovor, Cena, Avans, Data_Avans, Data_Okonchanie, Okonchanie, Object_№, Rab_№, Klient_№ )

Primary Key Dogovor_№

Foreign Key Object_№ reference Object (Object_№)

Foreign Key Rab_№ reference Rabotnik (Rab_№)

Foreign Key Klient_№ reference Klient (Klient_№)

Objyavlenie (Objyavlenie_№, Data, Cena, Object_№, SMI_№ )

Primary Key Objyavlenie_№

Foreign Key Object_№ reference Object (Object_№)

Foreign Key SMI_№ reference SMI (SMI_№)

SMI (SMI_Imya, Adres, Tel_№, Kontakt )

Primary Key SMI_№

Alternate Key Tel_№

Osmotr (Data_Os, Kommentarii, Klient_№, Object_№ )

Primary Key Klient_№, Object_№, Data_Os

Foreign Key Object_№ reference Object (Object_№)

Foreign Key Klient_№ reference Klient (Klient_№)

Sobesedovanie (Data_Sob, Kommentarii, Rab_№, Klient_№ )

Primary Key Klient_№, Rab_№, Data_Sob

Foreign Key Rab_№ reference Rabotnik (Rab_№)

Foreign Key Klient_№ reference Klient (Klient_№)