Изучение основных алгоритмов теории реляционных баз данных, страница 3

где K - один из ключей множества R над F.

5.  Для практической задачи из прил.7 найти редуцированное покрытие и один из ключей.

В качестве исходного множества ФЗ использовать неизбыточное покрытие, полученное при выполнении зада­ния 1. Результаты обосновать, проверив правильность их вручную.

Содержание отчета

1. Текст программы.

2. Результаты выполнения программы редуцирования на контрольных примерах.

3. Результат решения практической задачи.

Задание 3

Соединение без потерь информации. Сохранение множества

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

Содержание и порядок выполнения работы

1.  Изучить методы проверки свойства соединения без потерь информации (выводимости

F  |= *[ρ]), изложенные в разделе 1.2.

2.  Разработать алгоритм метода прогонки табло и реализовать его в виде программной процедур (функции). Исходными данными для алгоритма должны выступать: R   - множество атрибутов, F  - множество ФЗ,

 - схема БД.

Результат работы   алгоритма:   .TRUE.,   если   F |= *[р],   и   .FALSE.,      если F |¹ *[ρ].

3.  Изучить   и реализовать в   виде программной процедуры (функции) алгоритм проверки свойства сохранения F,  приведенный в прил.5. Исходные данные для алгоритма те же, что и для алгоритма метода прогонки табло. Результат работы алгоритма: .TRUE., если р сохраняет F , и .FALSE, в противном случае.

4.  Проверить корректность работы программ на контрольных примерах 1 - 6 из табл.3.4.

Таблица 3.4

Номер примера

Исходные данные:

R, F, ρ

Результаты

Сохранение F

Сохранение без потерь

Множество ключей

1

R = ABC, F = 0, ρ = {R(ABC)}

.TRUE.

.TRUE.

{ABC}

2

R = ABC, F = 0, ρ = {R1(AB), R2(BC)}

.TRUE.

.FALSE.

{ABC}

3

R = ABC, F = {AB → C, C → B},

ρ = {R1(AC), R2(BC)}

.FALSE.

.TRUE.

{AB, AC}

4

R = ABCDE, F = {A → BC, B → DA, E → D, CD → E, BD → E},

ρ = {R1(AB), R2(ACDE), R3(BE)}

.TRUE.

.TRUE.

{A, B}

5

R = ABCD, F = {AD → C, CD → A,B → D},  

ρ = {R1(ABC), R2(CD)}

.FALSE.

.FALSE.

{AB, BC}

6

R  = ABCD, F = {A → B, B → A, AC → D},

ρ = {R1(ABC), R2(ACD)}

.TRUE.

.TRUE.

{AC, BC}