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