Sunteți pe pagina 1din 7

Proiectarea bazelor de date

Proiectarea logic
Aceast faz vizeaz construirea unui model informaional bazat pe unul din modelele
tradiionale i are ca rezultat crearea unui model de date logic; modelul de date conceptual
creat n faza precedent este rafinat i transpus ntr-un model de date logic care este
influenat de ctre modelul de date avut n vedere pentru baza de date.
Spre deosebire de cellalt model, care este independent de toate consideraiile fizice,
modelul logic este creat plecnd de la modelul de date principal al sistemului SGBD int. Cu
alte cuvinte, tim c SGBD-ul este, de exemplu, relaional, ierarhic sau orientat spre obiecte.
ns, se ignor alte aspecte ale SGBD-ului ales i, mai ales, fiecare detaliu fizic, aa cum
sunt structurile de stocare.
Proiectarea fizic
Proiectarea fizic a bazelor de date este a treia faz din procesul de proiectare a unei
baze de date, n care proiectantul stabilete cum va fi ea implementat. Aa cum am vazut
deja, faza precedent presupunea realizarea unei structuri logice, cu alte cuvinte se referea
la definirea relaiilor, atributelor i legturilor dintre ele. Cu toate c aceast structur este
independent de SGBD-ul ales, ea se realizeaz conform unui model de date, aa cum este
cel relaional. n realizarea proiectrii fizice, trebuie iniial identificat sistemul de baze de date
avut n vedere. Prin urmare, proiectarea fizic este croit dup modelul unui anumit SGBD.
ntre proiectarea fizic i cea logic exist o legtur, deoarece pe parcursul proiectrii fizice
sunt luate decizii referitoare la mbuntirea performanelor, care pot ns afecta structura
modelului logic de date.
n cele mai multe situaii, obiectivul principal al proiectrii fizice este de a descrie cum
se intenioneaz realizarea implementrii fizice a proiectului logic al unei baze de date. Astfel,
n cazul modelului relaional, aceasta presupune:

extragerea unui set de tabele relaionale (relaii) i de constrngeri asupra acestora, din
informaiile prezentate n modelul logic de date (modelul global);

identificarea structurilor de stocare specifice i metodelor de acces la date, astfel nct s


se garanteze obinerea unor performane optime cu sistemul respectiv;

proiectarea mijloacelor care s asigure securitatea sistemului.

Sisteme de gestiune a bazelor de date


n sens larg putem defini sistemul de gestiune a bazelor de date (SGBD) ca un sistem
de programe care permite utilizatorilor definirea, generarea i ntreinerea unei baze de date,
precum i accesul controlat la aceasta. n [Velicanu et al., 2003, p.94] SGBD-ul este definit
ca un ansamblu de programe care asigur interfaa ntre o baz de date i utilizatorii acesteia.
Totodat, autorii consider SGBD-ul o component software a unui sistem de baze de date
care este capabil s interacioneze cu toate celelalte componente ale acestuia, asigurnd
legtura i independena ntre elementele sistemului.
Un SGBD ofer utilizatorului posibilitatea de a accesa datele prin intermediul unui
limbaj de nivel nalt, apropiat de modul obinuit de exprimare, pentru a obine informaii,
utilizatorul fcnd abstracie de mijloacele i metodele folosite pentru alegerea datelor
implicate i a modului de memorare a lor. SGBD-ul este practic o interfa ntre utilizatori i
sistemul de operare.

Termenul de baz de date se va referi la datele de prelucrat, la modul de organizare a


acestora pe suportul fizic de memorare, iar termenul de gestiune va semnifica totalitatea
operaiilor ce se aplic asupra datelor din baza de date.
Faciliti oferite de un SGBD
Spre deosebire de un limbaj de programare obinuit, n care declararea datelor este
realizat n acelai loc cu prelucrarea lor, bazele de date dispun de limbaje separate pentru
declarare i prelucrare. Aceast separare se justific prin faptul c ntr-un program obinuit
datele exist efectiv numai pe parcursul rulrii lui, n timp ce ntr-o baz de date, n general,
ele sunt definite o singur dat i nu sunt necesare redefiniri ulterioare pentru fiecare
prelucrare realizat.
Practic, un SGBD const n elemente software care interacioneaz cu programele
aplicaie ale utilizatorului i cu baza de date. Printre principalele faciliti care sunt oferite de
un SGBD menionm:
1. permite utilizatorului s defineasc baza de date, de obicei prin intermediul unui limbaj de
definire a datelor (LDD), care permite fiecrui utilizator s specifice tipurile i structurile de
date, n timp ce constrngerile asupra datelor sunt memorate n baza de date;
2. ofer posibilitatea actualizrii datelor n baza de date (adugare, modificare, tergere),
dar i a extragerii lor prin intermediul limbajului de manipulare a datelor (LMD). Faptul c
exist un depozit central al tuturor datelor i descrierilor acestora permite limbajului de
manevrare s ofere o facilitate de interogare general a acestor date, denumit limbaj de
interogare. Existena unui limbaj de interogare elimin dificultile sistemelor bazate pe
fiiere, unde utilizatorul este constrns s lucreze cu un set fix de interogri pentru a evita
proliferarea de programe, care creeaz probleme majore privind gestionarea acestora.
Exist dou tipuri de limbaje de manipulare a datelor:

procedurale
neprocedurale

care se pot deosebi n funcie de operaiile de extragere. Principala diferen ntre ele
const n faptul c, de obicei, limbajele procedurale trateaz bazele de date nregistrare
cu nregistrare, n timp ce limbajele neprocedurale opereaz asupra unor seturi de
nregistrri. n consecin, limbajele procedurale specific cum se va obine rezultatul unei
instruciuni LMD, iar cele neprocedurale descriu numai ce date vor fi obinute. Cel mai
obinuit tip de limbaj neprocedural este limbajul structurat de interogare (SQL).
3. ofer accesul controlat la baza de date. De exemplu, poate furniza:
un sistem de securitate, care previne accesarea bazei de date de ctre utilizatori
neautorizai;
un sistem de integritate, care menine concordana datelor stocate;
un sistem de control al concurenei, care permite accesul partajat la baza de date;
un sistem de control al refacerii, care restaureaz baza de date ntr-o stare precedent
concordant, ca urmare a unei defeciuni la nivel hardware sau software;
un catalog accesibil utilizatorilor, care conine descrieri ale datelor din baza de date.
4. ofer un anumit nivel de securitate. Modurile de vizualizare pot fi realizate astfel nct s
nu includ datele ce nu trebuie cunoscute de anumii utilizatori. De exemplu, s-ar putea
crea un mod de vizualizare care s permit unui administrator de filial i departamentului
Contabilitate s afieze toate datele referitoare la personalul unei instituii, inclusiv

detaliile despre salariu. Pe lng acesta, s-ar putea crea un al doilea mod de vizualizare,
care s exclud detaliile despre salariu, ce va fi utilizat de ctre ceilali angajai;
5. pot prezenta o imagine coerent, neschimbat a structurii bazei de date, chiar dac
aceasta este modificat (de exemplu, s-ar putea aduga sau elimina cmpuri, s-ar putea
modifica relaiile, diviza, restructura sau redenumi anumite fiiere). Dac sunt adugate
sau eliminate cmpuri dintr-un fiier, iar acestea nu sunt cerute de ctre modul de
vizualizare, el nu este afectat de ctre modificarea realizat. Prin urmare, modul de
vizualizare contribuie la asigurarea independenei program-date.

Componentele unui SGBD


Principalele componente ale unui SGBD sunt:

motorul SGBD este componenta care asigur interfaa dintre subsistemul de proiectare
i cel de execuie pe de o parte, i datele bazei de date pe de alt parte i are rolul de a
asigura accesul fizic la datele bazei de date. Toate aciunile motorului SGBD sunt
realizate unitar i respect restriciile impuse de legturile dintre date, dar i de regulile de
integritate ale bazei de date definite n dicionarul de date. Principalele responsabiliti ale
motorului SGBD sunt:

realizeaz gestionarea tranzaciilor la nivelul unei baze de date;

permite regsirea datelor pe baza informaiilor de adresare din fiierele de index;

salvarea i restaurarea datelor;

blocarea i deblocarea datelor n cazul operaiilor fizice la nivelul memoriei externe;

subsistemul instrumentelor de proiectare dispune de un set de instrumente software


care permit proiectarea i generarea bazei de date i a aplicaiilor care descriu modul de
utilizare a bazei de date. Aceast component permite definirea:

structurii tabelelor din baza de date;

machetelor de interfa cu utilizatorul;

a formatului rapoartelor i cererilor de interogare a bazei de date.

Subsistemul instrumentelor de proiectare poate include:

limbaje de descriere a datelor (LDD) 1 ;

limbaje de manevrare a datelor;

limbaje de interogare a datelor din baza de date;

editoare de cod;

generatoare de cod care s permit definirea interfeei cu utilizatorul, a rapoartelor,


meniurilor, etc.;

un sistem de asisten on-line pentru autodocumentarea utilizatorului.

subsistemul de execuie permite execuia aplicaiilor sau cererilor de consultare a bazei


de date, formulate prin utilizarea instrumentelor subsistemului de proiectare, prin
consultarea dicionarului de date i generarea tranzaciilor. Aceasta este componenta
care garanteaz autonomia logic a datelor n baza de date i are rolul de a intermedia

Un limbaj de descrierea a datelor permite descrierea componenei bazei de date, a structurii acesteia, a relaiilor dintre
componentele ei, precum i a tuturor drepturilor de acces ale utilizatorilor la baza de date.

operaiile cu baza de date prin consultarea descrierii organizrii logice a datelor


memorate n structura bazei de date. Practic, fiecare operaie de actualizare sau
consultare a bazei de date se realizeaz prin identificarea formatelor de descriere a
datelor din dicionarul de date i conectarea acestor descrieri din schema intern a bazei
de date
Funciile SGBD-ului
ndeplinirea tuturor obiectivelor unui SGBD se realizeaz prin intermediul unor
componente care permit efectuarea unor operaii specifice. n funcie de natura lor, dar i de
scopul urmrit, operaiile pot fi grupate pe activiti. Activitile accept i ele o grupare pe
funcii astfel nct, una sau mai multe activiti, relativ omogene, vor realiza o funcie anume.
innd cont de complexitatea unui SGBD, de facilitile pe care le pune la dispoziie, de
limbajele utilizate, precum i de modul de implementare al modelului de date, gruparea
activitilor pe funcii are un anumit caracter relativ.
Plecnd de la modelul de date pe care l implementeaz, SGBD-urile se
caracterizeaz printr-un numr de particulariti identificate prin operaii i activiti specifice.
n pofida acestor particulariti, exist cteva funcii general valabile pentru toate tipurile de
SGBD; acestea sunt funcii importante, pe care un sistem software, dac nu le are n
totalitate, nu poate fi considerat SGBD. Astfel, principalele funcii pe care le putem atribui
unui SGBD sunt: descrierea datelor, manipularea datelor, utilizarea i administrarea bazei de
date.
Descrierea datelor
Prin intermediul funciei de descriere a datelor, fiecare SGBD permite definirea unei
structuri a bazei de date cu ajutorul limbajului de definire a datelor (LDD). Definirea datelor
poate fi realizat la nivel conceptual, logic i fizic. Se descriu atributele din cadrul structurii
bazei de date, legturile dintre entitile acesteia sau dintre atributele aceleiai entiti, se
definesc criteriile de validare a datelor (dac este cazul), metodele care asigur accesarea
datelor, precum i aspectele care se refer la asigurarea integritii datelor. Concretizarea
acestei funcii este schema bazei de date, memorat n cod intern. Memorarea se face ntrun fiier, ceea ce permite afiarea i actualizarea structurii bazei de date, n orice moment de
timp.
Manipularea datelor
Funcia de manipulare a datelor este cea mai complex i realizeaz actualizarea i
regsirea datelor din baza de date, cu ajutorul limbajului de manipulare a datelor 2 .
Manipularea datelor este cea mai folosit funcie n bazele de date, fiind cea mai bine
suportat de sistemul de gestiune a bazelor de date fa de oricare alt sistem de gestionare a
datelor din memoria extern. Practic, un SGBD manipuleaz datele ntr-o manier eficient,
folosind n acest scop diferite tehnici i metode de optimizare a accesului i a alocrii
spaiului din memoria calculatorului.
Menionam n paragraful anterior c limbajul de manipulare a datelor este cel care
asigur realizarea acestei funcii. n ceea ce-l privete, acest limbaj trebuie s respecte
restriciile de integritate a datelor i s implementeze operatorii din modelul de date pe care
se bazeaz SGBD-ul cruia i aparine.
Aceast funcie presupune derularea urmtoarelor activiti:

ncrcarea datelor n baza de date - se realizeaz prin operaii automatizate sau


programate ce asigur i criteriile de validare necesare;
n literatur ntlnim frecvent i Limbaj de Manevrare a Datelor

actualizarea bazei de date se refer la operaiile de adugare, modificare i tergere de


nregistrri. La operaiile de adugare i de modificare se pstreaz aceleai criterii de
validare care s-au folosit i la activitatea de ncrcare a datelor. Actualizarea se
realizeaz numai autorizat, prin asigurarea unei protecii corespunztoare a datelor,
pentru a se pstra coerena bazei de date.

prelucrarea datelor presupune realizarea operaiilor de selecie, ordonare, etc. efectuate


asupra entitilor bazei de date. Acestea sunt, de obicei, operaii pregtitoare activitii de
regsire a datelor. Multe din operaiile de prelucrare sunt realizate cu ajutorul operatorilor
din modelul de date pe care l implementeaz SGBD-ul.

Interogarea (regsirea) datelor presupune realizarea operaiilor de vizualizare, rsfoire,


editarea unor documente de ieire. Documentele de ieire pot fi intermediare sau finale i
se pot obine pe diferii supori tehnici de informaie (ecran, hrtie, mediu magnetic, mediu
optic).
Funcia de utilizare

Aceast funcie are rolul de a asigura interfeele necesare care s permit


comunicarea utilizatorilor cu baza de date (cu alte cuvinte, s asigure legtura dintre utilizator
i baza de date). Pentru realizarea acestei funcii, SGBD-ul trebuie s ofere faciliti pentru
mai multe categorii de utilizatori ai bazei de date, i anume: neinformaticieni, specialiti
(informaticieni) i administratorul.
Utilizatorii neinformaticieni reprezint principala categorie a beneficiarilor de informaii
(utilizatori finali i intensivi) din baza de date. SGBD-ul le ofer acestora limbaje
neprocedurale, dar i alte faciliti de interogare (generatoare, utilitare, etc.) a bazei de date
ntr-o form simpl i interactiv. Aceti utilizatori nu trebuie s cunoasc structura bazei de
date i nu trebuie s tie s programeze, SGBD-ul sprijinindu-i n manier interactiv n
utilizarea bazei de date.
Spre deosebire de utilizatorii neinformaticieni, cei specialiti n informatic sunt n
msur s creeze structura bazei de date i s realizeze proceduri complexe de exploatare a
acesteia. SGBD-ul ofer acestor utilizatori limbajul de descriere i limbajul de manipulare a
datelor precum i interfee cu limbaje universale. Acestea sunt de complexitate i putere
diferit, de la un SGBD la altul, oferind att elemente neprocedurale ct i procedurale
specialistului n informatic. Cu aceste elemente el poate s descrie schema bazei de date i
s asigure manipularea complex a datelor.
Administratorul bazei de date este un utilizator special i are un rol hotrtor n ceea
ce privete funcionarea optim a ntregului sistem. Datorit importanei acestei categorii de
utilizatori, SGBD-ul are o funcie distinct n acest sens.
Administrarea bazei de date
Funcia de administrare este una destul de complex i din acest motiv se consider
c este doar de competena administratorului bazei de date.
Administratorul, care are o bogat experien de analiz, proiectare i programare,
organizeaz i administreaz baza de date n toate etapele de realizare a acesteia. Astfel, el
organizeaz baza de date conform unei anumite metodologii, realizeaz schema
conceptual a acesteia i coordoneaz proiectarea ei.
n etapa de exploatare a bazei de date, administratorul ndeplinete mai multe roluri:

de a autoriza accesul la date (creaz conturi de acces, parole, etc.);

de a reface baza de date n caz de incidente (prin jurnalizare, copii de siguran);

de a utiliza eficient spaiul de memorie intern i extern (prin organizare, rutine de


optimizare);

de a realiza o serie de analize statistice din baza de date (numr i tip de utilizatori,
numr de accese, numr de actualizri, etc.).
Regulile lui Codd

Pentru a fi considerat relaional, fiecare sistem de gestiune a bazelor de date trebuie


s respecte nite reguli, ntlnite n literatur sub numele de regulile lui Codd. Astfel, regulile
enunate de cercettor sunt prezentate n continuare:
R0 Gestionarea datelor la nivel de relaie.
Toate informaiile din baza de date sunt gestionate numai prin mecanisme relaionale.
Rezult c SGBD-ul trebuie s-i ndeplineac toate funciile utiliznd ca unitate de
informaie mulimea, cu alte cuvinte, s utilizeze diferite limbaje, aa cum este i SQL, care
s opereze la un moment dat pe o relaie.
R1 Reprezentarea logic a datelor.
Informaiile bazei de date relaionale vor fi reprezentate n mod explicit la nivel logic ntr-un
singur mod i anume ca valori n tabelele de date. Rezult c toate datele ar trebui s fie
memorate i prelucrate n manier identic. Informaiile referitoare la numele tabelelor, al
coloanelor, domeniilor, definiiilor tabelelor virtuale, al restriciilor de integritate trebuie s fie
memorate tot n tabelele de date.
R2 Garantarea accesului la date
Accesarea tuturor informaiilor bazei de date se va realiza prin specificarea numelui tabelei
respective, a valorii cheii primare, precum i a numelui de coloan.
R3 Regula aferent valorii NULL
Un SGBD trebuie s permit declararea i utilizarea valorii NULL, cu semnificaia unor date
lips sau care nu pot fi aplicate. Valorile NULL (care sunt diferite de irurile de caractere
spaiu sau de cele vide) sunt importante pentru implementarea restriciilor de integritate
(integritatea entitii i integritatea referenial) aferente modelului relaional.
R4 Regula specific metadatelor
Informaiile referitoare la descrierea bazei de date metadatele trebuie specificate la nivel
logic n manier identic cu descrierea datelor propriu-zise. Practic, utilizatorul va aplica
asupra descrierii bazei de date aceleai operaii ca i la datele obinuite. Sistemul nu trebuie
s fac diferene ntre descrierea datelor i a metadatelor utiliznd o singur structur, i
anume cea relaional.
R5 Faciliti ale limbajelor utilizate
Un sistem relaional trebuie s fac posibil utilizarea mai multor limbaje, n diferite moduri.
Trebuie s existe cel puin un limbaj de nivel nalt ale crui instruciuni s poat exprima
oricare din urmtoarele operaii: definirea tabelelor, a tabelelor virtuale, manevrarea datelor,
definirea tuturor restriciilor de integritate, garantarea i autorizarea accesului la date, precum
i prezentarea limitelor tranzaciilor.
R6 Actualizarea bazei de date
Fiecare SGBD trebuie s permit manipularea unei tabele, att n cazul actualizrii datelor n
baza de date, ct i pentru operaii de regsire a lor. n cazul unei operaii care va modifica
coninutul unei baze de date, trebuie s se lucreze la un moment dat pe o relaie ntreag.
R7 Independena fizic a datelor

Programele de aplicaie nu trebuie s fie afectate de modificrile realizate n modul de


reprezentare a datelor sau n metodele de acces. O schimbare a structurii fizice a datelor nu
trebuie s blocheze funcionarea programelor de aplicaie.
R8 Independena logic a datelor
Programele de aplicaie nu trebuie s fie afectate de modificrile efectuate asupra relaiilor
care formeaz baza de date.
R9 Regula aferent restriciilor de integritate
Toate restriciile de integritate trebuie s poat fi definite prin intermediul limbajului folosit de
SGBD pentru definirea datelor i s fie memorate.
R10 Distribuirea geografic a datelor
n cazul n care datele sunt distribuite, programele de aplicaie s fie logic aceleai cu cele
utilizate n cazul n care datele sunt fizic centralizate. Practic, n aceast situaie, utilizatorul
ar trebui s perceap aceste date ca fiind centralizate i nu aparinnd unor staii diferite de
lucru, aflate n zone geografice diferite.
R11 Actualizarea tabelelor virtuale
n cadrul abordrii relaionale, nu toate atributele sunt actualizabile, ceea ce nseamn c nu
toate tabelele virtuale pot fi actualizate.
R12 Prelucrarea datelor la nivel de baz
Dac SGBD-ul posed un limbaj de baz de nivel sczut orientat pe prelucrarea tuplurilor i
nu pe cea a relaiilor, atunci acest limbaj nu trebuie folosit pentru a se evita restriciile de
integritate sau restriciile introduse prin utilizarea limbajelor relaionale de nivel nalt.

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