Modelarea conceptuală
Tematica
Modele conceptualeModelul ER extins
3PBD –curs- Ionescu Augustin-Iulian2010
Modele conceptuale
Modelul conceptual este 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.
4PBD –curs- Ionescu Augustin-Iulian2010
Modele ale bazelor de date
Modelul bazei de date este o 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.
5PBD –curs- Ionescu Augustin-Iulian2010
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)
6PBD –curs- Ionescu Augustin-Iulian2010
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 fundamentaleEntitate;
Atribut;
Legatură.
Ulterior au fost introduse şi alte concepte:Ierarhie;
Rol;
Agregat.
7PBD –curs- Ionescu Augustin-Iulian2010
Entități şi entitate tip
Se numeşte entitate orice 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ă prinnume;
semantică.
Exemplu: Entităţile tip STUDENT, ADRESA, PRODUS etc.
8PBD –curs- Ionescu Augustin-Iulian2010
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.
9PBD –curs- Ionescu Augustin-Iulian2010
STUDENT
ADRESA
Atribute
Se numeşte atribut orice 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
10PBD –curs- Ionescu Augustin-Iulian2010
Nume
Atribute
Atribut descriptor compus – structurat cu valoare unică
Atribut identificator
11PBD –curs- Ionescu Augustin-Iulian2010
Data_Nastere
ZiLunaAn
CNP
Cod_Produs
Nr_Factura
Data_Emitere
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
12PBD –curs- Ionescu Augustin-Iulian2010
Medii_Anuale
Note
Nota_LucrareCorector
Pret_unitar
Cantitate
Pret
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.
13PBD –curs- Ionescu Augustin-Iulian2010
PERSOANE
EXAMENE
DISCIPLINE
CADRE DIDACTICE
ADRESE
L1
L10
L9
L11
L7
L6
L5L4
L3L2
L8
Certificat_casatorie
Legături si legături tip
Entităţile puse în corespondenţă pe baza unei legături tip formează o realizare 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.
14PBD –curs- Ionescu Augustin-Iulian2010
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
15PBD –curs- Ionescu Augustin-Iulian2010
Locuieste_la
Eliberat_lui
Exemplu – varianta 1
16PBD –curs- Ionescu Augustin-Iulian2010
Sustine
STUDENTI
Data
Id_Examen
Grupa
Stare_Civ
Data_Nastere
Sex
Prenume
Initiala
Nume
CNP
Nr_Leg
Sustine Are_ore_cu
EXAMENE MATERII PROFESORI
Tip_Examen
Sala
Certificat_Casatorie
CNP
Curs
Ore
Semestrul
Nume_Mat
Id_Mat
Planificat_la
Casatorit_Cu
Are_Examen
Studiaza
Prenume
NumeNr_Leg
Proiect
LabSeminar Doctorat
Post
Exemplu – varianta 2
17PBD –curs- Ionescu Augustin-Iulian2010
Sustine
STUDENTISustine Are_ore_cu
EXAMENE MATERII PROFESORI
Certificat_Casatorie
Planificat_la
Casatorit_cu
Are_Examen
Studiaza
STUDENTI
Id_Examen
Grupa
Stare_Civ
Data_Nastere
Sex
Prenume
Initiala
Nume
CNP
Nr_Leg
EXAMENE MATERII PROFESORI
CNP
Curs
Semestrul
Nume_Mat
Prenume
Nume
Proiect
Lab
Seminar
Doctorat
Post
Data
Tip_Examen
Sala
Id_Mat
Ore
Nr_Leg
Exemplu - GLOSAREntitate tip: STUDENT Atribute:
Nr_Leg intreg, 10000<NrLeg<20000, PKNume A(50), NOT NULLInitiala A(6)Prenume A(50), NOT NULLSex A(1) {M,F}, NOT NULL
-- M – masculin-- F – feminin
Data_Nastere zz/ll/aaStare_Civ A(1) {N, C, D,V,M}
-- N – necasatorit-- C – casatorit-- D – divortat-- V – vaduv-- M – mort
Grupa A(5). . .
18PBD –curs- Ionescu Augustin-Iulian2010
Gradul unei legături
Gradul sau aritatea unei 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.
19PBD –curs- Ionescu Augustin-Iulian2010
PERSOANE
ANGAJATI
SECTII
STUDENTI
PROFESORI
Casatorit_cu Este_Sef Proiect_de_An MATERII
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 o participare 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 o participare 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.
20PBD –curs- Ionescu Augustin-Iulian2010
Indicator de participare
21PBD –curs- Ionescu Augustin-Iulian2010
Legatura
E2
E1Participarepartiala
Participaretotala
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.
22PBD –curs- Ionescu Augustin-Iulian2010
Exemplu (completare)
23PBD –curs- Ionescu Augustin-Iulian2010
Preda
STUDENTISustine Are_Ore_cu
EXAMENE MATERII PROFESORI
Certificat_Casatorie
Planificat_la
Casatorit_cu
Are_ExamenStudiaza
M 1
M
M
M
M
M
M
1
1
11
M
M
M 1
Roluri
24PBD –curs- Ionescu Augustin-Iulian2010
Preda
STUDENTISustine Are_Ore_cu
EXAMENE MATERII PROFESORI
Certificat_Casatorie
Planificat_la
Casatorit_cu
Are_ExamenStudiaza
M 1
M
M
M
M
M
M
1
1
11
M
M
M 1
sot sotie
Ierarhii
25PBD –curs- Ionescu Augustin-Iulian2010
Vehicul
camion basculanta autocar
supertip
subtipuri
Vehicul
camion basculanta autocar
Este_un Este_unEste_o
Ierarhii
26PBD –curs- Ionescu Augustin-Iulian2010
STUDENTI
Grupa
Stare_Civ
Data_Nastere
Sex
Prenume
Initiala
Nume
Nr_Leg
Situatie_Mil
Medii_An
PROFESORI
Functie
Data_Nastere
Sex
Prenume
Initiala
Nume
Nr_Leg
Situatie_Mil
Doctorat
AUXILIARI
Vechime
Studii
Varsta
Sex
Prenume
Initiala
Nume
Nr_Leg
Situatie_Mil
Post
CNP
Nr_Lucrari
Vechime
Post
CNP
(1)
(1)
(1)
(1)
(4)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(2)
(3) (2)
(3) (3)
(2)
(1)(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
(4)
Ierarhii
27PBD –curs- Ionescu Augustin-Iulian2010
STUDENTI
Grupa
Medii_An
PROFESORI
Functie
Doctorat
AUXILIARI
Vechime
Studii
Post
CNP
Nr_Lucrari
Vechime
Post
PERSOANE
Prenume
Initiala
Nume
Nr_Leg
Stare_Civ
Data_Nastere
Sex
Situatie_Mil
Ierarhii
28PBD –curs- Ionescu Augustin-Iulian2010
STUDENTI
Grupa
Medii_An
PROFESORI
Functie
Doctorat
AUXILIARI
Vechime
Studii
Post
CNP
Nr_Lucrari
PERSOANE
Prenume
Initiala
Nume
Nr_Leg
Stare_Civ
Data_Nastere
Sex
Situatie_Mil
ANGAJATI
Ierarhii
29PBD –curs- Ionescu Augustin-Iulian2010
Functie
Doctorat
Vechime
Studii
Post
CNP
Nr_Lucrari
PERSOANE
Prenume
Initiala
Nume
Nr_Leg
Stare_Civ
Data_Nastere
Sex
Situatie_Mil
Grupa
Medii_An
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(1)
(2) (1)
(2)
(2)
(2)
(2)
(2)
(3)
(3)
Ierarhii
30PBD –curs- Ionescu Augustin-Iulian2010
PERSOANE
ADRESEADRESA
ANGAJATISTUDENTI
AUXILIARIPROFESORI
Locuieste_la
ADRESE
Locuieste_la
STUDENTI
Locuieste_la Locuieste_la
AUXILIARIPROFESORI
Agregate
31PBD –curs- Ionescu Augustin-Iulian2010
De_la
FIRME
Valoare_Estimata
LUCRARI
Nr_Contract Data_Contract
Termen_Final
Nr_Decizie
ANGAJATI
Supervizeaza
Pana_la
Executa
1
M
M1
Agregate
32PBD –curs- Ionescu Augustin-Iulian2010
De_la
FIRME CONTRACTE
Nr_Decizie
ANGAJATI
Supervizeaza
Pana_la
1
M
M
1
LUCRARI
1Executa
Corectarea modelului ER
33PBD –curs- Ionescu Augustin-Iulian2010
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 sinonime dacă 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.
Corectarea modelului ER
34PBD –curs- Ionescu Augustin-Iulian2010
Se spune că două atribute din entități tip diferite sunt omonime dacă 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.
Corectarea modelului ER
35PBD –curs- Ionescu Augustin-Iulian2010
Î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:
Firme
Produse
Livreaza Cumpara
Firme
Produse
clientfurnizor
marfaachizitii
Livreaza Cumpara
36PBD –curs- Ionescu Augustin-Iulian2010