Популярные записи:

500 причин почему я тебя люблю парню 100 причин, почему я люблю тебя 1. Счастье-это быть с тобой 2. С тобой никогда… (116)Что чувствует мужчина когда у него стоит Что чувствует мужчина когда у него стоит Всё зависит от того, в какой момент это… (27)Прикосновения мужчины к женщине значение Дотрагивание (значение прикосновений) Человеку нужно, чтобы до него дотрагивались, пишет в своей книге «Дотрагивание» антрополог… (26)Как ведет себя девушка после расставания Как вести себя после расставания с любимым человеком Наверное, нет такого взрослого человека, который в… (25)Нежные слова любимому парню своими словами 25 красивых пожеланий спокойной ночи любимому Если вы не стесняетесь выражать свои чувства к своему… (23)

3 нормальная форма

3 нормальная форма

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

Процесс преобразования отношений базы данных к виду, отвечающему нормальным формам, называется нормализацией. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не имеет целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. [1] Конечной целью нормализации является уменьшение потенциальной противоречивости хранимой в базе данных информации. Как отмечает К. Дейт, [2] общее назначение процесса нормализации заключается в следующем:

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

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

Нормализацию иногда упрекают на том основании, что «это просто здравый смысл», а любой компетентный профессионал и сам «естественным образом» спроектирует полностью нормализованную БД без необходимости применять теорию зависимостей. [4] Однако, как указывает К. Дейт, нормализация в точности и является теми принципами здравого смысла, которыми руководствуется в своём сознании зрелый проектировщик, то есть принципы нормализации — это формализованный здравый смысл. Между тем, идентифицировать и формализовать принципы здравого смысла — весьма трудная задача, и успех в её решении является существенным достижением. [4]

В создании и развитии теории нормализации принимали участие многие учёные. Однако первые три нормальные формы и концепцию функциональной зависимости предложил Э. Кодд. [4]

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

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

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

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

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

Переменная отношения находится в четвёртой нормальной форме, если она находится в нормальной форме Бойса — Кодда и не содержит нетривиальных многозначных зависимостей.

Переменная отношения находится в пятой нормальной форме (иначе — в проекционно-соединительной нормальной форме) тогда и только тогда, когда каждая нетривиальная зависимость соединения в ней определяется потенциальным ключом (ключами) этого отношения.

Переменная отношения находится в ДКНФ тогда и только тогда, когда каждое наложенное на неё ограничение является логическим следствием ограничений доменов и ограничений ключей, наложенных на данную переменную отношения.

Переменная отношения находится в шестой нормальной форме тогда и только тогда, когда она удовлетворяет всем нетривиальным зависимостям соединения. Из определения следует, что переменная находится в 6НФ тогда и только тогда, когда она неприводима, то есть не может быть подвергнута дальнейшей декомпозиции без потерь. Каждая переменная отношения, которая находится в 6НФ, также находится и в 5НФ.

Введена К. Дейтом в его книге, [2] как обобщение пятой нормальной формы для хронологической базы данных.

Источник:
3 нормальная форма
Нормальная форма — свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, потенциально приводящей к логически ошибочным результатам выборки или изменения
http://ru.wikipedia.org/wiki/%D0%9D%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0

3 нормальная форма

Третья нормальная форма (англ. Third normal form ; сокращённо 3NF) — одна из возможных нормальных форм отношения в реляционной базе данных. 3NF была изначально сформулирована Э. Ф. Коддом в 1971 году.

Переменная отношения R находится в 3NF тогда и только тогда, когда выполняются следующие условия:

Пояснения к определению:

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

Функциональная зависимость множества атрибутов Z от множества атрибутов X (записывается X > Z, произносится «икс определяет зет») является транзитивной, если существует такое множество атрибутов Y, что X > Y и Y > Z. При этом ни одно из множеств X, Y и Z не является подмножеством другого, то есть функциональные зависимости X > Z, X > Y и Y > Z не являются тривиальными, а также отсутствует функциональная зависимость Y > X.

Определение 3NF, эквивалентное определению Кодда, но по-другому сформулированное, дал Карло Заниоло в 1982 году. Согласно ему, переменная отношения находится в 3NF тогда и только тогда, когда для каждой из её функциональных зависимостей X > A выполняется хотя бы одно из следующих условий:

  • Х содержит А (то есть X > A — тривиальная функциональная зависимость)
  • Х — суперключ
  • А — ключевой атрибут (то есть А входит в состав потенциального ключа).

Определение Заниоло четко определяет разницу между 3NF и более строгой нормальной формой Бойса-Кодда (НФБК): НФБК исключает третье условие («А — ключевой атрибут»).

Запоминающееся и, по традиции, наглядное резюме определения 3NF Кодда было дано Биллом Кентом: каждый неключевой атрибут «должен предоставлять информацию о ключе, полном ключе и ни о чём, кроме ключа» [1] .

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

Рассмотрим в качестве примера переменную отношения R1:

Источник:
3 нормальная форма
Третья нормальная форма (англ. Third normal form ; сокращённо 3NF ) — одна из возможных нормальных форм отношения в реляционной базе данных. 3NF была изначально сформулирована Э. Ф. Коддом в 1971
http://ru.wikipedia.org/wiki/%D0%A2%D1%80%D0%B5%D1%82%D1%8C%D1%8F_%D0%BD%D0%BE%D1%80%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D1%84%D0%BE%D1%80%D0%BC%D0%B0

3 нормальная форма

4. Третья нормальная форма (3NF)

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

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

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

Проиллюстрируем процесс приведения ненормализованного отношения к третьей нормальной форме. Для этого рассмотрим пример: отношение, находящееся не в третьей нормальной форме.

Итак, вариант 1 схемы отношения «Сотрудники»:

Сотрудники (№ табельный, Фамилия, Имя, Отчество, Код должности, Оклад);

Primary key (№ табельный);

Кроме того, над данным отношением «Сотрудники» задана следующая система функциональных зависимостей:

Действительно, как правило, от должности, а следовательно, от ее кода в соответствующей базе данных напрямую зависит размер оклада, т. е. размер заработной платы.

Именно поэтому это отношение «Сотрудники» и не находится в третьей нормальной форме, ведь получается, что неключевой атрибут «Оклад» полностью функционально зависит от атрибута «Код должности», хотя этот атрибут и не является ключевым.

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

Проведя декомпозицию отношения «Сотрудники», получим следующую систему новых самостоятельных отношений:

Итак, вариант 2 схемы отношения «Сотрудники»:

Должности (Код должности, Оклад);

Primary key (Код должности);

Сотрудники (№ табельный, Фамилия, Имя, Отчество, Код должности);

Primary key (Код должности);

Foreign key (Код должности) references Должности (Код должности);

Теперь, как мы видим, в отношении «Должности» неключевой атрибут «Оклад» полностью функционально зависит от простого первичного ключа «Код должности» и только от этого ключа.

Заметим, что в отношении «Сотрудники» все четыре неключевых атрибута «Фамилия», «Имя», «Отчество» и «Код должности» полностью функционально зависят от простого первичного ключа «№ табельный». В этом отношении атрибут «Код должности» – внешний ключ, ссылающийся на первичный ключ отношения «Должности».

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

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

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

Источник:
3 нормальная форма
Автор: _нехудлит, 4. Третья нормальная форма (3NF) — Базы данных: конспект лекций, Серия: _проф/_шпаргалки
http://www.e-reading.club/chapter.php/99163/67/Bazy_dannyh__konspekt_lekciii.html

3 нормальная форма

Третья нормальная форма (3НФ) связана с таким понятием как транзитивная зависимость . Рассмотрим следующую таблицу

<Автор, Название книги, Издательство>

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

Заметим, что, не смотря на выполнение условий второй нормальной формы, в таблице видна и некоторая избыточность. Действительно, происходит «парное» повторение значения поля (Автор) и поля (Издательство) – автор может иметь несколько книг, и издательство издает далеко не одну книгу.

Рис. 1.9. Транзитивная зависимость

На Рис. 1.9 показаны зависимости столбца (Издательство) . Действительно данный атрибут, очевидно, зависит от первичного ключа. Но по условию атрибут (Автор) однозначно определяет атрибут (Издательство) , который в свою очередь определяется первичным ключом.

Функциональная зависимость атрибута ( A ) от атрибута ( B ) через атрибут ( C ) называется транзитивной зависимостью.

В нашем примере атрибут (Издательство) транзитивно зависит от первичного ключа (Название книги) . Давайте произведем следующую декомпозицию. Заменим исходную таблицу двумя следующими. Первая таблица — <Название книги, Автор> . Первичный ключ таблицы есть поле (Название книги) . Вторая таблица — <Автор, Издательство> . Первичным ключом последней таблицы является поле (Автор) . В этих таблицах, отсутствует транзитивная зависимость. Очевидно, также, что из получившихся таблиц легко получить исходную таблицу.

Дадим теперь следующее определение.

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

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

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

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

Данное определение называется определением Бойса-Кодда , а таблица, удовлетворяющая этому определению, считается находящейся в нормальной форме Бойса-Кодда (БКНФ ). Не будем в дальнейшем делать различия между формами 3НФ и БКНФ.

Источник:
3 нормальная форма
Третья нормальная форма (3НФ) связана с таким понятием как транзитивная зависимость . Рассмотрим следующую таблицу <Автор, Название книги, Издательство> Сделаем следующие
http://ssofta.narod.ru/bd/7.htm

(Visited 1 times, 1 visits today)

Популярные записи:

Как записать лучшего друга в телефоне Как в телефонной книге записать любимого человекаКак в телефонной книге записать любимого человека/мужа? У многих… (16)Если мужчина любит замужнюю женщину его поведение Как влюбляются мужчины: признаки и их поведениеМужчины и женщины отличаются не только внешне, но и… (15)Электрофорез с бромом Бром и препараты брома Соли брома при введении в организм стимулируют тормозные процессы в коре… (15)

COMMENTS