Oskar Skibski, grupa nr 4, sala 2043
Bazy danych 2015/16
Laboratorium 8 (30.11.2015) - Model związków encji
Jak reprezentować świat rzeczywisty?
- które obiekty świata rzeczywistego chcemy modelować?
- jakie dany obiekt ma atrybuty niezależne od innych?
- czy dany atrybut jest wymagany w każdym obiekcie danego typu? a unikalny?
- jakie zachodzą związki między encjami?
- jakie są liczności tych związków? czy jest on wymagany dla każdego obiektu danego typu?
- czy ze związkiem wiele-do-wielu chcemy związać dodatkowe dane? czy powinniśmy zamienić go na nową encję?
- co może być kluczem danej encji?
Problemy przy modelowaniu rzeczywistości
- wspólne atrybuty dla paru encji (student i pracownik) - hierarchiczna struktura
- związki wyłączne (osoba będąca studentem lub pracownikiem)
- modelowanie czasu (historia departamentów danego pracownika)
Zadanie 1. (Kolokwium 2010)
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ą.
Zadanie 2. (Kolokwium 2011)
Zaproponuj model związków encji dla bazy danych w której przechowywane będą informację o piłkarzach, drużynach, meczach i golach. Przyjmij, że każdy piłkarz w dowolnym momencie gra w jednej drużynie (może ją jednak zmieniać w trakcie sezonu), dowolne dwie drużyny mogą rozgrywać między sobą dowolną ilość meczy. Baza danych ma pozwalać na:
- wypisanie wyniku dowolnego meczu
- wypisanie w jakiej drużynie gra aktualnie piłkarz
- wypisanie wszystkich meczy w których dany zawodnik strzelił gola
Baza danych nie musi (ale może) pozwalać na wypisanie wszystkich drużyn w jakich piłkarz występował. Dla uproszczenia można przyjąć, że w piłce nożnej nie występują samobóje (piłkarz zawsze strzela gole dla drużyny w której występuje w momencie meczu). Wszystkie inne założenia o danych powinny być opisane.