Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Client(id, nume, adresa, tel, serie_permis, e_privilegiat, e_cumparator, data_inregistrare)
- Producator(id, nume, adresa, tel)
- Masina(id, model, an_fabricatie, tip_combustibil, marime_motor, capacitate, nr_inmatriculare, id_asigurare)
- Interval(id, start, final)
- Asigurare(id, nume_firma, pret, id_interval)
- Plata_facuta_de_firma(id, data, pret, tip):
- -plata_asigurare()
- -plata_cumparare()
- -plata_firma_colaboratoare():
- -imediata()
- -in_rate(tarif_lunar, nr_luni_rate)
- Plata_client(id, pret_inchiriere):
- -cash()
- -card(nr, cvv, data_expirare)
- Inchiriere(id, id_interval, id_plata_inchiriere, id_client_ce_inchiriaza, id_masina_inchiriata)
- Pastrare_la_firma_colab(id, id_masina, id_firma, id_interval, id_plata_plata_facuta_de_firma)
- Cumparare(id_plata_cumparare, id_masina_cumparata, id_producator, data)
- Firma(id, nume, tip, tel):
- -service()
- -garaj()
- Contract_firma(id, id_firma, id_interval, descriere)
- Vanzare(id_masina_vanduta, data, id_client_ce_cumpara, id_plata_client)
- ///////////////////////////asumari:
- -detaliile evidente nu sunt precizate (ex: precum faptul ca pretul tre sa fie un nr. pozitiv), am pus doar ce consideram important si mai putin evident;
- -pt. simplitate am decis sa punem id ca si primary key peste tot (se putea si fara adica cu primary_key din alta parte, dar ar fi fost mai complicat);
- -inchirierile sunt adaugate in baza de date cand sunt facute/stabilite cu clientul si daca intervine ceva(de exemplu in cazul clientului privilegiat daca inchiriaza o masina din timp si moare, instanta e stearsa din baza de date);
- -toate masinile se ridica de la firma;
- -toate masinile sunt tinute in garaj;
- -asigurarea pe o masina nu poate fi valida mai mult timp ca contractul cu firma ce a eliberat-o;
- -preturile sunt negociabile =)));
- -nu vom folosi tablele diferite pt. subtipuri deoarece marea majoritate a atributelor sunt la supertip si am complica ERD-ul;
- -cumparam doar masini noi => direct de la producator => avem entitate pt. producator(care e cel ce ne vinde msinile);
- -un client poate fii fie client ce cumpara o masina veche fie unul ce inchiriaza(neaparat una din astea ori amandoua);
- -daca clientul nu e cumparator atunci atributele e_privilegiat si serie_permis sunt obligatorii;
- -presupunem ca nu e nici o diferenta intre persoanele fizice si juridice;
- -presupunem ca vanzarea nu are nevoie de contract;
- -presupunem ca pretul de la vanzare e estimat de un angajat(fiind mai mic sau egal ca si cel de cumparare, presupunand ca nu e inflatie);
- -presupunem ca firma de inchiriat are contracte cu service-uri, garaje;
- -clientii privilegiati pot rezerva o masina din timp(data de inceput o sa fie pusa din cod);
- -reducere e un procent constant(indiferent de masina) ce se aplica doar la clientii privilegiati;
- -fiecare masina are un pret stabil de inchiriere /ora: (final - start) * pret_inchiriere * reducere;
- -depinde de marime motor si an de fabricatie;
- -presupunem ca la un an de la cumparare masina nu mai poate fi folosita(trebe vanduta);
- -acceptam doar plata in ron;
- -formula plata rate(pret total): tarif_lunar * nr_luni_rate + pret;
- -la rezervarea unei masini in avans plata trebe facuta in momentul rezervarii(fie ea cash/card);
- -daca Plata_facuta_de_firma e imediata atunci e_plata_catre_firma nu poate fi NULL;
- -presupunem ca toate firmele au posibilitate de plata imediata/in_rate;
- -presupunem ca nu pot exista mai multe contracte cu o firma;
- -consideram ca un client poate face plata cu unul sau mai multe carduri, motiv pt care nu cream o entitate separata: "Card"(sunt necesare doar datele pt transfer) si am complica ERD-ul;
- -la plata client daca un atribut din astea: nr/cvv/data_expirare are valoare atunci toate trebuie sa aiba(deoarece e plata cu cardul);
- -enum cu tipul unei entitati
- -presupunem ca asigurarea e doar cumparata fara sa facem contract cu firma de asigurari(documentul cu asigurarea e diferit de contract colaborare);
Add Comment
Please, Sign In to add comment