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
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.