Kolokwium teoretyczne (2012)

Zadanie 1.

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

X = {C->E, A->C, DE->F, CDF->A, BD->FH, B->G, G->E, DG->AC, H->BD}
  • 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 = ABCDEF i zbioru zależności funkcyjnych

X = {C->E, AF->BCDE, DF->A, D->C, B->E}
  • 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 firmach, wykonawcach (indywidualnych) oraz aktualnych zleceniach. Firma może współpracować z wieloma wykonawcami, a oni mogą pracować dla wielu firm. Współpracujący z firmą wykonawcy mogą wykonywać dla niej zlecenia. Zlecenie, poza zleceniodawcą (firmą) oraz zleceniobiorcą (wykonawcą), ma także określony termin wykonania oraz wynagrodzenie. Razem ze zleceniami chcemy przechowywać uwagi do nich przypisane – uwag do jednego zlecenia może być dużo i mogą być pisane przez zleceniodawcę lub zleceniobiorcę.
Baza danych ma pozwalać na:

  • wypisanie wszystkich wykonawców współpracujących z daną firmą
  • wypisanie sumy wynagrodzeń za wszystkie wykonywane zlecenia wykonawcy
  • wypisanie wszystkich uwag firmy z ostatniego miesiąca (do aktualnych zleceń).

Zakładamy, że wykonawca może wykonywać dowolną ilość zleceń (dla jednej lub wielu firm) równocześnie. Wszystkie inne założenia o danych 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.


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