Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samples / Zaochniki / Базы и банки.doc
Скачиваний:
26
Добавлен:
25.03.2015
Размер:
98.82 Кб
Скачать
  1. Нормализация базы данных, основные принципы и цель нормализации.

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

  • быстрый доступ к данным;

  • отсутствие дублирования (повторения) данных

  • целостность данных.

Проектирование БД можно представить следующим образом:

  1. Сбор всей информации об объектах решаемой задачи в рамках одной таблицы (одного отношения)

  2. Разбиение полученной таблицы на несколько взаимосвязанных таблиц на основе принципа нормализации отношений.

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

В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:

  • первая нормальная форма (1NF);

  • вторая нормальная форма (2NF);

  • третья нормальная форма (3NF);

  • нормальная форма Бойса-Кодда (BCNF);

  • четвертая нормальная форма (4NF);

  • пятая нормальная форма, или нормальная форма проекции-соединения (5NF или PJ/NF).

Основные свойства нормальных форм:

  1. каждая следующая нормальная форма в некотором смысле лучше предыдущей;

  2. при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.

Теория нормализации основывается на наличии той или иной зависимости между полями таблицы.

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

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

Транзитивная функциональная зависимость Функциональная зависимость R.X -> R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X -> R.Z и R.Z -> R.Y и отсутствует функциональная зависимость R.Z --> R.X.

Основными считаются первые 3 нормальные формы:

(3НФ оказывается вполне достаточно для создания надежной схемы БД. НФ более высокого порядка чрезмерно сложны и могут оказаться слишком накладными для реализации на практике)

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

2НФ - Таблица находится во второй нормальной форме (2NF) в том и только в том случае, когда находится в 1NF, и каждый ее неключевой атрибут полностью зависит от первичного ключа. (Таблица должна удовлетворять 1NF и любое неключевое поле должно однозначно идентифицироваться ключевыми полями.)

3НФ – Таблица находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. (Таблица должна удовлетворять 2NF и ни одно из неключевых полей не должно однозначно идентифицироваться значением другого неключевого поля (полей))

Соседние файлы в папке Zaochniki