Oskar Skibski, grupa nr 4, sala 2043

Bazy danych 2015/16

Kolokwium teoretyczne

Zadanie 1.

Dla relacji R = ABCDEF i zbioru zależności funkcyjnych

X = {ABC->E, AD->C, BE->ACD, A->D, AF->B, BF->E}
  • znajdź wszystkie klucze
  • ustal w której jest postaci normalnej (i uzasadnij)
  • (jeżeli nie jest w 3NF) przeprowadź normalizację 3NF tracąc możliwie najmniej zależności funkcyjnych (które zależności z X zostały utracone?);
    dla każdej powstałej relacji zaznacz (jakiś) klucz
Zadanie 2.

Dla relacji R = ABCDEFG i zbioru zależności funkcyjnych

X = {D->B, C->B, EF->AC, E->G, D->C, AE->DF}
  • znajdź wszystkie klucze
  • ustal w której jest postaci normalnej (i uzasadnij)
  • (jeżeli nie jest w BCNF) przeprowadź normalizację BCNF tracąc możliwie najmniej zależności funkcyjnych (które zależności z X zostały utracone?);
    dla każdej powstałej relacji zaznacz (jakiś) klucz i wypisz zależności funkcyjne w niej spełnione
Zadanie 3.

Zaproponuj model związków encji dla bazy danych w której przechowywane będą informację o ludziach, ciągach prezentów, Świętych Mikołajach* i ich prawych rękach. Najważniejsze są prezenty. Prezent ma swoją wartość i zawartość i jest zawsze dla jednej konkretnej osoby, jednak zgodnie z przypiętą karteczką może być: albo od jednej osoby, albo składkowy, czyli od wielu osób, albo od Świętego Mikołaja (któregoś). Każdy Święty Mikołaj obsługuje jakiś rejon (nie oszukujmy się, jeden Święty Mikołaj nie byłby w stanie oblecieć całej kuli ziemskiej w jedną noc), ma swój przydomek i prawą rękę – jednego ludzkiego pomocnika. O ludziach zbytnio nic nie wiemy, mają imię i nazwisko.

Baza danych ma pozwalać między innymi na:

  • wypisanie dla każdej osoby ile prezentów otrzymała i za jaką kwotę,
  • wypisanie wszystkich osób które zrzucały się na dany prezent.

Wszystkie założenia nie wymienione powyżej powinny być opisane.

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) oraz gwiazdką (*) atrybuty obowiązkowe i kółeczkiem (o) atrybuty opcjonalne.

Opisz sposób konwersji do modelu relacyjnego (tzn. napisz, jakie powstaną tabelki i atrybuty).


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