370 likes | 471 Views
PROIECTAREA BAZELOR DE DATE. Capitolul 3. Modelarea conceptual ă. Tematica. Modele conceptuale Modelul ER extins. Modele conceptuale.
E N D
Capitolul 3 Modelarea conceptuală
Tematica • Modele conceptuale • Modelul ER extins PBD –curs- Ionescu Augustin-Iulian
Modele conceptuale • Modelul conceptualeste alcătuit din conceptele, structurile simbolice şi mecanismele de manipulare a acestor structuri care corespund posibilităţilor de reflectare ale lumii reale privită ca obiect al cunoaşterii. • Înţelegerea modelului ca imagine a capacităţii omului de a reflecta lumea înconjurătoare are cîteva consecinţe deosebit de importante: • Modelul ataşat unui obiect sau fenomen nu este unic. • Modele diferite pot reprezenta acelaşi obiect sau fenomen cu grade de abstractizare, detaliere, precizie diferite. • Modelele au un caracter dinamic. • Modelul trebuie validat prin comparare cu realitatea. • Un model se dovedeşte util numai atunci cînd permite reprezentarea corectă a unor fenomene deja cunoscute precum şi predicţia altor fenomene ce urmează să fie descoperite. PBD –curs- Ionescu Augustin-Iulian
Modele ale bazelor de date • Modelul bazei de dateesteo reuniune de concepte şi structuri simbolice care folosesc mijloacele de descriere a datelor şi mijloacele de manipulare a datelorşi asigură: • identificarea entităţilor despre care se înregistrează informaţie şi atributele acestor entităţi; • identificarea legăturilor logice dintre diverse entităţi; • stabilirea tipului datelor; • precizarea modului de organizare a datelor; • specificarea regulilor de validare a datelor ; • specificarea restricţiilor de utilizare a datelor. PBD –curs- Ionescu Augustin-Iulian
Modele conceptuale ale BD • Sunt reprezentări grafice, relativ uşor de citit şi interpretat. • Nu există standardizare. • Se cunosc peste 1000 de modele. • Principalele modele conceptuale cunoscute: • EER (Extended/Enhanced Entity Relationship Model) • ORM (Object Role Model) • UML (Unified Modeling Language) PBD –curs- Ionescu Augustin-Iulian
Modelul ER (entitate-legatură) extins • Introdus de Peter Chen în 1976; • ER – entity relationship model; • EER – extended entity relationship model; • Se bazează pe 3 concepte fundamentale • Entitate; • Atribut; • Legatură. • Ulterior au fost introduse şi alte concepte: • Ierarhie; • Rol; • Agregat. PBD –curs- Ionescu Augustin-Iulian
Entități şi entitate tip • Se numeşteentitateorice obiect, fenomen sau concept care poate fi deosebit de alte obiecte, fenomene sau concepte asemănătoare prin valorile unor caracteristici numite atribute. • Se numeşte entitate tip (clasă de entităţi) mulţimea entităţilor cu aceaşi structură. • Se caracterizează prin • nume; • semantică. Exemplu:Entităţile tip STUDENT, ADRESA, PRODUS etc. PBD –curs- Ionescu Augustin-Iulian
Entități şi entitate tip • Entitate tip tare – are identificator naturală • Entitate tip slabă – nu are în mod natural identificator sau are semnificaţie numai în legatură cu o entitate tare. PBD –curs- Ionescu Augustin-Iulian
Atribute • Se numeşteatributorice caracteristică a unei entităţi. • Se caracterizează prin • nume • structură • domeniul valorilor. • Pot fi puse ȋn evidență mai multe tipuri de atribute: • Atribut descriptor simplu - nestructurat, cu o singură valoare PBD –curs- Ionescu Augustin-Iulian
Atribute • Atribut descriptor compus – structurat cu valoare unică • Atribut identificator PBD –curs- Ionescu Augustin-Iulian
Atribute • Atribut multivaloare – echivalentul unui vector sau al unei matrice. • Atribut derivat (calculat, virtual) – valoarea poate fi dedusă din valorile altor atribute. Preţ=Cantitate*Preţ_Unitar PBD –curs- Ionescu Augustin-Iulian
Legături si legături tip • Se numeşte legatură tip o corespondenţă ce poate fi pusă în evidenţă între entităţile aceleaşi entităţi tip ori entităţile a două sau mai multe entităţi tip pe baza unui criteriu bine definit. PBD –curs- Ionescu Augustin-Iulian
Legături si legături tip • Entităţile puse în corespondenţă pe baza unei legături tip formează orealizare a legăturii tip (legătură). • Proprietăţile generale ale legăturilor: • Orice legatură are o semantică bine definită; • Orice legatură este bidirecţională; • Orice legatură tip are un nume; • O legatură tip poate fi definită peste una sau mai multe entităţi tip; • Între aceleaşi entităţi tip pot fi definite mai multe legături tip cu semantică diferită; • Pot să existe entităţi ale unei entităţi tip care nu participă la nici o realizare a unei legături tip; • O legatură tip poate să aibă atribute specifice. PBD –curs- Ionescu Augustin-Iulian
Legături si legături tip • Legatura tip • Legătura tip identificatoare – entităţile uneia dintre entitățile tip ce participă la realizarea legăturii nu pot exista decât prin materializarea legăturii PBD –curs- Ionescu Augustin-Iulian
Exemplu – varianta 1 PBD –curs- Ionescu Augustin-Iulian
Exemplu – varianta 2 PBD –curs- Ionescu Augustin-Iulian
Exemplu - GLOSAR • Entitate tip: STUDENT Atribute: Nr_Leg intreg, 10000<NrLeg<20000, PK Nume A(50), NOT NULL Initiala A(6) Prenume A(50), NOT NULL Sex A(1) {M,F}, NOT NULL -- M – masculin -- F – feminin Data_Nastere zz/ll/aa Stare_Civ A(1) {N, C, D,V,M} -- N – necasatorit -- C – casatorit -- D – divortat -- V – vaduv -- M – mort Grupa A(5) . . . PBD –curs- Ionescu Augustin-Iulian
Gradul unei legături • Gradul sauaritateaunei legături exprimă numărul de entităţi tip care participă la realizarea legăturii. • Legături unare – între entităţile aceleaşi entităţi tip; • Legături binare – între entităţile a două entităţi tip; • Legături de grad superior – între entităţile a n≥3 entităţi tip. PBD –curs- Ionescu Augustin-Iulian
Indicator de participare • Indicatorul de participare permite să cunoaştem dacă toate entităţile unei entităţi tip participă la realizările legăturii tip analizate sau există entităţi care nu participă la nici o realizare a acestei legături tip. • Se spune că o entitate tip are oparticipare totalăla realizarea unei legături tip dacă fiecare dintre entitaţile acestei entitaţi tip trebuie să participe la realizarea a cel puţin uneia dintre realizările legăturii tip analizate. • Se spune că o entitate tip are oparticipare parţialăla realizarea unei legături tip dacă cel puţin una dintre entitaţile acestei entitaţi tip nu participă la realizarea a cel puţin uneia dintre realizările legăturii tip analizate. PBD –curs- Ionescu Augustin-Iulian
Indicator de participare PBD –curs- Ionescu Augustin-Iulian
Cardinalitate • Cardinalitatea reprezintă un indicator sintetic privind numărul maxim de entităţi dintr-o entitate tip care participă la realizarea unei legături. • Pentru determinarea valorii acestui indicator pentru entitatea tip Ei, se va raspunde la ȋntrebarea: “care este numărul maxim de entităţi din Ei ce pot fi puse în corespondenţă cu o combinaţie de entităţi ale celorlalte entităţi tip care participă la realizarea legăturii?” Raspunsul poate fi: 1 – cel mult una; M – mai multe. PBD –curs- Ionescu Augustin-Iulian
Exemplu (completare) PBD –curs- Ionescu Augustin-Iulian
Roluri PBD –curs- Ionescu Augustin-Iulian
Ierarhii PBD –curs- Ionescu Augustin-Iulian
Ierarhii PBD –curs- Ionescu Augustin-Iulian
Ierarhii PBD –curs- Ionescu Augustin-Iulian
Ierarhii PBD –curs- Ionescu Augustin-Iulian
Ierarhii PBD –curs- Ionescu Augustin-Iulian
Ierarhii PBD –curs- Ionescu Augustin-Iulian
Agregate PBD –curs- Ionescu Augustin-Iulian
Agregate PBD –curs- Ionescu Augustin-Iulian
Corectarea modelului ER Se elimină numele formate din cuvinte separate , prin concatenarea componentelor cu , eventual, un separator acceptabil- ȋn general sublinierea _. Exemplu: Înlocuim Nume persoana prin Nume_Persoana. Se redenumesc atributele cu nume ambigue sau care nu au nici o semnificație. Exemplu:Nota1, Nota2, Nota3 pot fi ȋnlocuite prin nume care să redea mai bine semnificația fiecărei note: MediaBac, MediaLiceu, NotaExamen. Se spune că două atribute din entități tip diferite sunt sinonimedacă au semantică identica sau foarte apropiată dar nume diferite; se analizează diagrama pentru a pune ȋn evidență sinonimele şi, acolo unde este cazul, acestea se elimină, alegând un nume comun sau nume care scot ȋn evidență legătura semantică. În multe cazuri apariția sinonimelor este legată de existența unei erori de proiectare, indicând o redundanță a datelor. PBD –curs- Ionescu Augustin-Iulian
Corectarea modelului ER Se spune că două atribute din entități tip diferite sunt omonimedacă au semantică diferită dar nume identice; se analizează diagrama pentru a pune ȋn evidență omononimele şi acestea se elimină, redenumind unul dintre atribute. Exemplu: Frecvent, ȋn diverse entități tip se gaseşte atributul Nume, cu semnificații foarte diferite – nume persoane, nume discipline, nume firme etc. Corectarea acestei anomalii se poate face imediat, redenumind atributele: NumePersoana, NumeDisciplina, NumeFirma. Dacă se observă că există entități tip cu structura foarte apropiată, se analizează posibilitatea ȋnlocuirii lor cu o singură entitate tip acoperitoare sau cu o ierarhie. PBD –curs- Ionescu Augustin-Iulian
Corectarea modelului ER În anumite situații, pentru o mai bună reprezentare a semanticii unor legături, se pot genera ierarhii virtuale, distribuind vechile legături la nivel de subtipuri. Exemplu: PBD –curs- Ionescu Augustin-Iulian
Întrebări? PBD –curs- Ionescu Augustin-Iulian