Neznáte někdo program, který vygeneruje uzávěry, minimální neredundantní pokrytí + optimalizaci pomocí algoritmu syntézy?
Já bych zadal jen množinu atributů R a množinu funkčních závislostí F.
Např:
Tabulky:
Student (login, jméno, příjmení, rodné číslo, skupina číslo)
Skupina (skupina číslo, skupina název, ročník, obor, fakulta)
Zkrázíme:
Student (L, J, P, R, S)
Skupina (S, N, Y, O, F)
R(L,J,P,R,S,N,Y,O,F) - množina atributů
F = { L > J, L > P, L > R, L > S, - když známe login, známe vše
R > J, R > P, R > L, R > S, - když známe R, známe vše
S > N, S > Y, S > O, S > F, - když známe číslo skupiny
O > F} - když známe obor, známe fakultu - množina funkčních závislostí
Minimálni neredundantní pokrytí:
F = { L > J, L > P, L > R, L > S, R > L, S > N, S > Y, S > O, O > F}
Použijeme algoritmus syntézy – pro jeho jednoduchost a jednoznačnost řešení:
1. R1 (LJ, LP, LR, LS, RL, SN, SY, SO, OF)
2. R2 (LJPRS, RL, SNYO, OF) – spojíme FZ se stejnou levou stranou
3. R3 (LJPRS, SNYO, OF) – spojíme FZ s ekvivalentními klíči L a R
4. R4 = R3
5. R5 = R4
Získáme rozklad: R1(LJPRS) R2(SNYO) R3(OF)