После определения таблиц, полей, индексов и связей между таблицами следует посмотреть на проектируемую БД в целом и проанализировать ее, используя правила нормализации, с целью устранения логических ошибок. Нормализация представляет собой вариант восходящего подхода к проектированию БД, который начинается с установления связей между атрибутами. Нормализация – метод создания набора отношений с заданными свойствами на основе требований к данным, установленным в некоторой предметной области.
С практической точки зрения нормализацией называется процесс удаления избыточных данных. Нормализация - это технология группировки атрибутов при проектировании БД. Каждый элемент должен храниться в БД в одном и только одном экземпляре. Процесс нормализации является формальным методом, который позволяет идентифицировать отношения на основе их первичных ключей и функциональных зависимостей, существующих между их атрибутами.
1. Универсальное отношение
Рассмотрим задачу проектирования БД на базе следующей таблицы:
Таблица «Сессия»
ФИО | Семестр | Дисциплина | Форма | Оценка | Количество часов | ФИО преподавателя | Должность |
1 | Английский язык | Зачет | 1 | 60 | Доцент | ||
Математический анализ | Зачет | 1 | 28 | Ст. преп. | |||
Математический анализ | Экзамен | 5 | 32 | Проф. | |||
Программирование | Зачет | 1 | 36 | Преп. | |||
Программирование | Экзамен | 5 | 32 | Доцент | |||
Линейная алгебра | Зачет | 1 | 24 | Преп. | |||
Линейная алгебра | Экзамен | 4 | 28 | Преп. |
ФИО | Семестр | Дисциплина | Форма | Оценка | Количество часов | ФИО преподавателя | Должность |
1 | Английский язык | Зачет | 1 | 60 | Доцент | ||
Математический анализ | Зачет | 1 | 28 | Ст. преп. | |||
Математический анализ | Экзамен | 3 | 32 | Проф. | |||
Программирование | Зачет | 1 | 36 | Преп. | |||
Программирование | Экзамен | 4 | 32 | Доцент | |||
Линейная алгебра | Зачет | 1 | 24 | Преп. | |||
Линейная алгебра | Экзамен | 4 | 28 | Преп. | |||
Шкала оценок: 0 – незачет, 1 – зачет, 2, 3, 4, 5 – оценки.
Этот вариант таблицы «Сессия» не является отношением, т. к. большинство ее столбцов не атомарны. Значение любого атрибута реляционной таблицы является атомарным, если само это значение, в свою очередь, не является реляционной таблицей (отношением). Атомарными являются значения столбцов ФИО СТУДЕНТА, СЕМЕСТР. Остальные столбцы таблицы – множественные.
Эта таблица называется таблицей в ненормализованной форме (ННФ) или ненормализованной таблицей, т. к. содержит одну или несколько повторяющихся групп данных.
Для преобразования данных в отношение необходимо реконструировать таблицу, например, с помощью процесса вставки. Результат имеет вид:
Универсальное отношение «СЕССИЯ»
ФИО | Семестр | Дисциплина | Форма | Оценка | Количество часов | ФИО преподавателя | Должность |
1 | Английский язык | Зачет | 1 | 60 | Доцент | ||
1 | Математический анализ | Зачет | 1 | 28 | Ст. преп. | ||
1 | Математический анализ | Экзамен | 5 | 32 | Проф. | ||
1 | Программирование | Зачет | 1 | 36 | Преп. | ||
1 | Программирование | Экзамен | 5 | 32 | Доцент | ||
1 | Линейная алгебра | Зачет | 1 | 24 | Преп. | ||
1 | Линейная алгебра | Экзамен | 4 | 28 | Преп. | ||
1 | Английский язык | Зачет | 1 | 60 | Доцент | ||
1 | Математический анализ | Зачет | 1 | 28 | Ст. преп. | ||
1 | Математический анализ | Экзамен | 3 | 32 | Проф. | ||
1 | Программирование | Зачет | 1 | 36 | Преп. | ||
1 | Программирование | Экзамен | 4 | 32 | Доцент | ||
1 | Линейная алгебра | Зачет | 1 | 24 | Преп. | ||
1 | Линейная алгебра | Экзамен | 4 | 28 | Преп. |
Такое преобразование приводит к возникновению большого объема избыточных данных. Но полученную таблицу называют универсальным отношением проектируемой БД. В одно универсальное отношение включаются все представляющие интерес атрибуты, и оно может содержать все данные, которые предполагается размещать в БД. При проектировании БД универсальное отношение используется в качестве отправной точки.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 |



