Создание многотабличной базы данных
Лабораторная работа №5
Цели работы: На примере построения многотабличной базы освоить приёмы нормализации данных в БД.
Задачи работы: научиться проектировать и создавать многотабличную базу данных.
Общие сведения.
Базы данных должны проектироваться предельно аккуратно, чтобы гарантировать надёжное и правильное хранение данных. Поскольку реляционная модель БД основывается на первичных ключах для идентификации объектов и внешних ключах для создания связей, необходимо следить за целостностью (достоверностью) ключей.
Одной из целей создания базы данных является создание нормализованных (правильно разработаны) таблиц. Нормализация подразумевает разделение таблицы на несколько таблиц с целью исключения дублирования данных.
База данных считается нормализованной, когда каждое поле содержит только одно значение, а каждая таблица состоит из верного набора полей.
Нормализация таблиц базы данных - первый шаг на пути проектирования структуры реляционной базы данных. Строго говоря, конечно, не самый первый - сначала надо решить, что же мы вообще будем хранить в базе, то есть определиться со структурой полей, их типами и размерностью, смыслом хранимой в них информации.
|
|
Теория нормализации реляционных баз данных была разработана в конце 70-х годов 20 века. Согласно ей, выделяются шесть нормальных форм, пять из которых так и называются: первая, вторая, третья, четвертая, пятая нормальная форма, а также нормальная форма Бойса-Кодда, лежащая между третьей и четвертой. Существует шесть нормальных форм. Каждая нормальная форма разрабатывается на основе предшествующих. На практике в основном применяются три нормальные формы (остальные применяются редко).
База данных считается нормализованной, если ее таблицы (по крайней мере, большинство таблиц) представлены как минимум в третьей нормальной форме. Часто многие таблицы нормализуются до четвертой нормальной формы, иногда, наоборот, производится денормализация.
Главная цель нормализации базы данных - устранение избыточности и дублирования информации. В идеале при нормализации надо добиться, чтобы любое значение хранилось в базе в одном экземпляре, причем значение это не должно быть получено расчетным путем из других данных, хранящихся в базе.
Первая нормальная форма:
· запрещает повторяющиеся столбцы (содержащие одинаковую по смыслу информацию)
· запрещает множественные столбцы (содержащие значения типа списка и т.п.)
· требует определить первичный ключ для таблицы, то есть тот столбец или комбинацию столбцов, которые однозначно определяют каждую строку