Sunteți pe pagina 1din 9

3 MODELUL DE DATE RELAIONAL

SGBD relaionale au devenit n zilele noastre elementul de software dominant n prelucrarea datelor.
Ele reprezint a doua generaie1 de SGBD i se bazeaz pe modelul de date relaional propus de
matematicianul E. F. Codd n 1970. n modelul relaional, toate datele sunt structurate logic n cadrul unor
relaii (tabele).
Sistemele comerciale bazate pe modelul relaional au nceput s apar pe la nceputul anilor 80. Acum
exist sute de sisteme SGBD relaionale, att pentru mainframe ct i pentru microcalculatoare. Din ultima
categorie amintim cteva exemple: Access i FoxPro ale companiei Mirosoft, Paradox i Visual dBase de la
Borland.

3.1 Terminologie
Modelul relaional se bazeaz pe conceptul matematic de relaie, reprezentat fizic sub form de tabel.
Bazele acestei tratri au fost puse de Codd, care a utilizat terminologia i conceptele din teoria mulimilor i
logica predicativ.
3.1.1 Structura relaional a datelor

Relaie O relaie este un tabel cu coloane i rnduri.

Un SGBD relaional necesit ca baza de date s fie perceput de ctre utilizator doar sub form de tabele.
Aceast percepie se aplic numai structurii logice a bazei de date adic nivelurilor externe i conceptuale
ale arhitecturii ANSI-SPARC. Nu se aplic i structurii fizice a bazei de date, care poate fi implementat
utiliznd o varietate de structuri de stocare.

Atribut Un atribut este o coloan a unei relaii, cu o anumit denumire.

O relaie este reprezentat de un tabel bidimensional, n care rndurile acestuia corespund nregistrrilor
individuale, iar coloanele corespund atributelor. Atributele pot aprea n orice ordine, relaia rmnnd
neschimbat.

Domeniu Un domeniu este mulimea de valori permise pentru unul sau mai multe
atribute.
Domeniile constituie o caracteristic extrem de puternic a modelului relaional. Fiecare atribut dintr-o baz
de date relaional este definit pe un domeniu. Domeniile pot fi diferite pentru fiecare atribut, sau dou sau
mai multe atribute pot fi definite pe un acelai domeniu.
Conceptul de domeniu este important deoarece permite utilizatorului definirea sensului i a sursei de
valori pe care le poate lua atributul. Ca rezultat, sistemului i sunt disponibile mai multe informaii i la
executarea unei operaii relaionale, pot fi evitate operaiile incorecte semantic. De exemplu, nu are sens
compararea unui numr de strad cu un numr de telefon, cu toate c pentru ambele atribute domeniile de
definiie sunt iruri de caractere.

Tuplu Un tuplu este un rnd dintr-o relaie .

Elementele unei relaii sunt rndurile sau tuplurile dintr-un tabel. Tuplurile pot apare n orice ordine, relaia va
rmne aceeai.

1
Prima generaie o constituie SGBD n reea i ierarhice.
Atribute

Filiala

NrFil Adresa Zona Oraul NrTelefon NrFax


C4 Bdul Saturn 25 Astra Braov 234256 124123
Relaie C11 Sp. Independenei 142 Berceni Bucureti 748397 328964
cardinalitate
C5 Bdul Eroilor 14 Centru Braov 456345 759456
C6 Str Blcescu 75 Schei Braov 253414 842362

grad

Cheie primar Cheie strin

Personal
NrPer Prenum Nume Adresa NrTel Funcie Sex DataN Salariu NrAsig NrFi
Relaie

s e l
Fig.
Modelul de 4123 Ion Albu Ciorii 22 123456 manager M 1965 3500 313131 C5
date 4124 Ana Negrea Vii 45 213141 asistent F 1977 2000 424141 C6
relaional.1 4125 Vasile argu Lunii 86 secretar M 1968 1500 748494 C5
Exemple de 4127 Marin Rou Rozei 25 324354 manager M 1967 3500 322121 C11
relaii Filiala i Personal

Structura unei relaii, mpreun cu specificarea domeniilor i a oricror alte restricii asupra valorilor posibile
este denumit uneori intensitatea acesteia. Iar tuplurile sunt denumite extensia sau starea unei relaii, care se
modific n timp.

Grad Gradul unei relaii reprezint numrul de atribute pe care le conine aceasta.

O relaie cu un singur atribut are gradul nti i este denumit relaie unar, una cu dou atribute este
denumit binar, cu trei ternar, etc n-nar.

Cardinalitate Cardinalitatea unei relaii reprezint numrul de tupluri coninute de


aceasta..

Cardinalitatea se modific prin adugarea sau tergerea unor tupluri.

Baz de date relaional Un set de relaii normalizate.

O baz de date relaional const n relaii, care sunt structurate adecvat. Aceast structurare este denumit
normalizare.

Tabelul Modelul de date relaional.1


Termeni formali Altenativa 1 Alternativa 2
Relaie Tabel Fiier
Tuplu Rnd nregistrare
Atribut Coloan Cmp

3.1.2 Relaii matematice


Pentru a nelege sensul corect al termenului de relaie, este necesar prezentarea succint a ctorva
noiuni de matematic.
Presupunem c avem dou mulimi, D1 i D2, unde
D1=2,4 i D2=1,3,5
Produsul cartezian al acestor dou mulimi, scris sub forma D1D2, reprezint mulimea tuturor perechilor
ordonate astfel nct primul element s fie membru al mulimii D 1, iar al doilea element s fie membru al
mulimii D2. Deci,
D1D2=(2,1), (2,3), (2,5), (4,1), (4,3), (4,5)
Orice submulime a acestui produs este o relaie. De exemplu, se poate realiza o relaie R astfel nct
R=(2,1), (4,1)
Putem extinde acum noiunea de relaie la trei mulimi. Fie trei mulimi, D1, D2, D3. produsul cartezian
D1D2D3 al acestor trei mulimi reprezint mulimea tuturor tripletelor ordonate, n care primul element i
aparine lui D1, al doilea lui D2 i al treilea lui D3. orice submulime a acestui produs cartezian reprezint o
relaie.
Extindem acum la n mulimi D1, D2, , Dn. Produsul cartezian al acestora este definit ca:
D1D2 Dn=(d1, d2, ..., dn)| d1D1, d2D2, , dnDn
i de obicei se scrie sub forma:
n
XD i
i=1
Orice submulime a acestui produs cartezian reprezint o relaie a celor n mulimi. De observat c, n definirea
acestor relaii trebuie specificate mulimile, sau domeniile, din care se aleg valori.
3.1.3 Relaii n bazele de date
Aplicnd aceste concepte la baza de date, vom avea:

Schema de relaie O denumire a relaiei, urmat de un set de perechi de atribute i denumiri


de domenii.

Fie atributele A1, A2, ... An, cu domeniile D1, D2, ... Dn. Atunci mulimea
A1:D1, A2:D2, ... An:Dn
reprezint schema de relaie. O relaie R, definit de schema de relaie S, este un set de corespondene ntre
denumirile atributelor i domeniile corespunztoare acestora. Prin urmare, relaia R este o mulime de n
tupluri:
(A1:d1, A2:d2, ... An:dn) astfel nct d1D1, d2D2, ... dnDn.
Fiecare element din n-tuplu este format dintr-un atribut i o valoare a acestuia. n acest mod putem considera o
relaie din modelul relaional ca pe o submulime a produsului cartezian al atributelor i domeniilor.
n exemplul dat anterior, relaia Filiala are atributele NrFil, Adresa, Zona, Oraul, NrTel i NrFax,
fiecare cu domeniul su corespunztor. Relaia Filiala reprezint orice submulime a prodului cartezian al
domeniilor NumarFiliala, Adrese, Zone, Orae, etc. Tabelul Filiala reprezint o modalitate convenabil de
scriere a acestor tupluri.
3.1.4 Proprietile relaiilor
O relaie are urmtoarele caracteristici
are o denumire, diferit de toate celelalte denumiri de relaii
fiecare celul a relaiei conine o valoare singular
fiecare atribut are o valoare distinct
toate valorile unui atribut aparin aceluiai domeniu
ordinea atributelor nu are nici o importan
fiecare tuplu este distinct, nu exist dubluri ale tuplurilor
teoretic, ordinea tuplurilor nu are nici o importan, dar practic, ordinea poate afecta eficiena accesrii
tuplurilor
Pentru a ilustra semnificaia acestor restricii, vom face referire tot la relaia Filiala din exemplul
anterior. Din moment ce fiecare celul trebuie s conin doar o singur valoare, stocarea ntr-o singur celul
a dou numere de telefon pentru o singur filial este ilegal. Cu alte cuvinte, relaia nu conine grupuri
repetitive. O relaie care satisface aceast proprietate se spune c este normalizat, sau n prima form
normal. Formele normale vor fi studiate ntr-un capitol separat.
Majoritatea proprietilor specificate mai sus provin din proprietile relaiilor matematice:
din moment ce relaia este o mulime, ordinea elementelor sale nu are nici o semnificaie
ntr-o mulime nu se repet nici un element
Totui, ntr-o relaie matematic, ordinea elementelor dintr-un tuplu are importan. De exemplu,
perechea ordonat (1, 2) este diferit de perechea ordonat (2, 1). Acest fapt nu este valabil i pentru relaiile
din modelul relaional, care necesit n mod special ca ordinea atributelor s nu prezinte importan.
3.1.5 Chei relaionale
Pentru identificarea unic a unui tuplu dintr-o relaie, nu sunt necesare valorile tuturor atributelor sale, ci sunt
suficiente doar valorile unui subset al atributelor.

Cheia Este un subset al atributelor unei relaii care satisface proprietile de:
1. identificare unic: fiecare tupl a relaiei este identificat unic de valorile
atributelor care compun cheia
2. neredundan: subsetul de atribute este minimal, adic eliminarea oricrui
atribut din subset duce la pierderea primei proprieti.

Problema gsirii unei chei se reduce la determinarea setului minimal de atribute care satisface proprietatea 1.
Orice atribut al unei relaii care face parte din cel puin o cheie se numete atribut prim. Toate celelalte
atribute ale relaiei sunt neprime.
ntr-o relaie pot exista mai multe chei. Acestea sunt numite chei candidate. Pentru fiecare relaie se
desemneaz dintre acestea o cheie privilegiat, numit cheie primar.

Cheie primar Cheia candidat care este selectat pentru a identifica n mod unic
tuplurile din cadrul unei relaii.

Statutul de cheie primar al unei chei candidat este stabilit de utilizator. Cheile candidat care nu sunt
selectate drept chei primare se numesc chei alternative.
La selectarea unei chei primare din mulimea cheilor candidate se va ine seama de necesitatea ca
numrul atributelor cheii primare s fie ct mai mic posibil.

3.2 Integritatea relaional


n paragraful precedent, am analizat partea structural a modelului de date relaional. Aa cum am
stabilit n capitolul precedent, n paragraful Modele de date i modelarea conceptual, un model de date mai
are nc dou pri: o parte de manipulare, care definete tipurile de operaii permise asupra datelor i un set
de reguli de integritate, care asigur corectitudinea datelor. Acum vom analiza care sunt regulile relaionale
de integritate.
Din moment ce fiecare atribut are un domeniu asociat, exist anumite constrngeri (denumite
constrngeri de domeniu) sub form de restricii asupra mulimii de valori permise pentru atributele
relaiilor. Pe lng acestea, exist dou reguli de integritate care reprezint restricii sau constrngeri ce se
aplic tuturor instanelor unei baze de date. Pentru modelul relaional, acestea sunt:
integritatea entitilor
integritate referenial
3.2.1 Conceptul de null
Null-ul reprezint valoarea unui atribut care este n mod curent necunoscut sau nu este aplicabil
tuplului respectiv. Un null nu este acelai lucru cu o valoare numeric egal cu 0 sau cu un text completat cu
spaii; zerourile i spaiile sunt valori, pe cnd null-ul semnific absena unei valori.
Null-urile pot crea probleme privind implementarea. Aceast dificultate apare deoarece modelul
relaional se bazeaz pe calculul predicativ de ordinul nti, care reprezint o logic bazat pe dou valori, sau
boolean, unde singurele valori admise sunt adevrat sau fals. Introducerea null-urilor nseamn c trebuie s
lucrm cu o logic polivalent. ncorporarea null-urilor n modelul relaional constituie o chestiune
controversat. n prezent, Codd trateaz null-urile ca parte integrant a modelului, n timp ce alii consider
aceast abordare greit, fiind de prere c problema informaiilor lips nu este complet neleas, c nu s-a
gsit nc o soluie complet satisfctoare i c ncorporarea null-urilor n modelul relaional este prematur.
Aadar, atenie!, nu toate sistemele relaionale accept null-urile.
3.2.2 Integritatea entitilor
Prima regul de integritate se aplic cheilor primare ale relaiilor de baz. Pentru moment, vom defini o
relaie de baz ca o relaie ce corespunde unei entiti n schema conceptual.
Integritatea entitilor ntr-o relaie de baz, nici un atribut al unei chei primare nu
poate fi null.
Prin definiie, o cheie primar este un identificator minim, utilizat pentru identificarea unic a
tuplurilor. Aceasta nseamn c nici un subset al cheii primare nu este suficient pentru a permite identificarea
unic a tuplurilor. Dac admitem un null pentru orice parte a unei chei primare, aceasta implic faptul c nu
toate atributele sunt necesare pentru a deosebi tuplurile, ceea ce contrazice definiia cheii primare.
Tem: analizai n detaliu definiia de mai sus i gsii anomalii.
3.2.3 Integritate referenial
A doua regul de integritate se aplic cheilor strine.
Integritatea referenial Dac ntr-o relaie exist o cheie strin, valoarea acesteia
trebuie ori s coincid cu valoarea unei chei candidat a unui
tuplu n relaia sa de baz, ori s fie n ntregime null.
De exeplu atributul NrFil din relaia Personal este o chei strin, care intete atributul NrFil din relaia
de baz Filiala. Nu trebuie s fie posibil crearea unei nregistrri de personal cu numrul de filial C20, de
exemplu, dect dac exist deja o nregistrare corespunztoare numrului C20 n relaia Filiala. Totui trebuie
s existe posibilitatea de a crea o nou nregistrare de personal cu numr de filial null. Aceasta corespunde
situaiei n care un nou membru al personalului a fost angajat n companie, fr a i se atribui nc o anumit
filial.

3.3 Limbajele relaionale


Aa cum am artat anterior, limbajele bazelor de date sunt mprite n 2 categorii: limbaje de definire
a datelor (DDL) i limbaje de manipulare a datelor (DML). DDL este utilizat pentru a specifica schema bazei
de date, iar DML este utilizat pentru citirea i reactualizarea bazei de date.
DML asigur un set de procedee ce permit operaii de baz pentru manipularea datelor din baza de
date:
inserarea de date noi
modificri de date
regsirea datelor
tergerea de date
Limbajele DML pot fi de dou tipuri: procedurale i neprocedurale.
procedurale specific modul cum trebuie s fie obinut rezultatul unei instruciuni DML
neprocedurale descriu numai ce rezultat trebuie obinut

La baza limbajelor relaionale st algebra relaional i calculul relaional. Dar att algebra ct i
calculul sunt limbaje formale neprietenoase cu utilizatorul. Ele au fost utilizate ca fundament pentru DML.
Algebra relaional este un limbaj teoretic, cu operaii care acioneaz asupra uneia sau mai multor
relaii, pentru a defini o alt relaie, fr modificarea celor iniiale. Prin urmare, att operanzii ct i rezultatele
sunt relaii, aa c, ieirea unei operaii poate deveni intrare pentru o alta. Aceasta permite imbricarea
expresiilor, la fel ca la operaiile matematice.
Algebra relaional este un limbaj de tip cte-o-relaie-o-dat, n care toate tuplurile sunt manipulate
ntr-o singur instruciune, fr ciclare.

Cele 5 operaii fundamentale din algebra relaional sunt: selecia, proiecia, produsul cartezian,
reuniunea i diferena.
Mai exist operaiile de uniune, intersecie i mprire, care pot fi exprimate prin intermediul celor 5
operaii fundamentale.
Operaiile de selecie i proiecie sunt unare, deoarele opereaz asupra unei singure relaii. Celelalte
acioneaz asupra unor perechi de relaii i se numesc operaii binare.

Selecia (sau restricia)


predicat(R): acioneaz asupra unei singure relaii R i definete o relaie care conine numai acele tupluri ale
lui R care satisfac condiia specificat (predicatul).
Ex: salariu>1000(Personal)

Proiecia
col1, ..., coln(R): acioneaz asupra unei singure relaii R i definete o relaie care conine un subset vertical al
lui R, extrgnd valorile atributelor specificate i eliminnd dublurile.
Ex: PersID, NumeP, Salariu(Personal)

Produsul cartezian
R S: definete o relaie care reprezint o concatenare a fiecrui tuplu din relaia R cu fiecare tuplu din relaia
S.

Reuniunea
R S: reuniunea a dou relaii cu i, respectiv j tupluri, reprezint o relaie obinut prin concatenarea celor
dou i avnd maxim i+j tupluri, tuplurile duble fiind eliminate. R i S trebuie s fie compatibile la reuniune.
Diferena
R S: definete o relaie ce const din tuplurile care sunt n R i nu sunt n S. R i S trebuie s fie compatibile
la reuniune.

3.4 Vederi
n arhitectura ANSI-SPARC cu 3 nivele am descris vederea extern ca structura bazei de date aa cum
apare ea unui anumit utilizator. n modelul relaional, noiunea de vedere are un neles uor diferit. Mai
degrab dect ntregul model extern al unui utilizator, o vedere este o relaie virtual o relaie care nu este
de sine stttoare, ci este derivat n mod dinamic din una sau mai multe relaii de baz. O vedere poate fi
construit prin efectuarea unor operaii sau calcule cu valorile relaiilor de baz existente. Deci, un model
extern poate consta att n relaii de baz (la nivel conceptual), ct i n vederile derivate din acestea.

3.4.1 Terminologie
Relaie de baz este o relaie cu o anumit denumire, corespunztoare unei entiti din
schema conceptual, ale crei tupluri sunt stocate fizic n baz de date.
Vederile se pot defini prin intermediul relaiilor de baz.

Vederea este rezultatul dinamic al uneia sau mai multor operaii relaionale, care
acioneaz asupra relaiilor de baz pentru a realiza o alt relaie. O vedere este o
relaie virtual care, n realitate nu exist n baz de date, ci este produs n
momentul respectiv, la cererea unui anumit utilizator.

O vedere este o relaie care pentru utilizator pare s existe i poate fi manipulat ca i cum ar fi o
relaie de baz, dar care nu exist n dispozitivul de stocare n sensul admis pentru relaiile de baz. Coninutul
unei vederi este definit ca o interogare asupra uneia sau mai multor relaii de baz.orice operaii efectuate
asupra unei vederi sunt automat transpuse n operaii asupra relaiilor din care este derivat. Vederile sunt
dinamice, adic modificrile din relaiile de baz care o afecteaz, sunt imediat reflectate de ctre acestea.

3.4.2 Scopul vederilor


furnizeaz un mecanism de securitate puternic i flexibil, prin ascunderea unor pri ale bazei de
date fa de anumii utilizatori. Utilizatorul nu este contient de existena atributelor tuplurilor care
lipsesc din vederea respectiv;
permite accesarea datelor ntr-un mod personalizat, conform cu cerinele utilizatorilor, astfel nct,
aceleai date pot fi vizualizate simultan, de ctre utilizatori diferii, n diverse moduri;
poate simplifica operaii complexe asupra relaiilor de baz. De ex, dac o vedere este definit ca o
uniune a dou relaii, utilizatorul poate efectua operaiile unare mai simple, de selecie i proiecie a
vederii, iar acestea vor fi traduse de SGBD n operaii echivalente asupra uniunii.
O vedere trebuie proiectat astfel nct s accepte modelul extern, cu care este familiarizat utilizatorul.
De exemplu:
un utilizator poate avea nevoie de nregistrrile din relaia Filiala care conin numele managerilor,
mpreun cu celelalte atribute. Aceast vedere se creaz prin uiunea relaiilor Filiala i Personal,
urmat de proiectarea asupra atributelor care mai intereseaz
un alt utilizator ar putea dori s vad nregistrrile din relaia Personal, dar fr atributul Salariu.
Pentru aceasta se efectueaz o proiecie ce creaz o vedere care nu include atributul Salariu
atributele pot fi redenumite, astfel nct utilizatorul s poat folosi denumirile care i sunt lui familiare
un membru al personalului poate vizualiza numai informaii din filiala n care lucreaz. n acest caz,
trebuie efectuat o operaie de selecie, astfel nct s se poat vizualiza numai un subset din relaia
Personal

3.4.3 Reactualizarea vederilor


Toate reactualizrile unei relaii din baza de date trebuie s fie imediat reflectate n toate vederile care
se refer la aceasta. Similar, dac o vedere este reactualizat, atunci relaia de baz corespunztoare trebuie s
reflecte modificarea. Totui exist restricii privind tipurile de modificri care pot fi efectuate prin intermediul
vederilor:
sunt permise reactualizrile prin vederi definite prin utilizarea unei interogri simple, care implic o
singur relaie de baz i conine fie cheia primar, fie cheia candidat;
nu sunt permise reactualizrile prin vederi care implic relaii de baz multiple;
nu sunt permise reactualizrile prin vederi care implic operaii de acumulare sau de grupare.

3.5 SGBD relaional


Exist 12 reguli plus una fundamental, care constituie un etalon pentru identificarea unui SGBD
relaional. Pentru a sublinia implicaiile acestor reguli, ele vor fi prezentate grupat n cinci domenii de
funcionalitate:
1. reguli fundamentale
2. reguli structurale
3. reguli de integritate
4. reguli de manipulare a datelor
5. reguli privind independena de date

Reguli fundamentale (Regula 0 i Regula 12)


Regula 0 Regula fundamental

Pentru a fi relaional, un SGBD trebuie s fie capabil s gestioneze n ntregime bazele de


date prin capacitile sale relaionale.

Aceast regul oblig sistemul s nu recurg la nici un fel de operaii ne-relaionale, pentru a realiza
oricare dintre capacitile sale de gestionare a datelor, cum ar fi definirea i manipularea acestora.

Regula 12 Regula de nonsubversiune

Dac un sistem relaional are un limbaj de nivel jos (cte-o-nregistrare-o-dat), acel nivel jos
nu poate fi utilizat pentru a submina sau a ocoli regulile de integritate i constrngerile
exprimate n limbajul relaional de nivel mai nalt (mai-multe-nregistrri-deodat).

Aceast regul cere ca ntregul acces la baza de date s fie controlat de ctre SGBD, astfel nct
integritatea bazei de date s nu poat fi compromis fr cunotina utilizatorului sau administratorului de
baze de date. Totui aceasta nu interzice utilizarea unui limbaj de nivel jos.

Reguli structurale (Regula 1 i Regula 6)


Conceptul structural fundamental al modelului relaional este cel de relaie. Codd stabilete c un
SGBDR trebuie s accepte o serie de caracteristici structurale: relaii, domenii, chei primare i strine. Pentru
fiecare relaie din baza de date trebuie s existe cte o chei primar.
Regula 1 Reprezentarea informaiilor

La nivel logic, toate informaiile dintr-o baz de date relaional sunt reprezentate explicit
numai ntr-un singur mod prin valorile din tabele.

Aceast regul cere ca toate informaiile, chiar i meta-datele coninute n catalogul de sistem, s fie
stocate ca relaii i gestionate de ctre aceleai funcii operaionale utilizate pentru ntreinerea datelor.
Referirea la nivelul logic nseamn c elementele de construcii logice, cum sunt indexurile, nu sunt
reprezentate i nu este nevoie s fie menionate explicit de utilizator n cadrul unei operaii de regsire, chiar
dac ele exist.

Regula 6 Reactualizarea vederilor


Toate vederile care sunt teoretic reactualizabile pot fi reactualizate i de ctre sistem.

Aceast regul stabilete c, dac o vedere poate fi teoretic reactualizat, atunci sistemul SGBD trebuie
s fie capabil s efectueze reactualizarea respectiv. Nici un SGBD nu accept cu adevrat aceast
caracteristic, deoarece nu au fost nc descoperite condiiile pentru identificarea tuturor vederilor care pot fi
teoretic reactualizabile.

Reguli de integritate (Regula 3 i Regula 10)


Acceptarea integritii datelor este un criteriu important de apreciere a caracterului convenabil al unui
produs. Cu ct sunt mai multe constrngeri de integritate care pot fi ntreinute de SGBD, nu de fiecare
program aplicaie, cu att garantarea calitii datelor este mai bun.
Regula 3 Tratarea sistematic a valorilor null

Valorile null sunt acceptate pentru a reprezenta informaiile lips i cele care nu pot fi
acceptate n mod sistematic, indiferent de tipul de date.

Regula 10 Independena de integritate

Constrngerile de integritate specifice unei anumite baze de date relaionale trebuie s poat fi
definite n sublimbajul relaional de date i stocate n catalog, nu n programele aplicaie.

Se pune un accent deosebit pe ideea de stocare a constrngerilor de integritate n catalogul de sistem,


mai degrab dect ncapsularea lor n programele aplicaie sau interfeele cu utilizatorul. Stocarea acestor
constrngeri n catalogul de sistem are avantajul unui control i a unei constrngeri centralizate.

Reguli de manipulare a datelor (Regulile 2, 4, 5 i 7)


Exist 18 caracteristici de manipulare pe care trebuie s le accepe un SGBD relaional ideal. Acestea
definesc caracterul complet al limbajului de interogare. Respectarea acestor reguli are ca efect izolarea
utilizatorului i programelor aplicaie de mecanismele fizice i logice care implementeaz capacitile de
gestionare a datelor.

Regula 2- Accesul garantat


Se garanteaz c fiecare element de dat (valoare atomic) dintr-o baz de date relaional
este accesibil din punct de vedere logic, prin apelarea la o combinaie de nume de tabel,
valoare a cheii primare i nume de coloan.

Regula 4 Catalog dinamic on-line, bazat pe modelul relaional

Descrierea bazei de date este reprezentat la nivel logic n acelai mod ca i datele obinuite,
astfel nct utilizatorii autorizai pot aplica la interogarea aceasteia acelai limbaj relaional ca
cel aplicat datelor curente.
Aceast regul specific faptul c exist un singur limbaj de manipulare att a meta-datelor, ct i a
datelor i c exist o singur structur logic (relaia) utilizat pentru stocarea informaiilor despre sistem.

Regula 5 Sublimbaje de date cuprinztoare


Un sistem relaional poate accepta mai multe limbaje i diverse moduri de utilizare a
terminalelor (de exemplu, modul de completare a spailor libere). Totui trebuie s existe cel
puin un limbaj ale crui instruciuni s poat exprima urmtoarele:
1. definirea datelor
2. definire vederilor
3. manipularea datelor (interactiv i prin intermediul programului)
4. constrngerile de integritate
5. autorizarea
6. limitele tranzaciilor (begin, commit i rollback)

Vom vedea c noul standard ISO al limbajului SQL prezint toate aceste funcii.
Regula 7 Operaii de inserare, reactualizare i tergere de nivel nalt.

Capacitatea de tratare a unei relaii de baz sau a unei relaii derivate (adic o vedere) ca pe
un singur operand se aplic nu numai regsirii de date, ci i inserrii, reactualizrii i tergerii
acestora.

Reguli privind independena de date (Regulile 8, 9 i 11)


Codd definete trei reguli care specific independena datelor de programele aplicaie care le
utilizeaz. Respectarea acestor reguli garanteaz protecia utilizatorilor i realizatorilor de programe fa de
necesitatea de a schimba aplicaiile, ca urmare a reorganizrii de nivel jos a bazei de date.

Regula 8 Independena fizic de date.


Programele aplicaie i activitile de la terminal trebuie s rmn logic intacte la
modificarea suportului de stocare i la modificarea metodelor de acces la date.

Regula 9 Independena logic de date.


Programele aplicaie i activitile de la terminal trebuie s rmn logic intacte la
modificarea tabelelor de baz.

Regula 11 Independena de distribuie.

Sublimbajul de manipulare a datelor dintr-un SGBD relaional trebuie s permit


programelor aplicaie i nterogrilor s rmn aceleai din punct de vedere logic, dac i ori
de cte ori datele sunt centralizate sau distribuite fizic.

Asta nseamn c un program aplicaie care acceseaz sistemul SGBD pe un singur calculator trebuie
s funcioneze fr modificri i ntr-o reea, chiar dac datele sunt mutate de pe un calculator pe altul. Altfel
spus, utilizatorului final trebuie s i se dea impresia c datele sunt centralizate pe o singur main, n timp ce
responsabilitatea localizrii acestora n (posibil) multiple site-uri i responsabilitatea reconstituirii lor trebuie
s revin totdeauna sistemului. De observat c aceast regul nu cere ca SGBD s accepte o baz de date
distribuit pentru a fi relaional, dar stabilete c limbajul de interogare va rmne acelai dac se introduce
aceast capacitate iar datele vor fi distribuite.

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