ТОРА (9) - Семинар №6 - Синтез хорошей БД

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Версия от 19:55, 26 ноября 2012; ILobster (обсуждение | вклад) (чего не хватает в этом семинаре)
Перейти к навигации Перейти к поиску
Этот конспект ещё не дописан.
Здесь не хватает:
   - окончания первой задачи;
   - первых трёх пунктов второй задачи

...начало

Разбираем задачи из ДЗ прошлого семинара.

ДЗ 1

Продолжаем задачу из прошлого семинара.

Строим схему отношений:

Перерисовываем её с синтетическими ключами:

Для генерации синтетических ключей используются объекты последовательности.

Например:

CREATE SEQUENCE имя_объекта_последовательности;
...
INSERT INTO имя_таблицы VALUES(имя_объекта_последовательности.NEXTVAL ...);

ДЗ 2

Первая задача

Задание:

Задана предметная область про пилотов, но ФЗ другие:

$$F = (B\rightarrow D, D\rightarrow B, AB\rightarrow D, AD\rightarrow B, BC\rightarrow A, BC\rightarrow D, CD\rightarrow A, CD\rightarrow B,$$ $$ABC\rightarrow D, ACD\rightarrow B, BCD\rightarrow A)$$

Синтезировать БД с помощью алгоритма.

1)

$$УНП = (B\rightarrow D, D\rightarrow B, AB\rightarrow D, BC\rightarrow AD, CD\rightarrow AB, AD\rightarrow B, ABC\rightarrow D, ACD\rightarrow B, BCD\rightarrow A)$$


3) сначала этот пункт:

$$A^+ = A$$
$$B^+ = BD$$
$$C^+ = C$$
$$D^+ = DB$$
$$(BC)^+ = BCAD$$
$$УНП = (B\rightarrow D, D\rightarrow B, CD\rightarrow AB, BC\rightarrow AD)$$

2)

как-то куда-то делся этот пункт.

4)

$$B\rightarrow D$$
$$D\rightarrow B$$
$$K_1 = BD$$
$$BC\rightarrow AD$$
$$CD\rightarrow AB$$
$$K_2 = ABCD$$

5)

6)

$$K_2$$:
$$BC\rightarrow D$$
$$СD\rightarrow B$$
вторую вычеркнули
$$K_1$$
вторую вычеркнули

7)

и дальше по алгоритму.

Вторая задача