Sunteți pe pagina 1din 7

Colegiul Național Onisifor Ghibu Oradea

Baze de date

Nume și prenume: Durla Gabriel


Oradea, 2020
Cuprins:
1.Descrierea scenariului
2. Stabilirea entităților
3.Stabilirea atributelor
4.Identificatorii unici
5.Stabilirea relațiilor între entități
6.ERD final
1. Descrierea scenariului:

Într-o firmă de închirieri auto sunt necesare următoarele informații:


1. Detalii despre vehiculele din stoc (marcă, model, anul producției,
dimensiunea motorului, tip de combustibil, numărul de pasageri, numărul de
înregistrate, prețul de cumpărare, data cumpărării, prețul închirierii, detalii
despre asigurare)
2. Detalii drespre cheltuielile companiei (achiziții, reparații, întreținere etc.)
3. Detalii despre garajele franciză (nume garaj, destinatarii, gamă servicii, tipul
de plata <<credit/pe loc>>)
4. Detalii despre contractele de închiriere (nume client, vehiculul închiriat, preț)
5. Detalii personale ale clienților (nume, adresă, număr de telefon, permisul de
conducere, cnp etc)
2. Astfel, avem următoarele entități:

CONTRACT AGENT CLIENT PLATA


VEHICUL

GARAJ CHELTUIALA ASIGURARE CERERE CHITANTA

Vehicul: reține date despre vehicul


Contract: reține date privind realizarea contractului de închiriere
Agent: reține date privind persoana care realizează contractul
Client: reține date privind persoana care închiriază vehicului
Garaj: reține date privind garajele cu care are contracte firma
Cheltuială: reține date privind cheltuielile companiei
Asigurare: reține date privind asigurarea fiecărui vehicul
Chitanță: reține date privind chitanței emise

Plata: reține date privind plata efectuată

3. Stabilirea atributelor:
Un atribut poate fi obligatoriu sau opţional. Dacă un atribut este
obligatoriu, pentru fiecare instanţă a entităţii respective trebuie să avem
o valoare pentru acel atribut, de exemplu este obligatoriu să cunoaştem
numele clienților. Pentru un atribut opţional putem avea instanţe pentru
care nu cunoaştem valoarea atributului respectiv. De exemplu, atributul
e-mail al entității CLIENT poate fi opțional. Un atribut obligatoriu este
precedat în ERD de un asterisc *, iar un atribut opţional va fi precedat de
un cerculeţ o.

VEHICUL CLIENT
*marca *nume
*model *prenume
*an_fabricatie
*adresa
*carburant
*numar_telefon
*capacitate_cilindrica
o e_mail
*putere
*permis_conducere
*culoare

*numar_max_pasageri

*numar_inregistrare

*foto_vehicul

Astfel, pentru entitatea VEHICUL reținem atributele obligatorii:


marca, modelul, anul fabricației, carburantul folosit de vehicul, capacitatea
cilindrica, puterea motorului, culoarea mașinii (din talon), numărul maxim de
pasageri care încap în vehicul, numărul de înregistrare și o fotografie cu
vehicului, care reprezinta o parte din atributele acesteia.
Pentru entitatea CLIENT reținem atributele obligatorii: numele,
prenumele, adresa de domiciului, numărul de telefon și permisul de
conducere, adresa de e-mail a acestuia fiind opțională (este necesară în
cazul în care clientul dorește să primească oferte prin mail).

4. Identificatorii unici:

Atributele care definesc în mod unic instanţele unei entităţi se


numesc identificator unic (UID). Atributelecare fac parte din
identificatorul unic al unei entităţi vor fi precedate de semnul
diez #.În exemplul de față niciun atribut nu permite
identificarea în mod unic a vehiculelor. Vom adăuga un atribut
id care va avea valoare unică pentru fiecare vehicul.
Pentru entitatea CLIENT, atributul CNP e unul numeric, unic fiecărui
cetățean. Astfel, CNP poate fi folosit drept UID pentru entitatea CLIENT.

VEHICUL CLIENT
#id_vehicul
#cnp
*marca
*nume
*model
*prenume
*an_fabricatie
*adresa
*carburant

*capacitate_cilindrica *numar_telefon

*putere o e_mail
*culoare *permis_conducere
*numar_max_pasageri

*numar_inregistrare

*foto_vehicul

5. Stabilirea relațiilor între entități


O relaţie este o asociere, legătură, sau conexiune existentă între
entităţi şi care are o semnificaţie pentru afacerea modelată. Orice relaţie
este bidirecţională, legând două entităţi sau o entitate cu ea însăşi. Orice
relaţie este caracterizată de următoarele elemente: nume, opționalitate,
grad.
a) Numele relației – este un verb. În cazul de față, clientul face o
cerere de închiriere, iar cererea este procesată de către un agent al
companiei de închirieri.
b) Opționalitatea relației – o relație poate fi obligatorie (mandatory)
sau opțională. Pentru a stabili opționalitatea relației CLIENT –
CERERE trebuie să răspundem la următoarea întrebare: Un client
trebuie să facă o cerere de închiriere? În cazul de față, da, trebuie
să facă o cerere de închiriere pentru a intra în baza de date.
c) Gradul/cardinalitatea relației – dată de numărul de instanțe ale
entității care pot intra în relație cu o instanță a celelaltei entități.
Adică vom pune întrebări de genul: De câte ori poate face o cerere
un client? Răspunsurile posibile sunt o data și numai o dată, sau o
dată sau de mai multe ori. Cea mai realistă variantă a relației este:
Un client poate face o cere o dată sau de mai multe ori. Cum
relațiile dintre entități sunt bidirecționale, vom avea și relația: O
cerere poate fi făcută de un singur client. Ambele relații sunt
obligatorii.
6. ERD FINAL

GARAJ

#id

*locatie

*adresa

*nr_tel

întreține

este întreținut
COMPANIE VEHICUL AGENT CERERE
î
#id_vehicul #cnp
#numar_inregistrare #numar
deține este închiriată (opțional) CHITANȚĂ
*nume este *marca închiriază *nume *nume_client #id
deținută î *data_emiterii
*locatie *model î *prenume
procesează *vehicul_preferat
generează
*agentul_responsabil
î *salariu
Este procesată
Este generată
*prețul_tranzacției
*nume_client
*e_mail *an_fabricatie *data_efectuarii
î î
*adresa_site *carburant *numar_telefon *pret_inchiriere î
*adresa_domiciliu
î î
*numar_telefon *capacitate_cilindrica
efectuează
*putere *vechime

*culoare
î este
creată
*numar_max_pasageri
este efectuată
CHELTUIALA *numar_inregistrare
î crează
#tip *foto_vehicul
î este asigurat
CLIENT
*valoare
asigură
#cnp î PLATA
*data_efectuarii
îASIGURARE *nume
#id
#id
î *prenume
*nr_parti
*nume_casa_asig
*adresa
*mod_plata
aparține
*valoare_asig aparține
*numar_telefon
*total_plata
*data_inceperii
o e_mail
î *achitat
*durata
*permis_conducere
î

S-ar putea să vă placă și