Zad. 1 Narysuj schemat związków encji dla przedstawionej poniżej rzeczywistości. Oznacz unikalne identyfikatory encji. Dla każdego związku zaznacz jego opcjonalność/obowiązkowość oraz stopień i nazwę związku. Posłuż się dowolną znaną Ci notacją (spójnie). (10 pkt) Firma obsługująca karty kredytowe zakłada konta firmom lub osobom fizycznym. Każde konto posiada unikalny numer konta, oraz typ konta (istnieje 5 różnych typów kont). Każde konto jest własnością albo osoby fizycznej, albo firmy. Dla osób fizycznych chcemy zapamiętać imię, nazwisko, PESEL oraz datę urodzenia danej osoby. Dla firmy pamiętamy nazwę firmy, NIP, REGON, oraz adres firmy. Karta kredytowa musi być wydana dla jakiegoś konta. Dla danego konta można wydać więcej niż jedną kartę kredytową. Każda karta posiada unikalny numer, datę ważności, limit wypłat i kod bezpieczeństwa. Każda karta kredytowa jest określonego typu. Z typem karty związany jest limit wypłat oraz zasady spłacania zaciągniętego kredytu. Należy pamiętać, komu (fizycznie) została wystawiona karta (tzn. czyje nazwisko widnieje na karcie). Możliwa jest sytuacja, gdy karta została wydana na podstawie konta firmowego, ale dla określonej osoby zatrudnionej w danej firmie. Dla poszczególnych osób należy pamiętać, w jakiej firmie dana osoba pracuje. Żadna karta kredytowa nie jest nigdy wystawiana dla firmy, na karcie jest zawsze wytłoczone nazwisko osoby fizycznej. Dana osoba może posiadać wiele kart kredytowych (np. prywatną kartę wystawioną na prywatne konto oraz dwie karty służbowe wystawione na dwa różne konta firmowe).
Zad. 2 Przetransformuj podany schemat pojęciowy do schematu logicznego relacyjnej bazy danych. Zaznacz na schemacie klucze główne (ciągłym podkreśleniem) oraz klucze obce (przerywanym podkreśleniem) (10 pkt). PRZEDSTAWIENIE # id_przedstawienia * tytul zawiera wykorzystuje SCENOGRAFIA # id_scenografii * nazwa * koszt ROLA # nazwa * rodzaj występuje w wykorzystuje AKTOR # id_aktora * nazwisko grana przez gra jest zamiennikiem REKWIZYT użyty do # id_rekwizytu * nazwa
Zad. 3 Dane są relacje MIASTA (id_miasta, nazwa, populacja, id_kraju) KRAJE (id_kraju, nazwa, id_stolicy) Napisz poniższe zapytania wykorzystując operatory algebry relacji. a. Wyświetl nazwy miast w których mieszka więcej niż 500 000 mieszkańców (2,5 pkt) b. Wyświetl nazwy wszystkich miast leżących we Francji (2,5 pkt) c. Wyświetl nazwę miasta, które jest stolicą Rosji (2,5 pkt) d. Wyświetl nazwę miasta, które ma największą populację ze wszystkich miast (2,5 pkt)
Zad. 4 Dana jest relacja R(A,B,C,D,E,F) o następujących zależnościach funkcyjnych: FD1: A B C FD2: B C FD3: E E FD4: A E F a. Podaj zbiór atrybutów stanowiących klucz relacji R (2 pkt). b. Wskaż zależności funkcyjne naruszające wymagania 2NF, a następnie przeprowadź powyższy schemat do postaci 2NF (4 pkt). c. Wskaż zależności funkcyjne naruszające wymagania 3NF, a następnie przeprowadź powyższy schemat do postaci 3NF (4 pkt).
Zad. 5 Dany jest plik zawierający r = 10 000 rekordów, każdy rekord ma rozmiar R = 100B. Rozmiar bloku dyskowego to B = 1024 bajtów, rozmiar przerwy między blokami G=128 bajtów. Dane techniczne dysku, na którym składowany jest plik, są następujące: liczba talerzy dwustronnych: 10 liczba ścieżek: 200 liczba bloków dyskowych na ścieżce: 30 czas przesunięcia głowicy (seek time): 20 ms średni czas opóźnienia obrotu talerza (latency time): 5 ms Odpowiedz na poniższe pytania, za każdym razem prezentując wszystkie wyliczenia. a. Jaka jest użyteczna pojemność całego dysku? b. Jaka jest rata transferu (w bajtach na milisekundę)? c. Ile czasu zajmuje odczytanie pliku, jeśli: a. plik jest nieuporządkowany i składowany w niedzielonej organizacji rekordów, wykorzystując alokację losową? b. plik jest nieuporządkowany i składowany w niedzielonej organizacji rekordów, wykorzystując alokację ciągłą? d. Ile czasu zajmie znalezienie w pliku pojedynczego rekordu, jeśli: a. plik jest nieuporządkowany i składowany w niedzielonej organizacji rekordów, wykorzystując alokację ciągłą? b. plik jest uporządkowany i składowany w niedzielonej organizacji rekordów, wykorzystując alokację ciągłą, a wyszukiwanie odbywa się na podstawie pola porządkującego?
Zad. 6 Dany jest plik o następujących właściwościach: liczba rekordów r = 10 000 rozmiar bloku dyskowego B = 512 bajtów rozmiar rekordu R = 100 bajtów rozmiar atrybutu A V = 15 bajtów rozmiar wskaźnika na blok dyskowy P = 10 bajtów Plik jest składowany w niedzielonej organizacji stosu. Atrybut A jest unikalny. Udziel odpowiedzi na poniższe zapytania, za każdym razem prezentując właściwe wyliczenia. a) Na atrybucie A założono indeks typu B+ drzewo. Jaki jest współczynnik fan-out indeksu (ile kluczy mieści się w jednym bloku indeksu)? (4 pkt) b) Ile trzeba odczytać bloków dyskowych aby znaleźć w pliku rekord o zadanej wartości atrybutu A przy użyciu indeksu? (6 pkt)
Zad. 7 Blok dyskowy mieści dwa rekordy. Plik haszowy jest zarządzany za pomocą algorytmu haszowania dynamicznego, wykorzystującego funkcję haszową H(k) = k mod 8. Do pliku haszowego załadowano rekordy o następujących wartościach klucza haszowego: 5,8,11,12,14,18,28,31,33,37 Narysuj schemat pliku haszowego a) po wstawieniu piątego rekordu o wartości k=14 (5 pkt) b) po wstawieniu ostatniego rekordu o wartości k=37 (5 pkt)