Curs Nr. 3 & 4 - Modele de Date.
Modelul de Date Ierarhic
Ierarhic
Retea
Relational
Importanta modelelor: Performanta oricareicolectii 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. prin specificarea obiectelor permise si a relatiilor
permise dintre ele, folosind reguli generice de definire
2. 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 impliciteConstrangerile 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 atributelortabele
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 IERARHICPrimul 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)
FACULTATE
PERSONAL PROFESOR SALA
STUDENT
Intensiunea Modelului Ierarhic al Bazei de Date a Facultatilor:
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)
..