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

Материал из Кафедра ИУ5 МГТУ им. Н.Э.Баумана, студенческое сообщество
Версия от 10:36, 21 апреля 2013; Bit (обсуждение | вклад)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Этот конспект ещё не дописан.
Здесь не хватает:
   - окончания первой задачи второго ДЗ.

...начало

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

ДЗ 1

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

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

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

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

Например:

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

ДЗ 2

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

Из 5 семинара.

Задание:

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

$$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)

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

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

Всё также из 5 семинара.

$$U = A, B, C, D, E, K, L, N, O, P, R, S, T, V, X$$

$$F = A\rightarrow CNO, B\rightarrow PRS, ADE\rightarrow X, K\rightarrow DEL, L\rightarrow T, X\rightarrow VT, ET\rightarrow V, D\rightarrow XBE$$

Синтезируем схему БД:

1)

$$УНП = (A\rightarrow CNO, B\rightarrow PRS, ADE\rightarrow CNOXVTBPRS, K\rightarrow DELXBTVPRS,$$
$$L\rightarrow T, X\rightarrow VT, ET\rightarrow V, D\rightarrow XBEPRSVT)$$

2)

так как нет ФЗ, включающей в себя все атрибуты, то добавляем её сами:
$$УНП = (A\rightarrow CNO, B\rightarrow PRS, ADE\rightarrow CNOXVTBPRS, K\rightarrow DELXBTVPRS,$$
$$L\rightarrow T, X\rightarrow VT, ET\rightarrow V, D\rightarrow XBEPRSVT, ABCDEKLNOPRSTVX\rightarrow\varnothing)$$

3)

смотрим замыкания:
$$A^+ = ACNO$$
$$E^+ = E$$
$$(AD)^+ = ADCNOXBEPRSVT$$
$$T^+ = T$$
получили $$УНП = (A\rightarrow CNO, B\rightarrow PRS, AD\rightarrow CNOXBEPRSVTE, K\rightarrow DELXBTVPRS,$$
$$L\rightarrow T, X\rightarrow VT, ET\rightarrow V, D\rightarrow XBEPRSVT, ABCDEKLNOPRSTVX\rightarrow\varnothing)$$

продолжение...