1 Przygotowanie do egzaminu część I
Modelowanie związków encji 2 Narysuj schemat EER dla poniższej rzeczywistości. Oznacz unikalne identyfikatory encji. Dla każdego związku zaznacz jego opcjonalność/obowiązkowość oraz stopień. Firma zatrudnia pracowników. Każdy pracownik posiada unikalny numer PESEL, imię, nazwisko, datę urodzenia oraz adres zameldowania, na który składają się numer mieszkania, numer domu, nazwa ulicy, kod pocztowy i nazwa miasta. Część pracowników jest zatrudniona na czas nieokreślony na podstawie umowy o pracę, a część pracowników to pracownicy czasowi, zatrudniani na podstawie umowy o dzieło. Dla pracowników zatrudnionych na stałe należy pamiętać wymiar zatrudnienia (np. ½ etatu, ¾ etatu), a dla pracowników czasowych należy pamiętać początek i koniec okresu zatrudnienia. Każdy pracownik czasowy ma swojego opiekuna, przy czym opiekunem może być tylko i wyłącznie pracownik zatrudniony na stałe. Pracownicy są podzieleni na zespoły. Każdy zespół posiada swój unikalny kod alfanumeryczny, pełną nazwę oraz datę utworzenia i (opcjonalnie) datę rozwiązania. Każdy pracownik musi być przydzielony do jednego i tylko jednego zespołu. Zespół może istnieć bez przydzielonych do niego pracowników. Każdy zespół ma swojego kierownika, którym musi być pracownik zatrudniony na stałe. Zespoły są przydzielane do zadań. Każde zadanie posiada krótki opis, opisszczegółowy, datę rozpoczęcia, datę przewidywanego zakończenia, status (np. rozpoczęte, finalizowane, odrzucone) oraz ważność (np. pilne, bardzo pilne, mało istotne). Zadanie może się składać z wielu podzadań. Z każdym zadaniem może być związany zbiór wymagań. Każde wymaganie posiada opis szczegółowy oraz numer, który jest unikalny w ramach wymagań zgłoszonych do danego zadania.
Transformacja do schematu logicznego 3 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). AUTO KIEROWCA SZKOLENIE # id_auta * marka OSOBOWE * liczba_drzwi * kolor przypisane do # PESEL * nazwisko * imię * data_urodzenia odbył # nazwa * stopień * certyfikat CIĘŻAROWE * ładowność obsługuje jest opiekunem obsługiwana przez MIASTO # id_miasta * nazwa * województwo jest początkiem jest końcem TRASA # id_trasy * długość * maks_ciężar
Język SQL 4 Dane są relacje R i S: R A B C 0 1 3 2 1 4 3 2 2 S D E 1 2 2 5 1 4 Podaj wyniki poniższych zapytań a.) SELECT COUNT(*) FROM R JOIN S ON B = D; b.) SELECT B, SUM(C) FROM R GROUP BY B; c.) SELECT * FROM R X JOIN R Y ON X.A = Y.C; d.) SELECT A, D FROM R LEFT OUTER JOIN S ON C = E;
Algebra relacji 5 Dane są następujące relacje: PRACOWNICY (id_prac, id_zesp, nazwisko, etat, pensja) ZESPOLY (id_zesp, id_kierownika, nazwa) Napisz poniższe zapytania wykorzystując operatory algebry relacji Wyświetl nazwiska pracowników pracujących w zespole o identyfikatorze 101 i zarabiających powyżej 3000 zł. Wyświetl profesorów pracujących w zespole o nazwie Administracja Wyświetl nazwisko pracownika kierującego zespołem o nazwie Księgowość Wyświetl nazwiska wszystkich pracowników pracujących w zespole kierowanym przez Kowalską
Normalizacja 6 Dana jest relacja R(A,B,C,D,E,F) o następujących zależnościach funkcyjnych: FD1: A B FD2: C D E FD3: D E FD4: A C F Podaj atrybut (lub zbiór atrybutów) stanowiący klucz relacji R. Czy powyższy schemat bazy danych spełnia wymagania drugiej postaci normalnej? Jeżeli nie, wskaż atrybuty wtórne niezgodne z wymaganiami 2NF, a następnie przeprowadź powyższy schemat do postaci 2NF. Czy schemat bazy danych uzyskany w kroku b) spełnia wymagania trzeciej postaci normalnej? Jeżeli nie, wskaż atrybuty wtórne niezgodne z wymaganiami 3NF, a następnie przeprowadź powyższy schemat do postaci 3NF.
Organizacja fizyczna danych 7 Dany jest plik zawierający r= 10 000 rekordów, każdy rekord ma rozmiar R = 100B. Rozmiar bloku dyskowego to B = 1024B. Plik jest nieuporządkowany i składowany w niedzielonej organizacji rekordów. Odpowiedz na poniższe pytania, za każdym razem prezentując wszystkie wyliczenia. Ile średnio trzeba odczytać bloków dyskowych aby znaleźć w pliku rekord o podanej wartości atrybutu A? Na atrybucie A, którego rozmiar wynosi V = 10B, założono indeks wtórny o współczynniku wypełnienia 100%. Rozmiar wskaźnika (adresu bloku dyskowego) wynosi P = 6B. Ile średnio trzeba odczytać bloków dyskowych aby znaleźć w pliku rekord o podanej wartości atrybutu A wykorzystując indeks wtórny? Na atrybucie A założono indeks wielopoziomowy o współczynniku wypełnienia 100%. Ile poziomów liczy indeks? Ile średnio trzeba odczytać bloków dyskowych aby znaleźć w pliku rekord o podanej wartości atrybutu A wykorzystując indeks wielopoziomowy?
Haszowanie 8 Blok dyskowy mieści dwa rekordy. Do alokacji rekordów do bloków dyskowych zastosowano technikę haszowania dynamicznego wykorzystującą funkcję haszową H(k) = kmod8. Do pliku haszowegowstawiono kolejno rekordy o wartościach pola haszowegorównych 5, 6, 9, 10, 14, 15, 16, 19, 20, 23. Narysuj końcową alokację rekordów do bloków dyskowych wraz z katalogiem (indeksem) pliku haszowego.