background image

Bazy Danych

Inżynieria Oprogramowania

Egzamin

Bazy danych

Zadanie 1

Na podstawie diagramu ERD napisz kod SQL tworzący tabelę Pracownicy.

Zadanie 2

Napisz instrukcje SQL, które zapiszą w bazie danych następujące 
informacje:
dnia 20-09-2010 pracownik o identyfikatorze 200 zatwierdził rezerwację 
klienta o identyfikatorze 100. Rodzaj rezerwacji to rezerwacja telefoniczna, 
przyjęto zaliczkę 100 zł. Klient zarezerwował jeden pokój o numerze 300 
bez wyżywienia na czas od 25-12-2010 do 01-01-2011.

Bazy Danych

Inżynieria Oprogramowania

Egzamin

Bazy danych

Zadanie 1

Na podstawie diagramu ERD napisz kod SQL tworzący tabelę Polisy. 
Przyjmij założenie, że tabele Firmy i Pojazdy już istnieją.

Zadanie 2

Napisz instrukcje SQL, które zapiszą w bazie danych następujące 
informacje:
dnia   20-09-2010   klient   zawiera   nową   polisę   oferowaną   przez   firmę 
o nazwie Security. Nowa polisa jest kontynuacją polisy o numerze 1234 
i dotyczy   pojazdu   o   numerze   rejestracyjnym   RZE12345.   Rodzaj 
ubezpieczenia to OC, składka wynosi 1200 zł a ubezpieczenie zawarto na 
jeden rok. Klientowi przyznano dwie zniżki: pierwsza zniżka typu „stały 
klient” o sumie 100 zł, druga zniżka typu „bezszkodowość” o sumie 800 zł.

KLIENT

# PESEL
* IMIE
* NAZWISKO
* ULICA
* MIASTO
* TELEFON
* DATA_PRAW
º E-MAIL

POJAZD

# NR_REJ
* MODEL
* MARKA
* NR_NADWOZIA
* ROK_PROD
* POJEMNOSC
* RODZAJ

POLISA

# NR_POLISY
* RODZ _UBEZ
* DATA_ZAW
* DATA_ZAK
* SKLADKA

FIRMA

# NAZWA
* ULICA
* MIASTO
* TELEFON
º E-MAIL
º WWW

ZNIZKA

# ID_ZNIZ
* SUM_ZNIZ

TYP ZNIZKI

# NAZWA
* PROCENT

posiada

należy do

posiada

dotyczy

jest 

dostarczana

przez

dostarcza

wpływa na

zależy od

zależy od

wpływa na

jest 

kontynuacją

kontynuuje

A

20-09-2010

B

20-09-2010

background image

Zadanie 3

Napisz instrukcje SQL, które zapiszą w bazie danych następujące 
informacje:
Po weryfikacji wniosku klienta o numerze pesel 90070712123 okazało się, 
że klient otrzymał prawo jazdy dnia 01-09-2010 (należy zaktualizować tę 
datę w tabeli Klienci), w związku z czym należy odebrać mu wszystkie 
zniżki o nazwie „doświadczenie” (usunąć odpowiednie rekordy z tabeli 
zniżka) i podwyższyć składki wszystkich polis, które się jeszcze nie 
zakończyły, o 500 zł. Pozostałe zniżki pozostają bez zmian.

Zadanie 4.

Napisz zapytanie, które dla każdej firmy ubezpieczeniowej pokaże ilość 
klientów tej firmy w poszczególnych latach w okresie od 01-01-2000 do 
31-12-2010. Wynik powinien mieć postać:

nazwa firmy – rok – ilość klientów

np.:

Security       2000        1
Security       2001        6
Security       2002        15

Wskazówka: rok wyznacza funkcja SQL year(polisy.data_zaw)

Inżynieria oprogramowania

Zadanie 1

Narysuj   Diagram   Przypadków   Użycia   dla   funkcjonalności  Zarządzanie 
pojazdami
. Zauważ, że na ERD jest obowiązkowy związek „pojazd należy 
do jednego klienta”, w związku z czym operacje na pojazdach wymagają 
znajomości danych klienta.

Zadanie 2

a) Narysuj diagram klas dla obiektów transferowych PojazdDTO 

i KlientDTO. Pozostałych obiektów nie rysuj na diagramie.

b) Jakie pola i metody posiada klasa PojazdDTO?

Zadanie 3

Narysuj   diagram   sekwencji   pokazujący   operację  Dodaj   nowy   pojazd
Zastosuj   wzorce   projektowe   DTO   (klasa   z   zadania   2b),   DAO,   Session 
Façade, Application Service. Aktorem na diagramie jest obiekt nowyPojazd 
klasy   PojazdForm.   Przyjmij,   że   obiekt   klasy   PojazdDTO   jest   tworzony 
przez formularz i zawiera prawidłowe dane właściciela.

Zadanie 3

Napisz instrukcje SQL, które zapiszą w bazie danych następujące 
informacje:
Klient o identyfikatorze 107 prosi o zmianę rezerwacji z dnia 10-09-2010. 
Klient rezygnuje z pokoju o numerze 301 (należy usunąć odpowiedni 
wiersz z tabeli) i rezygnuje z wyżywienia, które zamówił do pokoju 302 
(należy zaktualizować odpowiednią referencję).

Zadanie 4.

Napisz zapytanie, które dla każdego pokoju pokaże ilość rezerwacji tego 
pokoju w poszczególnych latach w okresie od 01-01-2000 do 31-12-2010. 
Wynik powinien mieć postać:

numer pokoju – rok – ilość rezerwacji

np.:

300       2000        5
300       2001        6
300       2002        8

Wskazówka: rok wyznacza funkcja SQL year(rezerwacje.data_rez)

Inżynieria oprogramowania

Zadanie 1

Narysuj   Diagram   Przypadków   Użycia   dla   funkcjonalności  Zarządzanie 
pokojami
. Zauważ, że na ERD jest obowiązkowy związek „pokój - typ 
pokoju”, w związku z czym operacje na pokojach wymagają znajomości 
typu pokoju. Nie wnikaj w wyposażenie pokojów.

Zadanie 2

a) Narysuj diagram klas dla obiektów transferowych PokojDTO 

i TypPokojuDTO. Pozostałych obiektów nie rysuj na diagramie.

b) Jakie pola i metody posiada klasa PokojDTO?

Zadanie 3

Narysuj diagram sekwencji pokazujący operację Aktualizuj pokój. Zastosuj 
wzorce   projektowe   DTO   (klasa   z   zadania   2b),   DAO,   Session   Façade, 
Application Service. Aktorem na diagramie jest obiekt pokojForm klasy 
pokojForm.   Przyjmij,   że   obiekt   klasy   PokojDTO   jest   tworzony   przez 
formularz i zawiera prawidłowe dane typu pokoju.