05 Curs3&4 ModeleDate Intro&Ierarhic

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.

description

xxxxxxxxxxxxx

Transcript of 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)

    ..