Download - 05 Curs3&4 ModeleDate Intro&Ierarhic
-
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)
..