Sunteți pe pagina 1din 19

BAZE DE DATE

subiecte
1. Avantajele sistemelor de gestiune a bazelor de date
Avantajele sistemelor de gestiune a bazelor de date fa de sistemele clasice, cu fiiere sunt urmtoarele:
1. Controlul redundanei datelor
Risipa de spaiu care se face prin stocarea acelorai informaii n mai multe fiiere este mult diminuat
prin utilizarea bazelor de date, dar nu complet eliminat datorit altor cereri de mbuntire a
performanelor.
2. Coerena datelor
Dac un articol de date e nmagazinat de mai multe ori trebuie s se garanteze c toate copiile acestuia
vor fi actualizate dac se reactualizeaz o valoare a sa.
3. Mai multe informaii de la aceeai cantitate de date
Se pot obine prin integrarea fiierelor ce conin informaii diferite despre aceleai date.
4. Partajarea datelor
Datele pot fi utilizate de ctre mai muli utilizatori n acelai timp.
5. Integritatea crescut a datelor
Se refer la validitatea i coerena datelor nmagazinate i se exprim prin constrngeri .
6. Securitatea crescut
Se realizeaz prin atribuirea unor nume de utilizatori i parole ce permit identificarea persoanelor
autorizate s foloseasc baza de date i impun modalitatea de utilizare a acestor date.
7. Aplicarea standardelor
Se refer la formatul datelor, conveniile privind denumirile, documentarea, procedurile de reactualizare,
regulile de acces.
8. Reducerea costurilor
Prin realizarea integrrii se aloc fonduri centralizat i nu separat fiecrui departament.
9. Rezolvarea conflictelor
Fiecare utilizator va avea propriile cerine ce pot intra n conflict cu ale altora. Administratorul bazei de
date poate lua decizii ce duc la utilizarea optim a resurselor.
10. Creterea accesibilitii datelor i a capacitii de rspuns
Se realizeaz prin intermediul utilizrii limbajelor de programare din generaia a IV-a (ex. SQL, QBE).
11. Creterea productivitii
Prin furnizarea unor funcii ce permit manipularea fiierelor i a introducerii limbajelor de programare
din generaia a IV-a ce reduc mult timpul de programare.
12. Independena datelor
Duce la creterea capacitii de ntreinere prin faptul c descrierile datelor sunt separate de aplicaii.
13. Controlul concurenei este mbuntit
Se garanteaz c dac doi sau mai muli utilizatori acceseaz simultan aceleai date nu se pierd informaii
sau nu se altereaz integritatea acestora.
14. Asigurarea salvrii de siguran i a refacerii
Prin recuperarea ultimei stri coerente a bazei de date n cazul apariiei unei defeciuni hard sau soft.

2. Dezavantajele sistemelor de gestiune a bazelor de date


1. Complexitatea
Trebuie avute n vedere o serie de probleme referitoare la date care se manifest suplimentar fa de cazul
aplicaiilor clasice. Se face mai nti o analiz amnunit a datelor i apoi a aplicaiei propriu-zise.
2. Dimensiunea
SGBD-urile ocup mult spaiu pe disc.
3. Costul
a) sistemelor SGBD;
b) elementelor hard achiziionate;
c) conversiei aplicaiilor existente la noul SGBD i noua configuraie hard.
4. Performana
Este mai redus n cazul utilizrii SGBD-urilor care au un caracter mai general, n locul unei aplicaii
simple bazat pe fiiere care apeleaz o singur funcie.
5. Efectul unei defeciuni
Este mult mai mare datorit centralizrii (o defeciune minor afecteaz toi utilizatorii).
3. Scheme (ce reprezinta, ce contin, tipuri, schema relationala)
Bazele de date se modific des n decursul timpului. Datele aflate ntr-o baz de date la un anumit
moment dat alctuiesc o instan a acelei baze de date. Proiectul general al bazei de date este denumit
schema bazei de date. O schem reprezint o descriere a datelor conform modelului de date propus.
Schema bazei de date reprezint ceea ce n limbajele de programare clasice este cunoscut sub numele de
definirea tipurilor de date, iar instana unei baze de date este ceea ce n limbajele de programare clasice
este cunoscut sub denumirea de valoarea unei variabile.
Schema bazei de date reprezint descrierea general a bazei de date i conine:
informaiile fizice de proiectare;
informaii referitoare la utilizator;
descrieri de nivel nalt ale tranzaciilor i aplicaiilor precum i legturile utilizatorilor cu ele;
relaiile dintre date i tranzacii;
statistici de utilizare.
n funcie de nivelul de abstractizare corespunztor exist urmtoarele tipuri de scheme:
1. Schema extern (subschema) se afl la nivel superior i corespunde unei valori a datelor. Ea descrie
vederile bazei de date ce se folosesc ntr-o anumit aplicaie i corespunde schemei conceptuale. Schema
reprezint vederea utilizatorilor asupra datelor (aplicaia).
2. Schema conceptual (logic) corespunde nivelului conceptual i descrie articolele, relaiile i
constrngerile dintre ele. Ea este o descriere abstract i integrat a tuturor datelor, independent de
sistemul de gestiune al bazelor de date folosit i trebuie s corespund schemei interne. Schema
reprezint perspectiva sistemului de gestiune al bazelor de date.
3. Schema intern se afl la nivel inferior i conine definiiile tuturor nregistrrilor stocate n baza de
date, metodele de reprezentare, cmpurile i indexurile datelor (descrie modul de stocare fizic a datelor
precum i structurile de acces la date). Schema reprezint perspectiva realizrii sistemului/implementrii.
Sistemul de gestiune al bazelor de date efectueaz corespondene ntre cele trei tipuri de scheme pentru a
le corela. Dac se produce o modificare la nivel fizic, schema intern trebuie modificat, dar schema
conceptual poate rmne neatins

Schema relaional
Structura relaional a unei baze de date mai este cunoscut i sub denumirea de schem relaional (sau
metastructur datorit faptului c ea descrie structura datelor). O schem relaional reprezint o
descriere a unei colecii particulare de date, folosind un anumit model dat. Aceasta predefinete posibilele
stri ale bazei de date, n sensul c nici o stare a unei baze de date nu poate conine date care s nu fie
obinute n urma instanierii schemei respectivei baze de date i nici o stare a unei baze de date nu poate
conine o asociere ntre dou seturi de date dac aceast asociere nu a fost definit n schema bazei de
date. n plus, procedurile de manipulare a datelor trebuie s fie separate de date. Conceptul de baz ce
fundamenteaz acest model este relaia, transformat ntr-un tabel ce conine rnduri i coloane. Fiecare
relaie are o schem ce descrie coloanele sau cmpurile tabelului. n practic, schema bazei de date
conine:
a. definiia tipurilor de date;
b. definiia relaiilor, specificnd pentru fiecare dintre ele:
-intensia (numele tuturor atributelor);
-cheia primar.
De obicei, ntr-un sistem relaional att schema conceptual ct i schema extern sunt relaionale. Pentru
a prezenta proiectul unei baze de date independent de orice limbaj de definire a datelor, de obicei, se
folosete o notaie general acceptat care are formatul:
<nume relatie>: <lista numelor atributelor>
O astfel de notaie este util n scopul clarificrii organizrii generale a bazei de date, dar nu lmurete o
serie de detalii referitoare, n special, la proprietile domeniilor de valori ale atributelor. Cu ajutorul
acestei notaii se pot crea entitile, atributele, domeniile de valori precum i cheile sub forma unor
entiti ale schemei bazei de date. Un astfel de limbaj definete doar structura acestor entiti, nu i
coninutul lor.
4. Limbajele bazelor de date
Pentru a construi o baz de date un utilizator trebuie s:
a. defineasc schema bazei de date;
b. aplice o colecie de operatori pentru a crea, nmagazina, extrage i modifica datele.
Un sistem de gestiune al bazelor de date obinuit trebuie s ofere o serie de instrumente care s uureze
activitile specificate anterior. n acest sens, SQL trebuie s fie limbajul standard relaional al bazei de
date, avnd urmtoarele componente:
a. un limbaj de definire a datelor (Data Definition Language DDL), utilizat la definirea schemei bazei
de date
b. un limbaj de manipulare a datelor (Data Manipulation Language DML), care permite utilizatorului
manipularea obiectelor bazei de date i a relaiilor dintre acestea, n contextul schemei bazei de date.
Limbajul de definire a datelor
Permite administratorului bazei de date sau utilizatorului s descrie i s denumeasc entitile din baza
de date precum i relaiile ce pot exista ntre diferitele entiti. Limbajul de definire al datelor reprezint
o colecie de instruciuni utilizate pentru descrierea tipurilor de date. Administratorul bazei de date
trebuie s defineasc structura bazei de date cu ajutorul acestor tipuri de date. Acesta este utilizat pentru a
defini o schem a bazei de date sau pentru a modifica una existent. Rezultatul compilrii instruciunilor
din limbajul de definire a datelor reprezint un set de tabele stocate n fiiere speciale denumite cataloage
de sistem. Catalogul de sistem conine meta-datele (datele care descriu obiectele din baza de date).
Metadatele conin definiii ale nregistrrilor datelor i altor obiecte cerute de sistemul de gestiune al
bazei de date. Sistemul de gestiune al bazei de date consult mai nti catalogul de sistem pentru a accesa
corect datele. Teoretic, sunt trei limbaje de definire a datelor:
-pentru schema extern;
-pentru schema conceptual;
-pentru schema intern.

Limbajul de definire a datelor conine comenzi necesare urmtoarelor operaii:


-definirea schemelor de relaie;
-eliminarea relaiilor;
-crearea indecilor;
-modificarea schemelor.
Limbajul de definire a datelor permite specificarea urmtoarelor informaii necesare n orice baz de
date:
-schema fiecrei relaii din baza de date;
-domeniul de valori asociat fiecrui atribut;
-constrngerile de integritate;
-setul de indeci care se creeaz pentru fiecare relaie n parte;
-informaii referitoare la securitatea sistemului i la modul de acces la acesta;
-structura de nmagazinare fizic pe disc a datelor.
Limbajul de manipulare a datelor
Asigur un set de procedee ce permit operaii de baz pentru manipularea datelor din baza de date.
Limbajul de manipulare a datelor asigur o colecie de operatori ce pot fi aplicai pentru a valida
instanele tipurilor de date n cadrul schemei i de a crea, modifica sau extrage astfel de instane. Cu
ajutorul acestor operatori se pot efectua urmtoarele operaii:
1. Regsirea datelor din baza de date (operaie principal).
2. Inserarea de date noi n baza de date.
3. Modificarea datelor existente.
4. tergerea de date din baza de date.
Exist dou tipuri de limbaje de manipulare a datelor:
Limabje de manipulare a datelor procedurale - care permit utilizatorului s comunice sistemului ce date
sunt necesare i cum pot fi ele exact regsite.
Limbaje de manipulare a datelor neprocedurale - care permit utilizatorului s comunice sistemului ce date
sunt necesare fr a specifica cum se regsesc datele. Aceste limbaje prelucreaz informaia pe seturi de
nregistrri i au urmtoarele caracteristici:
-confer o mai mare independen de date;
-cresc viteza de prelucrare a informaiei;
-sunt limbaje de generaia a patra (4GL - Fourth Generation Language).
Exemple de astfel de limbaje ce aparin generaiei a patra sunt:
-limbajul SQL;
-limbajul QBE;
-generatoare de formulare;
-generatoare de rapoarte;
-generatoare grafice;
-generatoare de aplicaii.
5. Sisteme de gestiune a bazelor de date
Baza de date reprezint una sau mai multe colecii de date aflate n interdependen mpreun cu
descrierea datelor i a relaiilor dintre ele.
Colecia de date reprezint un ansamblu de date organizat dup anumite criterii i este format din
componentele:
a) o familie de caracteristici alctuit din atribute ce definesc aspecte ale obiectelor din lumea real;
b) un predicat aplicat familiei de caracteristici ce conduce la o submulime ce definete o relaie de ordine
ntre caracteristici;
c) o suit temporal ce definete un decalaj al timpului n intervale discrete;
d) afectarea la fiecare moment tj a unei relaii asociat predicatului.
Bazele de date sunt gestionate cu ajutorul unui program numit sistem de gestiune al bazelor de
date. Sistemul de gestiune a bazelor de date (SGBD) este un sistem de programe ce permite definirea,
crearea i ntreinerea bazei de date precum i accesul controlat la acesta.

Din punct de vedere conceptual, gestiunea bazelor de date se bazeaz pe ideea separrii structurii bazei
de date de coninutul acesteia. n sistemele de baze de date definirea datelor se separ de programele
aplicaie, astfel nct utilizatorii vd doar definiia extern a unui obiect fr a cunoate modul n care e
definit acesta i cum funcioneaz. n acest mod, definiia intern a obiectului poate fi modificat fr a
afecta utilizatorii acestuia dac nu se modific definiia extern. Structura bazei de date reprezint o
colecie de descrieri statice ale tipurilor de entiti mpreun cu relaiile logice stabilite ntre ele.
Relaiile logice reprezint asociaiile dintre mai multe entiti.
O entitate este un obiect distinct ce trebuie reprezentat n baza de date.
Un atribut este o proprietate ce descrie un anumit aspect al obiectului ce se nregistreaz n baza de date.
Scopul unui sistem de gestiune al unei baze de date este acela de a oferi un mediu care s fie i
convenabil, dar i eficient pentru a putea fi folosit la:
-extragerea informaiilor din baza de date;
-nmagazinarea datelor n baza de date.
Bazele de date sunt de obicei folosite la gestionarea unei mari cantiti de date, ceea ce presupune
existena urmtoarelor caracteristici:
-definirea structurilor (modelarea datelor);
-utilizarea unor mecanisme de manipulare a datelor;
-asigurarea securitii datelor n baza de date;
-asigurarea controlului concurenei n cazul utilizrii sistemului de ctre mai muli utilizatori
Orice sistem de gestiune al bazelor de date are urmtoarele componente:
Limbajul de definire a datelor
Cu ajutorul acestui limbaj se specific tipurile de date i structurile precum i constrngerile asupra
datelor. Instruciunile limbajului sunt compilate i transformate ntr-un set de tabele nmagazinate ntr-un
fiier special numit dicionar de date sau catalogul sistemului.
Un limbaj de manipulare a datelor
Acest limbaj este folosit pentru a ajuta utilizatorul s acceseze i s foloseasc datele aflate n baza de
date ntr-un mod interactiv. Cu ajutorul acestui limbaj se pot:
-extrage date din baza de date;
-introduce date n baza de date;
-elimina date din baza de date;
-actualiza date din baza de date.
Administratorul bazei de date
Administratorul bazei de date este un program ce asigur interfaa dintre datele nmagazinate, aplicaiile
care folosesc aceste date i ntrebrile adresate sistemului cu ajutorul crora se extrag datele necesare. De
obicei, bazele de date necesit un spaiu mare de nmagazinare pe mediul de stocare ales, ce poate ajunge
de ordinul gigabytes-ilor. Pentru a putea fi prelucrate datele se transfer din memoria extern n memoria
intern a sistemului. Scopul sistemului bazei de date este acela de a uura accesul la date, iar
administratorul bazei de date este rspunztor de urmtoarele:
-asigur interaciunea cu administratorul de fiiere
-asigur integritatea datelor
-asigur securitatea datelor prin accesul controlat la date pe care l ofer utilizatorilor
-creeaz copiile de siguran i asigur refacerea datelor, n cazul apariiei unei erori
-asigur controlul concurenei pstrnd consistena datelor atunci cnd acestea sunt accesate n acelai
timp de mai muli utilizatori.
6. Componentele unui sistem de gestiune al bazelor de date
Acestea sunt:
1. Hardware
2. Software
3. Date

4. Proceduri
5. Resurse umane
Componenta hardware
Aceast component poate fi reprezentat de un singur calculator personal, un singur calculator
mainframe sau o reea de calculatoare.
De obicei, ntr-o reea de calculatoare, se aplic urmtoarea schem:
Se folosete un calculator principal pe care se afl programele back-end - adic partea din sistemul de
gestiune al bazei de date care administreaz i controleaz accesul la baza de date i mai multe
calculatoare aflate n diferite locaii pe care se afl programele front-end adic partea din sistemul de
gestiune al bazei de date ce constituie interfaa cu utilizatorul.
n aceast schem, numit client-server, programele back-end reprezint serverul iar cele front-end
reprezint clienii.
Componenta software
Aceast component este alctuit din:
-programele sistemului de gestiune al bazei de date;
-programele aplicaie scrise de obicei n limbaje de programare de generaia a III-a (C, Pascal, Cobol) sau
SQL ncorporat ntr-un limbaj de generaia a III-a;
-sistemul de operare;
-programe de reea.
Sistemul de gestiune al bazei de date poate avea ncorporate instrumente din generaia a IV-a, cum ar fi
SQL ce permit:
dezvoltarea rapid de aplicaii;
mbuntirea semnificativ a productivitii;
realizarea unor programe uor de ntreinut.
Date
Datele acioneaz ca o punte de legtur ntre componentele main (hardware i software) i
componenta uman. Baza de date conine att datele operaionale (setul de nregistrri pe care se
lucreaz) ct i metadatele. Structura bazei de date este numit schem.
Proceduri
Procedurile reprezint instruciunile i regulile aplicate n proiectarea i utilizarea bazei de date.
Acestea pot fi:
-deschiderea unei sesiuni de lucru n sistemul de gestiune al bazei de date;
-pornirea sau oprirea sistemului de gestiune al bazei de date;
-utilizarea unui program de aplicaie sau a unei funcii a sistemului de gestiune al bazei de date;
-efectuarea de copii de siguran;
-tratarea defeciunilor hardware i software;
-modificarea structurii unui tabel, reorganizarea bazei de date, mbuntirea performanelor, arhivarea
datelor.
1.3.1.5. Resursele umane
Resursele umane sunt reprezentate de:
1. Administratorul de date este responsabil de gestionarea resurselor de date i proiectarea conceptual /
logic a bazei de date.
2. Administratorul bazei de date este responsabil de realizarea fizic a bazei de date ce implic
proiectarea i implementarea acesteia. Administratorul bazei de date este o persoan care are n
rspundere controlul centralizat al datelor i al aplicaiilor ce folosesc aceste date. ndatoririle
administratorului bazei de date cuprind:

-definete schema bazei de date, ceea ce presupune scrierea unui set de definiii n limbajul de definire a
datelor care apoi s poat fi compilate de ctre un compilator DDL i transformate ntr-un set de tabele
pstrate n catalogul sistemului;
-definete structura de stocare i a metodele de acces prin scrierea unui set de definiii transferate
compilatorului;
-modific schema i organizarea fizic prin scrierea unui set de definiii utilizate de ctre compilatorul
DDL pentru a face modificrile cerute n tabele;
-asigur securitatea prin acordarea drepturilor de acces utilizatorilor pe baza unor conturi de utilizator
create n acest scop;
-verific respectarea constrngerilor de integritate ori de cte ori se introduc date n baza de date;
-monitorizeaz toate activitile utilizatorilor;
-monitorizeaz creterea dimensiunilor bazei de date;
-i formeaz o imagine de ansamblu asupra sistemului, urmrind prile tari i slabe ale acestuia;
-asigur controlul concurenei prin alegerea tipului de blocare ce va fi folosit atunci cnd aceleai date
sunt folosite de mai muli utilizatori n acelai timp;
-asigur fiabilitatea sistemului n cazul apariiei unor erori.
3. Proiectanii de baze de date care pot fi:
a) Proiectant de baze de date logice:
identific datele (entiti i atribute);
identific relaiile dintre date;
identific constrngerile;
identific regulile ce descriu principalele caracteristici ale datelor;
implic utilizatori n realizarea modelului de date.
b) Proiectant de baze de date fizice:
transpune modelul logic ntr-un set de tabele i constrngeri;
selecteaz structuri de stocare i metode de acces specific;
asigur securitatea datelor.
4. Utilizatorii finali care pot fi de urmtoarele categorii:
-Programatorii de aplicaii. Acetia sunt profesionitii ce interacioneaz cu sistemul folosind instruciuni
scrise n limbajul de manipulare a datelor pe care le ncorporeaz n cadrul unor interfee create n alte
limbaje de programare. Precompilatorul DML convertete apelurile scrise n limbajul de manipulare a
datelor n proceduri specifice limbajului gazd. Compilatorul limbajului gazd genereaz apoi codul
obiect.
-Utilizatori cu pregtire special. Acetia interacioneaz cu sistemul fr a scrie programe, dar ei
formuleaz cereri pentru a extrage date din baza de date cu ajutorul instruciunilor specifice limbajului de
manipulare a datelor. Aceste cereri sunt transmise procesorului de interogare care desparte o instruciune
specific limbajului de manipulare a datelor n instruciuni specifice modulului de administrare a bazei de
date.
-Utilizatori specializai. Acetia sunt utilizatori cu pregtire special care scriu programe aplicaie
specializate pentru diverse zone de interes (sisteme CAD, sisteme expert etc.).
-Utilizatori obinuii. Acetia sunt utilizatori care interacioneaz cu sistemul folosind interfeele create
de programatorii de aplicaii.

7. Model. Model de date, elemente de baza ale modelelor de date. Functiile modelelor,
componentele modelelor, cele 3 modele de baze de date, extensia, intensia.
Un model este o abstractizare i o structur ce simbolizeaz toate caracteristicile entitilor eseniale ce
prezint interes pentru utilizator, o reprezentare i o reflectare a lumii reale.
Un model de date reprezint o colecie integrat de concepte necesare descrierii datelor, relaiilor dintre
ele, precum i a constrngerilor asupra datelor. Modelul de date este utilizat la descrierea schemei bazei
de date, definind structura datelor, legturile dintre acestea, semantica lor, precum i constrngerile

impuse, dei nu este obligatoriu ca ntotdeauna acestea s fie regsite n orice model de date. Pe scurt, un
model de date este utilizat pentru a reprezenta date despre date.
Modelele de date ofer nelegerea descriptiv necesar definirii schemelor logice i externe i sunt utile
descrierii formale a schemei bazei de date.
Schema logic a unei baze de date reprezint o descriere abstract a unei poriuni din realitatea modelat
mpreun cu instanele bazei de date.
Un model de date este alctuit din trei elemente de baz:
entiti;
atribute;
relaii.
O entitate reprezint un obiect sau concept din lumea real, cum ar fi de exemplu un student sau un curs
descris n cadrul bazei de date.
Un atribut reprezint acele caracteristici ce descriu aspecte sau condiii ale unei entiti, cum ar fi de
exemplu numele studentului sau situaia acestuia.
Relaia stabilit ntre dou sau mai multe entiti reprezint o interaciune ntre acele entiti, cum ar fi de
exemplu asocierea dintre un student i cursul pe care l urmeaz.
Funciile modelelor sunt:
1. Reprezint obiecte, evenimente precum i asocierile dintre acestea.
2. Reprezint aspecte eseniale i inerente, ignornd proprietile accidentale.
3. Au n vedere ansamblul entitilor, atributelor i relaiilor dintre acestea.
4. Asigur regulile de baz i relaiile ce permit proiectanilor i utilizatorilor s comunice corect, fr
ambiguiti.
Un model de date este alctuit din urmtoarele componente:
1. Partea structural ce reprezint un set de reguli ce fundamenteaz baza de date.
2. Partea de manipulare ce definete tipurile de operaii ce se pot efectua n baza de date:
operaii utilizate pentru actualizarea sau regsirea datelor;
operaii utilizate pentru modificarea structurii bazei de date.
3. Set de reguli de integritate ce garanteaz faptul c datele sunt corecte.
Exist trei modele de baze de date:
1. Modelul de date extern utilizat pentru a reprezenta vederea fiecrui utilizator, care mai este cunoscut
i sub denumirea de Univers al Discursului. Acest model este reprezentat prin modelele de date bazate pe
nregistrri.
2. Modelul de date conceptual care reprezint vederea logic independent de sistemul de gestiune al
bazelor de date ales i reprezentat prin modelele de date bazate pe obiecte.
3. Modelul de date intern utilizat pentru ca schema conceptual s poat fi neleas de ctre sistemul de
gestiune al bazei de date i reprezentat prin modelele de date fizice.
Fiecare model de date are propria reprezentare a datelor, dar ntotdeauna un model este alctuit dintr-o
intensie i o extensie.
Extensia unei relaii se refer la setul curent de nregistrri pe care l conine. Acest set de nregistrri nu
rmne acelai tot timpul existenei bazei de date, suferind diverse modificri, pe msura introducerii,
actualizrii sau tergerii de date.
Partea cu caracter permanent n cadrul unei baze de date o reprezint intensia sa sau schema bazei de
date. Intensia bazei de date descrie structura tuplurilor unei relaii. Operaiile limbajului de manipulare a
datelor pot fi efectuate numai n condiiile n care se cunoate aceast structur.
Cu alte cuvinte intensia unei baze de date reprezint tipurile de entiti, fiind considerat a fi modelul
conceptual al bazei de date, pe cnd extensia reprezint instanierile tipurilor de nregistrri
corespunztoare tipurilor de entiti precum i legturile dintre acestea.

8. Modele de date bazate pe nregistrri. Modelul ierarhic


Astfel de modele descriu datele la nivel conceptual. Spre deosebire de modelele orientate pe obiecte,
acestea sunt folosite cu scopul de a specifica structura logic general a bazei de date i de a oferi un
nivel ridicat al descrierii implementrii. Modelele sunt denumite n acest fel deoarece baza de date este
alctuit din nregistrri de acelai tip. Fiecare tip de nregistrare are un numr fix de cmpuri, fiecare
cmp avnd, de obicei, o lungime fix, ceea ce duce la simplificarea reprezentrii. Aceste modele nu
ofer un mecanism de reprezentare direct a codului din baza de date. Pentru a efectua interogri i
actualizri asupra bazei de date se folosesc o serie de limbaje individuale separate asociate modelului.
Din aceast categorie de modele fac parte:
modelul de date ierarhic;
modelul de date reea;
modelul de date relaional.
Astzi, datorit dezvoltrii fr precedent a Internetului, din ce n ce mai mult, se impune un alt tip de
model, modelul de date semi-structurat, n format XML.
Modelul ierarhic
Din punct de vedere istoric, acesta a fost primul model de date ce a fundamentat un sistem de gestiune al
bazelor de date i a fost dezvoltat de ctre firma IBM pentru produsul su IMS care utiliza limbajul DL/1.
Modelul ierarhic lucreaz cu grupuri repetitive prin utilizarea unei structuri de date ce se bazeaz pe
parcurgerea de sus n jos a unui arbore: datele aflate n nregistrrile primare reprezint ramurile
arborelui, n timp ce datele ce formeaz grupurile repetitive reprezint frunzele acestuia.
Avantajul modelului ierarhic este acela c metodele folosite la regsirea nregistrrilor asociate din baza
de date sunt mai simple dect cele folosite n modelul reea.
Intensia modelului de date ierarhic este reprezentat cu ajutorul unui arbore de definiie ce reprezint o
diagram a structurii de date n care sensul legturilor funcionale este ntotdeauna de la nodul printe
ctre nodul copil. O astfel de diagram este un graf orientat alctuit cu scopul reprezentrii tipurilor de
entiti i a relaiilor dintre acestea. Nodurile grafului corespund tipurilor de entiti, iar arcele grafului
reprezint legturile funcionale dintre tipurile de entiti.
Extensia modelului de date ierarhic se reprezint sub forma unui tabel n care fiecare linie a tabelului este
o nregistrare ce corespunde unei instanieri a tipului de entitate. n tabele sunt permise duplicatele i,
prin urmare, pot exista dou instanieri identice ale aceluiai tip de entitate. Un singur tabel din baza de
date are rolul de rdcin a arborelui n timp ce restul tabelelor formeaz mulimea prinilor i copiilor
arborelui.

Rdcina

Printe

Printe
Copil

Copil

Copil

Figura 2.1. Modelul ierahic


O relaie ntr-o baz de date ierarhic este reprezentat prin intermediul perechii printe/copil. n acest tip
de relaie, tabelul printe poate fi asociat cu unul sau mai multe tabele copil, dar un singur tabel copil
poate fi asociat doar cu un singur tabel printe. Aceste tabele sunt asociate n mod explicit cu ajutorul
unor pointeri sau pe baza unui aranjament fizic al nregistrrilor n tabele.

Utilizatorul acceseaz datele pornind din rdcina arborelui i parcurge un anumit drum unic pn ajunge
la datele cutate. O astfel de metod de acces cere utilizatorului o foarte bun cunoatere a structurii
bazei de date.
Un avantaj al utilizrii bazelor de date ierarhice este acela c utilizatorul poate extrage datele foarte rapid
datorit legturilor explicite definite n structura tabelelor. Un alt avantaj este acela c integritatea
referenial se obine prin crearea structurii i nu poate fi nclcat, ceea ce face ca o nregistrare din
tabelul copil s fie obligatoriu asociat unei nregistrri existente n tabelul printe, iar o nregistrare
tears din tabelul printe s impun eliminarea tuturor nregistrrilor asociate din tabelul copil.
Probleme deosebite vor apare n momentul n care utilizatorul dorete s introduc o nregistrare n
tabelul copil care nu are asocieri cu nici o nregistrare din tabelul printe. Acest tip de baz de date nu
poate suporta asocierile complexe i, de aceea, deseori sunt probleme referitoare la redundana datelor,
deoarece este posibil s-i fie permis introducerea de date inconsistente. Aceast problem poate fi ns
Relaie logic
copil
Baza de date 2

Baza de date 1

rezolvat prin crearea a dou baze de date pentru a nlocui tipurile de relaii muli-la-muli, aa cum se
prezint n figura de mai jos:

Figura 2.2. Rezolvarea relaiilor muli-la-muli


Dei bazele de date ierarhice ofereau un acces direct i rapid la date, dovedindu-i superioritatea ntr-o
multitudine de situaii specifice, devenise evident c era necesar introducerea unui nou model de date
pentru a remedia problemele tot mai presante referitoare la redundana datelor i la rezolvarea asocierilor
complexe dintre nregistrri.
9. Modelul reea

Modelul reea a fost creat, n special, ca o ncercare de a rezolva unele dintre problemele modelului
ierarhic.
Nod proprietar
1
Set structura
M
Nod membru
Figura 2.3. Modelul reea
Aa cum se poate observa din figura 2.3., structura unei baze de date de tip reea se poate reprezenta cu
ajutorul conceptelor de noduri i seturi. Un nod reprezint o colecie de nregistrri, n timp ce un set
stabilete i reprezint relaiile din cadrul unei baze de date de tip reea. O astfel de construcie
transparent relaioneaz o pereche de noduri prin utilizarea unuia dintre ele sub denumirea de proprietar,
iar a celuilalt sub denumirea de membru.
Structura de tip set este o construcie ce stabilete i reprezint o relaie din cadrul bazei de date reea
(reprezint o mbuntire remarcabil fa de relaia printe/copil). O astfel de structur suport o relaie

de unu-la-muli, ceea ce nseamn faptul c o nregistrare din nodul proprietar poate fi relaionat cu una
sau mai multe nregistrri aparintoare nodului membru, dar unei singure nregistrri din nodul membru
i este asociat o singur nregistrare din nodul proprietar. Mai mult dect att, o nregistrare aparintoare
nodului membru nu poate exista fr s fie asociat unei nregistrri existente n nodul proprietar.
ntre o pereche de noduri se pot defini unul sau mai multe seturi, iar un singur nod poate fi implicat n
seturi cu alte noduri din baza de date. Utilizatorul poate accesa date din cadrul unei baze de date de tip
reea prin cea mai potrivit structur de seturi. Spre deosebire de bazele de date ierarhice, n care accesul
trebuie s nceap cu nodul rdcin, n bazele de date de tip reea utilizatorul poate accesa datele
indiferent de nod pe baza structurilor de tip set.
Bazele de date de tip reea au performane excelente n cazul regsirii seturilor de nregistrri ce aparin
unui anumit obiect, deoarece relaiile dintre nregistrri (pointeri) reprezint parte constitutiv a bazei de
date. n acelai timp, se permite utilizatorilor crearea de interogri mult mai complexe dect cele ce se pot
elabora prin intermediul bazelor de date ierarhice, dar viteza bazelor de date de tip reea scade atunci
cnd se dorete cutarea nregistrrilor pe baza unor criterii specificate. Principalul dezavantaj al acestui
tip de baze de date este legat de faptul c utilizatorul este obligat s cunoasc foarte bine structura bazei
de date pentru a se putea descurca cu structurile de seturi.
Un alt dezavantaj este acela c nu este uoar modificarea structurii bazei de date fr a afecta
programele aplicaie care lucreaz cu aceasta. Deoarece, aa cum s-a artat, o relaie este definit n mod
explicit sub forma unei structuri de tip set, aceasta nu poate fi modificat fr a afecta programele
aplicaie ce folosesc aceast structur la cutarea datelor. Dac se modific o astfel de structur, trebuie
modificate n mod corespunztor toate asocierile acesteia definite n programele aplicaie.
Intensia modelului de baze de date de tip reea este un graf cu arce numerotate pentru a indica drumul ce
trebuie parcurs, deoarece un tip de entitate copil poate fi conectat la mai multe tipuri de entiti printe
sau la acelai tip de entitate printe prin mai multe arce.
Extensia acestui model este un tabel ce permite introducerea de nregistrri duplicat, dar nregistrrile pot
fi ordonate.
10. Modelul relaional
Acesta este cel mai folosit model de date folosit astzi n ntreaga lume, fiind un model de tip entitaterelaie bazat pe elaborarea unui model conceptual. Modelul relaional al unei baze de date permite
extinderea bazelor de date la nivelul calculatoarelor personale nemaifiind obligatorie utilizarea
echipamentelor costisitoare cerute de minicalculatoare sau de calculatoarele de tip mainfraime.
Modelul a fost dezvoltat de ctre Dr. E. F. Codd. Cele mai importante caracteristici ale modelului
relaional sunt simplitatea, suportul teoretic solid, precum i cele trei elemente componente de baz.
Un astfel de model este simplu deoarece el poate fi descris cu ajutorul unui numr mic de concepte care
se refer la relaii, rnduri, coloane i chei.
Modelul relaional are un suport teoretic foarte solid deoarece se bazeaz pe teoria matematic a
seturilor, ceea ce nseamn faptul c toate operaiile sunt ncheiate cu succes, iar rezultatele operaiilor
sunt predictibile.
Cele trei componente ale modelului relaional sunt:
a. componenta de structur a datelor (relaii cu proprieti speciale);
b. componenta de manipulare a datelor
c. componenta de integritate a datelor .
Principalul avantaj al modelului relaional este acela c nu este necesar utilizarea att a pointerilor ct i
a datelor n cadrul tabelelor, folosind n schimb relaii pentru a accesa valori corespondente din mai multe
tabele.
O relaie const dintr-o asociere ntre nregistrrile aflate n dou tabele ce au aceleai valori ale
atributelor. Deoarece tabelele relaionale nu conin pointeri, datele aflate n astfel de tabele sunt
independente de metodele folosite de ctre sistemul de gestiune al datelor n lucrul cu nregistrrile
tabelelor.

Intensia modelului relaional este o schem relaional cu una sau mai multe scheme de relaie. Fiecare
schem de relaie are propriul nume i propriile atribute.
Extensia modelului relaional este un tabel ce nu permite nregistrri duplicat. Fiecare schem de relaie
introduce un tabel n schema relaional. Modelul de date relaional folosete tabele bidimensionale ce
reprezint entitile i const din rnduri i coloane. O coloan reprezint un atribut al unei entiti ce mai
poart i denumirea de cmp sau proprietate. Un rnd reprezint un tuplu care este o instan a unui tip de
entitate sau de relaie sau orice altceva din baza de date. De obicei una dintre coloanele tabelului este
numit cheie primar i are o valoare unica.
Simplitatea modelului bazei de date relaionale const din simplitatea conceptelor cu care opereaz:
structuri simple i abstracte de date, independena fizic de date, cadrul puternic, general i realist oferit
aplicaiilor .a.m.d.
Modelul relaional ofer o interfa flexibil ce este prevzut cu cele mai potrivite componente necesare
oricrui utilizator la toate nivelele, oferind o mare independen a datelor (produsul obinut este relativ
independent de implementarea intern).
Baza de date relaional const din unul sau mai multe relaii sau tabele. Principalele concepte ale
modelului relaional sunt:
1. Atributul este o coloan ce are un nume propriu i unic ntr-o relaie (cmp). Fiecare relaie conine
o list de atribute (sau coloane) definite pe un anumit domeniu.
2. Domeniul reprezint setul posibil de valori pe care l poate avea unul sau mai multe atribute.
3. Tuplu un rnd din cadrul unei relaii (nregistrare). Un rnd dintr-un tabel reprezint asocierea
dintre seturile de valori. Fiecare relaie conine un set de tupluri (sau rnduri).
4. Intensia structura unei relaii mpreun cu specificaiile i constrngerile de domeniu aplicate. Se
modific rar.
5. Extensia starea relaiei (valorile din cadrul unei relaii se pot modifica). Reprezint coninutul
curent al bazei de date ce corespunde schemei bazei de date i se modific frecvent.
6. Gradul numrul de atribute dintr-o relaie.
7. Cardinalitatea numrul de tupluri dintr-o relaie.
8. Baza de date relaional reprezint o colecie de relaii ce pot fi modificate (tabele). O astfel de
colecie este descris sub forma unui set de scheme de relaii din cadrul bazei de date, numite scheme
relaionale ale bazei de date.

11. Modelul Client-server


n modelul client-server avem de a face cu o baz de date centralizat care prelucreaz cererile logice
provenite de la client.
Un astfel de server nelege att natura cererii ct i structura i localizarea datelor, majoritatea
calculelor fiind efectuate de motorul bazei de date.
Clientul are doar o interfa grafic cu care poate accesa baza de date de pe server, folosind aplicaii
pentru a transmite comenzi SQL serverului bazei de date, rezultatele fiind primite sub form de tabele.
Exemple de astfel de produse sunt: ORACLE, SQL Server, DB2, Sybase i Informix. Prin inerea sub
control, de ctre un server, a tuturor fiierelor bazelor de date, arhitectura client-server ofer o
fiabilitate ridicat i o serie de alte caracteristici avantajoase ce nu pot fi oferite de arhitectura fileserver, cum ar fi:
1. Copie de siguran ce poate fi creat n timpul lucrului.
2. Tranzacii sigure prin jurnalizarea tranzaciilor, astfel nct actualizrile efectuate prin intermediul
unei tranzacii pot fi n orice moment refcute sau anulate.
3. Fiabilitate i protecie sporit a datelor
4. Procesarea mai rapid a interogrilor.

n concluzie, soluiile file-server nu sunt recomandate ntreprinderilor de mari dimensiuni sau


aplicaiilor extinse, preferndu-se n acest caz soluia client-server care scade traficul de pe reea i
asigur o fiabilitatea mult crescut a sistemelor.
Pentru operarea n regim monoutilizator lucrurile nu se prezint chiar aa: performanele sunt ct se poate
de comparabile dac este vorba de un hardware bine echilibrat. n acest caz altele sunt criteriile care ne
orienteaz catre SGBDR-uri mari organizate in model client/server:
- operarea multiuser concurenial
- descongestionarea traficului prin reea datorit transmiterii doar a datelor int (adic un minim);
- controlul drepturilor utilizatorilor i monitorizarea activitii (conectare i aplicaii);
- implementri unice de logic centralizat
- gestionarea tranzaciilor
- serverul asigura integritatea
- optimizarea organizrii fizice a datelor
- recuperarea datelor n caz de blocare/cdere a sistemului i refacerea tranzaciilor neterminate;
- jurnalizarea acceselor, tranzaciilor i a sesiunilor de lucru sau de administrare;
- economicitatea upgrade-ului
Arhitectura client/server dovedete suplee (modularitatea i scalabilitatea oferind disponibilitate crescut
la reorganizri i extinderi) i deschidere (chiar se consider ca ea a aprut din necesitatea de a asigura o
deschidere i interoperabilitate superioare modelului centralizat cu mainframe).
Modelul client/server a fost i el susceptibil de perfecionri de principiu, iar una dintre cele mai
interesante este impunerea de niveluri/straturi intermediare intre client i server.
ns cele mai deranjante dezavantaje ale arhitecturii client/server deriv din complexitatea ei i din
standardizarea insuficient.
Majoritatea serviciilor Internetului se desfoar n regim client/server, astfel c devine natural
implicarea SGBDR-urilor n aplicaii Internet (de genul e-business sau e-commerce).
12. Baze de date distribuite
Adevratul sens al atributului "distribuit n contextul SGBD-urilor corespunde nu faptului c sistemul
permite accesarea datelor de la distan (prin reea), ci acelor implementri care ngduie aplicaiilor i
utilizatorilor s trateze baza de date ca pe un singur depozit logic chiar dac datele constituente sunt
repartizate n mai multe locaii ale reelei (transparena complet a localizrii datelor). Totui problema
este delicat i pentru c - din punctul de vedere al analizei - se poate oricnd crea o aplicaie care s
trateze unitar tabele de date situate pe calculatoare diferite. Dar pentru c adevrata baz de date se
dorete independent de limbaje (sau de mediile de dezvoltare) sunt de apreciat acele SGBD-uri care
conin integrate funcionaliti care s asigure distribuirea datelor n nodurile reelei.
innd cont c de obicei volumul i complexitatea datelor spulber idealul "un computer foarte
performant cumulnd ntreaga baza de date i deservind toi utilizatorii ntreprinderii/organizaiei i
trebuie gsit o soluie de compromis, devine foarte interesant colecia de criterii practice de distribuire
a datelor n cazul fiecrei implementri, particularitile cernd un optim jalonat de urmtoarele aspecte:
- nu trebuie niciodat pierdut din vedere dezideratul vitezei;
- limita de stocare i puterea calculatoarelor gazda;
- limita de transfer a reelei;
- preferabil ca fiecare aplicaie s acceseze uzual un singur depozit al bazei de date (fr a mpiedica
accesarea cu frecven redusa a celorlalte noduri ale reelei);
- folosirea funciilor two-phase-commit existente pentru a asigura integritatea datelor actualizate
distribuit;
- planificarea, controlul i minimizarea duplicrii de obiecte ale bazei de date;
- corelarea organizrii cu facilitile de optimizare distribuit ale SGBD-ului.
Cercetatorul Chris Date (coleg de proiecte cu E.F. Codd) a enunat cele 12 cerine ideale crora trebuie s
li se supun bazele de date distribuite; dintre acestea 9 sunt urmtoarele:
0.
Autonomia local: datele locale sunt deinute i administrate local - nici un post nu depinde de
altele pentru a funciona.

1.
Toate posturile sunt egale: nici un post nu se bazeaz pe o staie central.
Funcionare nentrerupt: nu trebuie s fie necesar o oprire planificat (instalrile/tergerile efectuate la
un post nu afecteaz funcionarea celorlalte).
2.
Transparena amplasrii: utilizatorii nu sunt obligai s tie unde sunt amplasate datele pentru a le
extrage. Transparena fragmentrii: relaiile dintre componentele bazei de date pot fi fragmentate pentru
stocare, dar acest lucru rmne transparent pentru utilizator.
3.
Transparena duplicrii: relaiile i fragmentele pot fi reprezentate fizic prin copii multiple stocate
separat, dar transparent pentru utilizator.
4.
Prelucrarea interogrilor distribuite: operaiile de citire/scriere se pot desfura la mai multe
posturi, permind optimizarea locala i global a interogrilor.
5.
Actualizrile distribuite: tranzaciile singulare pot executa codul la mai multe posturi.
6.
Independena de hardware: toate calculatoarele particip ca membri egali.
7.
Independena de sistemul de operare: sunt suportate mai multe sisteme de operare conectabile la
reea. Independena de reea: sunt suportate mai multe reele prin protocoale comune.
8.
Independena de bazele de date: se asigur accesul uniform (interfaare unic) pentru datele
provenind din SGBD-uri diferite.
13. Forme normale
Sunt proprieti sau constrngeri aplicate unei scheme de relaie cu scopul de a atinge anumite obiective,
cum ar fi reducerea redundanelor. Exist 6 forme normale aplicate de obicei:
Prima form normal (sau FN 1).
A doua form normal (sau FN 2).
A treia form normal (sau FN 3).
Forma normal Boyce Codd (sau FNBC).
A patra form normal (sau FN 4).
A cincea form normal (sau FN 5).
Fiecare dintre cele 6 forme normale este mai restrictiv ca predecesoarea sa. Astfel, de exemplu, o
schem de relaie aflat n forma normal trei este i n forma normal doi, aa cum se reprezint n
figura de mai jos:

FN 1

FN 2

FN 3

FNBC FN 4

FN 5

Figura 3.1. Forme normale


Scopul formelor normale este acela de a elimina redundanele din cadrul relaiilor prin descompunerea
acestora n dou sau mai multe relaii, fr ns a pierde informaie, ceea ce nseamn faptul c este
posibil, n orice moment, revenirea la relaia originar doar pe baza relaiilor obinute din descompunere.
Prima form normal (FN 1)
Scopul formei normale unu este acela de a simplifica structura unei relaii prin obinerea asigurrii c ea
nu conine date care mai pot fi descompuse sau date generatoare de valori repetitive, ceea ce nseamn
faptul c nici un atribut nu poate avea o mulime de valori. Prin aciunea specific de descompunere,
atributele ce nu respect aceste condiii sunt plasate n relaii separate, pstrndu-se atribute de legtur
care au acelai tip de dat i aceeai dimensiune. Fiecare tabel are o cheie primar. De asemenea, o

schem relaional R se afl n forma normal unu dac i numai dac fiecare atribut se afl la nivel
atomic.
A doua form normal (FN 2)
O dependen funcional X Y se spune c este o dependen funcional complet dac prin eliminarea
unui atribut din X se pierde aceast dependena.
O schem relaional se afl n forma normal doi dac i numai dac fiecare atribut care nu face parte
din cheie depinde funcional de ntreaga cheie. Cu alte cuvinte, o relaie se afl n forma normal doi dac
i numai dac se afl n forma normal unu i dac depinde funcional de ntreaga cheie. Altfel relaia
trebuie descompus.
A treia form normal (FN 3)
O relaie se afl n forma normal trei dac i numai dac se afl n forma normal doi i dac fiecare
atribut care nu face parte din cheie nu depinde tranzitiv de aceasta. Prin urmare, fiecare atribut care nu
face parte din cheie nu poate depinde funcional dect de aceasta. Pentru a ajunge din forma normal doi
n forma normal trei este necesar s:
- se determine dependenele funcionale dintre atribute;
- se descompun relaia n alte relaii, fr a pierde ns informaie.
Forma normal Boyce-Codd
O schem de relaie R se afl n FNBC dac, pentru toate dependenele funcionale ce au loc n R i sunt
de forma X Y n care R X i R Y sunt ndeplinite condiiile:
- X Y este trivial.
- X este o cheie candidat a schemei de relaie R astfel nct X R.
Cu alte cuvinte, fiecare atribut trebuie s depind de cheie, de ntreaga cheie i de nimic altceva. FNBC
este o generalizare a formelor normale doi i trei.
De remarcat este faptul c nu ntotdeauna este posibil descompunerea n FNBC cu pstrarea
dependenelor.
Forma normal patru (FN 4)
Forma normal patru se bazeaz pe conceptul de dependen multivaloric. O dependen multivaloric
apare doar n relaiile ce au cel puin trei coloane. Dac una dintre coloane are rnduri ale cror valori
corespund unei singure valori ale unui rnd dintr-o alt coloan, atunci se spune c a aprut o dependen
multivaloric. O relaie se afl n forma normal patru dac i numai dac se afl n forma normal
Bozce-Codd i dac nu are dependene funcionale multivalorice.
A cincea form normal (FN 5)
A cincea form normal se bazeaz pe conceptul de dependen de cuplare. Dependena de cuplare este o
proprietate ce garanteaz c nu se genereaz nregistrri false la reunirea relaiilor obinute prin
descompunere.
O relaie se afl n forma normal cinci dac ea nu poate fi descompus n alte relaii fr a pierde
informaie. Cu alte cuvinte, dac se adaug un rnd suplimentar unei relaii care nu se afl n forma
normal cinci i dac aceast relaie se descompune n alte relaii, prin refacerea relaiei iniiale se obin
nregistrri false.
14. Regulile lui Codd. Particularizare 1-5, 7-8
Edgar F. Codd a murit n data de 18 aprilie 2003, la vrsta de 79 de ani. Codd a fost un cercettor, angajat
al firmei IBM, care a dezvoltat pentru prima oar, n 1970, modelul relaional al bazelor de date n care
prezint operaiile ce pot fi efectuate asupra unei baze de date cu scopul obinerii accesului rapid i corect

la acestea. Un model al unei baze de date are n vedere modul de stocare a datelor ct metodologia
folosit la extragerea i actualizarea acestora. Pe parcursul anilor 60-70 Codd a cutat s rezolve
problemele induse de modelul ierarhic al bazelor de date care se folosea la IBM n acea perioad.
Rezultatul acestor cercetri s-a materializat n promovarea modelului relaional ca o soluie alternativ a
modelului ierarhic care se bazeaz pe teoria matematic a mulimilor.
Regula informaiei
Toate informaiile transferate n cadrul unei baze de date relaionale trebuie reprezentate n mod explicit
la nivel logic ntr-o singur modalitate, sub form de valori n cadrul unor tabele. Aceasta este, ceea ce se
numete, reprezentare logic a datelor. Fiecare linie sau tuplu dintr-un tabel (relaie) reprezint intrri n
coloane modelul aplicndu-se la fel n ntregul tabel astfel nct fiecare rnd are acelai format.
Fiecare linie din cadrul tabelului este identificat prin intermediul valorii unei coloane sau combinaii de
coloane, numit cheia primar. Fiecare rnd din cadrul tabelului poate fi accesat prin intermediul unei
chei externe.
Regula de garantare a accesului
Fiecare dat stocat ntr-o baz de date relaional trebuie s poat fi logic accesibil utilizatorului prin
apelarea numelui tabelului n care se afl, prin valoarea cheii primare i prin numele unei coloane
aparintoare tabelului respectiv. Accesul la date trebuie s se fac simplu, fr a exista ambiguiti n
exprimare. Modelul relaional nu se preocup de aspectele fizice ale extragerii datelor din tabele. Aceast
regul afirm faptul c utilizatorul trebuie s aibe acces la datele stocate n baza de date doar prin
intermediul numelor i valorilor. Cheia primar, prin care se identific n mod unic o anumit nregistrare
din cadrul unui tabel, reprezint elementul fundamental al modelului relaional. ntr-un tabel nu poate
exista dect o singur cheie primar care nu are voie s primeasc valori NULL.
Valorile NULL
Valorile NULL (diferite de irul de lungime zero sau de numrul zero) sunt utilizate n cadrul sistemelor
de gestiune a bazelor de date relaionale pentru a reprezenta informaia lips sau indisponibil la un
moment dat, indiferent de tipul de dat i sunt obligatorii n orice sistem complet relaional. De
asemenea, astfel de reprezentri trebuie s poat fi manipulate ntr-un mod sistematic i fr echivoc de
ctre orice sistem de gestiune al bazelor de date relaionale (Date, 1991).
O valoare NULL poate apare oriunde n cadrul sistemului de gestiune al bazelor de date relaional, dar nu
poate fi atribuit nici unei chei primare, majoritatea sistemelor admind specificarea conceptului de
cmp nenul sub forma unei constrngeri ce interzice folosirea valorilor NULL n cmpul respectiv
(Parkhurst, 2002).
Catalog actualizat permanent pe baza modelului relaional
Descrierea bazei de date este reprezentat, la nivel logic, n acelai fel ca i datele obinuite, astfel nct
utilizatorii autorizai pot folosi acelai limbaj relaional pentru a pune ntrebri referitoare la structura
acesteia. Sistemul trebuie s suporte existena unui catalog relaional accesibil utilizatorilor autorizai prin
intermediul aceluiai limbaj de interogare folosit i n cazul datelor obinuite (Date, 1991).
O baz de date relaional trebuie s se autodescrie (Moore).
Catalogul reprezint locul n care alturi de alte lucruri se pstreaz toate schemele (externe,
conceptuale, interne), dar i toate corespondenele (extern/conceptual, conceptual/intern). Cu alte
cuvinte, catalogul conine informaii detaliate (numite i metadate) despre obiectele de interes ale bazei
de date i ale ntregului sistem (Date, 2000).
Regula de nelegere a sublimbajului de manipulare a datelor
Un sistem relaional poate folosi mai multe limbaje sau moduri de folosire a terminalelor, dar acesta
trebuie s suporte cel puin un limbaj relaional care:
1.
are sintax liniar;
2.
poate fi folosit att interactiv ct i din cadrul altor programe aplicaie;
3.
suport:

- operaii de definire a datelor (inclusiv definirea i folosirea vederilor);


- operaii de manipulare a datelor (extrageri de date, dar i actualizri);
- constrngeri de integritate i securitate;
- operaii de gestiune a tranzaciilor (nceput, sfrit, reluare).
n realitate toate sistemele comerciale de gestiune a bazelor de date relaionale folosesc limbajul
structurat de interogare (SQL).
Regula de actualizare a vederilor
O vedere este un tabel virtual, care provine din cel puin un tabel de baz i genereaz o serie de
reprezentri ale datelor vizibile utilizatorilor. Tabelele de baz sunt tabelele reale ale bazei de date, cu
reprezentare concret n mediul de stocare. Deoarece vederile nu nmagazineaz date ci interogri,
acestea sunt numite tabele virtuale (Johnson, 1997).
Date a luat n discuie dou principii importante ce trebuie avute n vedere la actualizarea unei vederi:
Principiul interschimbabilitii care afirm faptul c nu trebuie s se fac nici un fel de deosebire ntre
tabelele de baz i vederi i
Principiul relativitii bazei de date prin care tabelele bazei de date sunt considerate a fi tabele de baz
din punct de vedere al utilizatorului (Date, 2000).
Inserarea, actualizarea i eliminarea
Datele pot fi extrase din cadrul unei baze de date relaionale sub forma unor mulimi de date alctuite pe
baza rndurilor din unul sau mai multe tabele. Operaiile de inserare, actualizare i tergere trebuie s fie
aplicate pe orice astfel de mulime la fel cum se aplic i pe un singur rnd dintr-un tabel (Parkhurst,
2002).
Independena fizic de date
Acest lucru se refer la faptul c programele aplicaie nu trebuie s fie afectate dac au loc modificri n
reprezentarea stocrii datelor sau n metodele de acces la date. Programele aplicaie sunt imune la
modificrile ce au loc n reprezentarea loc fizic sau n metodele de acces la date (Avery). Aceasta
nseamn faptul c structura fizic a datelor nu trebuie s provoace probleme utilizatorului care lucreaz
cu acele date.
Independena logic de date
Programele aplicaie nu trebuie s fie afectate atunci cnd au loc modificri n structura tabelelor bazei de
date, dac modificrile nu le afecteaz n mod direct. O vedere a utilizatorului asupra datelor nu trebuie
s fie afectat nici ea n cazul modificrii structurii logice a unei baze de date .
Date a definit independena logic de date ca reprezentnd imunitatea utilizatorilor i a programelor
acestora la modificrile efectuate n structura logic a unei baze de date. n esen, asupra unei baze de
date au loc dou tipuri de operaii: de adugare de coloane sau tabele i de modificare a structurii
tabelelor sau bazei de date. Nici una dintre cele dou operaii nu trebuie s afecteze utilizatorii sau
programele acestora.
Independena de distribuire
Orice baz de date relaional trebuie s aibe independen la distribuire, ceea ce nseamn faptul c
utilizatorii nu trebuie s tie c o baz de date este distribuit, iar aplicaiile existente ce folosesc
respectiva baz de date trebuie s funcioneze la fel ca i cnd baza de date ar fi centralizat:
a. dac se introduce anterior o versiune modificat a unei baze de date distribuite;
b. dac datele distribuite existente se redistribuie n tot sistemul (Date, 1991). Aplicaia funcioneaz
unitar din punct de vedere logic, dac datele sunt gestionate de un singur sistem de gestiune a bazelor de
date aflat pe o singur main
Date a introdus 12 reguli ce se aplic bazelor de date distribuite:
1.
Autonomia local site-urile din sistemul distribuit trebuie s fie independente.
2.
Nu trebuie s existe un site dominant toate site-urile trebuie s fie tratate n mod egal.

3.
Operare continu sistemele distribuite trebuie s aibe o fiabilitate i o disponibilitate ridicate.
4.
Independena de locaie utilizatorii nu trebuie s tie unde se afl datele pe care le folosesc.
5.
Independena de fragmentare utilizatorii nu trebuie s tie c datele sunt separate n diferite
locaii.
6.
Independena de copie utilizatorii nu trebuie s tie c lucreaz cu nite copii.
7.
Procesarea distribuit a interogrilor suportul necesar interogrilor multiple i a optimizrii
acestora.
8.
Controlul tranzaciilor distribuite refacerea i controlul concurenei.
9.
Independena hardware.
10.
Independena de sistemul de operare folosit.
11.
Independena de reea.
12.
Independena de sistemul de gestiune al bazei de date se refer la omogenitate.
(Date, 2000).
Regula de non-subversiune
Dac un sistem relaional are un limbaj de nivel sczut (procesarea pe rnd a unei singure nregistrri
odat), acel limbaj nu poate fi folosit pentru a trece de interdiciile impuse de constrngerile sistemului
exprimate prin intermediul limbajului relaional de nivel nalt (procesarea ntregului set de nregistrri
deodat).
Nu trebuie s existe nici o modalitate prin care s se poat modifica structura bazei de date alta dect prin
intermediul unui limbaj relaional, cum ar fi de exemplu, SQL (Parkhurst, 2002).
O alt modalitate de definire a unei baze de date relaionale este aceea fcut prin intermediul celor cinci
reguli ale lui Connolly, ce se bazeaz pe cele 12 reguli ale lui Codd (1999):
1. Reguli fundamentale (R12)
2. Reguli structurale (R1, R6)
3. Reguli de integritate (R3, R10)
4. Reguli de manipulare a datelor (R2, R4, R5, R7)
5. Reguli de independen a datelor (R8, R9, R11)
15. Ciclul de via al unei baze de date
Ciclul de via al unei baze de date reprezint setul de pai, tehnici, metode i instrumente utilizate pentru
transpunerea modelului de date ntr-un model fizic.
Elmasri i Navathe au propus un proces pe care l-am completat cu etape suplimentare astfel:

Figura 1. Ciclul de via al unei baze de date


Colectarea i analizarea
cerinelor
Cerine funcionale
Analiza funcional
Specificaiile de nivel nalt ale
tranzaciilor

Cerinele bazei de date

Proiectul conceptual

Schema conceptual

Alegerea SGBD
Proiectarea aplicaiei program

Schema conceptual (la cel mai nalt


nivel al modelului de date)

Proiectul logic
(transformarea modelului
de date)

Implementarea tranzaciilor

Schema logic (conceptual)


(specific SGBD)

Proiectul fizic
Prototipul

Implementarea

Testarea

Mentenana

Schema intern

S-ar putea să vă placă și