1 Cel projektu 2 Podstawowe wymagania 3 Co należy przygotować?
Transkrypt
1 Cel projektu 2 Podstawowe wymagania 3 Co należy przygotować?
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Bazy Danych - Projekt Zasady przygotowania i oceny projektów 1 Cel projektu Celem niniejszego projektu jest zaprojektowanie i implementacja bazy danych w wybranej technologii i środowisku (preferowany Borland Interbase oraz MySql). 2 Podstawowe wymagania Temat projektu jest dowolny jednak należy go dokładnie określić. Co więcej, należy przedstawić podstawowe funkcje projektowanej bazy danych, np.: • temat: Baza danych do obsługi osiedlowej biblioteki • funkcje: – – – – – wprowadzenie nowej książki do bazy danych, wprowadzenie nowego użytkownika, wyszukiwanie książek i czytelników według rożnych kryteriów, rejestracja wypożyczeń i zwrotów książek, tworzenie raportów wypożyczeń (najbardziej popularne książki itp.). Projektowana baza danych (po procesie normalizacji) musi zawierać co najmniej 7 powiązanych ze sobą tabel. Co więcej, we wstępnej fazie projektu, muszą występować przynajmniej 2 relacje wiele do wielu, które następnie zostaną zdekomponowane do do relacji jeden do wielu i wiele do jednego. 3 Co należy przygotować? 3.1 Dokumenty W trakcie trwania projektu należy przygotować dwa dokumenty (wydruki, a nie dokumenty elektroniczne - takie nie będą przyjmowane): wstępna dokumentacje projektu i raport końcowy projektu. 3.1.1 Wstępna dokumentacja projektu Zawartość: • Opis fragmentu rzeczywistości który będzie modelowany przy pomocy realizowanego projektu. Należy dokładnie sprecyzować przedmiot modelowania (hurtownia spożywcza, komis samochodowy, wypożyczalnia filmów DVD itp.) jego cel, przegląd zadań, specyfiki i uwarunkowań. 1 • Zestaw tzw. reguł biznesowych pozwalających na wyodrębnienie podstawowych obiektów (tj. encji) modelu i powiązań pomiędzy nimi. Może to być napisane w sposób następujący: W danym okresie czasu, klient może wypożyczyć wiele kaset wideo z wypożyczalni BigVid. Jednocześnie, podczas tego okresu czasu, każda z tych kaset może być wypożyczona przez wielu klientów.. • Diagram modelowania encji, tzw. ERD (ang. Entity-Relationship Diagram), utworzony na podstawie powyższego opisu, np. • Opis każdej encji (tabeli) występującej w powyższym diagramie. Może to być zrobione tak jak jest pokazane w Tabeli 1. Atrybut OSO_ID OSO_Nazwisko OSO_Imie OSO_DataUr Typ danych liczba znakowy znakowy data OSO_Miejscowosc OSO_KodPocz OSO_Pesel OSO_idklienta OSO_idfilmu znakowy znakowy znakowy liczba liczba Ograniczenia pole autoincrement maksymalnie 40 znaków (wymagane) maksymalnie 20 znaków (wymagane) data w postaci DD-MM-RRRR akceptowana od dnia 01-01-1901 do 01-01-2011 maksymalnie 40 znaków (wymagane) 6 znaków postaci xx-xxx tylko 11 znaków, wszystkie wymagane Referencja do pola idosoby w tabeli TBL_KLIENCI Referencja do pola idfilmu w tabeli TBL_FILMY • Opis integralności referencyjnej. W raporcie należy umieścić następującą tabelę, gdzie umieszczone będą wszystkie dane dotyczące utworzonych przez nas relacji, np. Lp 1 2 3 4 Nazwa relcji REF_Relacja1 REF_Relacja2 REF_Relacja3 REF_Relacja4 liczebność ∞ 4 18 ∞ pole FK NA NN NA NN gdzie 2 strona FK O M O M strona PK O O M M DELETE R C SN lub R C UPDATE C C C C – O - optional - charakter opcjonalny relacji – M - mandatory - charakter obligatoryjny relacji – NN - not null – SN - set to null – NA - null allowed – C - cascade – R - restrict • Kolejnym krokiem jest analiza zależności funkcyjnych i normalizacja tabel (dekompozycja do 3NF, BCNF, 4NF) tj. należy dokonać sprawdzenia, czy tabele spełniają warunki zakładanych postaci normalnych i ew. dekompozycji w celu normalizacji. Dla każdej z tabel należy narysować schemat zależności funkcjonalnych (tak jak na poniższym rysunku) przed i po normalizacji. Jeśli w wyniku normalizacji otrzymaliśmy nowe table, należy je narysować na nowym diagramie modelowania encji. W całym projekcie korzystamy z następującej konwencji nazewnictwa • przedrostek TBL_ przed nazwą tabel • przedrostek REF_ przed nazwą relacji • przedrostek ABC_ (gdzie ABC to 3 pierwsze litery nazwy tabeli) przed każdą nazwą atrybutu (pola) w tabeli 3.1.2 Raport końcowy projektu Zawartość: • Wydruk kompletnego skryptu w języku SQL (preferowany jest dialekt używany przez MySql lub Borland Interbase) umożliwiający utworzenie (na podstawie przygotowanej w pierwszym etapie specyfikacji) : – Wszystkich tabel – Kluczy głównych i obcych – Połączeń pomiędzy tabelami (relacji) - tutaj należy również określić jakie działania będą wykonywane w przypadku próby usunięcia lub modyfikacji rekordu z tabeli klucza głównego (integralność referencyjna) - zgodnie ze specyfikacją przygotowaną we wstępnej dokumentacji projektu. – Dodatkowych indeksów (polecenie CREATE INDEX) 3 – Wypełnienie wszystkich tabel co najmniej 15-oma rekordami, chyba ze ze względu na ograniczenia liczba rekordów w tabeli musi być mniejsza. – Określić dopuszczalny zakres wartości atrybutów, np. ROK DECIMAL(4,0) CHECK (VALUE BETWEEN 1900 AND 2010) lub WIEK DECIMAL(2,0) CHECK (VALUE BETWEEN 1 AND 99) Co więcej, w skrypcie należy umieścić jak największą liczbę komentarzy opisujących poszczególne polecenia (lub ich zestawy) użyte w skrypcie. 3.2 Programy i pliki Wraz z raportem końcowym projektu należy dostarczyć kompletny skrypt (w formie pliku typu *.txt lub *.sql) zawierający zestaw poleceń w języku SQL konieczny do utworzenia zaprojektowanej struktury bazy oraz zestaw 20 zapytań pozwalający na zapoznanie się z charakterem przechowywanych w strukturze relacyjnej danych. Wśród tych zapytań muszą pojawić się: • zapytania złożone • zapytania skorelowane • zapytania z funkcjami agregującymi 4 Terminy Tydzień 1 2-7 8 9-10 11-13 14 15 5 Temat Spotkanie organizacyjne Realizacja pierwszego etapu projektu + konsultacje Termin dostarczenia wstępnej dokumentacji projektu Realizacja drugiego etapu projektu + konsultacje Implementacja bazy danych Termin dostarczenia końcowej dokumentacji projeku i programów Zaliczenie Uwagi Zasady oceniania Za każdy przedłożony w terminie element projektu zostanie przyznać odpowiednia liczba punktów Etap wstępna dokumentacja projektu raport końcowy Skrypt Zapytania SQL 4 max l. punktów 50 15 15 20 Następnie na tej podstawie zostanie wystawiona ocena według poniższych kryteriów punkty 0 − 64 65 − 69 70 − 75 76 − 83 84 − 90 91 − 100 ocena 2 3 3+ 4 4+ 5 5