Экзаменационные ответы одним файлом (1038657), страница 3
Текст из файла (страница 3)
2) R1∩R2 –> R2 – R1.
1) Докажем, что при выполнении указанных условий схема БД обладает свойством соединения без потерь:
R1−R2 | R1⋂R2 | R2−R1 | |||||||
A1 | ... | Ak | Ak+1 | ... | Am | Am+1 | ... | An | |
R1 | a | ... | a | a | ... | a | b1 | ... | b1 |
R2 | b2 | ... | b2 | a | ... | a | a | ... | a |
R1−R2 | R1⋂R2 | R2−R1 | |||||||
A1 | ... | Ak | Ak+1 | ... | Am | Am+1 | ... | An | |
R1 | a | ... | a | a | ... | a | b1 | ... | b1 |
R2 | a | ... | a | a | ... | a | a | ... | a |
Получили строку, сплошь состоящую из a.
2) Теперь докажем обратное, что если ρ обладает соединением без потерь, то имеет место одна из ФЗ: (1) или (2).
r=ΠR1(r)⋈ΠR2(r) (3)
r – это R1⋃R2 (экземпляр универсальной схемы отношений)
R1−R2 | R1⋃R2 | R2−R1 |
a1 | b1 | c1 |
a2 | b2 | c2 |
... | ... | ... |
an | bn | cn |
|
|
Возможны два варианта:
1) Если bi≠bj, i≠j, то выполняется равенство (3);
2) Если некоторые bi совпадают, b1=b2, тогда для выполнения равенства (3) необходимо, чтобы выполнялось одно из двух:
-
a1=a2;
-
c1=c2.
R1−R2 | R1⋃R2 | R2−R1 | |
ΠR1(r)⋈ΠR2(r) | a1 | b1 | c1 |
a1 | b1(=b2) | c2 | |
a2 | b2(=b1) | c1 | |
a2 | b2 | c2 | |
a3 | b3 | c3 | |
... | ... | ... | |
N+2 | an | bn | cn |
2 и 3 кортежи - лишние. Чтобы они не были лишними, они должны совпадать с одним из других кортежей, чтобы их можно было вычеркнуть.
Предположим, a1=a2, тогда сработает ФЗ R1∩R2 –> R1 – R2.
Предположим, c1=c2, тогда сработает ФЗ R1∩R2 –> R2 – R1.
-
Задача: построить замыкание множества функциональных зависимостей (F+), используя аксиомы Армстронга.
Исходные данные: универсальная схема отношений U=(A,B,C), множество функциональных зависимостей F=(AB, AC).
БИЛЕТ 8
-
Свойство сохранения функциональных зависимостей для схемы базы данных. Алгоритм проверки, что схема базы данных обладает свойством сохранения функциональных зависимостей.
Пусть дана схема БД ρ= (R1...Rn) и F - множество ФЗ.
(проекция F на множество Ri) - такое множество ФЗ X→Y, принадлежащее F+, что XY⊆Ri.
Схема ρ обладает свойство сохранения ФЗ, если:
Свойство обеспечивает декомпозицию ФЗ по схеме отношения (тогда проверку надо будет выполнять только в рамках отдельных таблиц при включении новой записи).
Алгоритм проверки схемы БД на обладание свойством сохранения ФЗ:
ρ=(R1...Rn)
-
построить условно-неизбыточное покрытие (УНП), взять H=∅;
-
каждую ФЗ из УНП разбить на ФЗ с одним атрибутом в правой части, то есть заменить (X → A1...Ak) на (X→A1, ..., X→Ak). Обозначить полученную ФЗ как G;
-
выбрать очередную ФЗ из G. Найти такую схему отношения Ri, для которой справедливо включение XA⊆Ri. Если такой схемы отношений не существует, то поместить ФЗ X→A в множество H;
-
если все ФЗ из G рассмотрены, то перейти к следующему пункту, иначе к предыдущему;
-
если H пусто, то завершить алгоритм. ρ обладает свойством сохранения ФЗ. Иначе перейти к следующему пункту;
-
просмотреть все ФЗ из H. Если какая-либо ФЗ X→A∈H не выводится из множества G−H, то завершить алгоритм. ρ не обладает свойством сохранения ФЗ. Иначе завершить алгоритм, и тогда ρ обладает свойством сохранения ФЗ.
-
Задача: написать оператор SELECT, соответствующий запросу; преобразовать этот оператор в формулу реляционной алгебры; оптимизировать эту формулу, используя законы реляционной алгебры; построить логический план выполнения оператора в графическом виде.
Исходные данные: 1) схема базы данных = (S, P, J. SPJ), схемы отношений S (Поставщик деталей) = (ном_пост, имя, состояние, город), P (Деталь) = (ном_дет, назв, цвет, вес, город), J (Изделие) = (ном_изд, назв, город), SPJ (Сборка) = (ном_пост, ном_дет, ном_изд, количество), 2) запрос: найти номера поставщиков, поставляющих белые детали.
БИЛЕТ 9
-
Определение ключа схемы отношения. Исходя из определения, докажите, что значение ключа всегда уникально. Алгоритм построения ключа. Первичные и непервичные атрибуты.
Пусть R=(A1...An) - некоторая схема отношения, а F - множество ФЗ.
Тогда X⊆R называется ключом схемы, если выполняются:
-
X→A1...An∈F+
-
∀Z⊂X, Z→A1...An∉F+
X содержит минимальное число атрибутов, для которых выполняется предыдущее свойство (a).
Алгоритм построения ключа:
Базируется на определении ключа. Позволяет построить только один ключ.
1) i=0, X0=A1...An
2) цикл по атрибутам Aj в Xi. Если =R, то Xi+1=Xi−Aj, i=i+1 и выйти из цикла; иначе продолжить цикл
3) если i возросло, то перейти к шагу (2);
иначе X= Xi - это найденный ключ.
Если атрибут Ai∈R входит в какой-либо ключ схемы отношения R, то он называется первичным. А если не входит ни в один, то называется непервичным.
Доказательство, что значение ключа всегда уникально.
Методом от противного.
Пусть у нас 2 одинаковых значений атрибута ключа X=X1=X2=x.
По определению ключа X→A1...An∈F+. А при равных X у нас равны A1...An.
Т.е. в схеме отношения у нас:
X | A1 | … | An |
x | a1 | -//- | an |
… | … | … | … |
x | a1 | -//- | an |
… | … | … | … |
По определению в схеме отношений не может быть 2-х одинаковых картежей, т.е. предположение не выполнимо.
-
Задача: написать оператор SELECT, соответствующий запросу; преобразовать этот оператор в формулу реляционной алгебры; оптимизировать эту формулу, используя законы реляционной алгебры; построить логический план выполнения оператора в графическом виде.
Исходные данные: 1) схема базы данных = (S, P, J. SPJ), схемы отношений S (Поставщик деталей) = (ном_пост, имя, состояние, город), P (Деталь) = (ном_дет, назв, цвет, вес, город), J (Изделие) = (ном_изд, назв, город), SPJ (Сборка) = (ном_пост, ном_дет, ном_изд, количество), 2) запрос: найти имена поставщиков, поставляющих детали для изделия с номером ‘J1’.
БИЛЕТ 10
-
Аномалии схемы отношений. Определение третьей нормальной формы (3НФ).
Пусть A=(идентификатор поставщика, адрес, товар, цена) и есть одна схема ρ=R1=A
Данная схема БД обладает следующими недостатками (аномалиями):
-
избыточность. Адрес поставщика повторяется для каждого поставляемого им товара;
-
потенциальная противоречивость. Если у поставщика меняется адрес, то его необходимо изменить во всех кортежах, в которые он входит;
-
аномалия включения кортежа. В выбранном отношении R пара атрибутов идентификатор-товар является ключом. При включении новой записи, атрибуты ключа не должны быть пустыми, поэтому в БД нельзя включить поставщика, если он в данный момент не поставляет товар;
-
аномалия удаления. При удалении всех товаров, поставляемых поставщиком, теряется информация о самом поставщике.
Первопричиной этих недостатков является то, что R1 не находится в 3НФ.
Отношение находится в 3НФ, если не существует тройки X,Y,H (ключа X, подмножества атрибутов Y⊆R, не первичного атрибута H∉Y) для которой выполняются условия:
-
X→Y∈F+;
-
Y→H∈F+;
-
Y→X∉F+.
-
Задача: представить оператор обновления в виде формулы реляционной алгебры.
Исходные данные: 1) отношение (таблица) r со схемой R(изделие) = (номер_изделия, название_изделия, город_изготовления)= (A, B, C); 2) оператор обновления (UPDATE) – заменить в таблице r название изделия «Р1» на название «Разъём1».
БИЛЕТ 11
-
Условия, когда схема отношений, находящаяся в третьей нормальной форме, имеет аномалии. Пример. Нормальная форма Бойса-Кодда.
Условия, когда схема в 3НФ обладаем аномалиями:
-
схема отношения имеет 2 или больше ключей,
-
и любые 2 из них являются составными,
-
причём они имеют общий атрибут.
-
-
Пример:
R=(A,B,C,D) и F=(A→B,B→A,AC→D)
Два ключа: AC и BC
(AC)+=ACBD, (BC)+=BCAD