Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Функциональная зависимость и нормализация, суть и преимущества нормализации, нормальные формы.

Поиск

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

Один столбец или множество столбцов Y функционально зависят от одного столбца из множества столбцов X, если данное множество значений для X определяет единственное множество значений для У.

"У функционально зависит от X" < =>"X определяет Y “ XÚ Y.

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

 

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

 

Доводы в пользу нормализации

§ Обеспечение целостности;

§ Создание формальной модели, как можно более независимой от специфики приложения;

Снижение требований к объему памяти.

Первая нормальная форма(ограничения отношения)

1. Значения в ячейках таблицы д.б. атомарными

2. Все записи в столбце д.б. одного типа

3. Каждый столбец имеет уникальное имя

4. Порядок столбцов в таблице несущественен

5. В отношении не м.б. двух одинаковых строк

6. Порядок строк не имеет значения

Вторая нормальная форма - отсутствие частичной зависимости

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

Третья нормальная форма - отсутствие транзитивной зависимости.

Отношение находится в ЗНФ, если оно находится во 2НФ и все его неключевые столбцы зависят только от ключа

Нормальная форма Бойса-Кодда - отсутствие инверсной частичной зависимости

Отношение находится в НФБК, если оно находится в 3НФ и ни первичный ключ, ни какая-либо его часть не зависит от неключевого атрибута

Четвертая нормальная форма - отсутствие многозначной зависимости.

Отношениенаходится в 4НФ, если оно находится в НФБК и в ней отсутствуют многозначные зависимости

Пятая нормальная форма - отсутствие объединенной зависимости.

Отношение находится в 5НФ, если оно находится в 4НФ в ней отсутствуют объединенные зависимости (join dependence)

 

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

Отношение находится в ДКНФ, если выполнение ограничений на домены и ключи приводит к выполнению всех ограничений

Первый пример ДКНФ

СТУДЕНТ (НомерСтудента, Курс, Общежитие, Плата)
Ключ: НомерСтудента
Ограничения:
Общежитие -> Плата
НомерСтудента не должен начинаться с цифры 1

Синтез отношений

Два атрибута A и B могут иметь связь трех видов:

A->B и B->A «один к одному»

A->B, а B не ->A «многие к одному»

A не ->B и B не ->A «многие ко многим»

 

Связь «один к одному»

  • Атрибуты, имеющие связь «один к одному», должны фигурировать вместе по крайней мере в одном отношении. Пусть отношение носит имя R, а его атрибуты — A и B.
  • Либо A, либо B должен быть ключом отношения R.
  • Если некоторый атрибут функционально определяется атрибутом A или B, он может быть добавлен в отношение R.
  • Атрибут, не определяемый функционально атрибутами A или B, не может быть добавлен в отношение R.
  • Атрибуты A и B должны находиться вместе в отношении R и более ни в каком другом отношении.
  • Для представления пары (A, B) в отношениях, отличных от R, должен последовательно использоваться один из атрибутов, A или B.

 

Связь «многие к одному»

  • Атрибуты, имеющие связь «многие к одному», могут находиться вместе в одном отношении. Пускай в отношении S атрибут C определяет атрибут D.
  • Атрибут C должен быть ключом отношения S.
  • Если некоторый атрибут определяется атрибутом C, он может быть добавлен в отношение S.
  • Атрибут, не определяемый функционально атрибутом C, не может быть добавлен в отношение S.

 

Связь «многие ко многим»

  • Атрибуты, имеющие связь «многие ко многим», могут сосуществовать в одном отношении. Пускай в отношении T имеются два таких атрибута, E и F.
  • Ключом отношения должна быть комбинация (E,F).
  • Если некоторый атрибут определяется сочетанием атрибутов (E,F), он может быть добавлен в отношение T.
  • Атрибут, не определяемый функционально сочетанием атрибутов (E,F), не может быть добавлен в отношение T.
  • Если добавление нового атрибута G расширяет ключ отношения до (E,F,G), это значит, что тема отношения изменилась. Либо атрибут G логически не принадлежит отношению T, либо следует выбрать другое имя для отношения в соответствии с поменявшейся темой.

Суррогатные ключи

Суррогатный ключ (surrogate key) — это уникальный идентификатор, используемый в качестве первичного ключа отношения. Значения суррогатного ключа не имеют смысла для пользователей, поэтому в формах и отчетах они обычно скрываются.

Причины для использования суррогатных ключей

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

 

Причины использования

Неизменность. Главное достоинство суррогатного ключа состоит в том, что он практически никогда не меняется, поскольку не несёт никакой информации из предметной области и, следовательно, в минимальной степени зависит от изменений, происходящих в ней. Для изменения суррогатного ключа обычно требуются экстраординарные обстоятельства (см. ниже причину «гибкость»).

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

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

Гибкость. Поскольку суррогатный ключ неинформативен, его можно свободно заменять. Допустим, сливаются две фирмы со сходной структурой БД; сотрудник идентифицируется сетевым логином. Чтобы в полученной БД ключ оставался уникальным, приходится добавлять в него дополнительное поле — «из какой фирмы пришёл». В случае с суррогатными ключами достаточно выдать сотрудникам одной из фирм новые ключи.

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

 

Денормализация

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

 

 

Преднамеренная избыточность

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

Но в целях повышения производительности иногда уместным является умышленное дублирование данных

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



Поделиться:


Последнее изменение этой страницы: 2017-01-25; просмотров: 522; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.119.135.53 (0.008 с.)