Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД модуль1.docx
Скачиваний:
2
Добавлен:
23.08.2019
Размер:
150.43 Кб
Скачать
  1. Ограничение модели

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

  1. Функциональные зависимости

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

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

Функциональная зависимость называется тривиальной, если атрибут Bсовпадает с одним из атрибутов A. Любая тривиальная зависимость верна на любом отношении, т.к. она означает, что 2 кортежа, совпадающих по атрибутам A1…Ak, совпадают по одному из них. Зависимости бывают трех видов:

  1. Тривиальные, если ;

  2. Нетривиальные, если по крайней мере один атрибут Biне входит в множество {A1…Ak};

  3. Полностью нетривиальная зависимость, если ни один .

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

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

Для каждого отношения существует вполне определенное множество функциональных зависимостей между атрибутами данного отношения , причем из одной или более заданных функциональных зависимостей, присущих рассматриваемому отношению, можно вывести другие функц. зависимости, также присущие этому отношению. Чтобы построить полное множество функциональных зависимостей F+ из заданногоF необходимо знать правила вывода данных функциональных зависимостей. Правила вывода функциональных зависимостей называются аксиомами. Правила вывода функциональных зависимостей позволяют вывести полное множество F+, присущих рассматриваемой схеме отношения R(A1…An) на универсальном множестве атрибутов Uпо заданному множеству функциональных зависимостей F={F1,F2…Fk}.

  1. Свойства правил вывода функциональных зависимостей

Правила вывода функциональных зависимостей позволяют вывести полное множество F+, присущих рассматриваемой схеме отношения R(A1…An) на универсальном множестве атрибутов U по заданному множеству функциональных зависимостей F={F1,F2…Fk}.Эти правила должны обладать свойствами:

  1. Полноты – это означает, что при использовании этих правил можно по заданному множеству исходных функциональных зависимостей Fпостроить все зависимости, принадлежащие F+.

  2. Надежности – это означает, что используя эти правила вывода можно вычислить только такие Fi, которые принадлежат F+, т.е. нельзя вывести из заданного множества F ни одной, не принадлежащей F+, зависимости.

  1. Правило вывода функциональных зависимостей (рефлексивность)

Пусть задана схема отношений R(A1…An), полный набор атрибутов U={A1…Am}, множество функциональных зависимостей F={F1…Fk}, то можно сформулировать свойство рефлексивности вывода функциональных зависимостей: если , то функциональная зависимость следует из заданного множества функциональных зависимостей. Это правило дает тривиальные функциональные зависимости, т.е. множество определяет любое свое подмножество.

  1. Правило вывода функциональных зависимостей (пополнения)

Пусть задана схема отношений R(A1…An), полный набор атрибутов U={A1…Am}, множество функциональных зависимостей F={F1…Fk}, то можно сформулировать свойство пополнения вывода функциональных зависимостей: если имеются множества , задана функциональная зависимость , которая либо принадлежит F, либо получена с использованием правил вывода, тогда будет присутствовать зависимость . Используя это правило, можно любые атрибуты из Uподставить одновременно слева и справа в выражение функциональной зависимости.

  1. Правило вывода функциональных зависимостей (пополнения)

Пусть задана схема отношений R(A1…An), полный набор атрибутов U={A1…Am}, множество функциональных зависимостей F={F1…Fk}, то можно сформулировать свойство транзитивности вывода функциональных зависимостей: если заданы , то будет присутствовать функциональная зависимость .

  1. Правило вывода функциональных зависимостей (расширения)

Пусть задана схема отношений R(A1…An), полный набор атрибутов U={A1…Am}, множество функциональных зависимостей F={F1…Fk}, то можно сформулировать свойство расширения вывода функциональных зависимостей: если задано U, , то , имеет место . Используя свойство рефлексивности, запишим .Т.к. задано и и используя свойство транзитивности, получаем .

  1. Правило вывода функциональных зависимостей (продолжения)

Пусть задана схема отношений R(A1…An), полный набор атрибутов U={A1…Am}, множество функциональных зависимостей F={F1…Fk}, то можно сформулировать свойство продолжения вывода функциональных зависимостей: если имеется и задана , то имеет место функциональная зависимость: т.к. задано используем для неё свойство пополнения: , используя свойство рефлексивности можем записать , используя и запишем .

  1. Правило вывода функциональных зависимостей (декомпозиции)

Пусть задана схема отношений R(A1…An), полный набор атрибутов U={A1…Am}, множество функциональных зависимостей F={F1…Fk}, то можно сформулировать свойство декомпозиции вывода функциональных зависимостей: и : , то . Т.к. задано, что , можно записать, что используя правило рефлексивности. Далее, используя правило транзитивности, можно записать .

  1. Многозначные зависимости

Многозначная зависимость ( ) существует если при заданных значениях атрибутов из Х существует множество, состоящее из 0 или более взаимосвязанных атрибутов из Y, причем множество значений Yне связанно со значениями атрибутов в отношении R-X-Y.Чтобы убедиться на диаграмме объектов связи, что конкретную взаимосвязь можно рассматривать как многозначную зависимость, необходимо выполнить проверку ограничений. Если в отношении Rсуществует , то для двух кортежей tи sтаких, что t[x]=s[x] (совпадают по значениям атрибутов X), то это отношение обязательно содержит кортежи Uи Vтакие, что выполняются условия:

  1. t[x]=s[x]=U[x]=V[x]

  2. U[Y]=t[Y]; U[R-X-Y]=S[R-X-Y]

  3. V[Y]=S[Y]

  4. V[R-X-Y]=t[R-X-Y].

  1. Аксиомы многозначных зависимостей

  1. аксиома дополнения

Тогда будет иметь место .

  1. аксиома пополнения

Тогда будет иметь место: .

  1. аксиома транзитивности

;

Тогда будет иметь место: .

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

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

  1. Выбранные для отношения первичные ключи должны быть минимальными;

  2. Выбранный состав отношений БД должен быть минимальным и отличаться минимальной избыточностью атрибутов;

  3. При выполнении операций включения, удаления и модификации данных в БД не должно быть трудностей (аномалий);

  4. Перестройка набора отношений при введении новых типов данных должна быть минимальна;

  5. Разброс времени ответа на различные запросы к БД должен быть небольшим.

  1. 1-я нормальная форма

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

  1. 2-я нормальная форма

Если X – ключ отношения R и , имеется первичный атрибут A отношения R, то в отношении Rимеет место частичная зависимость , . Если это условие не выполняется, то атрибут A функционально полно зависит от ключа X. Другими словами схема отношения Rнаходится во 2НФ, если она находится в 1НФ и каждый её непервичный атрибут функции полностью зависит от непервичного ключа. Можно отметить неполную функциональную зависимость атрибута количества мест от ключа.

  1. 3-я нормальная форма

Схема отношений Rнаходится в 3-й НФ, если не существует ключ Xотношения R, множество атрибутов , и непервичного атрибута , при условии , , но отсутствии . Отсутствие транзитивной зависимости. Схема отношений находится в 3-й НФ если она находится во 2НФ и если каждый ее непервичный атрибутнетрандитивно зависит от непервичного ключа. Когда отношение имеет только 1 ключ и другие зависимости, в т.ч. и многозначные отсутствуют, то 3НФ освобождается от избыточности и аномалий выполнения операций. Если в отношении, находящемся в 3НФ отсутствуют многозначные зависимости, но есть другие зависимости кроме зависимостей от ключа, то 3НФ будет иметь аномалии при выполнении операций. Чтобы это обойти используют усиленную 3НФ – НФ Бойса-Кодда.

  1. Если в отношении, находящемся в 3НФ отсутствуют многозначные зависимости, но есть другие зависимости кроме зависимостей от ключа, то 3НФ будет иметь аномалии при выполнении операций. Чтобы это обойти используют усиленную 3НФ – НФ Бойса-Кодда.Схема отношения R с функциональной зависимостями F находится в усиленной 3НФ, если, когда в отношении R имеет место функциональная зависимость , при условии , то X является возможным ключом отношения R. Атрибут или комбинация атрибутов, от которого функционально зависят другие атрибуты называют детерминанты. Нормализованная схема отношения находится в НФБК, если каждая детерминанта является возможным ключом.

  2. 4-я нормальная форма

Если в отношении присутствуют многозначные зависимости, то отношения должны находится в 4НФ, в противном случае возникнут аномалии. Схема отношений Rбудет находится в 4НФ всякий раз, когда присутствует зависимость , , , ; также существует функциональная зависимость (непервичный атрибут). Другими словами, схема отношений находится в 4НФ, если схема отношений является НФБК и нет многозначных зависимостей.

  1. 5-я нормальная форма

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