Sunteți pe pagina 1din 9

BAZE DE DATE

Prin baz de date nelegem o colecie de date elementare i interdependente,


structurate i organizate astfel nct s fie accesibile unei comuniti de utilizatori.
Datele sunt organizate n fiiere (numite i tabele) interconectate.
Un fiier este un ansamblu de nregistrri fizice, omogene din punct de vedere al
coninutului i al prelucrrii. O inregistrare fizic este o unitate de transfer ntre
memoria intern i cea extern a calculatorului. Aceasta este format din una sau mai
multe nregistrri logice. O nregistrare logic(rnd n tabel) este unitatea de
prelucrare din punctul de vedere al programatorului. Aceasta este format dintr-un
ansamblu de cmpuri(coloane n tabel), care descriu o anumit realitate.
Baza de date conine nu numai datele operaionale ale organizaiei, ci i o
descriere a acestora. De aceea ea este definit i ca o colecie autodescris de
nregistrri integrate. Aceast descriere a datelor este cunoscut sub denumirea de
catalog de sistem sau dicionar de date sau meta-date (date despre date). Natura
autodescriptiv a bazelor de date este cea care determin independena program-date.
Accesul utilizatorilor la informaiile despre structura unei baze de date se
realizeaz prin intermediul dicionarului de date.
Conceptul de baz de date a aprut n 1964 n cadrul primului raport CODASYL 1
prezentat la lucrrile unei Conferine pe probleme de limbaje de gestiune a datelor
Development and Management of Computer centered date-base. La aceast conferin a
fost lansat ideea organizrii datelor prin intermediul unui fiier de descriere global, numit
dicionar de date care are menirea de a asigura independena programelor fa de date i a
datelor fa de programe2.

Bazele de date sunt concepute pentru a prelucra un volum mare de informaii.


Sistemul de programe care permite construirea unor baze de date, introducerea
informaiilor n bazele de date i dezvoltarea de aplicaii privind bazele de date se
numete sistem de gestiune a bazelor de date(SGBD).
Un sistem de gestiune a bazelor de date constituie o interfa ntre utilizatori i
BD i asigur urmtoarele funciuni.
1. Descrierea structurii bazei de date: a fiecrui tabel, a relaiilor dintre
tabele, a restriciilor n reprezentarea informaiilor etc. cu ajutorul unui
limbaj de descriere a datelor LDD.
LDD este utilizat att pentru proiectarea bazelor de date ct i pentru
redefinirea lor.
2. Operaii asupra datelor aflate n BD:

Introducerea datelor

Adugarea de noi date

Modificarea unor date existente pentru a le pune n acord


cu realitatea

tergerea unor date devenite inutile


Cu ajutorul unui limbaj de manipulare a datelor LMD

COnference on DAta SYstems Languages Conferina despre Limbajele Sistemelor de Date


Lungu, I., .a., Baze de date, Organizare, proiectare i implementare, Editura All, Bucureti, 1995,
p.13
1
2

3. Interogarea bazei de date, adic extragerea unor informaii stocate n


aceasta, realizarea de statisci asupra datelor etc. cu ajutorul unui limbaj
de cereri LC

Niveluri i modele de reprezentare a datelor n bazele de date


n demersul realizrii unei baze de date exist trei niveluri de percepie a
acesteia:
- extern, corespunztor utilizatorilor, care i exprim cerinele
informaionale prin aa - numitele scheme externe (subscheme);
- conceptual, aferent proiectanilor bazei de date, care se concretizeaz
n schema conceptual;
- intern, corespunztor programatorului, care realizeaz reprezentarea
datelor pe suportul fizic.
Vzut prin prisma celor trei niveluri, baza de date poate fi reprezentat ca n figura
urmtoare.3
Utilizator A1

Utilizator A2

Aplicaie

Comenzi
auto nome

Schema
extern A

Utilizator B1

Utilizator B2

Aplicaie

Comenzi
auto nome

Schema
extern B

Imagine A
(nivel extern)
INTERFAA A

Schema conceptual
(global)

Imagine B
(nivel extern)

...
.

INTERFAA B

Imagine global
(nivel global)

Sistem de
gestiune a
bazei de date

INTERFAA
Schema intern

BAZA DE DATE MEMORAT PE DISC

Nivele de abstractizare a datelor n bazele de date

Determinarea structurii unei baze de date se poate aborda ascendent,


realizndu-se descrierea schemelor externe, urmat de elaborarea schemei
conceptuale, sau descendent definind mai nti, schema conceptual i deducnd
ulterior schemele externe posibil de obinut.
Cel mai adesea, schema conceptual se obine pe baza schemelor externe, prin
eliminarea redundanelor i rafinarea acestora. Trecerea de la schema conceptual la
cea intern se face prin intermediul limbajelor de descriere a datelor, care sunt incluse
n SGBD-uri. Un model de date presupune un limbaj de descriere a realitii, n timp
ce o schem este o descriere a unei realiti dup un model dat.
Fotache, M., Baze de date relaionale. Organizare, interogare i normalizare, Editua Junimea, Iai,
1997, p.32
3

Nivelul extern (schema extern)


La nivelul extern, fiecare grup de lucru care manipuleaz datele posed o anumit
descriere a acestora numit schem extern. Aceast descriere corespunde felului n
care grupul vede baza de date n programele lui de aplicaii. Prin urmare nivelul
extern reflect mulimea datelor care prezint interes pentru un utilizator sau pentru
un grup de utilizatori.
Exist aadar, mai multe scheme externe, fiecare schem extern presupune
utilizarea unei pri din baza de date, folosind informaiile ntr-un mod bine
determinat. Aceast parte de informaie se numete vedere. Fiecrei vederi i
corespunde un grup de utilizatori. Pentru un grup particular se definesc tipurile de
cereri de informaii i modul de determinare a datelor din BD care formeaz
rspunsuri la aceste cereri. Un pas important n proiectarea unei BD este determinarea
vederilor i a claselor de utilizatori asociate lor. Vederile permit ca aceleai date s fie
privite din perspective diferite de diferii utilizatori.
Nivelul conceptual (modelul conceptual)
Nivelul conceptual este un nivelul central care structureaz datele astfel nct
acestea s poat fi preluate i prelucrate cu ajutorul unui SGBD.
Nivelul conceptual reprezint viziunea proiectanilor BD asupra datelor.
n proiectarea bazelor de date, la nivel conceptual, unul dintre modelele
frecvent utilizat este modelul Entitate-Asociere (EA).
Modelul EA mparte elementele unui sistem real n dou categorii i anume n
entiti(agregri de date elementare) i n asocieri ntre entiti. Aadar, o entitate
corespunde unui obiect din lumea real pentru care exist date, identificat, n general,
printr-o denumire (o factur, un produs finit, un furnizor, un client). Tipurile de date
agregate sunt denumite generic atributele entitii i definesc proprietile obiectelor
studiate.
O entitate reprezint un tip de obiect concret sau abstract care:

aparine spaiului problemei de rezolvat

are o existen de sine stttoare

poate fi identificat n raport cu celelalte obiecte


Exemple: angajat, produs, utilaj, factura, client, comanda, profesor, student, curs.
Entitile sunt reprezentate prin substantive.
O entitate este descris printr-un ansamblu de atribute.
Un atribut se definete ca fiind o proprietate a unei entiti sau a unei asocieri.
Fiecare atribut care a fost selecionat la definirea coninutului unei entiti este o
caracteristic semnificativ pentru domeniul studiat.
Exemplu:
ANGAJAT

Denumirea entitii
Identificatorul entitii
3
Atribute

Marca
Nume
Prenume
Data naterii
CNP
Un atribut poate fi simplu, cnd poate lua o singur valoare, sau repetitiv cnd
poate lua mai multe valori(ex. Limbi straine cunoscute, telefon).
Exist atribute care necesit valori nule fapt care trebuie s fie luat n
considerare la proiectarea bazei de date.
Entitatea este perceput ca un tip de obiecte. Fiecare obiect individual constituie o
realizare(sau instan) a entitii.
n cadrul unei entiti nu pot exista dou realizri(instane) identice. Fiecare
entitate trebuie sa conin un atribut sau un grup de atribute care identific n mod
unic instanele entitii. Acesta este denumit identificatorul(cheia) entitii i
servete drept cheie primar n viitoarea baz de date.
Exist dou tipuri de identificatori naturali i artificiali.
Un identificator natural este alctuit dintr-un atribut sau un grup de atribute cu
semnificaie real pentru entitatea n cauz. De exemplu, combinaia Nume, Prenume,
Data naterii este un identificator natural pentru entitatea Angajat.
Un identificator artificial este alctuit dintr-un atribut sau un grup de atribute
fr semnificaie real pentru entitatea n cauz, fiind folosit doar pentru a face
distincie ntre instanele entitii. Exemple CNP, Marca, Numr inventar
n reprezentarile grafice identificatorii entitilor se noteaza subliniat.
Regul (minimalitatea identificatorilor): n cazul identificatorilor compui
dintr-un grup de atribute sau roluri, trebuie s nu existe un subgrup care s poat
ndeplini rolul de identificator, adic numrul de elemente componente ale
identificatorului s fie minim. Aceasta se poate asigura prin verificarea dependenelor
funcionale dintre componentele identificatorului respectiv.
Asocierile modeleaz interdependenele dintre clasele de obiecte reprezentate
de entiti. Sunt luate n considerare doar interdependenele necesare aplicaiei de
proiectat, n lumea real putnd exista ntre entitile analizate i alte asocieri care nu
sunt semnificative pentru aplicaie. O asociere poate avea atribute proprii.
Asocierile sunt reprezentate uzual prin verbe.
Asocierile pot fi binare (ntre 2 mulimi de entiti) sau n-are (ntre n mulimi
de entiti, n>2).
O caracteristica foate importanta a asocierilor binare este cardinalitatea. Acesta
exprima modul de participare al instanelor fiecarei entitati la asociere.
Fiind date dou entiti, E1 i E2, se definesc urmtoarele asocierile binare:
Asocierea unu-la-unu (one-to-one) este asocierea n care unei instane a
entitii E1 i coreaspunde cel mult o instan a entitii E2, i reciproc; se
noteaz cu 1:1.
Asocierea unu-la-multe (one-to-many) este asocierea n care unei
instane a entitii E1 i coreaspund zero, una sau mai multe instane ale
entitii E2, dar unei entiti din E2 i corespunde cel mult o instan a
entitii E1; se noteaz cu 1:N.
4

Asocierea multe-la-multe (many-to-many) este asocierea n care unei


instane a entitii E1 i coreaspund zero, una sau mai multe instane ale
entitii E2, i, de asemenea, instane a entitii E2 i coreaspund zero, una
sau mai multe instane ale entitii E1; se noteaz cu M:N.
Aceste valori reprezint cardinalitatea maxim a asocierii. O asociere este
caracterizat i de o cardinalitate minim care indic obligativitatea participrii
instanelor la asociere.
Cardinalitatea minim zero: pot exista instane ale entitii care nu particip la
nici o realizare a asocierii.
Cardinalitatea minim unu: toate instanele entitii trebuie s participe la
asociere.
Rolul unei entiti este un nume care desemneaz modul de participare al
entitii la o asociere. Identificarea asocierilor se realizeaz prin rolurile entitilor
participante deci, concret, cu ajutorul identificatorilor entitilor participante.

Angajat
CNP
Nume
Prenume
Data nasterii
Adresa

PONTAJ
1(1)

Se ponteaz

realizeaz

1(0)
corespunde

Angajat
CNP
Nume
Prenume
Data nasterii
Adresa

Id _Pontaj
Ore_Lucrate
Absene
Concediu_med
Concediu_odihn
a

Compartiment
LUCREAZA

N(0)

lucreaza la Data INCADRARII

1(1)
loc munca

Cod compartimant
Functia
Denumire
compartimant

In determinarea asocierilor trebuie s se in seama i de posibilitatea existenei


asocierilor complexe (ntre mai mult de dou entiti). De exemplu, fie entitile
FURNIZOR, MATERIAL, DEPOZIT i asocierile binare corespunztoare. Aceste
asocieri permit s se determine furnizorii unui materialelor, materialele intrate n
depozite respectiv furnizorii ce aprovizioneaz depozitele. Nu se poate determina ce
furnizor aprovizioneaz cu un material anume un anume depozit.

FURNIZOR

MATERIAL
aprovizionare

DEPOZIT

Cazuri speciale de entiti i asocieri


Subentitate-Superentitate. n modelul E-A se pot defini subtipuri de entiti
denumite i subentiti, care reprezint specializri ale unor tipuri de entiti
denumite superentiti, i se pot defini, de asemenea, ierarhii pe mai multe nivele de
tipuri i subtipuri de entiti.
Se pot folosi dou modaliti de definire a ierarhiilor de tipuri: specializarea i
generalizarea.
Specializarea este un proces de abstractizare a datelor prin care, pornind de la
o entitate dat, se definesc una sau mai multe subentiti, difereniate ntre ele n
funcie de rolul pe care l au n modelul de date.
De exemplu, de la tipul de entitate ANGAJAT se definesc subentitile
INGINER, ECONOMIST, MUNCITOR. Acestea motenesc toate atributele tipului
iniial dar au n plus atribute suplimentare, specifice rolului lor.
ANGAJAT
CNP
nume si prenume
adresa

INGINER
Specializare

Economist
Calificare

Muncitor
Meserie

Intre subentitate i superentitate exist ntotdeauna o asociere de tip 1(0):1(1),


semnificnd faptul c o instan a unei subentiti este asociat cu o singur instan a
entitii entiti de baz i reciproc.
O subentitate se reprezint ntr-un dreptunghi inclus n dreptunghiul care
reprezint superentitatea corespunztoare.

ANGAJAT
CNP
nume si prenume
adresa
INGINER

ECONOMIST

Specializare

Calificare

MUNCITOR
Meserie

Generalizarea este procesul de abstractizare invers specializrii, prin care se


creaz un supertip de entitate pornind de la mai multe tipuri de entiti. Pentru aceasta
se identific atributele comune ale mai multor tipuri de entiti i aceste atribute vor
caracteriza superentitatea, iar atributele care difer de acestea rmn atribute specifice
ale fiecrui tip.
De exemplu, dac au fost definite tipurile de entiti: AUTOMOBIL (Marca,
VitezaMaxima, Pret, NumarPasageri) i CAMION (Marca, VitezaMaxima, Pret,
Tonaj), se poate defini un supertip al acestor tipuri: VEHICUL (Marca,
VitezaMaxima, Pret), care cuprinde toate atributele comune, iar tipurile
AUTOMOBIL i CAMION devin subtipuri ale tipului VEHICUL, fiecare coninnd
atributele specifice (NumrPasageri pentru tipul AUTOMOBIL i Tonaj pentru tipul
CAMION).
Rezultatul obinut prin generalizare este, ca i n cazul specializrii, o ierarhie
de tipuri i subtipuri de entiti, iar asociearea dintre mulimile corespunztoare este
tot o asociere 1:1. Ceea ce difer n generalizare fa de specializare, este doar modul
n care se definesc nivelele ierarhiei.
Specializarea poate fi total(instanele superentitii aparin unei subentiti)
sau pariala(pot exista instane ale superentitaii care sa nu aparin nici unei
subentiti). Generalizarea, fiind prin definiie gruparea de entitati deja existente in
baza de date nu poate fi decat totala.
Intre subtipuri poate exista o excluziune, ceea ce se traduce prin faptul ca o
anumita instan nu poate apartine decat unei singure subentiti. Exista insa si cazuri
in care aceeasi instan apartine mai mulor subtipuri. De ex un angajat al unei
universitati poate fi i student la frecventa redusa. Pentru astfel de situatii trebuie
precizate dupa caz relatii de excluziune, incluziune, etc.
Introducerea de subtipuri prin specializare sau prin generalizare prezint dou
avantaje principale: favorizeaz proprietile comune la nivelul tipului (superentitii)
i face mult mai clar reprezentarea unor tipuri de asocieri la care particip numai o
parte dintre entiti.
Asocieri reflexive

Pot exista asocieri i intre o entitate i ea insi, acestea se numesc asocieri reflexive
sau recursive.
Muncitor
subordonat

Sef echipa
conduce

Nivelul intern
Nivelul intern este nivelul elementar la care pot fi considerate datele i se refer la
modul n care sunt stocate datele pe suporturi magnetice. La acest nivel structura
datelor este foarte detaliat. Nivelul intern cuprinde structurile de date i organizrile
fiierelor utilizate pentru stocarea datelor pe dispozitivele de stocare. El trateaz
probleme cum ar fi: alocarea spaiului de stocare pentru date i indexuri, descrierile
nregistrrilor pentru stocare, cu dimensiunile de stocare pentru articolele de date,
plasarea nregistrrilor, tehnicile de comprimare i de codificare a datelor. Nivelul
intern interacioneaz cu metodele de acces al sistemului de operare (tehnici de
administrare a fiierelor, pentru stocarea i regsirea nregistrrilor de date) pentru a
plasa datele pe suporturile de stocare, a regsi datele, a realiza indexurile.
Includerea n baza de date a descrierii structurii acesteia o deosebete calitativ
de fiierele de date, deoarece prin aceasta se asigur independena datelor din baz
fa de programele de aplicaii i invers. Posibilitatea modificrii structurii la un nivel,
fr a afecta structura celorlalte niveluri este ntlnit sub numele de independena
datelor, prezent sub dou forme:

independena fizic de date, adic posibilitatea modificrii structurii


bazei de date la nivel intern (cum ar fi utilizarea unor organizri ale fiierelor sau
structuri de stocare diferite, a unor dispozitive diferite de stocare, modificarea de
indexuri sau de algoritmi hash), fr a fi necesar schimbarea structurii
conceptuale i rescrierea programelor de prelucrare a datelor. Asemenea
modificri sunt necesare pentru ameliorarea performanelor de lucru (vitez de
acces, mrimea fiierelor etc.). Autonomia fizic este cea care asigur i
portabilitatea bazei de date de pe un sistem de calcul pe altul fr modificarea
schemei conceptuale i a programelor;

independena logic de date se refer la faptul c modificarea schemei


conceptuale a bazei de date (cum ar fi adugarea sau eliminarea unor entiti,
atribute sau relaii) nu necesit i modificarea schemei externe sau rescrierea
programelor de aplicaii.
Este important s se fac distincie ntre descrierea bazei de date i baza de
date nsi. Descrierea bazei de date constituie schema bazei de date. Ea este

specificat n timpul procesului de proiectare a bazei de date i este schimbat rareori.


Setul de date din baza de date se numete instana bazei de date. Mai multe instane
ale bazei de date pot corespunde aceleiai scheme a bazei de date.