и [, № 000, математика],
т. е. первому уравнению во втором условии — кортежи удовлетворяют. Анализируя таблицу, заметим, что для того, чтобы существовала многозначная зависимость ШКОЛА №→→ПРЕДМЕТ, должно выполняться условие
и [Жукова A. M.]=s [],
что действительно имеет место.
Другой способ проверки многозначной зависимости X→→Y на отношение R(X, Y, Z) может быть осуществлен на основе проверки существования кортежа <х, у, z> при условии, что существуют кортежи <х, у, z'> и <х, у', z>.
Следует иметь в виду, что в общем случае формальная проверка должна выполняться на множестве всех возможных экземпляров кортежей отношения.
Правила вывода многозначных зависимостей сходны с правилами вывода функциональных зависимостей:
МЗ1 (дополнение). Если X
U, Y
U, Х →→Y, то имеет место многозначная зависимость X→→ U - X - Y.
МЗ2 (присоединение). Если X
U, Y
U, Z
W, Х→→Y, то имеет место зависимость X W →→YZ.
МЗ3 (транзитивность). Если X
U, Y
U, Х →→Y, Y→→Z, то
X→→Z— Y.
Существуют также правила вывода для совокупности ФЗ и МЗ:
ФМ1. Если X
U, Y
U, Х →Y, то Х →→Y.
ФМ2. Если X
U, Y
U, Z
U, W
U и W не пересекается с Y (т. е. W
Y=0), и Х →→Y, W→Z, то имеет место зависимость Х→→Z.
ФМЗ. Если Х →→Y, XY→Z, то X→Z—Y.
Функциональная и многозначная зависимости являются свойствами, существующими между двумя атрибутами (множествами). С их помощью осуществляют декомпозиции (разбиение) отношения на два или восстанавливают исходное отношение, соединяя два отношения (рис. 22.17).

Рис. 22.17. Пример изображения многозначных зависимостей
Одним из основных вопросов любой организации данных является вопрос сохранения жизнеспособности прикладных программ при изменениях в базе данных для того, чтобы избежать трудностей поддержания базы данных и назначения ключей для каждого отношения.
Рассмотрим отношение R{A1, A2,… ,Ап}. Возможный ключ k отношения R — это комбинация атрибутов (возможно, состоящих из одного атрибута), обладающих следующими свойствами.
1. В каждом кортеже отношения R величина k единственным образом определяет этот кортеж.
2. Не существует атрибута в возможном ключе k, который мог бы быть удален без нарушения свойства 1.
Всегда существует, по крайней мере, один возможный ключ, т. е. комбинация всех атрибутов R удовлетворяет свойству 1.
Если в отношении R имеется несколько возможных ключей, то один из них выбирается в качестве первичного.
Атрибут Аі отношения R называется также первичным, если он входит в состав любого ключа (возможного или первичного) отношения.
Нормальные формы схем отношений. Рассмотрим четыре уровня нормализации схем отношений и соответственно четыре нормальные формы отношений: 1НФ, 2НФ, 3НФ, 4НФ. Их взаимное отношение можно представить в виде, представленном на рис. 22.18.
Из рис. 22.18 следует, что отношения являются как бы вложенными друг в друга по возрастанию номеров.
Так, например, если отношение находится в 4НФ, то оно будет удовлетворять и условиям 3НФ, 2НФ, 1НФ.

Рис. 22.18. Взаимное отношение нормальных форм
Отношение находится в первой нормальной форме (1НФ), если каждый атрибут отношения является простым (атомарным) атрибутом, т. е. отсутствуют составные. Рассмотрим схему отношения:
АВТОМОБИЛЬ (МОДЕЛЬ, МАРКА, МОЩНОСТЬ, СТОИМОСТЬ, ИЗГОТОВИТЕЛЬ (НАЗВАНИЕ ЗАВОДА, ГОРОД)).
В данном случае атрибут ИЗГОТОВИТЕЛЬ составной. Для приведения к 1НФ отношения необходимо избавиться от составного отношения — ИЗГОТОВИТЕЛЬ. Этого можно добиться, рассматривая вместо составного атрибута его составляющие:
АВТОМОБИЛЬ (МОДЕЛЬ, МАРКА МОЩНОСТЬ, СТОИМОСТЬ, НАЗВАНИЕ ЗАВОДА ИЗГОТОВИТЕЛЯ, ГОРОД).
Приведение отношения к 1НФ достаточно для реализации языков запросов.
Чтобы рассмотреть 2НФ, введем понятие полной зависимости. Пусть X и Y — подмножества атрибутов отношения R и X→Y. Если Y функционально не зависит от любого подмножества А множества X (причем А не совпадает с X), то Y называется полностью зависимым от X в R.
Тогда говорят, что отношение R находится во второй нормальной форме (2НФ), если оно нормализовано, т. е. находится в первой нормальной форме, и каждый непервичный атрибут полностью зависит от первичного ключа.
Отношение R находится в третьей нормальной форме (3НФ), если оно находится во второй нормальной форме и каждый непервичный атрибут в отношении R не содержит транзитивных зависимостей от первичного ключа.
Транзитивная зависимость наблюдается в R, если существует такой атрибут А, что X→Y и Y→A, Y ↔X, где X — ключ.
Можно заметить, что 2НФ и 3НФ накладывают ограничения на зависимости только в связи с непервичными атрибутами. Поэтому в рассмотрение вводят усиленную третью нормальную форму (или нормальную форму Бойса-Кодда).
Отношение R находится в усиленной третьей нормальной форме, если для всех зависимостей Х→А, когда А не принадлежит X, X является возможным ключом отношения R. Обычно атрибут, от которого функционально полно зависит другой, называют детер-минантой. Поэтому говорят, что отношение R находится в усиленной третьей нормализованной форме, если все детерминанты являются ключами.
Можно отметить следующее отличие этих нормальных форм по информационному содержанию. Вторая нормальная форма более информативна, чем первая, а третья более информативна, чем вторая.
Поэтому 3НФ и усиленная 3НФ более понятны пользователю и приспособлены к реализации.
Существует также нормальная форма, учитывающая многозначные зависимости, ее называют четвертой нормальной формой (4НФ). Отношение R находится в четвертой нормальной форме, если всякий раз, когда существует многозначная зависимость X→→Y (где Y≠Ø, Y
X и XY состоит не из всех атрибутов R), также существует зависимость Х→А для любого атрибута А в R.
Получение отношений нормальной формы достигается декомпозицией их схем. Под декомпозицией схемы отношения R={A1, А2,..., Ап} понимается замена схемы совокупностью отдельных схем ρ={R1, R2,...,Rk} таких, что R1
R2
...
Rn=R={A1, A2,..., Ап}. При этом не накладывается никаких ограничений на пересечение любых двух элементов совокупности ρ.
Для получения нужных данных из базы разрабатываются специальные языки манипулирования данными, обеспечивающие выполнение необходимых операций. Для разработки и исследования
языков манипулирования данными используют математический аппарат, основанный на следующих трех подходах:
- реляционная алгебра;
- реляционное исчисление с переменными-кортежами;
- реляционное исчисление с переменными-атрибутами.
Реляционная алгебра. В ней определяются основные операции над данными реляционного типа. Все операции, вводимые в реляционной алгебре, можно разделить на традиционные над множествами и специализированные, вводимые для удобства поиска в БД.
К операциям первой группы относятся: объединения, пересечение, разность, декартово произведение. К операциям второй группы следует отнести: проекцию, ограничение, соединение, деление.
Объединение. В результате применения этой операции получается отношение, объединяющее кортежи, содержащиеся в исходных отношениях. Пусть имеем два исходных отношения R1 и R2. Операция объединения этих отношений будет обозначаться R1
R2:
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |


