Sunteți pe pagina 1din 26

Baze de Date

-Modelul Entitate-Legătură(Asociere)
(Entity-Relationship-ER)

Universitatea din Craiova,


Facultatea de Automatica, Calculatoare si Electronica
Modele conceptuale pentru bazele de date
• Modelul reprezintă o colecție integrată de concepte necesare
descrierii:
Datelor
Legăturilor/asocierilor dintre ele
Constrângerilor existente în sistemul analizat.
• Sunt reprezentări grafice, relativ uşor de citit şi interpretat.
• Principalele modele conceptuale cunoscute:
 EER (Extended/Enhanced Entity Relationship Model)
 ORM (Object Role Model)
 UML (Unified Modeling Language)
Modelul ER
• Introdus de Peter Chen în 1976
• Se bazează pe 3 concepte fundamentale
 Entitate;
 Atribut;
 Legatură.
• Ulterior au fost introduse şi alte concepte rezultând modelul ER extins:
 Mostenire
 Specializare
 Generalizare

!!Traducem in romana Relationship = Legatură / Asociere, si nu Relatie,


pentru a nu produce confuzie cu notiunea de Relation din modelul
relational. In modelul relational, Relation traducem relație.
Entitate
• 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 aceeaşi structură.

• Se caracterizează prin
 nume;
 semantică.

Exemplu: Entităţile tip STUDENT, ADRESA, PRODUS etc.


Entitate
• Entitate tip tare – are identificator natural

STUDENT

• Entitate tip slabă – nu are în mod natural identificator sau are


semnificaţie numai în legatură cu o entitate tare.

ADRESA
Atribute
• Se numeşte atribut orice caracteristică a unei entităţi.

• Se caracterizează prin
nume
structură
valoare.
Atribute
• Atribut descriptor simplu - nestructurat, cu o singură valoare.

Nume

• Atribut descriptor compus – structurat cu valoare unică.


Data_Nastere

An Luna Zi

• Atribut identificator

CNP
Atribute
• Atribut multivaloare – echivalentul unui vector sau al unei matrice.

Locatii

• Atribut derivat (calculat, virtual) – valoarea poate fi dedusă din


valorile altor atribute.

Pret

Cantitate
Preţ=Cantitate*Preţ_Unitar
Pret_unitar
Legaturi/Asocieri(relationships)
• Se numeşte legatură o corespondenţă ce poate fi pusă în
evidenţă între mai multe entități pe baza unui criteriu bine
definit.
Legaturi
• Legatura se reprezintă printr-un romb simplu între două sau mai multe entități tari.

Lucreaza_la
• Legătura tip identificatoare se reprezintă printr-un romb dublat – se realizează intre o entitate
tare si o entitate slaba - unele entităţi nu au identificator natural si nu pot exista decât prin
materializarea legăturii.
Gradul unei legaturi
• Gradul unei legături exprimă numărul de entităţi tip care
participă la realizarea legăturii.
• Legături recursive – între entităţile aceleiaş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;
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 entităţile celorlalte entităţi tip care participă la realizarea legăturii ?”

Raspunsul poate fi:

1 – cel mult una;


M – mai multe.
Cardinalitate-Exemple
 Legătura unul la unul (1:1)
Cardinalitate-Exemple
 Legătura unul la multi (1:M)
Cardinalitate-Exemple
 Legătura multi la multi (M:N)
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 entitățile acestei entități tip nu
participă la realizarea a cel puţin uneia dintre realizările legăturii tip
analizate.
Indicator de participare

E1
Participare
partiala

Legatura

Participare
totala

E2
Generalizarea.Specializarea

 Generalizarea

 Din entităţi similare care au mai multe atribute comune se pot crea
superentităţi.

 Aceste superentităţi conţin atributele comune, iar atributele diferite sunt asignate
subentităților. Pentru noile superentităţi se introduc chei primare artificiale.

 Specializarea

 După valorile unor atribute clasificatoare se pot determina clase.

 Un grup de subentităţi reciproc exclusive defineşte o clasă.


Generalizarea

Grad
Specializarea
Moștenirea atributelor

• Subentitate(subclasă) –submulţimea unei alte entităţi, numită


superentitate(superclasă) (Persoana Profesor; Persoana
Student).

• Există o legătură între o subentitate şi o superentitate, numită


ISA, care are cardinalitatea maximă 1:1 şi minimă 1:0.

• Atributele şi legaturile unei superentităţi sunt valabile pentru


orice subentitate
Diferite notații în modelul ER – notația Chen
Diferite notații în modelul ER – notația Crow foot
Modelul ER pentru – Exemplu-Cursuri
Notatia Chen
Bibliografie
1. Fundamentals Of Database Systems , Ramez Elmasri,
Shamkant B. Navathe, Addison-Wesley, 2004.
2. Curs baze de date, Ionescu Augustin, 2008.
3. Database System Concepts, Avi Silberschatz, Henry F.
Korth, S. Sudarshan, McGraw-Hill, 2010.
4. Database Systems: The Complete Book, Hector Garcia-
Molina, Jeff Ullman, and Jennifer Widom, Prentice Hall,
2009.
Tema
1. Realizati diagrama ER pentru o baza de date aleasa de voi. Va
trebui sa aveti legaturi recursive, binare si de grad superior.

S-ar putea să vă placă și