Sunteți pe pagina 1din 35

M.

Danubianu - Baze de date 1


BAZE DE DATE
CURS 3
Modele de date i modelare
conceptual
M. Danubianu - Baze de date 2
Abstractizarea
const n neglijarea aspectelor nerelevante i concentrarea asupra
proprietilor care prezint interes dintr-un anumit punct de vedere.
este legat de criteriul de relevan prin procesul de abstractizare se
rein acele aspecte care sunt relevante pentru un anumit scop.
se folosete pentru a obine categorii de date sau pentru a combina
categorii de date n categorii mai generale.
poate fi fcut pe mai multe nivele, tipurile de pe un nivel constituind
obiecte pentru nivelul superior de abstractizare
iererhii de tipuri.
dou tipuri de abstractizare:
generalizarea
agregarea.
M. Danubianu - Baze de date 3
Generalizarea
asociaz unei mulimi de obiecte sau unei mulimi
de tipuri un singur tip generic.
sunt scoase n eviden similitudinile dintre obiecte sau
tipuri i sunt neglijate diferenele dintre acestea
dou categorii de generalizare:
obiect-tip sau clasificare;
tip-tip sau generalizarea propriu-zis.
opusul procesului de clasificare este instanierea,
specializarea este opusul generalizrii propriu-zise
ierarhii de generalizare.
M. Danubianu - Baze de date 4
Agregarea
form de abstractizare prin care un obiect este construit din
prile sale componente.
Se poate aplica att la nivelul tipurilor ct i al valorilor
individuale.
permite punerea n eviden a structurii unui obiect n
mod gradat
arat modul n care prile constituente se raporteaz la acesta,
indic relaiile dintre aceste pri componente.
ierarhii de agregare.
Prin combinrea celor dou tipuri de abstractizare se poate
exprima att clasificarea obiectelor i tipurilor, ct i
structura lor.
M. Danubianu - Baze de date 5
Modele de date i modelarea conceptual
Modelul de date - colecie integrat de concepte, necesare descrierii
datelor, relaiilor dintre date i constrngerilor asupra datelor dintr-o
organizaie.
Scop:
s fie reprezentat ct mai fidel situaia din lumea real;
datele s fie adaptate reprezentrii i prelucrrii pe calculator.
un model de date se compune din trei pri:
o parte structural care const dintr-un set de reguli conform creia sunt
constituite bazele de date ;
o parte de manipulare care definete tipurile de operaii care sunt permise
asupra datelor ( operaii de reactualizare sau regsire a datelor din bazele de
date, operaii de modificare a structurii bazei de date, etc.) ;
un set de reguli de integritate care garanteaz c datele sunt corecte
Arhitectura ANSI/SPARC poate fi reflectat prin trei modele de date legate
ntre ele :
un model de date extern, pentru a reprezenta vederea fiecrui utilizator asupra
organizaiei ( denumit uneori Universul Discursului)
un model de date conceptual pentru a reprezenta nivlul logic (sau general) care
este independent de sistemul SGBD ;
un model de date intern, pentru a reprezenta schema conceptual astfel nct s
poat fi neleas de sistemul SGBD.
M. Danubianu - Baze de date 6
Modele de date - clasificare
strict tipizate : fiecare dat trebuie s aparin unei categorii.
Dezavantaj Dezavantaj: lipsa de flexibilitate, dificultatea reprezentrii
deosebirilor semantice mai subtile.
Avantaj Avantaj: :proprietile datelor pot fi abstractizate i cercetate n termenii
categoriilor crora le aparin bazat pe aceste categorii se poate
formula o teorie care cuprinde proprietile datelor.
stau la baza proiectrii SGBD-urilor.
slab tipizate: nu fac nici o presupunere legat de categorii.
categoriile sunt permise n msura n care sunt utile, dar datele
individuale pot exista prin ele nsele i pot fi legate de alte date.
modele de date bazate pe obiecte: utilizeaz concepte cum ar fi :
entitile, atributele i relaiile (modelul ER, UML)
modele de date bazate pe nregistrri: baza de date const dintr-un
numr de nregistrri cu format fix, posibil de tipuri diferite. Fiecare tip
de nregistrare definete un numr fix de cmpuri, fiecare cmp avnd
de obicei o lungime fix (modelul ierarhic, modelul reea i modelul
relaional)
modele de date fizice.
M. Danubianu - Baze de date 7
Model conceptual
Un model conceptual sau schem, cuprinde :
numele categoriilor
proprietile acestora i
legturile dintre categorii.
Orice model conceptual este o descriere a unei
structuri de date
Regulile dup care este construit un model
conceptual sunt definite n cadrul unui model de
date.
M. Danubianu - Baze de date 8
Entiti, legturi ntre entiti
Modelul conceptual cuprinde descrierea tuturor entitilor unei baze de date
mpreun cu toate legturile existente ntre ele.
entitate este un coninut de sine stttor, o realitate obiectiv care exist prin
ea nsi.
este caracterizat prin proprietile sale, reprezentate prin atribute.
In cadrul diferitelor modele de date intervin dou forme de structurare a
datelor:
prima form de structurare a datelor se refer la modalitatea de asociere a
atributelor pentru a forma descrierile tipurilor de entiti crora le aparin.
Intre mulimile de entiti dintr-o baz de date exist diferite legturi (relaii),
care trebuie descrise n modelul conceptual al bazei de date.
a doua form de structurare a datelor se refer la modul n care sunt reprezentate
legturile existente ntre diferitele mulimi de entiti ale bazei de date.
Modelele de date difer ntre ele prin modul n care se poate realiza
reprezentarea legturilor dintre mulimi i entiti.
M. Danubianu - Baze de date 9
Tipurile de legturi
1:1
1:N
M:N
1
2
3
a
b
c
d
1
2
3
a
b
c
d
1
2
3
a
b
c
d
- unei entiti din M
1
i corespunde o
singur entitate din M
2
i reciproc (rel.
de tip so-soie);
- unei entiti din M
1
i corespund una
sau mai multe entiti din M
2
, dar
fiecrei entiti din M
2
i corespunde o
singur entitate din M
1
( relaie de tip
tat-fiu)
relaie M:N cnd unei entiti din M
1
i
corespund una sau mai multe entiti
din M
2
i reciproc (relaie de tip
prieten-prieten)
M
1
M
2
M. Danubianu - Baze de date 10
Modelul Entitate Relaie
M. Danubianu - Baze de date 11
Elemente de proiectare a bazelor de date
Modelarea conceptual a datelor
Modelul entitate relaie
Etapele proiectrii bazelor de date
Proiectarea conceptual a bazelor de date cu ajutorul modelului ER
Modelul entitate-relaie
Elementele modelului ER
Entiti, tipuri de entiti
legturi (asocieri, relaii), tipuri de legturi
atribute
Subclasele n modelul ER
Trecerea de la diagrama ER la schema relaional
Entiti slabe n diagrama ER
M. Danubianu - Baze de date 12
Etapele proiectrii bazelor de date
1) Analiza solicitrilor
Ce date, aplicaii i operaii sunt necesare
2) Proiectarea Conceptual a bazei de date:
Descrierea la nivel nalt a datelor i constrngerilor dintre
acestea utiliznd modelul ER sau un model similar de nivel nalt
3) Proiectarea Logic a bazei de date:
Convertirea modelului conceptual ntr-o schem de baze de
date
4) Rafinarea schemei
Normalizarea relaiilor: controlul schemei din punct de vedere
al redundanei i a anomaliilor asociate acesteia.
5) Proiectarea fizic a bazei de date:
Indexare, grupare (clustering) ...
6) Proiectarea sistemului de securitate :
Identificarea diferitelor grupuri de utilizatori i a rolurilor
acestora
M. Danubianu - Baze de date 13
Proiectarea conceptual a bazei de date
Probleme ale proiectrii conceptuale: ( etap n care
se utilizeaz modelul ER)
Care sunt entitile i legturile dintre acestea n ntreprindere
(organizaie)?
Ce informaii despre aceste entiti i legturi vor fi memorate n
baza de date?
Ce constrngeri de integritate i ce reguli de afacere trebuie luate
n considerare?
Cum se reprezint grafic schema bazei de date ( diagrama ER).
Cum se transpune diagrama ER ntr-o schem relaional?
M. Danubianu - Baze de date 14
Modelul Entitate-Relaie
Model de date conceptual de nivel nalt
Dezvoltat de Chen (1976)
Model de date conceptual - set de concepte care
descriu structura unei baze de date precum i
tranzaciile de regsire i de reactualizare asociate.
Idee Model ER
Schema
relaional
SGBD
relaional
M. Danubianu - Baze de date 15
Elementele modelului ER
tipurile de
entiti
tipurile de
legturi
(asocieri, relaii)
atributele
M. Danubianu - Baze de date 16
Diagrama ER
Este un graf:
nodurile reprezint tipuri de entiti, tipuri de
legturi i atribute,
arcele leag tipurile de entiti de atributele
lor, respectiv tipurile de entiti cu simbolurile
asocierilor corespunztoare
Notaie simbolic ce descrie schema unei baze de
date
M. Danubianu - Baze de date 17
Elementele modelului ER entiti, tipuri de
entiti
Entitate: Orice obiect din lumea real
care poate fi distins de alte obiecte
(ex. un angajat)
n bazele de date o entitate este descris
cu ajutorul unui set de atribute
Tip de entiti: O colecie de entiti
similare (Ex. toi angajaii)
Entitatea este o instan a unui tip de entiti.
Tipurile de entiti sunt identificate printr-un
nume i o list de proprieti (atribute)
Toate entitile dintr-un tip au aceleai atribute
Fiecare atribut are un domeniu
CREATE TABLE Angajai
(cnp CHAR(11),
nume CHAR(20),
sex CHAR(1),
PRIMARY KEY (cnp))
cnp nume sex
12322345636 Axinte F
23131536889 Stanciu M
13124365075 Savu F
Atribut
Angajati
cnp
nume
sex
Tip de entitate
M. Danubianu - Baze de date 18
Elementele modelului ER atribute
Atributul reprezint o proprietate a unui tip de entitate
conine valori ca msur a proprietii respective
pot fi
simple (atomice) respectiv compuse
cu o singur valoare sau cu valori multiple
derivate (vrst, total_chelt, etc)
Atribut cu o singur valoare
Atribut cu valori multiple
Ex. Numrul de telefon al unei org
Atribut derivat
ex. Vrsta unei persoane
M. Danubianu - Baze de date 19
Chei n diagrama ER
Fiecare tip de entiti are o cheie
Angajati
cnp
nume
sex
Cheie primar
Nu exist o metod formal de a indica mai Nu exist o metod formal de a indica mai
multe chei multe chei
M. Danubianu - Baze de date 20
Elementele modelului ER asocieri (relaii,
legturi), tipuri de relaii
Relaia (Legtura): Asocierea ntre 2 sau mai multe entiti. (Ex.
Bdescu lucreaz n departmentul Vnzri).
Tip de relaii (legturi): Colecie de legturi similare
Un tip de relaie n-ar R leag n tipuri de entiti E
1
... E
n
; fiecare
legtur din R implic faptul c entitatea e
1
E
1
, ..., e
n
E
n
Acelai tip de entitate poate participa n tipuri diferite de
legturi, sau in diferite roluri in aceli tip de legtur
sex
dnume
buget did
nume
lucreaz_In
Departamente Angajai
cnp
Relaie (legtur,
asociere)
M. Danubianu - Baze de date 21
Asocieri(relaii) i atribute
sex
dnume
buget did
Din data
nume
lucreaz_In
Departamente Angajai
cnp
Tipurile de relaii (legturi) pot avea de
asemenea atribute descriptive (ex., atributul
Din data n Lucreaz_In).
Oare nu ar fi mai indicat asocierea
atributului cu unul din tipurile de entiti
participante??
M. Danubianu - Baze de date 22
Asocieri (relaii) i atribute (II)
La transformarea unui
tip de legtur ntr-un
tabel(relaie), atributele
trebuie s includ:
Cheile fiecrui tip de
entitate participant (ca
i chei strine).
Acest set de atribute
formeaz o cheie
compus pentru relaia
rezultat.
Toate atributele
descriptive ale tipului de
legtur.
CREATE TABLE lucreaz_In (
cnp CHAR(1),
did INTEGER,
din_data DATE,
PRIMARY KEY (cnp, did),
FOREIGN KEY (cnp)
REFERENCES Angajai,
FOREIGN KEY (did)
REFERENCES Departamente);
cnp did Din_data
12323666 51 1/1/91
123223666 56 3/3/93
231315368 51 2/2/92
M. Danubianu - Baze de date 23
Multiplicitatea tipurilor de relaii n modelul
E/R
1:1
N:1
N:M
1
2
3
a
b
c
d
1
2
3
a
b
c
d
1
2
3
a
b
c
d
M. Danubianu - Baze de date 24
Gradul tipurilor de relaii
n modelul E/R
Cum pot fi modelate relaiile ntre
tipurile de entiti Produse
Magazine i Persoane?
Gradul unui tip de legtur este dat
de numrul tipurilor de entiti
participante.
Cumpr
Produse
Persoan
Magazin
Tipuri de legturi
Binare (de grad II)
Ternare (de grad III)
Cvadruple (de grad IV)
M. Danubianu - Baze de date 25
Sgeile n tipurile de legturi de grad
superior
Care este semnificaia sgeii ?
nchiriaz
Centru_de_nchiriere
Persoan
Film
Factura
Dac se cunoate
centrul de nchiriere,
persoana i factura se
cunoate deasemenea
filmul nchiriat
M. Danubianu - Baze de date 26
Sgeile n tipurile de legturi de grad
superior (II)
Care este semnificaia acestor sgei?
nchiriaz
Centru_de_nchiriere
Persoan
Film
Factura
Centrul de nchiriere, factura i
persoana determin filmul nchiriat i
Centrul de nchiriere, factura i
Filmul determin persoana care a
nchiriat
Valabil in ipoteza ca pentru o
persoana, pe o factura se poate
trece un singur film
M. Danubianu - Baze de date 27
Rolurile n tipurile de legturi
Este posibil ca un tip de entitate s apar de dou sau mai multe ori ntr-un
singur tip de legtur.
Relaie recursiv este relaia n care acelai tip de entitate
particip de mai multe ori n diferite roluri
Subordonat-lui
sex
nume
Angajai
subordonat
supervizor
cnp
M. Danubianu - Baze de date 28
Comercializeaza
Produs
Persoan
Magazin
Ce tip de entitate credei c ar putea juca roluri diferite n tipul de
legtur Cumpr?
Rolurile n tipurile de legturi
M. Danubianu - Baze de date 29
Rolurile n tipurile de legturi
Comrercializeaza
Produs
Persoan
Magazin
cumprtor
vnztor
M. Danubianu - Baze de date 30
Conversia legturilor de grad superior n
legturi binare


modele de date care nu admit dect legturi binare


legtur de grad superior poate fi convertit la o
colecie de legturi binare
se introduce un nou tip de entiti ale crui entiti sunt tupluri
ale tipului de legtur de grad superior - tip de tip de entit entit i i de de
conectare conectare
se leag acest tip de entiti cu fiecare din tipurile de entiti
participante n legtura original
dac un tip de entitate joac mai multe roluri atunci el va fi
inta cte unei legturi pentru fiecare rol
M. Danubianu - Baze de date 31
Conversia legturilor de grad superior n
legturi binare
Cumpr
Produs
Persoan
Magazin
data
Se consider diagrama ER urmtoare:
Se pune problema eliminrii legturii ternare Cumpr
M. Danubianu - Baze de date 32
Conversia legturilor de grad superior n
legturi binare
Cumprtur
Persoan
Magazin
Produs
vndutPrin
DeTipul
CumpratDe
data
M. Danubianu - Baze de date 33
Subclasele n modelul ER
- Ierarhiile ISA (`is a)-
Proprietile entitilor (i implicit atributele) pot fi motenite
Tipurile de entiti se asociaz cu subclasele
corespunztoare prin legturi isa
Fie dou tipuri de entiti A i B. Se spune c A ISA
B (A este o subclas a lui B), dac fiecare entitate din
A este de asemenea considerat a fi i o entitate din B
Un tip de entitate poate conine entiti cu proprieti specifice,
care nu sunt asociate cu toi membrii tipului respectiv
necesitatea definirii de subclase ale unui tip de entitate, fiecare
cu atribute sau cu legturi specifice.
isa
clas
subclas
M. Danubianu - Baze de date 34
Structura unei diagrame ER ce
conine legturi isa
Structur arborescent
tipul de entitate rdcin - cel mai general
tipuri de entiti specializate progresiv ctre
frunzele arborelui
M. Danubianu - Baze de date 35 M. Danubianu - Baze de date 35
Ang_contract
nume
cnp
Angajai
sex
Salariu_ora
ISA
Colab_extern
contractid
Ore_lucrate
Transformarea ierarhiilor ISA n relaii
Legtur ISA
Legturile isa sunt ntotdeauna legturi 1:1

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