Функциональные зависимости. Алгоритм проверки функциональной зависимости satisfies. 


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



ЗНАЕТЕ ЛИ ВЫ?

Функциональные зависимости. Алгоритм проверки функциональной зависимости satisfies.



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

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

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

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

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

Согласно определению отношения, все его атрибуты атомарны, то есть не могут быть разделены семантически на более мелкие элементы. Отношение, обладающее этим свойством, называется нормализованным или, что то же самое, находящимся в первой нормальной форме (1НФ). Нормальные формы, в которых находятся отношения, составляют иерархию, в которой формы с большими номерами не обладают некоторыми нежелательными свойствами, характерными для форм с меньшими номерами. В теории нормальных форм для реляционных БД рассматривается шесть уровней нормализации: 1НФ – 5НФ и форма Бойса-Кодда (промежуточная между 3НФ и 4НФ). Каждый из следующих уровней ограничивает типы допустимых функциональных зависимостей отношения. Функциональные зависимости отношения составляют его семантику. Уровень нормализации зависит от семантики отношения.

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

 

Ая нормальная форма. Примеры.

Отношение (relation) – это формальный аппарат приведения отношений к такому виду чтобы данные в них не дублировались и не были противоречивы.

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

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

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

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

Например, отношение «Студент = (Номер, Фамилия, Имя, Отчество, Дата, Группа)» находится в первой нормальной форме.

 

Ая нормальная форма. Примеры.

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

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

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

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

 

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

Понятие функциональной зависимости атрибутов:

В отношении R атрибут B функционально зависит от A если в каждый момент времени, каждому значению атрибута A соответствует не более одного атрибута B.

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

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

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

Атрибут B из отношения R называется полностью зависимым от набора атрибутов A если B

функционально зависит от всего множества A но не зависит ни от какого подмножества A.

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

Пример

Пример приведения отношения ко второй нормальной форме

Пусть в следующем отношении первичный ключ образует пара атрибутов { Сотрудник, Должность }:

Сотрудник Должность Зарплата Наличие компьютера
Гришин Кладовщик   Нет
Васильев Программист   Есть
Иванов Кладовщик   Нет

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

В результате приведения к 2NF получаются два отношения:

Сотрудник Должность Зарплата
Гришин Кладовщик  
Васильев Программист  
Иванов Кладовщик  

 

Должность Наличие компьютера
Кладовщик Нет
Программист Есть

 

Транзитивная зависимость. 3-я нормальная форма. Примеры

Назначение языка баз данных SQL. Основные принципы языка.

Пусть А, В и С атрибуты некоторого отношения R. Если в отношение R В функционально зависит от А, а С от В, а обратное соответствие не однозначно, то С транзитивно зависит от А.

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

Транзитивная зависимость:

Если в отношении R, B функционально зависит от A, а C функционально зависит от B, а обратное соответствие не верно, то говорят что C транзитивно зависит от A.

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

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

Понятие третьей нормальной формы основывается на понятии нетранзитивной зависимости.

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

Пример

Рассмотрим в качестве примера следующее отношение:

R1
Сотрудник Отдел Телефон
Гришин Бухгалтерия 11-22-33
Васильев Бухгалтерия 11-22-33
Петров Снабжение 44-55-66

В отношении атрибут «Сотрудник» является первичным ключом. Личных телефонов у сотрудников нет, и телефон сотрудника зависит исключительно от отдела.

Таким образом, в отношении существуют следующие функциональные зависимости: Сотрудник → Отдел, Отдел → Телефон, Сотрудник → Телефон.

Зависимость Сотрудник → Телефон является транзитивной, следовательно, отношение не находится в 3NF.

В результате декомпозиции отношения R1 получаются два отношения, находящиеся в 3NF:

R2
Отдел Телефон
Бухгалтерия 11-22-33
Снабжение 44-55-66

 

R3
Сотрудник Отдел
Гришин Бухгалтерия
Васильев Бухгалтерия
Петров Снабжение

Исходное отношение R1 при необходимости легко получается в результате операции соединения отношений R2 и R3.

 

SQL ("Язык структурированных запросов") - универсальный язык, применяемый для создания, модификации и управления данными в реляционных (удаленных) базах данных.

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

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

Язык SQL предназначен только для взаимодействия с базой данных. Средств разработки законченных программ (организации красивых экранных форм, печати отчетов и т.п.) в нем нет.

 

 



Поделиться:


Последнее изменение этой страницы: 2016-04-19; просмотров: 2139; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

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