Sunteți pe pagina 1din 12

3

MODELUL DE DATE RELAIONAL

SGBD relaionale au devenit n zilele noastre elementul de software dominant n


prelucrarea datelor. Ele reprezint a doua generaie 1 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
Relaie

Structura relaional a datelor


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.

Prima generaie o constituie SGBD n reea i ierarhice.

Atribute

Filiala

Relaie

NrFil
C4
C11
C5
C6

Adresa
Bdul Saturn 25
Sp. Independenei 142
Bdul Eroilor 14
Str Blcescu 75

Zona
Astra
Berceni
Centru
Schei

Oraul
Braov
Bucureti
Braov
Braov

NrTelefon
234256
748397
456345
253414

NrFax
124123
328964
759456
842362

cardinalitate

grad
Cheie primar

NrPer
s
Relaie
4123
4124
4125
4127

Prenum
e
Ion
Ana
Vasile
Marin

Cheie strin

Nume

Adresa

NrTel

Funcie

Sex

DataN

Salariu

NrAsig

Albu
Negrea
argu
Rou

Ciorii 22
Vii 45
Lunii 86
Rozei 25

123456
213141

manager
asistent
secretar
manager

M
F
M
M

1965
1977
1968
1967

3500
2000
1500
3500

313131
424141
748494
322121

324354

NrFi
l
C5
C6
C5
C11

Fig. 3.1 Exemple de 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 3.1
Termeni formali
Relaie
Tuplu
Atribut

Altenativa 1
Tabel
Rnd
Coloan

Alternativa 2
Fiier
nregistrare
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=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 ntrun 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 nullurilor n modelul relaional constituie o chestiune controversat. n prezent, Codd trateaz nullurile 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.1 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.2 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 metadatelor, 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.