Sunteți pe pagina 1din 8

BAZE DE DATE

CURS nr. 9-10

3.2.2. 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.
De exemplu, AB C este o dependen funcional complet numai dac C depinde funcional att
de B ct i de A.
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
i

BAZE DE DATE

CURS nr. 9-10

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 Boyce-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.
O dependen de cuplare (jonciune) JD(R1, R2, ... ,Rn) reprezint o constrngere aplicat relaiei R,
care arat faptul c fiecare instan r(R) trebuie s aibe pierdere de informaie prin descompunerea
n relaiile R1, R2, ... , Rn.
O dependen multivaloric reprezint un caz special al unei dependene de cuplare n care n = 2.
Dependena de cuplare JD(R1, R2,..., Rn) este o dependen de cuplare trivial dac unele relaii Ri =
R.
O schem de relaie R se afl n forma normal cinci referitor la o mulime F de dependene
funcionale, multivalorice, i de cuplare dac pentru fiecare dependen de cuplare netrivial
JD(R1, R2, ... , Rn) din F, fiecare Ri este o supercheie a lui R.

3.3. Regulile lui Codd


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

BAZE DE DATE

CURS nr. 9-10

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.
Spre deosebire de sistemele ierarhice rigide, bazele de date relaionale sunt uor de parcurs,
manipulat i modificat. n principiu, acestea se bazeaz pe conceptul de tabel bidimensional (numit
i relaie), fiecare tabel fiind alctuit din nregistrri (rnduri orizontale, numite i tupluri) i
cmpuri (coloane verticale numite i atribute). n esen, o baz de date relaional este alctuit
dintr-o colecie de tabele bidimensionale n care coloanele unui tabel pot conine asocieri cu
rndurile altor tabele n scopul corespondenei datelor.
La nceput IBM nu a luat n consideraie ideile revoluionare ale angajatului su, datorit marilor
investiii fcute n produsul de baze de date ierarhice, IMS, pe care ncercau s-l promoveze masiv
pe pia. i astfel s-au scurs 7 ani de la lucrrile lui Codd pn cnd Larry Ellison ce conducea o
companie ce ulterior avea s devin ORACLE a creat primul produs comercial de baze de date
relaionale. n 1981 IBM a realizat produsul SQL/DS, primul lor produs relaional, urmat n 1983 de
celebrul DB2.
n 1985 Codd a publicat o list de reguli care definesc simplu i concis o baz de date relaional
ideal, aceste reguli devenind standardul de evaluare a sistemelor relaionale, fiind n acelai timp i
un ghid de proiectare a tuturor sistemelor de baze de date relaionale. Dup publicarea lucrrii,
Codd a afirmat c va fi foarte greu, dac nu imposibil de creat un sistem care s satisfac n
totalitate setul de reguli, lucru care rmne valabil i astzi. La cele mai multe dintre sistemele
relaionale de baze de date regulile 6, 9, 10, 11 i 12 sunt foarte greu de respectat. n continuare se
va face o scurt trecere n revist a fiecreia dintre cele 12 reguli.

3.3.1. 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. Un sistem de gestiune a bazelor de date relaionale trebuie s
manipuleze datele folosind doar instrumente specifice modelului relaional. Din acest motiv, att
datele ct i metadatele (datele despre date) trebuie pstrate n tabelele bazei de date.

3.3.2. 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.

BAZE DE DATE

CURS nr. 9-10

3.3.3. 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).

3.3.4. 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).

3.3.5. 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).
(Date, 1991).
n realitate toate sistemele comerciale de gestiune a bazelor de date relaionale folosesc limbajul
structurat de interogare (SQL).

3.3.6. Regula de actualizare a vederilor


Toate vederile care sunt teoretic actualizabile, pot fi actualizate de ctre sistem. Fiecare vedere
trebuie s suporte acelai set de reguli de manipulare prin care se poate accesa n mod direct la fel
ca i un tabel obinuit (Parkhurst, 2002).
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

BAZE DE DATE

CURS nr. 9-10

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).

3.3.7. 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).

3.3.8. 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.

3.3.9. 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 (de
exemplu, adugarea de coloane noi n tabele sau de tabele noi n baza de date) (Avery).
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.
Operaia de adugare
De multe ori, unei baze de date trebuie s i se adauge fie coloane noi n cadrul tabelelor, fie tabele
noi datorit apariiei de date suplimentare ce trebuie implementate n baza de date original. Ca
urmare se pot identifica dou tipuri de adugri:
1. extinderea tabelelor prin apariia de atribute noi, de un anumit tip de dat specificat;
2. extinderea bazei de date prin apariia de tabele noi necesare introducerii de noi entiti n
baza de date.
Operaia de reorganizare a structurii bazei de date
Uneori, apare necesitatea de modificare a structurii bazei de date, nu din cauza apariiei de date noi,
ci din apariia nevoii de reamplasare a anumitor date n mod diferit n cadrul tabelelor, coninutul
acestora rmnnd identic cu cel originar. (Date, 2000).

3.3.10. Independena integritii


Constrngerile de integritate specifice unei anumite baze de date relaionale trebuie s poat fi
definite n sublimbajul relaional al datelor i nmagazinate n catalog, nu n programul aplicaie. De
asemenea trebuie s fie posibil modificarea unor astfel de constrngeri aa cum cere logica
aplicaiei fr a afecta celelalte aplicaii (Date, 1991).
Constrngerile de integritate sunt reguli prin care sistemul de gestiune al bazelor de date mpiedic
baza de date s ajung ntr-o stare inconsistent. Potrivit celor afirmate de ctre Date n 2001, regula
de aur a independenei integritii este: Nu trebuie s fie permis nici un fel de operaie care s
lase o anumit valoare ntr-o stare care s contrazic predicatul impus. n acest fel nu poate avea
loc nici o tranzacie care ar ncerca s lase baza de date ntr-o stare care s nu corespund
propriei condiii impuse.

BAZE DE DATE

CURS nr. 9-10

Constrngerile de integritate sunt:


1. Constrngeri NOT NULL
Aceast constrngere este preferat de standardul ISO n comenzile CREATE i ALTER TABLE.
Constrngerea interzice nmagazinarea n baza de date a valorilor NULL, ceea ce nseamn c nu se
permite ca anumite coloane s fie goale (Connolly et al., 1999).
2. Clauza UNIQUE
Clauza UNIQUE specific una sau mai multe coloane care identific n mod unic fiecare
nregistrare din cadrul unui tabel. n acelai timp, fiecare coloan ce apare n clauza UNIQUE
trebuie s fie declarat ca fiind NOT NULL.
SQL anuleaz orice operaie de inserare sau actualizare care are tendina de a genera valori duplicat
n cheile candidat. ntr-un tabel nu este permis dect o singur cheie primar, iar clauza UNIQUE
se folosete numai dac a fost aleas cheia primar i este necesar ca valorile altei coloane s fie
unice.
3. Clauza PRIMARY KEY (integritatea entitii)
Cheia primar a unui tabel trebuie s conin o valoare unic nenul pentru fiecare nregistrare
introdus n tabel. Standardul ISO impune integritatea entitii prin intermediul clauzei cheii
primare ce apare n instruciuni precum CREATE sau ALTER TABLE (Connolly et al., 1999).
4. FOREIGN KEY (integritatea referenial)
O cheie extern este un cmp dintr-un tabel ce corespunde coloanei cheie candidat dintr-un alt tabel.
O valoare a cheii externe trebuie s aib o valoare corespondent n tabelul printe. Tabelul ce
conine cheia extern se numete tabelul referit, copil sau extern, n timp ce tabelul ce conine cheia
candidat se numete tabelul de referin, primar, sau printe (Rennhackkamp, 1996).
Integritatea referenial are semnificaia faptului c nici o baz de date relaional nu poate conine
valori necorespunztoare ale cheii externe. Cheie extern necorespunztoare reprezint o valoare a
cheii externe dintr-un tabel referit pentru care nu exist valoare n tabelul de referin. Cu alte
cuvinte, constrngerea specific faptul c dac B l refer pe A, atunci A trebuie s existe. Date
afirm faptul c, de multe ori, nu este posibil utilizarea unei interogri convenabile pentru a obine
un anumit rspuns. Din acest motiv, trebuie s se poat specifica o aciune referenial de tipul
CALL proc(), n care proc reprezint procedura creat de utilizator (Date, 2000).
Actualizrile bazei de date au loc ntotdeauna la nivel atomic, ceea ce nseamn totul sau nimic,
chiar dac sunt implicate actualizri pe mai multe valori, ca n cazul aciunii refereniale
CASCADE (Date, 2000).
Standardul ISO propune introducerea cheii externe prin intermediul clauzei FOREIGN KEY ce
apare n cadrul comenzilor de creare sau modificare a structurii unui tabel. De exemplu, dac
tabelul B are o cheie extern care face referire la o coloan din tabelul A, integritatea referenial
interzice introducerea unei valori n tabelul B care nu are corespondent n tabelul A. n plus, regulile
de integritate referenial pot avea n vedere i faptul c ori de cte ori se elimin o valoare din
tabelul A, valorile corespunztoare din tabelul B pot fi i ele eliminate, ceea ce este cunoscut sub
denumirea de tergere n cascad. Regulile de integritate referenial mai pot specifica i faptul c
ori de cte ori se modific o valoare din tabelul A, toate valorile corespunztoare din tabelul B sunt
i ele modificate automat, ceea ce este cunoscut sub denumirea de actualizare n cascad
(Webopedia, Referential Integrity).
SQL prevede urmtoarele opiuni ce pot fi alese n astfel de situaii (Connolly et al., 1999):
1. CASCADE: prin tergerea unei nregistrri din tabelul printe automat se elimin toate
nregistrrile corespunztoare din tabelul copil. Deoarece nregistrrile eliminate pot conine o cheie
candidat utilizat drept cheie extern n alt tabel, regulile cheii externe se aplic i n tabelul
respectiv, .a.m.d.
2. SET NULL: terge nregistrarea din tabelul printe i provoac setarea coloanelor cheie extern
din tabelul copil la valoarea NULL, dar o astfel de operaie este posibil numai dac coloanele cheii
externe nu au setat opiunea NOT NULL.

BAZE DE DATE

CURS nr. 9-10

3. SET DEFAULT: terge nregistrarea din tabelul printe i provoac setarea fiecrei componente a
cheii externe din tabelul copil la valoarea implicit specificat, dar operaia este valabil numai dac
coloanele cheii primare au setat opiunea DEFAULT.
4. NO ACTION: resping operaia de tergere din tabelul printe, fiind opiunea implicit dac nu se
introduc explicit reguli pentru ON DELETE.
5. Constrngerea CHECK
Exist dou tipuri de constrngeri CHECK. Una dintre ele este denumit constrngere de domeniu,
deoarece stabilete mulimea de valori pe care o poate lua un atribut, iar cealalt se numete
constrngerea logic utilizat cu scopul de a pune n eviden anumite condiii suplimentare
(Connolly et al, 1999).
Standardul ISO prevede astfel de constrngeri ce pot fi introduse n cadrul comenzilor de creare sau
modificare a unui tabel. Clauza CHECK permite definirea unei constrngeri pe o coloan sau pe
ntregul tabel. n cazul utilizrii clauzei la nivel de coloan, aceasta nu poate face referire dect la
coloana respectiv (Connolly et al, 1999).
Cel puin urmtoarele dou constrngeri trebuie s existe n orice baz de date relaional:
a. Integritatea entitii: nici o component a cheii primare nu are voie s aibe valoarea NULL.
b. Integritatea referenial: pentru fiecare valoare nenul a cheii externe din baza de date
relaional, trebuie s existe o valoare corespunztoare din acelai domeniu de valori i de
acelai tip (cheia primar).

3.3.11. 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, 1991).
Date (2000) numete sistem distribuit de baze de date un sistem ce const dintr-o colecie de siteuri conectate laolalt prin intermediul unei reele i n care fiecare site conine un sistem
independent de baze de date, dar site-urile convin s lucreze mpreun astfel nct utilizatorul,
indiferent de locul n care se afl, poate accesa datele de oriunde de pe reea ca i cum acestea s-ar
afla n site-ul propriu.
Fiecare site conine un sistem independent de baze de date nseamn faptul c fiecare site are o
baz de date real local cu proprii utilizatori i toate elementele caracteristice sistemelor de
gestiune relaionale.
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.

BAZE DE DATE

CURS nr. 9-10

12. Independena de sistemul de gestiune al bazei de date se refer la omogenitate.


(Date, 2000).

3.3.12. 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).
Observaie: Mai exist o regul fundamental a celor 12 reguli, cunoscut sub numele de Regula
zero: "orice sistem care se declar a fi sistem relaional de gestiune al bazelor de date trebuie s fie
capabil s gestioneze datele doar prin intermediul propriilor caracteristici".
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)
Nu exist sistem relaional care s suporte n ntregime regulile de actualizarea a vederilor (R6), de
control a valorilor NULL (R3) i de independen logic de date (R9). Orice nclcare a regulilor
prezentate necesit eforturi suplimentare att din partea utilizatorilor finali ct i a administratorilor.
De exemplu, utilizatorii finali nu pot actualiza o vedere, bazat pe dou tabele, sau obin rezultate
eronate datorit faptului c sistemul de gestiune al bazelor de date controleaz valorile NULL ntrun mod neateptat. Prin adugarea unei coloane noi ntr-un tabel, orice aplicaie care va folosi acea
coloan va trebui modificat. Inconsistene ale datelor pot apare foarte uor n cadrul unei baze de
date dac o vedere i tabelul su de baz trebuie controlate de ctre utilizatori separat. Contraargumentul este (probabil) acela c sistemele de gestiune a bazelor de date ar deveni lente deoarece
dac independena de date ar fi total, atunci timpul necesar despachetrii nregistrrilor fizice
necesar obinerii datelor necesare trebuie adugat ntotdeauna la crearea vederilor utilizatorilor. Dar,
deoarece, marea majoritate a lucrului se bazeaz pe o singur vedere particular a utilizatorului,
devine util punerea n concordan a vederii utilizatorului cu organizarea fizic pentru a economisi
timp. Codd s-a preocupat un timp ndelungat cu crearea unei interfee logice pe care sistemul de
gestiune al bazei de date s o pun la dispoziia utilizatorului, dar problema performanelor nu era
legat de rezolvarea unei astfel de probleme, ci de faptul c toate sistemele relaionale au o structur
fizic bazat exclusiv fie pe fiiere de tip ISAM fie pe fiiere cu acces aleator, acestea devenind fie
foarte lente fie foarte rapide n funcie de volumul i de distribuirea cererii.