Sari la conținut
EduCamp
Definitivat2018Teorie15 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 făcută 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 comandă ș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 face 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.

Te înscrii, alegi în cont când începe cursul și plătești prima lună prin transfer bancar. Pentru a vedea mai întâi cum este scrisă o rezolvare, poți reveni la prima cerință a anului.

Acces la suportul de curs

25 RON / lună, fără ședințe

Ce cuprinde:

  • Acces la toate lecțiile disponibile
  • Suport de curs pentru tematica științifică și metodică
  • Exemple, explicații și exerciții
  • Acces la materialele noi adăugate pe platformă
  • Posibilitatea de a adresa întrebări

Poți alege și variante cu ședințe online, în grup sau individuale. Le vezi pe pagina cursului.

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

Înscrie-te Alte varianteCum plătești Login

Actualizat: 15 septembrie 2026