Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Математические свойства ФЗ, теоремы




Рассмотрим некоторые математические свойства ФЗ, вытекающие из ее определения. Данные свойства получили название правил Армстронга по имени исследователя, который их сформулировал.

  1. Рефлективность

Если Y является подмножеством X, то X определяет Y

YÌX=>X®Y

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

 

  1. Дополнение

А®В => АС®ВС, где С – любое подмножество атрибутов отношения.

 

  1. Транзитивность

А®В и В®С => А®С

В этом случае говорят, что С транзитивно зависит от А. К этому понятию мы еще вернемся при рассмотрении третьей нормальной формы.

Из этих трех основных свойств можно вывести еще несколько.

  1. Самоопределение

X®X

Такая зависимость не несет какой-либо информации, однако она удовлетворяет определению ФЗ

 

  1. Декомпозиция

А®ВС=>А®В, А®С

 

  1. Композиция

А®В и С®D =>АС®ВD

 

7. Теорема о всеобщей зависимости или теорема всеобщего объединения

 

Если A®B и C®D => AÈ(C-B)®BD

Здесь È - операция объединения множеств.

Правила Армстронга позволяют выводить новые ФЗ на основе других ФЗ. Применяя их, можно вывести множество всех ФЗ данного отношения. Такое множество называется замыканием.

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

· в правой части каждой ФЗ должен быть только одни атрибут;

· из левой части каждой ФЗ нельзя удалить ни одного атрибута без потери этой ФЗ

Такое множество для каждого отношения может быть только одно.

Возвращаясь к примеру с ФЗ отношения Сотрудники (код, ФИО, пол, дата_рождения), отметим, что приведенное в примере множество ФЗ

· код ® ФИО

· код ® пол

· код ® дата_рождения

· код ® (ФИО, пол),

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

Приведенное множество не является и замыканием, поскольку из приведенных выше ФЗ можно вывести еще много других ФЗ, например,

(код, ФИО) ® дата_рождения, (код, дата_рождения) ® ФИО и т.д.

Процедура нормализации. Декомпозиция отношений

Нежелательные ФЗ

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

Например, добавим в отношение Сотрудники дополнительный атрибут возрастная_категория, который может принимать значения «несовершеннолетний», «пенсионер» и NULL для остальных сотрудников. Добавление этого атрибута внесет новую ФЗ в неприводимое множество ФЗ:

(дата_рождения, пол) ® возрастная_категория

(граница пенсионного возраста зависит от пола, поэтому в общем случае возрастную категорию определяют два атрибута)

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

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

Возрастные_категории (код_категории, название, пол, возрастная граница)

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

Приведенный пример пока не дает ответа на вопрос, каким образом удобнее выявлять нежелательные ФЗ, однако указывает путь их устранения – вынесение нежелательных ФЗ в отдельные отношения.

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

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...