STANAANDREY

document proiect db

Nov 24th, 2021 (edited)
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.88 KB | None | 0 0
  1. Client(id, nume, adresa, tel, serie_permis, e_privilegiat, e_cumparator, data_inregistrare)
  2.  
  3. Producator(id, nume, adresa, tel)
  4.  
  5. Masina(id, model, an_fabricatie, tip_combustibil, marime_motor, capacitate, nr_inmatriculare, id_asigurare)
  6.  
  7. Interval(id, start, final)
  8.  
  9. Asigurare(id, nume_firma, pret, id_interval)
  10.  
  11. Plata_facuta_de_firma(id, data, pret, tip):
  12. -plata_asigurare()
  13. -plata_cumparare()
  14. -plata_firma_colaboratoare():
  15. -imediata()
  16. -in_rate(tarif_lunar, nr_luni_rate)
  17.  
  18. Plata_client(id, pret_inchiriere):
  19. -cash()
  20. -card(nr, cvv, data_expirare)
  21.  
  22. Inchiriere(id, id_interval, id_plata_inchiriere, id_client_ce_inchiriaza, id_masina_inchiriata)
  23.  
  24. Pastrare_la_firma_colab(id, id_masina, id_firma, id_interval, id_plata_plata_facuta_de_firma)
  25.  
  26. Cumparare(id_plata_cumparare, id_masina_cumparata, id_producator, data)
  27.  
  28. Firma(id, nume, tip, tel):
  29. -service()
  30. -garaj()
  31.  
  32. Contract_firma(id, id_firma, id_interval, descriere)
  33.  
  34. Vanzare(id_masina_vanduta, data, id_client_ce_cumpara, id_plata_client)
  35. ///////////////////////////asumari:
  36. -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;
  37. -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);
  38. -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);
  39. -toate masinile se ridica de la firma;
  40. -toate masinile sunt tinute in garaj;
  41. -asigurarea pe o masina nu poate fi valida mai mult timp ca contractul cu firma ce a eliberat-o;
  42. -preturile sunt negociabile =)));
  43. -nu vom folosi tablele diferite pt. subtipuri deoarece marea majoritate a atributelor sunt la supertip si am complica ERD-ul;
  44. -cumparam doar masini noi => direct de la producator => avem entitate pt. producator(care e cel ce ne vinde msinile);
  45. -un client poate fii fie client ce cumpara o masina veche fie unul ce inchiriaza(neaparat una din astea ori amandoua);
  46. -daca clientul nu e cumparator atunci atributele e_privilegiat si serie_permis sunt obligatorii;
  47. -presupunem ca nu e nici o diferenta intre persoanele fizice si juridice;
  48. -presupunem ca vanzarea nu are nevoie de contract;
  49. -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);
  50. -presupunem ca firma de inchiriat are contracte cu service-uri, garaje;
  51. -clientii privilegiati pot rezerva o masina din timp(data de inceput o sa fie pusa din cod);
  52. -reducere e un procent constant(indiferent de masina) ce se aplica doar la clientii privilegiati;
  53. -fiecare masina are un pret stabil de inchiriere /ora: (final - start) * pret_inchiriere * reducere;
  54. -depinde de marime motor si an de fabricatie;
  55. -presupunem ca la un an de la cumparare masina nu mai poate fi folosita(trebe vanduta);
  56. -acceptam doar plata in ron;
  57. -formula plata rate(pret total): tarif_lunar * nr_luni_rate + pret;
  58. -la rezervarea unei masini in avans plata trebe facuta in momentul rezervarii(fie ea cash/card);
  59. -daca Plata_facuta_de_firma e imediata atunci e_plata_catre_firma nu poate fi NULL;
  60. -presupunem ca toate firmele au posibilitate de plata imediata/in_rate;
  61. -presupunem ca nu pot exista mai multe contracte cu o firma;
  62. -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;
  63. -la plata client daca un atribut din astea: nr/cvv/data_expirare are valoare atunci toate trebuie sa aiba(deoarece e plata cu cardul);
  64. -enum cu tipul unei entitati
  65. -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