Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Первая, вторая и третья нормальные формы




Лекция №15

Функциональная зависимость как семантическое понятие.

ФЗ – это особый вид ограничений целостности, т. е. это, несомненно, семантическое понятие.

Если отношение удовлетворяет ФЗ код_поставщика→город, это значит, что каждый поставщик находится точно в одном городе. Это ограничение существует в реальном мире (по крайней мере, в некоторой модели реального мира). Это ограничение является частью семантики и должно быть представлено в базе данных таким образом, чтобы оно могло быть приведено в действие СУБД.

Способом задания ограничений в определении базы данных является объявление ФЗ.

 

 

Название лекции: Первая, вторая и третья нормальные формы.

План:

1. Определение неключевого атрибута и взаимно независимых атрибутов.

2. Неформальное определение 3НФ. Первая, вторая и третья нормальные формы.

 

1. Определение неключевого атрибута и взаимно независимых атрибутов.

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

Неключевой атрибут – это атрибут, который не входит в первичный ключ рассматриваемого отношения.

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

Физический смысл взаимно независимости: каждый атрибут из множества взаимно независимых атрибутов А может быть обновлен независимо от остальных атрибутов множества А.

 

2. Первая, вторая и третья нормальные формы.

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

Любое нормализованное отношение находится в 1НФ.

Недостатки 1НФ рассмотрим на примере:

 

Отношение R1:

 

 

 

S={{код, товар}® {количество}; {код} ® {город}; {код} ®{статус}; {город} ® {статус}} множество ФЗ отношения R1.

Первичный ключ в отношении {код, товар} Статус поставщика определяется его месторасположением.

Данное отношение обладает избыточностью (для каждого поставщика указан город и статус). Избыточность приводит к различным аномалиям обновления:

- аномалия – вставки INSERT. Нельзя добавить информацию о поставщике, который не поставил ни одного товара.

- аномалия – удаления DELETE. Возможна, что с удалением некоторой строки таблица (удаление поставки) исчезнет информация о поставщике.

- аномалия UPDATE (переписать, обновить) – эта проблема возникает в том случае, если необходимо переместить поставщика из одного города в другой. Например, 1 из Москвы в Новгород. Необходимо откорректировать все записи о поставках от этого поставщика.

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

R2: R3:

Код Товар Кол-во   Код Статус Город
          Москва
          Ростов
          Ростов
          Москва
      5 30 Новгород
           
         
           
           
           
           
           
           
                 

ФЗ для отношения R2:{код, товар}→{кол-во}

ФЗ для отношения R3:{код}→{город}, {код}→{статус}, {город}→{статус}

Такие отношения позволяют преодолеть указанные противоречия: INSERT: Можно вставить поставщика из Новгорода, который не поставлял товар; DELETE: Можно удалить товар 2 от поставщика 3, а сведения о поставщике останутся; UPDATE: Для того, чтобы переместить поставщика 1 из Москвы в Новгород, достаточно поменять запись в отношении R3.

Физический смысл противоречия в отношении R1 в том, что это отношение описывает не один объект (поставку товара) а два: поставку и поставщика.

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

В общем случае: пусть имеется отношение R: {А, В, С, D} где {А, В} первичный ключ, кроме того, имеется ФЗ A → D, тогда R заменяем на 2 отношения:

R1: {A, B, C} = ПрA,B,C (R), где первичный ключ {A, B}, А – внешний ключ.

R2: {A, D} → первичный ключ {А}.

Исходное: R = R1 JOIN R2.

 

Проблемы, возникающие в R3.

INSERT: Нельзя включить город с некоторым статусом, из которого нет ни одного поставщика.

DELETE: удалив поставщика 5, удалим информацию о том, что Новгороду был установлен статус 30.

UPDATE: информация о статусе повторяется, т.о. изменив статус Москвы с 20 на 30 необходимо откорректировать несколько записей.

Физический смысл противоречия тот же: информация о двух объектах предметной области (город и поставщик) находится в одном отношении.

Формальным признаком проблем в R3 является наличие транзитивной ФЗ. Для этого отношения неприводимое множество ФЗ: {код} → {город} и {город} → {статус}.

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

R5: R6:

Код Город   Город Статус
  Москва Москва  
  Ростов Ростов  
  Ростов Новгород  
  Москва Казань      
  Новгород      

ФЗ для отношения R5: {код} →{город}

ФЗ для отношения R6: {город}→ {статус}

Каждое отношение описывает только одну сущность (объект предметной области).

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

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

Пример: Отношение R с атрибутами {A, B, C}, где {A} – первичный ключ; есть ФЗ: B→C (A → B и A → C – очевидно).

R1: {A, B}, где {A} – первичный ключ, В – внешний ключ, А→В.

R2: {B, C}, где {B} – первичный ключ, В→С.

Отношение R может быть восстановлено соединением R1 и R2: R = R1 join R2

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

 

 





Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 872; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.