NIVELURI sI MODELE DE REPREZENTARE A DATELOR ÎN BAZELE DE DATE
În demersul realizarii unei baze de date exista trei niveluri de perceptie a acesteia (Fig. 1):
nivelul extern, corespunzator utilizatorilor , care îsi 616f59g exprima cerintele informationale prin asa numitele scheme externe (subscheme);
nivelul conceptual, aferent administratorului bazei de date, care se concretizeaza în schema conceptuala;
nivelul intern, corespunzator programatorului, care realizeaza
reprezentarea datelor pe suportul fizic.
Determinarea structurii unei baze de date se poate aborda:
ascendent - realizându-se descrierea schemelor externe, urmata de elaborarea schemei conceptuale;
descendent - definind mai intâi, schema conceptuala si deducând ulterior schemele externe posibil de obtinut.
Cel mai adesea, schema conceptuala se obtine pe baza schemelor externe, prin eliminarea redundantelor si “rafinarea” acestora.
Trecerea de la schema conceptuala la cea interna se face prin intermediul limbajelor de descriere a datelor care sunt incluse in SGBD-uri.
Un model de date presupune un limbaj de descriere a realitatii, în timp ce o schema este o descriere a unei realitati dupa un model dat.
La nivel extern, fiecare grup de lucru care manipuleaza datele poseda o anumita descriere a acestora. Aceasta descriere corespunde felului în care grupul vede baza de date în programele lui de aplicatii. Deci, daca la nivelele conceptual si intern schemele descriu o baza de date, la nivel extern ele reflecta multimea datelor care prezinta interes pentru un utilizator sau pentru un grup de utilizatori.
Pot exista mai multe scheme externe, dar numai o singura schema conceptuala si numai una interna.
O schema externa poate fi definita de catre un grup de utilizatori. Plecând de aici, este posibil de construit scheme externe pentru subgrupuri ale grupului considerat.
În consecinta, anumite scheme externe se pot deduce unele din altele. Fiecare schema externa trebuie însa sa se regaseasca în schema conceptuala.
Nivelul conceptual este nivelul central care reflecta datele structurate astfel încât acestea sa poata fi preluate si prelucrate cu ajutorul unui SGBD.
Schema conceptuala sta la baza modelului conceptual care va permite definirea proprietatilor elementare ale obiectelor care intereseaza într-o intreprindere, gruparea acestora în functie de criterii de omogenitate stabilite, în scopul descrierii obiectelor lumii reale si a relatiilor dintre ele.
În proiectarea bazelor de date, la nivel conceptual, se pot utiliza mai multe modele, dintre care cel mai frecvent utilizat în ultima vreme este modelul Entitate – Atribut – Corespondenta (EAC).
3.2.1. Modelul EAC abstractizeaza lumea reala si o transpune, pe de o parte, în agregari de date elementare numite entitati, iar pe de alta parte, în legaturi între entitati, denumite corespondente (sau asocieri).
Astfel, o entitate corespunde unui obiect din lumea reala, identificat, în general, printr-un nume (o factura, un produs finit, un furnizor, un client etc).
Un tip de entitate desemneaza un ansamblu de entitati constituite din date de acelasi fel. Tipurile de date agregate sunt denumite generic atribute si definesc proprietatile obiectelor studiate.
O entitate este un model de obiect identificat în lumea reala – material (o persoana, un lucru), imaterial (un eveniment) sau abstract – al carui tip este definit de un nume si de o lista de proprietati (atribute).
Un atribut se defineste ca fiind o proprietate a unei entitati sau a unei corespondente, caracterizata print-un nume si un tip. Fiecare atribut care a fost selectionat la definirea continutului unei entitati este o caracteristica semnificativa pentru domeniul studiat.
Multimea realizarilor (valorilor) unui atribut se numeste domeniu.
Realizare (instantiere) a unei entitati se numeste multimea formata din câte o valoare pentru fiecare atribut al entitatii.
Dependenta functionala se realizeaza între doua atribute (proprietati) când unei valori a unei proprietati îi corespunde o singura valoare a altei proprietati. Putem avea dependenta functionala înter identificatorii a doua entitati.
Identificatorul unei entitati este atributul (sau grupul de atribute si roluri) a carui realizare (valoare) caracterizeaza în mod unic o realizarea a entitatii.
În reprezentarea grafica, de regula, identificatorul se subliniaza cu o linie continua.
Regula (minimalitatea identificatorilor):
În cazul identificatorilor compusi dintr-un grup de atribute sau roluri, trebuie sa nu existe un subgrup care sa poata îndeplini rolul de identificator, adica numarul de elemente componente ale identificatorului sa fie minim. Aceasta se poate asigura prin verificarea dependentelor functionale dintre componentele identificatorului respectiv.
Corespondenta sau asocierea reprezinta o legatura logica între doua sau mai multe realizari de entitati. La nivelul limbajului natural, este definita printr-un verb. O corespondenta (asociere) poate avea proprietati particulare, date de atribute specifice.
Rolul unei entitati este un nume care desemneaza modul de participare al entitatii la o asociere. Identificarea asocierilor se realizeaza prin rolurile entitatilor participante, deci, concret, cu ajutorul identificatorilor entitatilor participante.
Multimea entitatilor care participa la o asociere formeaza colectia acesteia; numarul acestora da gradul sau dimensiunea asocierii.
O entitate poate participa la mai multe corespondente.
În acelasi timp, pot exista mai multe asocieri între aceleasi entitati.
Un subansamblu de entitati ale aceluiasi tip de entitate formeaza un subtip al entitatii respective cu proprietati specifice.
Reguli
o asociere nu poate exista decât o singura data între aceleasi entitati;
numele entitatilor, corespondentelor, rolurilor, atributelor trebuie sa fie unice în cadrul modelului conceptual, iar apoi în baza de date definita.
Între realizarile atributelor din entitati si cele ale proprietatilor din asocieri (corespondente) se stabilesc cardinalitati sau conectivitati. Acestea exprima maniera de participare a valorilor atributelor din entitati la fiecare aparitie de valori din asocieri.
Putem vorbi despre o conectivitate minima (0 sau 1) si una maxima (1 sau n)
La realizarea modelului conceptual este necesar sa se tina seama si de regulile pe care datele trebuie sa le respecte permanent.
Acestea se numesc restrictii de integritate (RI) si sunt urmatoarele:
eliminarea redundantelor (repetarilor) si a omonimelor în denumirea entitatilor, atributelor, corespondentelor;
valorile atributelor cu rol de identificator trebuie sa fie unice si nenule;
în cazul asocierilor, orice realizarea acestora impune existenta realizarilor entitatilor participante (integritate referentiala)
cardinalitatile minime si maxime se stabilesc pe baza regulilor de desfasurare a activitatii în sectorul vizat.
Modelul relational are la bazaconceptul de relatie definit în teoria matematica a multimilor, ca fiind o submultime a produsului cartezian al mai multor multimi:
Familia de multimi pe care este definita relatia se numeste domeniu.
Numarul n se numeste gradul relatiei; un element al relatiei t=(m1, m2, ...,mn) este numit tuplu, iar numarul de tupluri indica cardinalul relatiei
Domeniul este o notiune mai cuprinzatoare decât atributul, reprezentând multimea tuturor valorilor posibile care definesc o anumita proprietate a unui obiect, spre deosebire de atribut care reprezinta multimea valorilor existente la un moment dat în coloana pe care o desemneaza în cadrul relatiei.
Într-o relatie pot exista mai multe atribute care iau valori în aceleasi domenii.
Relatiile se reprezinta într-o forma simpla prin tabele, supuse urmatoarelor restrictii:
în fiecare coloana toate valorile sunt de acelasi fel;
fiecare valoare este un numar sau un sir de caractere;
ordinea liniilor în tabel nu este predefinita si nu sunt admise duplicate;
coloanele sunt identificate prin nume distincte care reprezinta atributele relatiei
Privita prin prisma modelului relational, baza de date apare ca o colectie de relatii (tabele) normalizate, în care fiecare coloana reprezinta un atribut distinct iar fiecare rând un tuplu distinct.
Tuplurile unei relatii se pot identifica în mod unic prin intermediul valorilor unuia sau mai multe atribute care joaca rol de cheie primara a relatiei respective.
Se numeste domeniu primar, un domeniu pe care este definit un singur atribut drept cheie primara.
Dându-se doua relatii R1 si R2 cu atributele A1 si A2, chei primare definite pe acelasi domeniu primar D; spunem ca A1 este cheie externa, daca utilizând o parte din valorile ei sau toate, putem regasi tuplurile relatiei R2. Altfel spus, un atribut al unei relatii este cheie externa daca se regaseste pe post de cheie primara într-o alta relatie.
Deoarece relatiile reflecta un anumit aspect din realitate, acestea se supun unor restrictii de tipul:
restrictii de integritate, care depind de semantica valorilor domeniului si care cer ca relatiile sa se supuna urmatoarelor reguli:
integritatea entitatii, prin care valorile cheii primare trebuie sa fie diferite de zero, altfel cheia nu va mai fi identificator;
integritatea referirii, potrivit careia valorile unei chei externe trebuie sa refere tuplurile unei alte relatii sau sa fie nedefinite
alte restrictii care se aplica asupra tuplurilor relatiei si nu asupra domeniilor, reflectând anumite corelatii de ordin valoric (egalitate, inegalitate)
anomalia de stergere, consta în faptul ca anumite date care urmeaza sa fie sterse, fac parte din tupluri în care se gasesc si alte date care mai sunt necesare în continuare, ori stergerea facându-se la nivelul tuplului, acestea se pierd;
anomalia de adaugare, consta în faptul ca anumite date care urmeaza sa fie adaugate fac parte din tupluri incomplete (pentru care nu se cunosc toate datele), ceea ce face ca acestea sa nu poata fi adaugate;
anomalia de modificare rezulta din faptul ca este dificil de modificat o valoare a unui atribut atunci când ea apare în mai multe tupluri ale relatiei.
Pentru a înlatura aceste anomalii, Codd a stabilit trei forme normale pentru relatii si a introdus procesul de normalizare care se bazeaza pe notiunea de dependenta functionala (FD) ca relatie între atributele unei entitati ce are un caracter invariant.
Facând o analiza a modelelor nerelationale comparativ cu modelul relational rezulta urmatoarele avantaje în favoarea celui din urma:
modelul relational este un model simplu care permite utilizatorului sa vada baza de date ca o colectie de tabele (relatii) – o reprezentare mentala larg accesibila atât informaticienilor cât si neinformaticienilor;
asigura independenta fizica si logica a programelor de prelucrare fata de structura datelor, eliminând din schema conceptuala si schemele externe toate detaliile privind structura de memorare si strategiile de acces;
operatia de
normalizare introdusa în modelul relational asigura gasirea
structurii optime a datelor prin înlaturarea anomaliilor de actualizare
si diminuare a redundantei.
Anomaliile de actualizare apar si în modelele ierarhic si retea,
dar acestea nu dau solutii de rezolvarea problemei. Înlaturarea lor se face dificil si
costisitor (uneori se recurge la reproiectarea structurii bazei) abia în etapa
de exploatare a acesteia, ceea ce nu este eficient.
Deci înlaturarea anomaliilor de actualizare tebuie facuta în
etapa de proiectare a bazei de date, asa cum indica modelul
relational.
prin introducerea notiunii de dependenta functionala, modelul relational depaseste stadiul limitat al reprezentarii datelor în calculator, avansând spre formalizarea elementelor de semantica ce guverneaza domeniul informatiilor;
este un model omogen, deoarece reprezinta legaturile si asocierile dintre relatii tot prin relatii, spre deosebire de modelele ierarhic si retea care utilizeaza în acelasi scop conexiunea si respectiv setul;
suplete în comunicare cu utilizatorul neinformatician prin intermediul unor limbaje neprocedurale de nivel înalt.
Nivelul intern (modelul fizic) este cel ce corespunde structurii în care sunt stocate datele în interiorul masinii. Sunt specificate tabelele (fisierele) care le contin (nume, organizare, localizare etc), componentele fiecarui fisier (lungime, câmpuri, plasare a acestora în cadrul fisierului), caile de acces la componentele tabelelelor (indecsi, relatii, legaturi între tabele.
Se vor avea în vedere cerintele privind asigurarea protectiei datelor, atât din punct de vedere al continutului câmpurilor din tabele (verificarea si validarea valorilor câmpurilor la introducere, evitarea stergerii, din greseala sau din rea vointa, a datelor importante, cu secvente de program special concepute), cât si în ceea ce priveste accesul utilizatorilor la baza de date (stabilirea drepturilor de acces trebuie sa se faca tinând cont de rolul, functia si sarcinile fiecarui utilizator).
|