Sari la conținut
EduCamp
Definitivat 2018 Teorie 15 puncte

Subiectul I, cerința 4

Proiectarea unei baze de date

Modelul conceptual cu entități, relații și forme normale, modelul fizic cu tabele și chei, și interogarea care afișează florile specifice verii, pentru o companie care comercializează flori.

Modelul conceptual

Entitățile

CLIENT — o persoană fizică care cumpără flori de la companie. Atribute: id_client, prenume, nume, adresa, telefon. Identificator unic: id_client.

TIP_FLOARE — un tip de flori comercializat de companie. Atribute: id_tip, denumire_stiintifica, pret_unitar, anotimp. Identificator unic: id_tip.

COMANDA — o comandă de flori plasată de un client la o anumită dată. Atribute: id_comanda, id_client, data_comanda. Identificator unic: id_comanda.

DETALIU_COMANDA — un tip de flori cuprins într-o comandă, împreună cu numărul de flori de acel tip. Atribute: id_comanda, id_tip, numar_flori. Identificator unic: perechea (id_comanda, id_tip).

Numărul de flori nu este o proprietate a clientului și nici a tipului de flori: el depinde de comanda și de tipul de flori luate împreună. De aceea se memorează în entitatea DETALIU_COMANDA.

Relațiile dintre entități

  • CLIENT — COMANDA, de tip unu la mai mulți (1:n): un client poate plasa mai multe comenzi, iar o comandă aparține unui singur client. Un client înregistrat poate să nu aibă nicio comandă.
  • COMANDA — DETALIU_COMANDA, de tip unu la mai mulți (1:n): o comandă cuprinde unul sau mai multe tipuri de flori, iar un rând de detaliu aparține unei singure comenzi.
  • TIP_FLOARE — DETALIU_COMANDA, de tip unu la mai mulți (1:n): un tip de flori poate apărea în mai multe comenzi, iar un rând de detaliu privește un singur tip de flori.

Între COMANDA și TIP_FLOARE există o relație mai mulți la mai mulți (m:n): o comandă cuprinde mai multe tipuri de flori, iar un tip de flori apare în mai multe comenzi. Relația a fost rezolvată prin entitatea de intersecție DETALIU_COMANDA.

Respectarea primelor trei forme normale

  • FN1 — fiecare atribut memorează o singură valoare, indivizibilă. Prenumele și numele clientului sunt atribute separate. O comandă nu memorează într-un singur atribut lista tipurilor de flori cumpărate și nici grupuri de atribute repetate (tip1, tip2, …): fiecare tip de flori din comandă ocupă o înregistrare separată în DETALIU_COMANDA.
  • FN2 — fiecare atribut din afara identificatorului unic depinde de întregul identificator. În DETALIU_COMANDA, identificatorul este compus, iar numar_flori depinde de ambele componente. pret_unitar și denumire_stiintifica nu se memorează aici, pentru că ar depinde numai de id_tip, iar data_comanda nu se memorează aici, pentru că ar depinde numai de id_comanda. Celelalte entități au identificatori simpli, deci respectă FN2.
  • FN3 — niciun atribut din afara identificatorului unic nu depinde de un alt atribut din afara identificatorului. În COMANDA nu se memorează numele, adresa și telefonul clientului: ele ar depinde de id_client, care nu este identificatorul comenzii, și s-ar repeta la fiecare comandă a aceluiași client. Aceste date se memorează o singură dată, în CLIENT.

Restricții care trebuie impuse

  • data_comanda este obligatorie: fără ea nu se pot determina tipurile de flori necumpărate în ultimul an și clienții care nu au cumpărat flori în ultimii doi ani.
  • id_client este obligatoriu în COMANDA: orice comandă aparține unui client înregistrat.
  • numar_flori este un număr natural nenul, iar pret_unitar este un număr real strict pozitiv.
  • anotimp poate lua numai una dintre valorile primavara, vara, toamna, iarna.
  • denumire_stiintifica este unică în TIP_FLOARE: fiecare tip de flori se înregistrează o singură dată.
  • id_comanda și id_tip din DETALIU_COMANDA trebuie să existe în COMANDA, respectiv în TIP_FLOARE.
  • Un client care nu a cumpărat încă flori se păstrează în CLIENT, fără comenzi, pentru ca datele lui să poată fi afișate la ultima informație cerută.

Rezolvarea se poate citi pe educamp.ro, la adresa de mai sus.

Ce cuprinde rezolvarea

  1. Modelul conceptual
  2. Modelul fizic
  3. Vizualizarea tipurilor de flori specifice verii

Vezi rezolvarea ca și cursant

Cel puțin o cerință din fiecare an este disponibilă gratuit și integral. Pentru a citi toate celelalte rezolvări ale disciplinei, te înscrii la cursul de pregătire.

Prima săptămână este gratuită, fără plată și fără card. Dacă vrei să vezi mai întâi cum este scrisă o rezolvare, poți reveni la prima cerință a anului.

100 RON / lună, pentru o disciplină

Ce cuprinde:

  • Două întâlniri de câte două ore, în fiecare lună
  • Tot suportul de curs publicat până acum la disciplina aleasă
  • Capitole noi în fiecare săptămână, cuprinse în luna plătită, fără costuri suplimentare
  • Material organizat după structura programei de examen
  • Acces de pe orice dispozitiv, folosind același cont
  • Prima săptămână gratuită, fără card și fără reînnoire automată

Ai întrebări sau o problemă? Scrie-mi pe WhatsApp, la 0745 874 576.

Începe săptămâna gratuită Cum plătești Login

Actualizat: 15 septembrie 2026