Отношение, которое включает в себя все атрибуты и содержащее все данные, предполагаемые хранить в БД, называется универсальным отношением.
Для небольших БД универсальное отношение может использоваться в качестве основного пункта при проектировании БД.
Предположим, что требуется разработать БД для начальника отдела.
Первый шаг проектирования – состоит в определении всех атрибутов, значения которых требуется хранить в БД. Эта информация берется у начальника отдела в процессе обсуждения будущей БД. В результате обсуждения выяснилось, что БД предназначена для подведения результатов работы каждого сотрудника отдела. Определился следующий набор атрибутов:
Сном номер сотрудника (целое значение, уникальное),
Сфам фамилия сотрудника (строковое значение),
Лном номер лаборатории, в которой трудится данный сотрудник,
Тном рабочий телефон сотрудника,
Проект номер проекта, в разработке которого участвует сотрудник,
Квартал период времени, в течение которого сотрудник участвовал в разработке проекта,
Вклад численная характеристика, отражающая количество и качество работы с сотрудника в данном проекте и в данном квартале.
Второй шаг – составление таблицы по предварительно записанному набору атрибутов.
Пример:
Таблица 6.11
Сном
Сфам
Тном
Лном
Проект
Квартал
Вклад
Иванов
5-17
25АП
РКТ14
1990.3
Зенит
1990.3
ВКТ14
1990.4
ВТА2
1990.4
Николаев
8-29
4КТ
ВКТ14
1990.3
ВТА8
1990.4
ВКТ14
1990.4
Андреев
5-17
25АМ
Зенит
1990.3
ОТР6
1990.4
ВКТ14
1990.4
Зайцев
4-85
14ММ
ОВ77
1990.3
Хотя данные связаны в таблицу 6.11, она не может быть использована в реляционных базах данных, т.к. строки её содержат вектора значений атрибутов, что недопустимо для отношений. Такую таблицу, однако, очень легко преобразовать в отношение путем декомпозиции.
Таблица 6.12
Сном
Сфам
Тном
Лном
Проект
Квартал
Вклад
Иванов
5-17
25АП
РКТ14
1990.3
Иванов
5-17
25АП
Зенит
1990.3
Иванов
5-17
25АП
ВКТ14
1990.4
Иванов
5-17
25АП
ВТА2
1990.4
Николаев
8-29
4КТ
ВКТ14
1990.3
Николаев
8-29
4КТ
ВТА8
1990.4
Николаев
8-29
4КТ
ВКТ14
1990.4
Андреев
5-17
25АП
Зенит
1990.3
Андреев
5-17
25АП
ОТР6
1990.4
Андреев
5-17
25АП
ВКТ14
1990.4
Зайцев
4-85
14ММ
ОВ77
1990.3
В таблице 6.12 первичным ключом является значение трех полей Сном-Проект-Квартал. Полученная таблица – экземпляр правильного отношения.