Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
90
Добавлен:
10.02.2015
Размер:
2.04 Mб
Скачать

2. Ни для какого зависимость

7.2.1. Аксиомы функциональных зависимостей

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

А1. (рефлексивность) Если , тологически следует из. ()

А2. (пополнение) Если и, то(Здесь и далеепонимается как объединениеи).

А3. (транзитивность) из иследует

Из аксиом Амстронга следуют другие правила:

Р4. (правило объединения) Если и, то

Доказательство.

1.Из .

2..

3. Из 1) и 2) следует

Р5. (правило псевдотранзитивности) Если и, то

Доказательство.

    1. Из следует.

    2. Далее транзитивность.

Р6. (правило декомпозиции) Если и, то

Доказательство. Вытекает из аксиом А1 и А3.

Введем понятие замыкания множества атрибутов относительно множества функциональных зависимостей. Пусть множество функциональных зависимостей на множестве атрибутови пусть. Тогда=может быть выведена изпо аксиомам Амстронга}

Лемма следует из аксиом Амстронга тогда и только тогда, когда.

7.2.2. Вычисление замыканий

Вычисление является вообще-то очень трудоемкой задачей. В самом деле, если,, тодля любого. Рассмотрим алгоритм вычисления.

1.

2.

Очевидно,

Пример: Пусть

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

Пусть имножества зависимостей.иназываются эквивалентными, если. Говорят, чтопокрывает, если. Следующий результат устанавливает важное свойство, связанное с эквивалентностью.

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

Доказательство. Пусть множество зависимостейтаких, что для некоторой зависимостиизпринадлежит. Тогдаследует изпо правилу декомпозиции. Поэтому. Но, поскольку если, тоследует из,по правилам объединения.

7.2.3. Полная функциональная зависимость

Различают частичную и полную функциональные зависимости. Под частичной функциональной зависимостью понимают зависимость не ключевого параметра от части составного ключа. Под полной зависимостью понимают зависимость не ключевого параметра от всего составного ключа:

Функциональная зависимость R.X R.Y называется полной, если атрибут Y не зависит функционально от любого собственного подмножества X. (НАЗВ_ПОСТ., ТОВАР)ЦЕНА

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

Избыточная функциональная зависимость - зависимость, заключающая в себе такую информацию, которая может быть получена на основе других зависимостей, имеющихся в базе данных. Функциональная зависимость R.X R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.XR.Z и R.ZR.Y и отсутствует функциональная зависимость R.ZR.X.

Неключевой атрибут

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

Взаимно независимые атрибуты

Два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.

Для обсуждения первой нормальной формы необходимо дать два определения:

Простой атрибут - атрибут, значения которого атомарны (неделимы).

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

отношение находится в 1NF если значения всех его атрибутов атомарны.

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

СЛУЖАЩИЙ(НОМЕР_СЛУЖАЩЕГО, ИМЯ, ДАТА_РОЖДЕНИЯ, ИСТОРИЯ_РАБОТЫ, ДЕТИ).

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

 ИСТОРИЯ_РАБОТЫ (ДАТА_ПРИЕМА, НАЗВАНИЕ, ИСТОРИЯ_ЗАРПЛАТЫ),

 ИСТОРИЯ_ЗАРПЛАТЫ (ДАТА_НАЗНАЧЕНИЯ, ЗАРПЛАТА),

 ДЕТИ (ИМЯ_РЕБЕНКА, ГОД_РОЖДЕНИЯ).

Связь межу ними представлена графически на рис 1.

Рис1. Исходное отношение

Для приведения исходного отношения СЛУЖАЩИЙ к первой нормальной форме необходимо декомпозировать его на четыре отношения:

Рис2. Нормализованное множество отношений(первая форма).

Алгоритм нормализации описан Е.Ф.Коддом следующим образом:

  • Начиная с отношения, находящегося на верху дерева (рис. 1), берется его первичный ключ, и каждое непосредственно подчиненное отношение расширяется путем вставки домена или комбинации доменов этого первичного ключа.

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

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

Соседние файлы в папке Базы данных(1 курс, 2 семестр,2011-2012)