По определению в отношении не может содержаться два идентичных кортежа. Многие реляционные СУБД допускают хранение файлов данных идентичных записей. Если в каком-либо приложении хранение идентичных записей недопустимо, программист должен позаботься об этом лично.
Расмотрим простую реляционную базы данных состоящую из трех таблиц (Таб. 6.3-6.5).
Таблица 6.3 “Поставщик”.
№ поставщика
Название поставщика
Город
Нормаль
Н.Новгород
Красная Этна
Н.Новгород
Уралмаш
Екатеринбург
Нормаль
Москва
Таблица 6.4 “Деталь”.
№ детали
Название детали
Болт 17
Шпильки
Гайка 22
Гайка 10
Таблица 6.5 “Поставщик – Деталь”.
№ поставщика
№ детали
Количество
БД содержит три типа информации.
· Информация о поставщиках деталей на предприятие (таблица 6.3):
номер поставщика;
наименование детали;
название города.
· Информация о деталях, используемых на предприятии (таблица 6.4):
номер детали;
наименование детали.
· Информация о номере и количестве поступления деталей от каждого поставщика (таблица 6.5)
Каждое отношение храниться в отдельном файле. Структура файла, хранящего отношение проста, то есть все записи имеют одинаковый формат.
Первичный ключ- это атрибут или набор атрибутов, значение которых однозначно указывают на конкретный кортеж отношения. Первичный ключ должен быть минимальным набором атрибутов.
Число отношений в БД и конкретные атрибуты, приписываемые каждому отношению определяются в процессе проектирования БД, который может быть довольно продолжительным. После проектирования создание БД средствами СУБД может пойти достаточно быстро.
В таблице 6.6 описаны типы данных для атрибутов БД “Поставщики и детали”.
Таблица 6.6 Типы Атрибутов.
Название атрибута
Тип атрибута
Пном
Числовой (3)
Пназ
Символьный(16)
Гор
Символьный(15)
Дназ
Символьный(10)
Штук
Числовой (5)
Дном
Числовой (5)
Отношения с указанными первичными ключами для данной БД:
Поставщик
(Пном, Пназ, Гор)
Деталь
(Дном, Дназ)
Поставщик-Деталь
(Пном, Дном, Штук)
Результатом проектирования является концептуальная модель БД.