Sunteți pe pagina 1din 24

Curs Nr. 3 & 4 - Modele de Date.

Modelul de Date Ierarhic


Ierarhic
Retea
Relational
Importanta modelelor: Performanta oricarei
colectii de date in furnizarea de informatii depinde de
modul de organizare a acestor date
Regulile dupa care sunt organizate si manipulate datele
caracterizeaza modelele.

CERINTE ale modelarii datelor:


Sa se reprezinte cat mai fidel situatia din
lumea reala
Adaptarea datelor la cerintele reprezentarii
si prelucrarii pe calculator
DEFINITIE:
D.p.d.v. tehnic, un model de date este un
formalism avand doua componente:
 Un set de reguli pentru organizarea si structurarea datelor
 Un set de reguli pentru manipularea datelor

CLASIFICAREA modelelor dupa gradul de


tipizare a datelor:
MT1: Modele de date strict tipizate
MT2: Modele de date slab tipizate
Def. MT1=fiecare data trebuie sa apartina unei
categorii (datele care nu se incadreaza in
mod natural intr-o categorie, vor trebui sa
fie fortate intr-una din categoriile
modelului, sau ignorate complet)

Def. MT2=modelele in care nu se face nici o


presupunere referitor la categorii
AVANTAJE SI DEZAVANTAJE
Avantaje MT1: proprietatile datelor pot fi
abstractizate si cercetate in termenii
categoriilor carora le apartin
Dezavantaje MT1: lipsa de flexibilitate =
dificultati in reprezentarea deosebirilor
semantice mai subtile
Obs1: Majoritatea modelelor existente la ora
actuala sunt modele strict tipizate.

Obs2: Orice SGBD are la baza un model de


date asociat.
CLASE DE PROPRIETATI CUPRINSE IN
MODELELE DE DATE:
P1: Proprietati statice
P2: Proprietati dinamice

Definitie matematica a modelelor de date:


Un model de date notat M poate fi definit ca
fiind compus din doua parti:
 un set G de reguli de structurare a datelor,
numite reguli generatoare, care exprima
proprietatile statice ale modelului de date
 un set O de operatii permise asupra datelor,
care exprima proprietatile dinamice ale
modelului.

Corespondente in cadrul SGBD:


Setul G materializat prin intermediul LDD
Setul O materializat prin intermediul LMD
Definirea LDD utilizat pentru descrierea
structurilor de date permise in cadrul unui
model de date M, in doua moduri:
1.
2.

prin specificarea obiectelor permise si a relatiilor


permise dintre ele, folosind reguli generice de definire
prin specificarea obiectelor si relatiilor nepermise,
excluse prin definirea unor restrictii numite constrangeri

Partitionare a regulilor generatoare G:


Gs = partea de specificare a structurii
= set de reguli generatoare care genereaza structura unei
scheme S
Gc = partea de specificare a constrangerilor (genereaza
constrangerile asociate schemei S)
Partile unei scheme S:
Ss = parte de structura
Sc = parte de constrangeri = lista explicita a constrangerilor
care trebuie respectate
OBS:
Exista constrangeri explicite si constrangeri implicite
Constrangerile implicite sunt incorporate in partea de
structura Ss , fiind inerente modelului de date ales

Definitie LMD: cuprinde operatii care


produc schimbari in starea bazei de date
Obs1: Operatiile din cadrul LMD nu pot
afecta structura bazei de date ele
conserva modelul conceptual al bazei de
date
Obs2: Orice SGBD are la baza un model de
date M; LDD si LMD sunt materializari ale
seturilor G si O ale modelului M

Metode de structurare si vizualizare date:


ABSTRACTIZARE:
 GENERALIZARE
 AGREGARE
Def: ABSTRACTIZARE= neglijarea aspectelor nerelevante
in favoarea concentrarii asupra proprietatilor care
prezinta interes dintr-un anumit punct de vedere (se retin
acele aspecte care au relevanta pentru scopul propus.
Criteriul de relevanta= esenta oricarei abstractizari
Utilitate: Abstractizarea (in modelarea datelor) conduce
la obtinerea unor categorii de date sau si/sau combinatii
ale acestor categorii in categorii mai generale.

Exemplu de abstractizare:
Tipizarea
Forma elementara de abstractizare: definirea
unui tip pornind de la o clasa de obiecte
similare
Ierarhii de tipuri: obtinute prin abstractizare
efectuata pe mai multe niveluri (tipurile de
pe un anumit nivel constituie obiecte pentru
nivelul imediat superior de abstractizare)

Obs: Ierarhiile de tipuri sunt structuri cu o mare


putere expresiva, in cadrul carora tipurile generate
si legaturile dintre ele sunt mai usor de inteles si
vizualizat.

Forme de abstractizare utilizate in b.d.:


Def1: Generalizarea = forma de abstractizare care
asociaza unei multimi de tipuri un singur tip
generic
Mecanism specific:
Scoaterea in evidenta a similitudinilor dintre
obiecte sau tipuri si neglijarea deosebirilor dintre
acestea.

a) Generalizarea obiect-tip = clasificare


b) Generalizarea tip-tip = generalizare propriuzisa
Def2: Specializarea = opusul generalizarii
Def3: Instantierea = opusul procesului de clasificare
Obs1: Un tip generalizat poate reuni toate proprietatile
comune ale obiectelor si tipurilor constituente.
Reciproca: Toate proprietatile tipului generalizat pot fi
mostenite de tipurile si obiectele constituente.
Exceptii:
1. Mostenirea anumitor proprietati poate fi explicit
invalidata pt. unii constituenti.
2. Pentru tipul generalizat, pot fi definite proprietati
specifice acestuia, care nu se mostenesc.

Ex. de ierarhie de generalizare (prez. pe tabla, la curs)

Def4: Agregarea = forma de abstractizare prin care


un obiect este reconstituit din partile sale
componente.
Mecanism specific:
Punerea in evidenta a structurii unui obiect in mod
gradat, pentru a ilustra:
(a) modul in care partile componente se
raporteaza la obiectul privit ca intreg si (b)
relatiile dintre componente in cadrul intregului.
Ex. de ierarhie de agregare (prez. pe tabla, la curs)

Ex. de ierarhie combinata de generalizare si


agregare (prezentata pe tabla, la curs)

Entitati & legaturi intre entitati


Componenta unui Model Conceptual:
descrierea tuturor entitatilor unei b.d. impreuna cu
toate legaturile dintre ele.
Entitate (definitie) = un continut de sine statator,
adica o realitate obiectiva care exista prin ea
insasi.
Ex: entity: a concrete object in its reality, such
as a person or thing
Caracterizarea entitatilor: prin proprietatile lor.

Tipuri de entitati (def.)= reprezentarea entitatilor in


cadrul modelelor de date
= reprezentari care corespund unor categorii de obiecte
din lumea reala, constituind intensiunea acestei
categorii.

Atribute (def.) = reprezentarea in cadrul modelelor de date


a proprietatilor care caracterizeaza entitatile.
Obs: un tip de entitate poate fi privit ca:
(a) rezultanta agregarii atributelor entitatii pe care o
reprezinta in cadrul unui model de date (abstractizare
prin agregare)
(b) rezultatul clasificarii prin generalizare tip-obiect a unei
multimi de entitati avand proprietati comune
(abstractizare prin generalizare)

Def: Extensiunea unui tip de entitate =


multimea entitatilor cu proprietati comune,
reprezentate (descrise) prin tipul de entitate
respectiv; fiecare entitate din aceasta
multime este o instantiere (entitate
individuala) a tipului de entitate caruia ii
apartine.
Obs: Entitatile individuale (instantierile) se
deosebesc intre ele prin valorile diferite pe
care le au atributele lor.

FORME DE STRUCTURARE A DATELOR


in cadrul modelelor:
I. Prima forma de structurare: modalitatea
de asociere a atributelor tabele
II. A doua forma de structurare: modalitatea
de reprezentare a legaturilor existente
intre multimile de entitati ale b.d.
(a) leg. 1:1
(b) leg. 1:N
(c) leg: M:N

Modelul de date IERARHIC


Primul model de date utilizat in construirea structurilor
de date utilizate in SGBD-uri.
Cea mai reprezentativa implementare:
IMS (Information Management System / IBM- dezvoltat
in contextul programului de cercetari spatiale
Apollo)
Caracteristici specifice modelului:
(1) Diagrama structurii de date: graf orientat de tip
arbore ierarhic
(2) Reprezentarea legaturilor intre entitati prin arcele
orientate ale arborelui

Tipurile de Entitati si Atributele aferente, considerate pt.


exemplificarea reprezentarii Bazei de Date a Universitatii
prin intermediul Modelului Ierarhic
Facultate (CodF, NumeF, AdresaF)
Personal (NumeP, FunctieP, SalarP)
Profesor(NumeProf, GradDidacticProf, DisciplinaProf)
Sala (NumarS, AdresaS, CapacitateS)
Student (NumeStud, FormaInvat, SitSc, AnStud)

Intensiunea Modelului Ierarhic al Bazei de Date a Facultatilor:


FACULTATE

PERSONAL

PROFESOR

SALA

STUDENT

Extensiunea Modelului Ierarhic al Bazei de Date a Facultatilor:


Reprezentarea in extenso (extinsa) a BD Facultati, rezultata prin:
(a)Reprezentarea extensiunii tuturor tipurilor de entitati ale BD Facultati
(b)Conectarea acestora conform legaturilor de tip arbore ale ierarhiei
reprezentate prin Intensiunea BD Facultati

Descrierea Bazei de Date de tip Ierarhic folosind


LDD:
Presupune definirea celor trei elemente esentiale
structurale:

- arborele de definitie ierarhic (specificarea nodului


radacina si a legaturilor de tip tata-fiu)
- tipurile

de inregistrari(nodurile arborelui)
- campurile din cadrul inregistrarilor(tipul si
dimensiunea)
Ex: cu LDD al SGBD ierarhic IMS

TREE Facultati
RECORD Facultate ROOT
CodF INTEGER
NumeF CHAR(15)
AdresaF CHAR(20)
RECORD Personal PARENT = Facultate
NumeP CHAR(15)
FunctieP CHAR(10)
SalarP REAL
RECORD Profesori PARENT = Facultate
NumeProf CHAR(15)
GradDidacticProf CHAR(10)
DisciplinaProf CHAR(20)
..