double arrow

Нормальная форма Бойса-Кодда


Третья нормальная форма

Вторая нормальная форма

Первая нормальная форма

База данных считается нормализованной, когда каждое поле содержит только одно значение, а каждая таблица состоит из верного набора полей.

Создание многотабличной базы данных

Лабораторная работа №5

Цели работы:На примере построения многотабличной базы освоить приёмы нормализации данных в БД.

Задачи работы:научиться проектировать и создавать многотабличную базу данных.

Общие сведения.

Базы данных должны проектироваться предельно аккуратно, чтобы гарантировать надёжное и правильное хранение данных. Поскольку реляционная модель БД основывается на первичных ключах для идентификации объектов и внешних ключах для создания связей, необходимо следить за целостностью (достоверностью) ключей.

Одной из целей создания базы данных является создание нормализованных (правильно разработаны) таблиц. Нормализация подразумевает разделение таблицы на несколько таблиц с целью исключения дублирования данных.

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




Теория нормализации реляционных баз данных была разработана в конце 70-х годов 20 века. Согласно ей, выделяются шесть нормальных форм, пять из которых так и называются: первая, вторая, третья, четвертая, пятая нормальная форма, а также нормальная форма Бойса-Кодда, лежащая между третьей и четвертой. Существует шесть нормальных форм. Каждая нормальная форма разрабатывается на основе предшествующих. На практике в основном применяются три нормальные формы (остальные применяются редко).

База данных считается нормализованной, если ее таблицы (по крайней мере, большинство таблиц) представлены как минимум в третьей нормальной форме. Часто многие таблицы нормализуются до четвертой нормальной формы, иногда, наоборот, производится денормализация.

Главная цель нормализации базы данных - устранение избыточности и дублирования информации. В идеале при нормализации надо добиться, чтобы любое значение хранилось в базе в одном экземпляре, причем значение это не должно быть получено расчетным путем из других данных, хранящихся в базе.

Первая нормальная форма:

· запрещает повторяющиеся столбцы (содержащие одинаковую по смыслу информацию)

· запрещает множественные столбцы (содержащие значения типа списка и т.п.)

· требует определить первичный ключ для таблицы, то есть тот столбец или комбинацию столбцов, которые однозначно определяют каждую строку



Вторая нормальная форма требует, чтобы неключевые столбцы таблиц зависели от первичного ключа в целом, но не от его части. В принципе, если таблица находится в первой нормальной форме и первичный ключ у нее состоит из одного столбца, то она автоматически находится и во второй нормальной форме.

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

Нормальная форма Бойса-Кодда требует, чтобы в таблице был только один потенциальный первичный ключ. Чаще всего у таблиц, находящихся в третьей нормальной форме, так и бывает, но не всегда. Если обнаружился второй столбец (комбинация столбцов), позволяющий однозначно идентифицировать строку, то для приведения к нормальной форме Бойса-Кодда такие данные надо вынести в отдельную таблицу.







Сейчас читают про: