NOTIUNI INTRODUCTIVE PRIVIND
SISTEMELE DE GESTIUNE A BAZELOR DE DATE
O baza de date (database) este o colectie de date creata si mentinuta computerizat, care
permite operatii de inserare, actualizare, stergere si interogare a datelor. Utilizatorii unei baze de date
pot accesa datele memorate prin intermediul unui program numit Sistem de Gestiune a Bazei de Date
- SGBD - (Database Management System - DBMS), care receptioneaza cererile utilizatorilor (pentru
operatii de introducere, stergere, modificare sau interogare), le interpreteaza, executa operatiile
corespunzatoare si returneaza rezultatul catre utilizatori. Fiecare sistem de gestiune administreaza
datele conform unui anumit model de date. Exista mai multe modele de date utilizate in sistemele
SGBD: modelul ierarhic, modelul retea, modelul relational, modelul obiect-orientat, modelul obiectrelational.
Dintre acestea, in momentul de fata, modelul relational este cel mai larg raspandit, in
special in aplicatiile comerciale si acesta va fi studiat in continuare in aceasta lucrare .
1.1 MODELUL RELATIONAL
In modelul relational o baza de date este compusa dintr-o multime finita de relatii, fiecare
relatie reprezentand un tip de entitate sau o asociere dintre doua sau mai multe tipuri (multimi) de
entitati. Din aceasta definitie rezulta ca intr-o baza de date fiecare relatie este unica (nu exista doua sau
mai multe relatii de acelasi fel), dat fiind ca o baza de date este o multime de relatii.
1.1.1 RELATII
O relatie se defineste prin intermediul atributelor sale. Atributele unei relatii sunt atributele
tipului de entitate sau de asociere pe care il reprezinta relatia respectiva. Fiecare atribut al unei relatii
are un domeniu de definitie si poate lua o singura valoare (din domeniul sau de definitie) pentru
fiecare tuplu, adica atributele au numai valori scalare.
Un domeniu de definitie (domain) este o multime cu nume de valori atomice de acelasi tip,
avand o anumita semnificatie, din care isi iau valori atributele relatiilor. Denumirea de valori atomice
inseamna ca aceste valori nu pot fi descompuse din punct de vedere al sistemului de gestiune al bazei
de date si reprezinta cea mai mica entitate semantica de date.
Schema relatiei (relation schema), notata R(A1,A2,...Ai,...An), este compusa din numele
relatiei (R) si din lista ordonata a atributelor sale A1,A2,...Ai,..An, fiecare atribut Ai definit pe
domeniul sau de definitie, D(Ai).
Schema relatiei este folosita pentru a descrie relatia respectiva si se mai numeste si tipul sau
intensiunea relatiei. Numarul de atribute ale schemei unei relatii se numeste gradul relatiei.
O relatie (relation) R definita de schema R(A1,A2,...Ai,...An) este o multime de
n-tupluri t, fiecare tuplu fiind o lista ordonata de n valori t = <v1,v2,...vi,...vn>, unde 1 ? i
? n si vi este valoarea atributului Ai, apartinand domeniului sau de definitie D(Ai).
Din aceasta definitie rezulta imediat ca intr-o relatie nu exista tupluri duplicat (doua sau mai
multe tupluri identice), relatia fiind o multime (in sens matematic) de tupluri. Numarul de tupluri al
unei relatii se numeste cardinalitatea relatiei.
O relatie se reprezinta printr-un tabel (table) care este compus din urmatoarele parti:
? Numele tabelului, care este identic cu numele relatiei pe care o reprezinta.
? Un numar de coloane egal cu numarul de atribute ale relatiei, fiecare coloana
reprezentand un atribut.
? Capul tabelului, in care se inscriu numele atributelor relatiei, fiecare atribut fiind inscris
in coloana corespunzatoare.
? O multime de linii, fiecare linie corespunzand unui tuplu (deci unei entitati); in fiecare
element al unei linii se inregistreaza valoarea atributului corespunzator coloanei in care se
afla elementul respectiv.
Desi in numeroase documentatii se foloseste termenul de tabel pentru a desemna relatia pe
care o reprezinta, cele doua notiuni nu sunt identice: relatia este o notiune abstracta (o multime in sens
matematic), in timp ce tabelul este o reprezentare a relatiei.
Sistemele de baze de date relationale utilizeaza ca limbaj de programare limbajul SQL
(Structured Query Language), pentru care au fost propuse mai multe standarde de catre Organizatia
Internationala de Standardizare (International Standardization Office - ISO). Majoritatea sistemelor de
gestiune a baze lor de date relationale actuale implementeaza versiunea din anul 1992 a standardului
pentru limbajul SQL, denumita SQL92 (sau SQL2).
1.1.2 CONSTRANGERI DE INTEGRITATE
Relatiile unei baze de date reflecta realitatea modelata si de aceea valorile pe care le contin
trebuie sa respecte anumite reguli, care sa corespunda celor din realitate.
Constrangerile de integritate (integrity constraints) sunt reguli care se definesc la proiectarea
unei bazei de date si care trebuie sa fie respectate de orice stare a acesteia.
Din punct de vedere al locului unde sunt definite, constrangerile pot fi constrangeri intrarelatie
si constrangeri inter-relatii. Constrangerile intra-relatie sunt reguli care se impun in cadrul unei
singure relatii si asigura integritatea datelor acesteia. Ele sunt, la randul lor, de trei categorii:
constrangeri de domeniu, constrangeri de tuplu si constrangeri impuse prin dependente de date
(dependente functionale, multivalorice sau de jonctiune).
Constrangerile inter-relatii sunt reguli care se impun intre doua sau mai multe relatii. Cele
mai importante constrangeri inter-relatii sunt constrangerile de integritarea referentiala, care se
realizeaza prin intermediul cheilor straine si asigura asocierea corecta a relatiilor.
Din punct de vedere al modului de definire, constrangerile unei baze date pot fi inerente,
implicite si explicite.
Constrangerile inerente sunt cele ale modelului de date insusi, care nu trebuie sa fie
specificate la definirea relatiilor, dar sunt respectate prin modul in care se construiesc relatiile.
Constrangerile implicite sunt cele reprezentate in mod implicit in schemele relatiilor prin
intermediul instructiunilor de definire a datelor. Pentru fiecare model de date exista un set de
constrangeri implicite care se definesc odata cu definirea schemelor de date ale acestuia. Pentru
modelul relational, constrangerile de domeniu, constrangerile de tuplu si constrangerile de integritate
referentiala sunt exemple de constrangeri implicite. Constrangerile implicite sunt memorate in baza de
date si sistemul de gestiune impune automat respectarea acestora.
Constrangerile explicite sunt constrangeri suplimentare pe care trebuie sa le respecte relatiile
unei baze de date si care nu sunt impuse automat de sistemul SGBD, ci prin proceduri speciale. Ca
exemple de constrangeri explicite sunt unele dependentele de date (care vor fi studiate in Capitolul 5).
Constrangerile de domeniu sunt conditii impuse valorilor atributelor, astfel incat acestea sa
corespunda semnificatiei pe care o au in realitatea modelata. Dat fiind ca, in reprezentarea unei relatiei
printr-un tabel, valorile atributelor sunt reprezentate pe coloane, constrangerile de domeniu se mai
numesc si constrangeri de coloana. Dintre constrangerile de domeniu, constrangerea NOT NULL si
constrangerea de valoare implicita (DEFAULT) sunt constrangeri cu caracter mai general, care se pot
aplica oricarui atribut; constrangerea de verificare (CHECK) se poate aplica unor anumite atribute, in
functie de semnificatia acestora.
Constrangerile de tuplu: cheia primara si chei secundare. O relatie este definita ca o
multime de tupluri, deci tuplurile unei relatii trebuie sa fie distincte. Aceasta inseamna ca intr-o relatie
nu pot exista doua (sau mai multe) tupluri care sa contina aceeasi combinatie de valori ale tuturor
atributelor. De obicei, intr-o schema de relatie exista o submultime de atribute SK cu proprietatea ca, in
orice stare s-ar afla relatia, nu exista doua tupluri distincte ale relatiei care sa aiba aceeasi combinatie
de valori ale atributelor submultimii respective.
Pentru a descărca acest document,
trebuie să te autentifici in contul tău.