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 comanda de adăugare a datelor, pentru o asociație care organizează festivaluri.
Modelul conceptual
Entitățile
FESTIVAL — un festival organizat de asociație.
Atribute: id_festival, denumire, tematica, site.
Identificator unic: id_festival.
TIP_EVENIMENT — tipul unui eveniment (concert, expoziție, workshop etc.), împreună cu
normele care trebuie respectate pentru organizarea oricărui eveniment de acel tip.
Atribute: id_tip, denumire, spatiu_necesar, nr_max_participanti, varsta_minima,
alte_norme.
Identificator unic: id_tip.
LOC — spațiul în care se desfășoară un eveniment.
Atribute: id_loc, denumire, adresa, capacitate.
Identificator unic: id_loc.
CATEGORIE_PUBLIC — categoria publicului țintă (copii, adolescenți, adulți etc.).
Atribute: id_categorie, denumire.
Identificator unic: id_categorie.
EVENIMENT — un eveniment concret, desfășurat în cadrul unui festival.
Atribute: id_eveniment, id_festival, id_tip, denumire, descriere,
data_ora_inceput, durata_minute, id_loc, id_categorie.
Identificator unic: id_eveniment.
Normele privind spațiul, numărul de participanți și vârsta publicului sunt condiții pentru organizarea oricărui eveniment de un anumit tip, deci sunt atribute ale entității TIP_EVENIMENT. Dacă ar fi memorate în EVENIMENT, ele s-ar repeta identic la fiecare eveniment de același tip.
Relațiile dintre entități și cardinalitatea lor
- FESTIVAL — EVENIMENT, de tip unu la mai mulți (1:n): un festival cuprinde mai multe evenimente, iar un eveniment se desfășoară în cadrul unui singur festival.
- TIP_EVENIMENT — EVENIMENT, de tip unu la mai mulți (1:n): unui tip îi corespund mai multe evenimente, iar un eveniment este de un singur tip.
- LOC — EVENIMENT, de tip unu la mai mulți (1:n): în același loc se pot desfășura mai multe evenimente, iar un eveniment se desfășoară într-un singur loc.
- CATEGORIE_PUBLIC — EVENIMENT, de tip unu la mai mulți (1:n): unei categorii de public îi pot fi adresate mai multe evenimente, iar un eveniment se adresează unei singure categorii.
Respectarea primelor trei forme normale
- FN1 — fiecare atribut memorează o singură valoare atomică, iar fiecare înregistrare este identificată în mod unic. Într-o înregistrare din EVENIMENT se memorează un singur festival, un singur tip, un singur loc și un singur moment de început. Nu se memorează într-un câmp al festivalului lista evenimentelor lui și nici, într-un câmp al tipului, lista normelor sub formă de enumerare.
- FN2 — fiecare atribut care nu face parte din cheie depinde de întreaga cheie primară.
Cheile primare sunt simple, formate dintr-un singur câmp identificator, deci condiția este
îndeplinită: în EVENIMENT,
durata_minutedepinde deid_eveniment, nu de o parte a lui. - FN3 — niciun atribut care nu face parte din cheie nu depinde de un alt atribut necheie.
De aceea
nr_max_participantișivarsta_minimase memorează în TIP_EVENIMENT, nu în EVENIMENT: acolo ar depinde deid_tip, care în EVENIMENT nu este cheie. La fel, adresa și capacitatea spațiului nu se memorează în EVENIMENT, ci în LOC.
Restricții care trebuie impuse
denumireeste unică în FESTIVAL, în TIP_EVENIMENT și în CATEGORIE_PUBLIC.durata_minuteeste un număr natural strict pozitiv, iarvarsta_minimaun număr natural.data_ora_inceputeste obligatorie pentru orice eveniment: fără ea nu se poate determina care tipuri de evenimente nu au fost organizate în ultimii doi ani.id_festivaleste obligatoriu în EVENIMENT: enunțul cere date despre evenimentele „din cadrul unui festival dat”, deci nu există evenimente în afara unui festival.siteeste singurul atribut opțional al festivalului, deoarece enunțul precizează „eventual, adresa site-ului oficial”.
Rezolvarea se poate citi pe educamp.ro, la adresa de mai sus.
S-a încheiat minutul de citit liber.
Ce cuprinde rezolvarea
- Modelul conceptual
- Modelul fizic
- Adăugarea datelor pentru un nou festival
- Cum se obțin cele două informații calculate
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.