sql

4
Baza de date pentru gestiunea unui lant hotelier Un lant hotelier doreşte să-şi informatizeze activitatea de gestionare a contractelor încheiate pentru pachetele de servicii pe care le oferă. Turiştii sunt persoane fizice care se identifică printr-un cod unic, nume prenume, CNP, serie şi număr CI, data naşterii, telefon, număr paşaport. Hotelul oferă mai multe tipuri de servicii (all-inclusive, bed and breakfast sau no inclusive) pentru care se memorează un cod unic şi denumirea serviciului. Camerele sunt selectate in functie de codul unic de inregistrare si sunt impartite in functie de tipul de camera (single, double) si de categoria acesteia (medie, de lux, de tip apartament). Reguli de gestiune: 1. La un hotel se cazeaza mai multi turisti, un turist se cazeaza la un singur hotel. 2. O rezervare poate fi facuta la un singur hotel, iar un hotel poate avea mai multe rezervari. 3. O rezervare poate fi facuta pentru mai multe camere, dar o camera poate avea o singura rezervare. 4. Un angajat se poate ocupa de mai multe rezervari, dar o rezervare poate fi facuta de un singur angajat. 5. Un hotel poate avea mai multi angajati, insa un angajat poate lucra doar la un hotel. Liste atribute: CodHotel, DenumireHotel, AdresaHotel, CNPTurist, NumeTurist, SerieNrCI, DataNasterii, TelefonTurist, NrPasaport, CodRezervare, NumarCamera, DataRezervare, NrDeZile, CodCamera, TipCamera, Categorie, DataSosire, DataPlecare, Tarif, CodAngajat, NumeAngajat, CNPAngajat, TelefonAngajat, SalariuAngajat, FunctieAngajat.

Transcript of sql

Page 1: sql

Baza de date pentru gestiunea unui lant hotelier

Un lant hotelier doreşte să-şi informatizeze activitatea de gestionare a contractelor încheiate pentru pachetele de servicii pe care le oferă. Turiştii sunt persoane fizice care se identifică printr-un cod unic, nume prenume, CNP, serie şi număr CI, data naşterii, telefon, număr paşaport. Hotelul oferă mai multe tipuri de servicii (all-inclusive, bed and breakfast sau no inclusive) pentru care se memorează un cod unic şi denumirea serviciului. Camerele sunt selectate in functie de codul unic de inregistrare si sunt impartite in functie de tipul de camera (single, double) si de categoria acesteia (medie, de lux, de tip apartament).

Reguli de gestiune:

1. La un hotel se cazeaza mai multi turisti, un turist se cazeaza la un singur hotel.2. O rezervare poate fi facuta la un singur hotel, iar un hotel poate avea mai multe

rezervari.3. O rezervare poate fi facuta pentru mai multe camere, dar o camera poate avea o

singura rezervare.4. Un angajat se poate ocupa de mai multe rezervari, dar o rezervare poate fi facuta

de un singur angajat.5. Un hotel poate avea mai multi angajati, insa un angajat poate lucra doar la un

hotel.

Liste atribute: CodHotel, DenumireHotel, AdresaHotel, CNPTurist, NumeTurist, SerieNrCI, DataNasterii, TelefonTurist, NrPasaport, CodRezervare, NumarCamera, DataRezervare, NrDeZile, CodCamera, TipCamera, Categorie, DataSosire, DataPlecare, Tarif, CodAngajat, NumeAngajat, CNPAngajat, TelefonAngajat, SalariuAngajat, FunctieAngajat.

FN1: Atribute compuse: AdresaHotel (Localitate, Strada, CodPostal), NumeTurist( NumeTurist, PrenumeTurist), NumeAgent (NumeAgent, PrenumeAgent) Atribute sinonime (repetitive): -Atribute calculate: -

Nu avem nevoie de chei complexe, deoarece toate liniile/coloanele sunt acoperite macar o singura data.

Page 2: sql

FN2 :

R1: (CodHotel, DenumireHotel, Localitate, Strada, CodPostal, CNPTurist, NumeTurist, PrenumeTurist SerieNrCI, DataNasterii, TelefonTurist, NrPasaport, CodRezervare, NumarCamera, DataRezervare, NrDeZile, CodCamera, TipCamera, Categorie, DataSosire, DataPlecare, Tarif, CodAngajat, NumeAngajat, PrenumeAngajat, CNPAngajat, TelefonAngajat, SalariuAngajat, FunctieAngajat)

Hotel (CodHotel, DenumireHotel, Localitate, Strada, CodPostal)

R2: (CodHotel, CNPTurist, NumeTurist, PrenumeTurist SerieNrCI, DataNasterii, TelefonTurist, NrPasaport, NumarCamera, DataRezervare, NrDeZile, TipCamera, Categorie, DataSosire, DataPlecare, Tarif, NumeAngajat, PrenumeAngajat, CNPAngajat, TelefonAngajat, SalariuAngajat, FunctieAngajat)

Turisti (CNPTurist, NumeTurist, PrenumeTurist SerieNrCI, DataNasterii, TelefonTurist, NrPasaport)

Rezervare (CodRezervare , NumarCamera, DataRezervare, NrDeZile, CNPTurist,CodAngajat)

FN3 :

Camera (CodCamera, TipCamera, Categorie, DataSosire, DataPlecare, Tarif, CodRezervare )

Angajat(CodAngajat, NumeAngajat, PrenumeAngajat, CNPAngajat, TelefonAngajat, SalariuAngajat, FunctieAngajat)

Page 3: sql

Exercitii cu Query :1. Sa se afiseze codul, numele, prenumele si data de nastere al turistilor nascuti in anii 1988 si 1989.2. Afișați toate combinațiile posibile de CNP Turisti și Cod Hotel.3. Afișați toți angajații care au salariul mai mare de 2.000 și sortați rezultatul descrescător în funcție de salariu.4. Selectați toți angajații de sex feminin.5. Afișați suma de bani cheltuită de turisti pentru pentru sederea la oricare hotel în anul 2010.6. Sa se afiseze denumirile hotelurilor intr-un nou tabel descrescator, cu fiecare denumire inregistrata in mod unic.7. Creati un nou tabel denumit « Salariati » care sa contina numele, prenumele, cnp, salariul si functia angajatilor hotelului.8. Sa se modifice salariul angajatilor din tabela « Salariati » cu 10%.9. Sa se afiseze top 5 cele mai mari tarife achitate de turisti in ordine descrescatoare.10. Afisati totalul turistilor pe fiecare hotel.11. Sa se stearga salariatii din tabelul « Salariati » care au salariul mai mare de $2000.12. Selectați toți Turistii care au ultimele două cifre ale CNP-ului “18”.13. Sa se afiseze salariul fiecarul angajat in functie de codul sau si de codul hotelului in care lucreaza.14. Selectați toți angajații ale căror nume încep cu “g”, au a treia literă “o” și se termină cu “scu”, iar prenumele se termină cu “l”.15. Afisati media salariilor angajatilor.16. Adăugați în tabela “SuperClienti” toti turistii din anul 2011 care au o platit un tarif mai mare de $1.000.17. Sa se stearga din tabela Rezervari, rezervarile pentru care numarul de zile este mai mare decat 20.18. Sa se actualizeze salariul angajatilor in tabela « Pensionari » cu 15% pentru persoanele de sex feminin.19. Sa se afiseze suma platita de turisti in functie de rezervare la fiecare hotel.20. Sa se afiseze cate rezervari au fost facute la fiecare hotel in functie de data.