36

PROIECTAREA BAZELOR DE DATE

  • Upload
    gail

  • View
    84

  • Download
    3

Embed Size (px)

DESCRIPTION

PROIECTAREA BAZELOR DE DATE. Capitolul 3. Modelarea conceptual ă. Tematica. Modele conceptuale Modelul ER extins. Modele conceptuale. - PowerPoint PPT Presentation

Citation preview

Page 1: PROIECTAREA  BAZELOR DE DATE
Page 2: PROIECTAREA  BAZELOR DE DATE

Modelarea conceptuală

Page 3: PROIECTAREA  BAZELOR DE DATE

Tematica

Modele conceptualeModelul ER extins

3PBD –curs- Ionescu Augustin-Iulian2010

Page 4: PROIECTAREA  BAZELOR DE DATE

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

Page 5: PROIECTAREA  BAZELOR DE DATE

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

Page 6: PROIECTAREA  BAZELOR DE DATE

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

Page 7: PROIECTAREA  BAZELOR DE DATE

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

Page 8: PROIECTAREA  BAZELOR DE DATE

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

Page 9: PROIECTAREA  BAZELOR DE DATE

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

Page 10: PROIECTAREA  BAZELOR DE DATE

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

Page 11: PROIECTAREA  BAZELOR DE DATE

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

Page 12: PROIECTAREA  BAZELOR DE DATE

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

Page 13: PROIECTAREA  BAZELOR DE DATE

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

Page 14: PROIECTAREA  BAZELOR DE DATE

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

Page 15: PROIECTAREA  BAZELOR DE DATE

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

Page 16: PROIECTAREA  BAZELOR DE DATE

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

Page 17: PROIECTAREA  BAZELOR DE DATE

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

Page 18: PROIECTAREA  BAZELOR DE DATE

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

Page 19: PROIECTAREA  BAZELOR DE DATE

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

Page 20: PROIECTAREA  BAZELOR DE DATE

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

Page 21: PROIECTAREA  BAZELOR DE DATE

Indicator de participare

21PBD –curs- Ionescu Augustin-Iulian2010

Legatura

E2

E1Participarepartiala

Participaretotala

Page 22: PROIECTAREA  BAZELOR DE DATE

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

Page 23: PROIECTAREA  BAZELOR DE DATE

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

Page 24: PROIECTAREA  BAZELOR DE DATE

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

Page 25: PROIECTAREA  BAZELOR DE DATE

Ierarhii

25PBD –curs- Ionescu Augustin-Iulian2010

Vehicul

camion basculanta autocar

supertip

subtipuri

Vehicul

camion basculanta autocar

Este_un Este_unEste_o

Page 26: PROIECTAREA  BAZELOR DE DATE

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)

Page 27: PROIECTAREA  BAZELOR DE DATE

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

Page 28: PROIECTAREA  BAZELOR DE DATE

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

Page 29: PROIECTAREA  BAZELOR DE DATE

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)

Page 30: PROIECTAREA  BAZELOR DE DATE

Ierarhii

30PBD –curs- Ionescu Augustin-Iulian2010

PERSOANE

ADRESEADRESA

ANGAJATISTUDENTI

AUXILIARIPROFESORI

Locuieste_la

ADRESE

Locuieste_la

STUDENTI

Locuieste_la Locuieste_la

AUXILIARIPROFESORI

Page 31: PROIECTAREA  BAZELOR DE DATE

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

Page 32: PROIECTAREA  BAZELOR DE DATE

Agregate

32PBD –curs- Ionescu Augustin-Iulian2010

De_la

FIRME CONTRACTE

Nr_Decizie

ANGAJATI

Supervizeaza

Pana_la

1

M

M

1

LUCRARI

1Executa

Page 33: PROIECTAREA  BAZELOR DE DATE

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.

Page 34: PROIECTAREA  BAZELOR DE DATE

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.

Page 35: PROIECTAREA  BAZELOR DE DATE

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

Page 36: PROIECTAREA  BAZELOR DE DATE

36PBD –curs- Ionescu Augustin-Iulian2010