Proiectarea Bazelor de Date : Aplicații
1.
Determină în ce tabel sau în ce configurare de chei trebuie plasat fiecare atribut:
CLIENTI,
AUTOMOBILE și INCHIRIERI, în ce tabel plasăm câmpul Kilometri_La_Restituire?SPITALE (1) și SECTII_MEDICALE (M),
unde adăugăm Cheia Externă (FK) pentru a lega cele două tabele?INSTRUCTORI, CURSURI și
INSCRIERI, unde adăugăm câmpul Data_Finalizare_Curs a unui cursant?MEMBRI,
ABONAMENTE și CONTRACTE. Unde plasăm Pret_Standard_Lunar al unui tip de abonament?PRODUSE avem ID_Produs,
Nume_Produs, ID_Furnizor (FK) și Telefon_Furnizor.
Ce problemă apare dacă lăsăm Telefon_Furnizor în PRODUSE?MASI, PREPARATE,
COMENZI și DETALII_COMANDA, unde se stochează Numar_Masa?FILME (1) și PROIECȚII (M).
O proiecție reprezintă rularea unui film la o anumită oră într-o sală. Unde punem Ora_Start?CLIENTI, CAMERE și
REZERVARI. Unde adăugăm Numar_Nopti_Cazare?STAPANI (1) și
ANIMALE_PACIENTI (M), unde adăugăm câmpul Rasa_Animal?EDITURI și
AUTORI dacă o editură lucrează cu mai mulți autori, iar un autor publică la mai multe edituri?2.
Rezolvă scenariile interactive de mai jos. Selectează tabelele necesare (Etapa 1), apoi configurează câmpurile și cheile pentru fiecare tabel (Etapa 2).
🚗 Aplicația 1: Centru de Închirieri Auto Maxim 3 Tabele
Cerință: Evidența clienților înregistrați, a autoturismelor disponibile și a contractelor de închiriere încheiate.
Tabelul CLIENTI:
Tabelul AUTOMOBILE:
Tabelul INCHIRIERI (Legătură M:M):
🎬 Aplicația 2: Cinema Multi-Sală & Bilete Maxim 4 Tabele
Cerință: Evidența sălilor de cinema, a filmelor din program, a proiecțiilor (rulărilor) programate și a biletelor vândute.
Tabelul SALI_CINEMA:
Tabelul FILME:
Tabelul PROIECȚII (Legătură între Film și Sală):
Tabelul BILETE (Locuri rezervate):
💻 Aplicația 3: Platformă E-Learning Maxim 4 Tabele
Cerință: Gestiunea instructorilor, a cursurilor predate, a cursanților înregistrați și a înscrierilor la cursuri.
Tabelul INSTRUCTORI:
Tabelul CURSURI:
Tabelul CURSANTI:
Tabelul INSCRIERI (M:M între Cursant și Curs):
🏋️ Aplicația 4: Club de Fitness & Personal Trainer Maxim 4 Tabele
Cerință: Gestiunea membrilor, a antrenorilor personali, a abonamentelor și a sesiunilor de antrenament programate.
Tabelul ABONAMENTE:
Tabelul MEMBRI:
Tabelul ANTRENORI:
Tabelul SESIUNI_ANTRENAMENT (M:M între Membru și Antrenor):
🍕 Aplicația 5: Restaurant & Comenzi la Masă Maxim 4 Tabele
Cerință: Evidența consumației într-un restaurant: mesele, preparatele din meniu, comenzile și detaliile comenzi (linii comandă).
Tabelul MASI:
Tabelul PREPARATE_MENIU:
Tabelul COMENZI_MASA:
Tabelul DETALII_COMANDA (Legătură M:M):
3. Aplicații Complexe: Proiectare & Schemă Relațională
Citește cerințele fiecărui scenariu real, elaborează schema relațională în căsuța de lucru (precizând tabelele, cheile PK, FK și tipurile de date) și apoi compară soluția ta cu arhitectura optimă (max. 4 tabele per aplicație).
🐾 Aplicația 1: Clinică Veterinară „PetCare” 4 Tabele
- Fiecare proprietar de animale este înregistrat cu date de contact (Nume, Telefon, Adresă).
- Un proprietar poate deține mai multe animale (Pacienți): Nume, Specie, Rasă.
- Clinica are angajați mai mulți medici veterinari (Nume, Specializare, Telefon).
- Fiecare consultație medicală are loc la o dată specifică, este efectuată de un medic pentru un pacient animal și înregistrează Diagnosticul și Costul.
✍️ Spațiu de Proiectare (Scrie schema ta aici): Format: TABEL (PK, FK, Câmpuri)
✅ Schema Relațională Corectă (4 Tabele):
1. PROPRIETARI Tabel 1
- ID_Proprietar (PK) INT
- Nume_Complet VARCHAR(60)
- Telefon VARCHAR(15)
- Adresa VARCHAR(100)
2. PACIENTI 1:M cu PROPRIETARI
- ID_Pacient (PK) INT
- Nume_Animal VARCHAR(40)
- Specie VARCHAR(30)
- Rasa VARCHAR(30)
- ID_Proprietar (FK) INT
3. MEDICI Catalog Medici
- ID_Medic (PK) INT
- Nume_Medic VARCHAR(60)
- Specializare VARCHAR(50)
- Telefon VARCHAR(15)
4. CONSULTATII Legătură M:M
- ID_Consultatie (PK) INT
- ID_Pacient (FK) INT
- ID_Medic (FK) INT
- Data_Consultatie DATETIME
- Diagnostic VARCHAR(200)
- Cost_RON DECIMAL(8,2)
🏨 Aplicația 2: Gestiune Hotel & Rezervări Camere 4 Tabele
- Hotelul oferă tipuri de camere (Single, Double, Suite) cu denumire, capacitate persoane și preț/noapte.
- Sunt înregistrate camerele fizice ale hotelului (Număr Cameră, Etaj, FK Tip Camera).
- Baza de date stochează datele clienților (Nume, CNP/Pașaport, Email, Telefon).
- Clienții efectuează rezervări pentru camere (Data Sosirii, Data Plecării, Starea Rezervării).
✍️ Spațiu de Proiectare: Format: TABEL (PK, FK, Câmpuri)
✅ Schema Relațională Corectă (4 Tabele):
1. TIPURI_CAMERE Catalog Tipuri
- ID_Tip (PK) INT
- Denumire_Tip VARCHAR(30)
- Capacitate_Persoane INT
- Pret_Noapte_RON DECIMAL(8,2)
2. CAMERE 1:M cu TIPURI
- ID_Camera (PK) INT
- Numar_Camera VARCHAR(10)
- Etaj INT
- ID_Tip (FK) INT
3. CLIENTI Catalog Clienți
- ID_Client (PK) INT
- Nume_Complet VARCHAR(60)
- CNP_Pasaport VARCHAR(20)
- Telefon VARCHAR(15)
4. REZERVARI Legătură M:M
- ID_Rezervare (PK) INT
- ID_Client (FK) INT
- ID_Camera (FK) INT
- Data_CheckIn DATE
- Data_CheckOut DATE
- Status_Rezervare VARCHAR(20)
📚 Aplicația 3: Editură & Vânzare de Cărți 4 Tabele
- Editura gestionează autorii cărților (Nume, Naționalitate).
- Sunt păstrate cărțile publicate (Titlu, ISBN, Preț Unitari, FK Autor). Un autor poate scrie mai multe cărți.
- Clienții plasează comenzi (Data Comandă, Nume Client, Adresă Livrare).
- O comandă conține mai multe cărți în cantități specifice (`DETALII_COMANDA`).
✍️ Spațiu de Proiectare: Format: TABEL (PK, FK, Câmpuri)
✅ Schema Relațională Corectă (4 Tabele):
1. AUTORI Tabel 1
- ID_Autor (PK) INT
- Nume_Autor VARCHAR(60)
- Nationalitate VARCHAR(30)
2. CARTI 1:M cu AUTORI
- ID_Carte (PK) INT
- Titlu VARCHAR(100)
- ISBN VARCHAR(20)
- Pret_Unitar DECIMAL(7,2)
- ID_Autor (FK) INT
3. COMENZI Comenzi Clienți
- ID_Comanda (PK) INT
- Nume_Client VARCHAR(60)
- Data_Comanda DATE
- Adresa_Livrare VARCHAR(100)
4. DETALII_COMANDA Legătură M:M
- ID_Detaliu (PK) INT
- ID_Comanda (FK) INT
- ID_Carte (FK) INT
- Cantitate INT
✈️ Aplicația 4: Rezervare Bilete de Avion 4 Tabele
- Compania operează zboruri între aeroporturi (Cod IATA, Oraș, Țară).
- Sunt stocate zborurile (Număr Zbor, Data Plecării, Ora Plecării, FK Decolare, FK Aterizare).
- Este menținută lista de pasageri (Nume, Pașaport, Email, Telefon).
- Sunt eliberate bilete de avion care leagă un pasager de un zbor (Loc, Clasă, Preț).
✍️ Spațiu de Proiectare: Format: TABEL (PK, FK, Câmpuri)
✅ Schema Relațională Corectă (4 Tabele):
1. AEROPORTURI Catalog Locații
- ID_Aeroport (PK) INT
- Cod_IATA VARCHAR(3)
- Oras VARCHAR(50)
- Tara VARCHAR(40)
2. ZBORURI Legături Aeroporturi
- ID_Zbor (PK) INT
- Nr_Zbor VARCHAR(10)
- ID_Aeroport_Plecare (FK) INT
- ID_Aeroport_Sosire (FK) INT
- Data_Ora_Plecare DATETIME
3. PASAGERI Catalog Pasageri
- ID_Pasager (PK) INT
- Nume_Complet VARCHAR(60)
- Serie_Pasaport VARCHAR(20)
- Email VARCHAR(60)
4. BILETE_AVION Legătură M:M
- ID_Bilet (PK) INT
- ID_Zbor (FK) INT
- ID_Pasager (FK) INT
- Cod_Loc VARCHAR(5)
- Clasa VARCHAR(15)
- Pret_Achitat DECIMAL(8,2)
🏠 Aplicația 5: Agenție Imobiliară (Vizionări) 4 Tabele
- Sunt înregistrați proprietarii de imobile (Nume, Telefon).
- Sunt gestionate proprietățile (Adresă, Suprafață, Preț, FK Proprietar).
- Sunt înregistrați agenții imobiliari din firmă (Nume, Procent Comision, Telefon).
- Se ține evidența vizionărilor (Data, Nume Client Potențial, Feedback, FK Agent, FK Proprietate).
✍️ Spațiu de Proiectare: Format: TABEL (PK, FK, Câmpuri)
✅ Schema Relațională Corectă (4 Tabele):
1. PROPRIETARI Tabel 1
- ID_Proprietar (PK) INT
- Nume_Proprietar VARCHAR(60)
- Telefon VARCHAR(15)
2. PROPRIETATI 1:M cu PROPRIETARI
- ID_Proprietate (PK) INT
- Adresa_Completa VARCHAR(100)
- Suprafata_MP INT
- Pret_Cerut_EUR DECIMAL(10,2)
- ID_Proprietar (FK) INT
3. AGENTI Catalog Agenți
- ID_Agent (PK) INT
- Nume_Agent VARCHAR(60)
- Procent_Comision DECIMAL(4,2)
4. VIZIONARI Legătură M:M
- ID_Vizionare (PK) INT
- ID_Proprietate (FK) INT
- ID_Agent (FK) INT
- Nume_Client_Potential VARCHAR(60)
- Data_Ora_Vizionare DATETIME
- Nota_Feedback VARCHAR(150)
🎸 Aplicația 6: Festival de Muzică & Recitaluri 4 Tabele
- Festivalul dispune de mai multe scene (Nume Scenă, Capacitate Public).
- Sunt înregistrați artiștii / trupele (Nume Trupă, Gen Muzical).
- Sunt programate recitalurile / concertele (FK Scenă, FK Artist, Ora Start, Ora Final).
- Sunt vândute bilete de acces participanților (Nume Participant, Tip Bilet, Preț, Cod Bare).
✍️ Spațiu de Proiectare: Format: TABEL (PK, FK, Câmpuri)
✅ Schema Relațională Corectă (4 Tabele):
1. SCENE Locații Festival
- ID_Scena (PK) INT
- Nume_Scena VARCHAR(40)
- Capacitate_Public INT
2. ARTISTI Catalog Artiști
- ID_Artist (PK) INT
- Nume_Trupa VARCHAR(60)
- Gen_Muzical VARCHAR(30)
3. CONCERTE_RECITALURI Legătură Scene-Artiști
- ID_Concert (PK) INT
- ID_Scena (FK) INT
- ID_Artist (FK) INT
- Ora_Start DATETIME
- Ora_Final DATETIME
4. BILETE_ACCES Vânzări Bilete
- ID_Bilet (PK) INT
- Cod_Bare VARCHAR(30)
- Nume_Participant VARCHAR(60)
- Tip_Bilet VARCHAR(20)
- Pret_RON DECIMAL(7,2)
4. Test Final Grilă: Evaluare Arhitectură BD
Alege răspunsul corect la fiecare dintre cele 10 întrebări de sinteză: