Определение ключевых атрибутов и доменов
В рассматриваемом примере для выделенных множеств сущностей можно предложить следующие ключи и домены:
КЛИЕНТ/E1
Первичный ключ: ЛИЧНЫЙ НОМЕР КЛИЕНТА; атрибут определен на домене НОМЕР.
Альтернативный ключ: ПАСПОРТ (паспортные данные); атрибут определен на домене СИМВОЛЬНЫЙ НОМЕР.
ВАЛЮТА/E2
Первичный ключ: КОД ВАЛЮТЫ; атрибут определен на домене НОМЕР.
КУРС ВАЛЮТЫ/E3
Первичный ключ: составной ключ, содержащий два атрибута:
· КОД ВАЛЮТЫ – устанавливает связь с множеством сущностей ВАЛЮТА/E2; атрибут определен на домене НОМЕР;
· ДАТА; атрибут определен на домене ДАТА.
ОПЕРАЦИЯ/E4
Первичный ключ: НОМЕР ОПЕРАЦИИ; атрибут определен на домене НОМЕР.
Внешние ключи:
· КОД ВАЛЮТЫ – устанавливает связь с множеством сущностей ВАЛЮТА/E2; атрибут определен на домене НОМЕР;
· ЛИЧНЫЙ НОМЕР – устанавливает связь с множеством сущностей КЛИЕНТ/E1; атрибут определен на домене НОМЕР.
ПОКУПКА/E5
Первичный (он же внешний) ключ: НОМЕР ОПЕРАЦИИ – устанавливает связь с множеством сущностей ОПЕРАЦИЯ/E4; атрибут определен на домене НОМЕР.
ПРОДАЖА/E6
Первичный (он же внешний) ключ: НОМЕР ОПЕРАЦИИ – устанавливает связь с множеством сущностей ОПЕРАЦИЯ/E4; атрибут определен на домене НОМЕР.
Описания доменов и ключевых атрибутов приведены в табл. 4.21 и 4.22.
Таблица 4.21
Описание доменов
Имя домена | Имя общего домена | Описание домена |
Строка | Множество всех символьных строк | |
Число | Множество всех чисел | |
Дата | Множество всех дат | |
Номер | Число | Множество натуральных чисел |
Символьный номер | Строка | Множество символьных строк длиной не более 40 символов |
Таблица 4.22
Описание атрибутов
Множество сущностей | Имя атрибута | Имя домена | Признак обязательности | Примечание |
Клиент/E1 | Личный номер | Номер | Not null | PK |
Паспорт | Символьный номер | Not null | AK1 | |
Валюта/E2 | Код валюты | Номер | Not null | PK |
Курс валюты/E3 | Код валюты | Номер | Not null | PK.1; FK1 |
Дата | Дата | Not null | PK.2 |
Продолжение табл. 4.22
Множество сущностей | Имя атрибута | Имя домена | Признак обязательности | Примечание |
Операция/E4 | Номер операции | Номер | Not null | PK |
Код валюты | Номер | Not null | FK1 | |
Личный номер | Номер | Not null | FK2 | |
Покупка/E5 | Номер операции | Номер | Not null | PK; FK |
Продажа/E6 | Номер операции | Номер | Not null | PK; FK |