Глава 4. Проектирование реляционных баз данных

4.1. Уточнение целей проектирования БД

Цели, стоящие перед проектировщиком БД:

1.                 Возможность хранения всех необходимых данных в БД.

2.                 Исключение избыточности данных.

3.                 Сведение числа хранимых в БД отношений к минимуму.

4.                 Нормализация отношений для упрощения решения проблем, связанных с обновлением, удалением и включением данных.

Рассмотрим эти цели более детально.

1-я цель – очевидна, предполагается, что БД должна содержать все данные, представляющие интерес для предприятия (пользователя).

2-я цель – следует четко различать дублирование данных и избыточное дублирование данных. Например, дано отношение с двумя атрибутами (рис. 4.1).

1. СТУДЕНТ

ФИО

ГРУППА

Иванов

111

Петров

222

Сидоров

111

Макаров

222

2. СТУДЕНТ

ФИО

ГРУППА

Иванов

111

Петров

222

Сидоров

Макаров

Рис. 4.1. Дублирование данных, не являющихся избыточными

Видно дублирование данных в столбце ГРУППА. Однако нет избыточности, т.к. удаление повторяющихся значений влечет потерю информации о номере группы, в которой учатся студенты Сидоров и Макаров.

1. СТУДЕНТ

ФИО

ГРУППА

КУРАТОР

Иванов

111

Котов

Петров

222

Собакин

Сидоров

111

Котов

Макаров

222

Собакин

2. СТУДЕНТ

ФИО

ГРУППА

КУРАТОР

Иванов

111

Котов

Петров

222

Собакин

Сидоров

111

Макаров

222

Рис. 4.2. Пример избыточных данных

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

3-я цель – обусловлена тем, что разбиение одного отношения на два и более меньших отношений желательно с точки зрения исключения определенных проблем, но это неудобно для пользователя. Нельзя допускать неограниченный рост числа отношений.

4-я цель – сводится к нормализации отношений. Нормализация представляет собой разбиение одного отношения на два или более в соответствии со специальной процедурой определения разбиения.

3-я и 4-я цели являются противоречивыми, поэтому требуется найти взаимный компромисс, что и достигается на завершающих стадиях этапа инфологического проектирования.