Kolokwium teoretyczne (2010)

Zadanie 1.

Dla relacji R = ABCDE i zbioru zależności funkcyjnych AB -> C, C -> AE, D -> B, AD -> C, BCE -> A, BD -> E

  • znajdź wszystkie klucze
  • ustal w której jest postaci normalnej (i uzasadnij)
  • (jeżeli już nie jest) sprowadź R do trzeciej postaci normalnej - jeżeli jest to możliwe bez utraty zależności funkcyjnych
Zadanie 2.

Dla relacji R = ABCDEFG i zbioru zależności funkcyjnych BD -> F, B -> A, CE -> DG, G -> E, C -> B, F -> A

  • znajdź wszystkie klucze
  • ustal w której jest postaci normalnej (i uzasadnij)
  • (jeżeli już nie jest) sprowadź R do postaci normalnej Boyce'a-Codda - jeżeli jest to możliwe bez utraty zależności funkcyjnych
Zadanie 3.

Zaproponuj model związków encji dla bazy danych w której przechowywane będzie drzewo genealogiczne. Z każdą osobą musi być związane imię, nazwisko oraz data urodzenia. Ponadto baza danych musi pozwalać na:

  • wypisanie wszystkich osób będacych w dowolnej relacji rodzinnej z daną osobą (np. wszystkie babcie, wszystkich wujków, najstarszego syna)
  • wypisanie historii małżeństw danej osoby (data ślubu, nazwisko małżonki/małżonka)
  • wypisanie dla danej osoby daty poznania się rodziców

Dodatkowo należy założyć, że związek małżeński łączy kobietę z mężczyzną.

Zaznacz na diagramie wszystkie związki między encjami, wskaż ich krotności oraz czy są wymagane. W każdej encji oznacz klucz główny (PK), klucze zewnętrzne (FK) oraz gwiazdką (*) atrybuty obowiązkowe.

Rozwiązanie kolokwium


Oskar Skibski (oski@mimuw.edu.pl), Wydział Matematyki, Informatyki i Mechaniki