Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Михайлов БД шпоры.doc
Скачиваний:
58
Добавлен:
08.03.2015
Размер:
360.45 Кб
Скачать

7. Ключи в отношениях. Зависимости между атрибутами в реляционной м.

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

В зависимости от характера значений, которые принимают атрибуты, различают атрибуты-признаки и атрибуты-основания. Атрибут-признак имеет как правило текстовый тип данных. Атрибут-основание содержит количественную характеристику объекта, определяющую его состояние. Атрибут-основание имеет числовой тип данных. Зависимости между атрибутами кортежей. Их можно разделить на первичный ключ и все атрибуты (описательные) которые от него зависят. Значение первичного ключа уникально для каждого кортежа. Среди описательных атрибутов можно выделить вторичные ключи, значения которых могут повторяться, и которые, как правило, являются внешними ключами для связи с дочерними таблицами и просто описательные атрибуты, присутствующие только в этом отношении.

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

1). Функциональная. Говорят, что атрибут B функционально зависит от атрибута А если каждому значению атрибута А точно соответствует 1 значение атрибута В. Это означает, что во всех кортежах с одинаковым значением атрибута А атрибут В будет так же иметь одно и то же значение. При этом атрибуты А и В могут быть как простыми, так и составными. Если атрибут А составной, то можно говорить о полной или частичной функциональной зависимости атрибута В. Если атрибут В зависит от всего составного атрибута А, то имеет место полная функциональная зависимость. Если атрибут В зависит только от части составного атрибута А, то имеет место частичная функциональная зависимость. Чаще всего атрибут А – первичный ключ, В – описательный атрибут.

2). Транзитивная. Атрибут С транзитивно зависит от атрибута А, если С функционально зависит от В, а В функционально зависит от А, но обратная зависимость отсутствует.

Пусть отношение имеет вид : ФИО, должность, оклад. В этом случае должность зависит от ФИО, оклад зависит от должности => оклад транзитивно зависит от ФИО

3). Многозначная. Атрибут В многозначно зависти от атрибута А если каждому значению А соответствует множество значений В не связанных с другими атрибутами из этого же отношения. Многозначные зависимости могут быть 1:n, n:1, n:m.

8. Нормализация отношений.

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

1)множество отношений должно обеспечивать минимальную избыточность предоставления информации;

2)корректировка отношений не должна приводить к двусмысленности или потере информации;

3)перестройка набора отношений при добавлении нового атрибута должна быть минимальной.

Нормализация отношений – отношения в той или иной нормальной норме: 1-5.

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

Основные действия для приведения к первой нормальной форме:

- удаляем повторяющиеся группы в отдельных таблицах;

- создаём отдельные таблицы для каждого множества отношений;

- определяем первичный ключ в каждом отношении.

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

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

Основные действия по приведению отношения:

- удаление частичной зависимости:

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

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

Например: Существует частичная зависимость поля “№ дока” от составного ключа “№ сотрудника”-“№ задания” . Это поле полностью зависит от поля “№ задания” и совсем не зависит от поля “№ сотрудника”. Т.о. для удаления этой зависимости таблица разделяется на две. В результате в одной из таблиц получаем № задания->№ дока.

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

Пример (таб.№, ФИО, должность, оклад, №кабинета, телефон). Это отношение содержит транзитивные .зависимости:

1)таб№ ->должность->оклад 2) таб№ ->№каб->телефон

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

1) таб№ ->ФИО->должность->№каб 2) должность->оклад 3) № каб->телефон

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

№з.кн,дисц,дата->оценка №ст, дисц,дата->оценка №з.кн->№студ №студ->№з.кн.

Т.к. нет частичных функциональных зав-тей между атрибутами, нет транзитив.зав-тей, то отношение находится в 3н.ф. но т.к. есть 2 зависимости, в кот. ключом является только 1атрибут, то отношение не находится в BKNF. Для того чтобы принести отношение в BKNF необходимо разделить его на 2 отношения. Или идентифицир. студента, дисциплина, дата, оценка, №зач.кн или №зач.кн, дисциплина, дата, оценка, №студ.. обе пары равнозначны с точки зрения нормализации. Выбирать одну из них можно только с учетом доп. требований: если учесть, что студент может потерять зач.книжку и она будет восстановлена ему как дубликат, то предпочтение необходимо отдать 1паре отн., добавив во 2отношение атрибут «дата выдачи».

Отношение находится в 4н.ф., если в случае существования многозначной зависимости А->>В все остальные атрибуты этого отношения функционально зависят от А. Пример: №зач.кн, группа, дисциплина. Существует 2 многозн. зав-ти: гр->дисциплина и гр->№э.кн.

Выполним проекции на атрибуты: №э.кн->гр и гр->дисциплина

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