PROIECTAREA BAZELOR DE DATE

Download Report

Transcript PROIECTAREA BAZELOR DE DATE

Modelarea
conceptuală
Tematica
 Modele conceptuale
 Modelul ER extins
2010
PBD –curs- Ionescu Augustin-Iulian
3
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.
2010
PBD –curs- Ionescu Augustin-Iulian
4
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.
2010
PBD –curs- Ionescu Augustin-Iulian
5
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)
2010
PBD –curs- Ionescu Augustin-Iulian
6
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.
2010
PBD –curs- Ionescu Augustin-Iulian
7
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ă prin
nume;
semantică.
Exemplu: Entităţile tip STUDENT, ADRESA, PRODUS etc.
2010
PBD –curs- Ionescu Augustin-Iulian
8
Entități şi entitate tip
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
2010
PBD –curs- Ionescu Augustin-Iulian
9
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
Nume
2010
PBD –curs- Ionescu Augustin-Iulian
10
Atribute
Atribut descriptor compus – structurat cu valoare unică
Data_Nastere
An
Luna
Zi
Atribut identificator
CNP
Data_Emitere
Nr_Factura
Cod_Produs
2010
PBD –curs- Ionescu Augustin-Iulian
11
Atribute
Atribut multivaloare – echivalentul unui vector sau al unei matrice.
Note
Medii_Anuale
Corector
Nota_Lucrare
Atribut derivat (calculat, virtual) – valoarea poate fi dedusă din valorile altor
atribute.
Pret
Cantitate
Pret_unitar
2010
Preţ=Cantitate*Preţ_Unitar
PBD –curs- Ionescu Augustin-Iulian
12
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.
L9
EXAMENE
Certificat_
casatorie
L4
L1
L7
L5
L8
PERSOANE
L2
L3
ADRESE
2010
DISCIPLINE
L6
CADRE
DIDACTICE
L10
L11
PBD –curs- Ionescu Augustin-Iulian
13
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.
2010
PBD –curs- Ionescu Augustin-Iulian
14
Legături si legături tip
Legatura tip
Locuieste_la
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
Eliberat_lui
2010
PBD –curs- Ionescu Augustin-Iulian
15
Exemplu – varianta 1
Curs
Nume_Mat
Id_Examen
Sala
Data
Id_Mat
Doctorat
Lab
Semestrul
CNP
Tip_Examen
EXAMENE
Seminar
Proiect
Ore
Planificat_la
Prenume
Nume
Nr_Leg
Sustine
MATERII
Post
PROFESORI
Are_Examen
Certificat_
Casatorie
Studiaza
Casatorit_Cu
Sustine
CNP
Nr_Leg
2010
Are_ore_cu
STUDENTI
Initiala
Nume
Sex
Prenume
Stare_Civ
Data_Nastere
PBD –curs- Ionescu Augustin-Iulian
Grupa
16
Exemplu – varianta 2
STUDENTI
EXAMENE
MATERII
Id_Examen
Nr_Leg
Id_Mat
Data
Nr_Leg
Nume_Mat
Sala
CNP
PROFESORI
CNP
Nume
Semestrul
Tip_Examen
Prenume
Nume
Ore
Doctorat
Initiala
Post
Prenume
Lab
Curs
Seminar
Proiect
Sex
Data_Nastere
Stare_Civ
Grupa
EXAMENE
Planificat_la
MATERII
Sustine
PROFESORI
Are_Examen
Certificat_
Casatorie
Studiaza
Casatorit_cu
Sustine
2010
STUDENTI
PBD –curs- Ionescu Augustin-Iulian
Are_ore_cu
17
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)
. . .
2010
PBD –curs- Ionescu Augustin-Iulian
18
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.
2010
ANGAJATI
STUDENTI
Casatorit_cu
Este_Sef
Proiect_de_An
PERSOANE
SECTII
PROFESORI
PBD –curs- Ionescu Augustin-Iulian
MATERII
19
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.
2010
PBD –curs- Ionescu Augustin-Iulian
20
Indicator de participare
E1
Participare
partiala
Legatura
Participare
totala
E2
2010
PBD –curs- Ionescu Augustin-Iulian
21
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.
2010
PBD –curs- Ionescu Augustin-Iulian
22
Exemplu (completare)
M
EXAMENE
M
Planificat_la
M
MATERII
1
Preda
1 PROFESORI
1
M
M
Studiaza
Are_Examen
1
Certificat_
Casatorie
M
Casatorit_cu
1
Sustine
1
M
M
STUDENTI
M
Are_Ore_cu
M
2010
PBD –curs- Ionescu Augustin-Iulian
23
Roluri
M
EXAMENE
M
Planificat_la
M
MATERII
1
Preda
1 PROFESORI
1
M
M
Studiaza
Are_Examen
1
Certificat_
Casatorie
sot
1
Sustine
M
Casatorit_cu
sotie
1
M
M
STUDENTI
M
Are_Ore_cu
M
2010
PBD –curs- Ionescu Augustin-Iulian
24
Ierarhii
Vehicul
camion
supertip
basculanta
autocar
subtipuri
Vehicul
2010
Este_un
Este_o
Este_un
camion
basculanta
autocar
PBD –curs- Ionescu Augustin-Iulian
25
Ierarhii
STUDENTI
AUXILIARI
Nr_Leg
(1)
Nr_Leg
(1)
Nr_Leg
(1)
Nume
(1)
CNP
(3)
CNP
(3)
Initiala
(1)
Nume
(1)
Nume
(1)
Prenume
(1)
Initiala
(1)
Initiala
(1)
(1)
Prenume
(1)
Prenume
(1)
Sex
Data_Nastere
2010
PROFESORI
(2)
Stare_Civ
(3)
Situatie_Mil
(1)
Medii_An
Grupa
Sex
Data_Nastere
(1)
Sex
(1)
(2)
Varsta
(2)
Doctorat
(4)
Studii
(4)
(4)
Situatie_Mil
(1)
Situatie_Mil
(1)
(4)
Nr_Lucrari
(4)
Post
(4)
Functie
(4)
Vechime
(4)
Post
(4)
Vechime
(4)
PBD –curs- Ionescu Augustin-Iulian
26
Ierarhii
Nr_Leg
Sex
CNP
Data_Nastere
Nume
PERSOANE
Initiala
Situatie_Mil
Prenume
STUDENTI
Stare_Civ
PROFESORI
Medii_An
AUXILIARI
Studii
Doctorat
Grupa
Vechime
Post
Vechime
Nr_Lucrari
Functie
Post
2010
PBD –curs- Ionescu Augustin-Iulian
27
Ierarhii
Nr_Leg
Sex
CNP
Data_Nastere
Nume
PERSOANE
Stare_Civ
Initiala
Situatie_Mil
Prenume
Functie
STUDENTI
ANGAJATI
Post
Medii_An
Vechime
Grupa
PROFESORI
Doctorat
AUXILIARI
Studii
Nr_Lucrari
2010
PBD –curs- Ionescu Augustin-Iulian
28
Ierarhii
(1)
(1)
Nr_Leg
Sex
CNP
(1)
Data_Nastere (1)
(1)
Nume
(1)
Initiala
(1)
2010
Prenume
PERSOANE
Functie
(2)
Post
(2)
Vechime
(2)
Studii
(2)
Doctorat
(2)
Nr_Lucrari
(2)
Medii_An
(3)
Grupa
(3)
PBD –curs- Ionescu Augustin-Iulian
Stare_Civ
(1)
Situatie_Mil
(1)
29
Ierarhii
STUDENTI
ADRESA
ADRESE
Locuieste_la
Locuieste_la
ADRESE
PERSOANE
Locuieste_la
Locuieste_la
PROFESORI
AUXILIARI
2010
STUDENTI
PBD –curs- Ionescu Augustin-Iulian
ANGAJATI
PROFESORI
AUXILIARI
30
Agregate
ANGAJATI
1
Nr_Decizie
De_la
Supervizeaza
Pana_la
M
Data_Contract
Nr_Contract
FIRME
1
Executa
Termen_Final
2010
M
LUCRARI
Valoare_Estimata
PBD –curs- Ionescu Augustin-Iulian
31
Agregate
ANGAJATI
1
Nr_Decizie
De_la
Supervizeaza
Pana_la
M
LUCRARI
M
FIRME
2010
1
Executa
PBD –curs- Ionescu Augustin-Iulian
1
CONTRACTE
32
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 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.
2010
PBD –curs- Ionescu Augustin-Iulian
33
Corectarea modelului ER
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.
2010
PBD –curs- Ionescu Augustin-Iulian
34
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:
Firme
Firme
Livreaza
Cumpara
furnizor
client
Livreaza
Cumpara
achizitii
marfa
Produse
Produse
2010
PBD –curs- Ionescu Augustin-Iulian
35
2010
PBD –curs- Ionescu Augustin-Iulian
36