Podcast
Questions and Answers
Care dintre următoarele NU este un beneficiu direct al utilizării modelului Entitate-Asociere (EA) în proiectarea bazelor de date?
Care dintre următoarele NU este un beneficiu direct al utilizării modelului Entitate-Asociere (EA) în proiectarea bazelor de date?
- Standardizarea procesului de normalizare a datelor. (correct)
- Simplificarea comunicării între dezvoltatori și utilizatori.
- Oferirea unei abordări grafice intuitive pentru proiectare.
- Facilitarea proiectării bazelor de date complexe prin segmentare.
Ce reprezintă o entitate slabă în contextul modelului Entitate-Asociere (EA)?
Ce reprezintă o entitate slabă în contextul modelului Entitate-Asociere (EA)?
- O entitate care are mai puține atribute decât alte entități.
- O entitate care nu are atribute descriptive.
- O entitate care nu poate fi identificată în mod unic.
- O entitate a cărei existență depinde de o altă entitate. (correct)
Ce reprezintă gradul unei asocieri în modelul Entitate-Asociere (EA)?
Ce reprezintă gradul unei asocieri în modelul Entitate-Asociere (EA)?
- Numărul de entități care participă la asociere. (correct)
- Importanța asocierii în contextul bazei de date.
- Numărul total de atribute ale asocierii.
- Complexitatea algoritmilor utilizați pentru implementarea asocierii.
Care este diferența principală dintre un atribut de identificare și un atribut de descriere într-o entitate?
Care este diferența principală dintre un atribut de identificare și un atribut de descriere într-o entitate?
Într-o diagramă EA, cum sunt reprezentate entitățile dependente (slabe)?
Într-o diagramă EA, cum sunt reprezentate entitățile dependente (slabe)?
Ce indică conectivitatea într-o asociere din modelul Entitate-Asociere (EA)?
Ce indică conectivitatea într-o asociere din modelul Entitate-Asociere (EA)?
Ce reprezintă obligativitatea unei asocieri în contextul modelului Entitate-Asociere (EA)?
Ce reprezintă obligativitatea unei asocieri în contextul modelului Entitate-Asociere (EA)?
Care dintre următoarele afirmații descrie cel mai bine o ierarhie de incluziune în modelul Entitate-Asociere (EA)?
Care dintre următoarele afirmații descrie cel mai bine o ierarhie de incluziune în modelul Entitate-Asociere (EA)?
Ce reprezintă o asociere ternară în modelul Entitate-Asociere (EA)?
Ce reprezintă o asociere ternară în modelul Entitate-Asociere (EA)?
În transformarea unei diagrame EA în model relațional, ce rol au cheile străine?
În transformarea unei diagrame EA în model relațional, ce rol au cheile străine?
Când este adecvat să folosim o ierarhie de generalizare în modelul EA?
Când este adecvat să folosim o ierarhie de generalizare în modelul EA?
Care este scopul aplicării criteriilor de modelare în crearea unei diagrame EA?
Care este scopul aplicării criteriilor de modelare în crearea unei diagrame EA?
Care dintre următoarele este un dezavantaj al utilizării identificatorilor compuși într-un model Entitate-Asociere (EA)?
Care dintre următoarele este un dezavantaj al utilizării identificatorilor compuși într-un model Entitate-Asociere (EA)?
Când ar trebui să reclasificăm un atribut multivaloric ca entitate separată în modelul EA?
Când ar trebui să reclasificăm un atribut multivaloric ca entitate separată în modelul EA?
De ce este important să se evite asocierile redundante într-un model Entitate-Asociere?
De ce este important să se evite asocierile redundante într-un model Entitate-Asociere?
Ce regulă ar trebui urmată atunci când identificatorul unei entități este compus din mai multe atribute, toate fiind identificatori în alte entități?
Ce regulă ar trebui urmată atunci când identificatorul unei entități este compus din mai multe atribute, toate fiind identificatori în alte entități?
Care este un criteriu esențial pentru determinarea conectivității corecte într-o relație stabilită printr-o asociere, între două entități?
Care este un criteriu esențial pentru determinarea conectivității corecte într-o relație stabilită printr-o asociere, între două entități?
Cum influențează alegerea obligativității ramurilor unei asocieri procesul de transformare al modelului EA în modelul relațional?
Cum influențează alegerea obligativității ramurilor unei asocieri procesul de transformare al modelului EA în modelul relațional?
Într-un scenariu în care se constată că o asociere de tip multi-multi între două entități induce o complexitate inutilă în model, care ar fi cea mai bună strategie de abordare?
Într-un scenariu în care se constată că o asociere de tip multi-multi între două entități induce o complexitate inutilă în model, care ar fi cea mai bună strategie de abordare?
Un arhitect de baze de date se confruntă cu modelarea unei relații complexe, mai exact: un student poate fi înscris la mai multe cursuri, fiecare curs poate avea mai mulți profesori, iar fiecare profesor poate conduce mai multe cursuri. Modelarea inițială propune o asociere ternară între entitățile STUDENT, CURS și PROFESOR. Ce recomandare ați face pentru a optimiza această structură și a reduce complexitatea modelului, având în vedere criteriile de modelare?
Un arhitect de baze de date se confruntă cu modelarea unei relații complexe, mai exact: un student poate fi înscris la mai multe cursuri, fiecare curs poate avea mai mulți profesori, iar fiecare profesor poate conduce mai multe cursuri. Modelarea inițială propune o asociere ternară între entitățile STUDENT, CURS și PROFESOR. Ce recomandare ați face pentru a optimiza această structură și a reduce complexitatea modelului, având în vedere criteriile de modelare?
Flashcards
Modelul Entitate-Asociere (EA)
Modelul Entitate-Asociere (EA)
Un model de date folosit în proiectarea conceptuală a bazelor de date, transformabil în model relational.
Entități
Entități
Modelează clase de obiecte concrete sau abstracte despre care se colectează informații; au existență independentă.
Entitatea
Entitatea
Obiect generic care reprezintă mulțimea tuturor instanțelor sale. Poate fi independentă sau dependentă.
Entități Independente
Entități Independente
Signup and view all the flashcards
Entități Dependente
Entități Dependente
Signup and view all the flashcards
Atribute
Atribute
Signup and view all the flashcards
Atribute de identificare
Atribute de identificare
Signup and view all the flashcards
Atribute de descriere
Atribute de descriere
Signup and view all the flashcards
Asocieri
Asocieri
Signup and view all the flashcards
Gradul Asocierii
Gradul Asocierii
Signup and view all the flashcards
Conectivitatea
Conectivitatea
Signup and view all the flashcards
Obligativitatea
Obligativitatea
Signup and view all the flashcards
Ierarhia de incluziune
Ierarhia de incluziune
Signup and view all the flashcards
Ierarhia de generalizare
Ierarhia de generalizare
Signup and view all the flashcards
Atributele asocierilor
Atributele asocierilor
Signup and view all the flashcards
Prima regula de modelare
Prima regula de modelare
Signup and view all the flashcards
Atributele multivalorice
Atributele multivalorice
Signup and view all the flashcards
Asocierile a doua entitati
Asocierile a doua entitati
Signup and view all the flashcards
Atribut
Atribut
Signup and view all the flashcards
Rolul
Rolul
Signup and view all the flashcards
Study Notes
- Cursul nr. 4 se concentrează pe modelul entitate-asociere (EA).
- Sunt descrise elementele modelului EA, extensiile acestuia, caracteristicile elementelor, criteriile de modelare, transformarea diagramelor EA în MR.
Modelul Entitate-Asociere (EA)
- Este un model de date utilizat în proiectarea conceptuală de nivel înalt a bazelor de date.
- Poate fi transformat în model relațional prin aplicarea unor reguli specifice.
- Modelul EA este o abordare grafică a proiectării bazelor de date, adoptată datorită simplității și expresivității sale.
- A fost introdus de P.P. Chen în 1976 și a fost utilizat de diverse sisteme CASE (Computer-Aided Software Engineering).
- Înainte de aceste metodologii, se pornea de la tabele și dependențe, ajungându-se la schema bazei de date dorite prin normalizare.
- Abordarea bottom-up este dificilă în cazul bazelor de date complexe.
- Utilizarea modelului EA reduce probabilitatea apariției anomaliilor în exploatarea aplicațiilor.
- Permite găsirea unor căi moderne de proiectare a bazelor de date.
- Este intuitiv și simplu, dar și flexibil, având variante create prin abstractizări și generalizări ulterioare.
- Extensiile modelului EA permit modelarea cerințelor de secretizare, elaborarea documentației, ușurarea comunicării și proiectarea bazelor de date complexe.
- Prin aplicarea modelului EA, se obține o diagramă entitate-asociere care poate fi translatată în modelul de date utilizat de sistemul de gestiune a bazei de date.
- Este independent de modelele folosite de sistemele de gestiune a bazelor de date.
- Există algoritmi stabiliți pentru transformarea din modelul EA în alte modele.
- Rezultatul modelării este o diagramă ce definește datele stocate și interdependențele.
- Proiectarea se poate face modular, diagramele parțiale fiind apoi integrate. Este ușor de înțeles și interpretat.
Elementele Modelului EA
- Reprezintă structura bazelor de date prin entități, atribute ale entităților și asocieri între entități.
- Entitățile modelează clase de obiecte concrete sau abstracte cu existență independentă, identificabile unic.
- Entitățile definesc obiecte sau evenimente cu importanță informațională, iar membrii claselor sunt instanțe.
- Exemple de entități includ Studenți, Produse și Facturi.
- Entitățile pot fi independente (tari) sau dependente (slabe), fiind un obiect generic ce reprezintă mulțimea tuturor instanțelor sale.
- Entitățile independente au existență independentă de alte entități.
- Entitățile dependente își justifică existența doar în prezența unei alte entități (tata). Notele sunt dependente de existența unui student în facultate.
Atributele
- Modelează proprietăți atomice distincte ale entităților, fiind semnificative pentru aplicația respectivă.
- Entitatea STUDENTI poate avea atribute ca Matricol, Nume, CNP și Grupa.
- Caracteristici ca Talia nu sunt luate în considerare.
- Atributele pot fi de identificare sau de descriere.
- Cele de identificare permit identificarea unică a instanțelor unei entități (ex., Matricol la Studenți).
- Cele de descriere (descriptori) specifică informații suplimentare despre instanțe.
Asocierile
- Modelează interdependențele dintre clasele de obiecte reprezentate prin entități.
- Între Studenți și Facultăți poate exista asocierea Înscris_la.
- În crearea diagramei, se iau în considerare doar interdependențele necesare aplicației. Nu se vor lua in considerare alte tipuri de asocieri.
- Entitățile se reprezintă prin dreptunghiuri (linie dublă pentru cele slabe).
- Atributele se reprezintă prin cercuri sau ovale conectate la entitate cu un segment de dreaptă.
- Atributele de identificare sunt subliniate.
- Asocierile se reprezintă prin romburi (pentru două entități) sau poligoane regulate (pentru mai multe entități), conectate prin segmente de dreaptă.
Extensii ale Modelului Entitate-Asociere
- Sunt motivate de limitările modelului clasic în modelarea caracteristicilor subclaselor.
- Se adaugă ierarhia de generalizare și ierarhia de incluziune.
- Ierarhia de generalizare partitionează instantele unei entitati in n subclase diferite.
- Ierarhia de incluziune permite clasarea unora dintre instantele unei entitati in k subclase ce nu reprezinta o partitie in sens matematic.
- O entitate Ek este o submultime a entitatii E daca Ek este inclusa in E, adica fiecare instanta a lui Ex este de asemenea o instanta a lui E.
- Un exemplu de incluziune consta in definirea in cadrul entitatii ANGAJATI a unor subclase modelate prin entitatile INGINERI, ECONOMISTI si COLABORATORI.
- În ierarhia de incluziune, entitățile fiu pot să nu fie disjuncte, iar reuniunea lor poate să nu acopere întreaga entitate tată.
- O entitate E este generalizarea entitatilor E1, E2, ..., En daca orice instanta a lui E este de asemenea instanta in una, si numai una, dintre entitatile E1, E2, ..., En.
- Un exemplu de generalizare este clasarea instantelor entitatii ANGAJATI in subclasele BARBATI si FEMEI.
- Entitățile fiu reprezintă o partiție a entității tată (E₁ ∪ E₂ ∪...∪ Eₙ = E). Intersecția dintre Eᵢ și Eⱼ este mulțimea vidă pentru orice i diferit de j din intervalul 1..n.
- Ierarhiile de incluziune și generalizare se folosesc doar dacă subclasele necesită stocarea unor informații suplimentare specifice.
- Se prezintă un exemplu cu o bază de date de personal unde trebuie specificat numărul de copii ai fiecărui angajat.
- Se poate adăuga un atribut Numar_copii la entitatea ANGAJATI.
- Se poate crea o entitate suplimentară COPII, aflată într-o relație de incluziune cu entitatea ANGAJATI.
- Varianta a doua este preferabilă dacă este nevoie de informații suplimentare despre copii sau dacă numărul angajaților cu date specifice este mic. Permite o economie de spațiu pe disc.
Caracteristici ale Elementelor Modelului
- Asocierile au caracteristici care aduc informatii suplimentare, cum ar fi Gradul asocierii.
- Gradul asocierii este o valoare numerică întreagă, reprezentând numărul de entități participante.
- Asocierile de grad 1, 2 și 3 se numesc unare, binare și ternare.
- Un exemplu este o bază de date cu studenți, proiecte, calculatoare și facultăți, unde unii studenți au un tutor.
Asocieri specifice
- Asocierea Tutor este unară, implicând doar entitatea STUDENTI și indicând tutorul fiecărui student.
- Asocierea Înscris_la este binară, implicând STUDENTI și FACULTATI, indicând facultatea studentului.
- Asocierea Alocare este ternară, implicând STUDENTI, PROIECTE și CALCULATOARE, modelând resursele alocate (ore de lucru).
- Se prezintă un exemplu de asociere de grad mai mare ca trei, orarul unui an de studiu.
- Sunt implicate GRUPE (cod unic), SALI (indicativ alfanumeric), ORE (triplet: Zi, De la ora, La ora), ACTIVITATE (curs, seminar, proiect) și PROFESOR (titular).
- Modelarea presupune stocarea și a altor informații despre ele.
- Diagrama EA modelează programarea activităților didactice efectuate de profesori pe intervale orare, în săli și grupe.
Conectivitatea Asocierii
- Este specifică fiecărei ramuri și poate fi unu sau multi.
- Se determină alegând o entitate E, fixând o entitate F și determinând câte instanțe din F se pot conecta cu o instanță din E.
- Dacă se poate conecta cel mult o instanță, ramura este unu, altfel, este multi. Verificarea se face în ambele sensuri.
- Asocierea Tutor poate fi unu-unu sau multi-unu.
- Asocierea Înscris_la poate fi multi-unu sau multi-multi.
- Se analizează ramurile STUDENTI (multi), PROIECTE (unu) și CALCULATOARE (unu). Deci, asocierea Alocare este multi-unu-unu.
- Aceeași asociere poate avea conectivități diferite în cazuri diferite.
Obligativitatea Asocierii
- Se determină pentru fiecare ramură și poate fi obligatorie sau opțională.
- Se alege o ramură spre o entitate E, se fixează o entitate F și se verifică dacă este obligatoriu să existe o instanță a Entitatii E asociată cu o instanță din F. Raspunsul poate fi doar da sau nu.
- Dacă da, ramura este obligatorie, altfel, este opțională.
- În exemplul anterior, ramurile Tutor și Alocare sunt optionale, Inscris_la este obligatorie.
- Reprezentarea grafică implică linie continuă pentru ramurile obligatorii și linie întreruptă pentru cele opționale.
- Obligativitatea se modelează pentru definirea unui criteriu de integritate. Atributele tabelelor relaționale pot avea sau nu valori nule.
Atributele Asocierilor
- Uneori, o informație descriptivă este asociată mai multor clase de obiecte.
- În acest caz, aceasta va fi modelată ca un atribut al asocierii dintre entitățile respective.
- Se prezintă exemplul asocierii A_absolvit (multi-multi) între STUDENTI și FACULTATI.
- Informații precum anul absolvirii, media și specializarea nu pot fi conectate nici la STUDENTI, nici la FACULTATI, ci descriu asocierea lor.
- Toate atributele unei asocieri sunt atribute descriptive, fără identificator.
- Rolul: unei asocieri pornesc mai multe ramuri catre aceeasi entitate, fiecareia dintre acestea i se poate asocia un rol.
- Rolul arata semnificatiile pe care le are aceeasi entitate in cadrul asocierii respective.
- În cazul asocierii Tutor (tutor și discipol), ce arată instanțe diferite ale aceleiași entități având roluri diferite.
Criterii de Modelare
- Deși definițiile sunt simple, clasificarea informațiilor poate fi dificilă.
- Pentru sediile unei bănci, Orase pot fi entitate distinctă sau atribut descriptiv al entitatii SEDII.
- Entitățile au informații descriptive, atributele nu.
- Dacă există informații descriptive despre o clasă de obiecte, va fi modelată ca entitate. Dacă este nevoie doar de identificator, va fi modelată ca atribut.
- Dacă pentru un oraș este necesară stocarea judetului, a străzilor, etc., va fi o entitate. Dacă este nevoie doar de nume, va fi un atribut al altei entități.
- Atributele multivalorice vor fi reclasificate ca entități.
- Dacă la o valoare a unui identificator corespund mai multe valori ale unui descriptor, acesta va fi clasat ca entitate.
- Într-o bază de date cu bănci, dacă se stochează doar bănci cu un singur sediu, Localitate este atribut al entității BANCI.
- Reclasificarea se aplică adesea relațiilor multi-unu.
Integrarea Vederilor
- În cazul proiectării bazelor de date complexe, activitatea se desfășoară uneori de către mai multe colective simultan, fiecare modelând o porțiune distinctă a bazei de date.
- Fiecare colectiv modelează o porțiune distinctă a bazei de date. Diagramele rezultate sunt integrate, redundantele și inconsistentele sunt eliminate.
Transformarea Diagramelor EA în MR
- transformarea asocierilor unare si binare unu-unu si multi-unu vor imbogati atributele descriptive ale uneia dintre cele doua scheme rezultate din entitatile asociate, cu cheia celeilalte scheme.
- In cazul asocierilor multi-unu, identificatorul entitatii unu se adauga in entitatea multi.
- se poate alege schema in care se face adaugarea se poate face dupa doua criterii: In schema cu cele mai putine tupluri sau in filiatia naturala dintre cele doua entitati.
- in cazul asocierilor unare si binare la schema de relatie se ataseaza una sau doua dependente functionale primare.
- Transformarea asocierilor unare si binare multi-multi si a celor de grad mai mare decat doi: Fiecare asociere binara multi-multi si fiecare asociere cu grad mai mare decat doi se transforma intr-o schema de relatie.
Bibliografie
- Florin Radulescu, Rezumatul bibliografiei in domeniu (materialul de studiu cursul nr. 4)
- Florin Radulescu, Alexandru Boicea, Baze de date online, Editura Oamenilor de Stiinta din Romania, 2011
- Alexandru Boicea, Baze de date – Note de curs, Universitatea Politehnica din Bucuresti
- Alexandru Boicea, Oracle SQL, SQL*Plus, Editura Printech, 2007
- Mircea Stelian Petrescu, Baze de date I, Baze de date II – Note de curs
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.