Sunteți pe pagina 1din 9

Introducere n Tehnologia BD

Introducere n Modelarea BD
INTRODUCERE IN TEHNOLOGIA BAZELELOR DE DATE
1. BAZE DE DATE
Bazele de date (BD) reprezint o structur logic n care o cantitate de informaii este memorat
pe un suport fizic. Altfel spus, BD reprezint totalitatea informaiilor necesare despre obiectele care
intervin n mai multe aplicaii, relaiile logice dintre acestea i tehnicile de prelucrare
corespunztoare.
O BD permite:
- stocarea eficient a datelor,
- regsirea i prelucrarea
- ntreinerea datelor.
La nivel inferior, BD sunt reprezentate prin fiiere. O BD poate fi folosit pentru a stoca
fiiere binare, documente, imagini grafice sau video, date relaionale, date multidimensionale, date
analitice, date geografice etc.
Natura datelor care sunt prelucrate n domeniul ingineriei industriale si roboticii este foarte
divers: date tehnice, date experimentale (deformaii, viteze), date de proiectare (caracteristici de
material, dimensiuni i forme constructive), date provenite din simularea unor parametri funcionali
(acceleraii, defazaje de timp), date statistice (n ingineria economic). Ele trebuie s fie nregistrate,
organizate, prelucrate, vizualizate, accesate, reactualizate. Din acest punct de vedere BD ocup o
poziie central n cadrul ingineriei asistate, constituind un liant ntre diferite tipuri de programe de
calcul sau grafice.
Orice baz de date modeleaz un sistem sau un proces din lumea real.
2. Proprietile BD
Partajarea datelor
Datele memorate ntr-o baz de date sunt destinate folosirii de ctre mai muli utilizatori,
uneori chiar simultan. Spre exemplu, o baz de date referitoare la studeni poate fi accesat att de
profesori, ct i de studeni sau personal administrativ.
Integrarea datelor
Condiia de integrare: s nu conin redundane. O dat este considerat redundant n cazul
n care un atribut are dou sau mai multe valori identice sau dac ea poate fi tears fr ca prin
aceast operaie s se produc pierdere de informaie. Prin urmare, redundana datelor nu presupune
obligatoriu existena duplicatelor.
Integritatea datelor
Integritatea presupune c baza de date reprezint o reflectare corect a realitii modelate.
Spre exemplu, n cazul unei baze de date referitoare la o firm, integritatea presupune sigurana
c se obin rspunsuri corecte la toate interogrile. De exemplu: ci salariai cu studii superioare
sunt n firm, care este valoarea medie a contractelor incheiate, sau care este produsul cel mai
vandut etc. Integritatea datelor se realizeaz prin constrngeri de integritate. De exemplu, un
produs s nu poat fi facturat dac nu este n stoc.

Securitatea datelor
Se realizeaz prin restricionarea accesului la date. De exemplu. un sistem securizat ar putea fi
acela n care personalul din departamentul financiar are acces la datele referitoarela costuri, dar nu
poate modifica datele tehnice ale unui produs.
Abstractizarea datelor
BD este un model al realitii, dar care deine numai detaliie relevante ale datelor pentru o
anumit aplicaie. Prin urmare o BD este, de fapt, o abstractizare a realitii.
Avantajele folosirii bazelor de date
Memorare bine organizat, regsirea i prelucrarea rapid a unui volum mare de date.
O BD este creat pentru a fi uor actualizat i interogat.
3. SISTEMUL DE GESTIUNE A BAZELOR DE DATE (SGBD)
Sistemul de programe care permite construirea bazelor de date, ntreinerea i accesul la o baz
de date se numete Sistem de gestiune a bazelor de date (SGBD). El conine o interfa grafic i
instrumente pentru accesul la date al utilizatorilor. De asemenea, SGBD permite organizarea,
stocarea, gestionarea, salvarea, recuperarea, mentenana, extragerea datelor dintr-o BD.
Sistemul de BD
Aplicatia 1

SGBD

BD

Aplicatia 2

Aplicatia 3

Aplicatia 4

Fig. 1 Sistemul de gestiune a bazelor de date


4. ROLURI n BAZELE DE DATE
n funcie de rolul pe care l are o persoan care lucreaz n domeniul BD distingem:
1) Arhitectul de date - este cel care face modelarea datelor. El proiectaz ntreaga
arhitectur care s defineasc cerinele prezente i viitoare ale unei organizaii n ceea ce
privete managementul datelor.
2) Arhitectul bazei de date - dezvolt, depaneaz baza de date, asigur mentenana,
integritatea i securitatea acesteia.
3) Programatorii de aplicaii - Scriu aplicaii care acceseaz bazele de date.
Un mediu integrat pentru dezvoltarea acestor aplicaii este IBM Data Studio, bazat pe
Eclipse, care permite programatorilor s lucreze cu obiectele DB2, cum ar fi tabele,
vederi, indeci, proceduri stocate, funcii definite de utilizatori i servicii Web. Eclipse
este un mediu integrat IBM, scris n Java, care conine un spaiu de lucru i plug-in-uri
pentru conexiunea cu alte limbaje de programare.
2

n prezent sistemele relaionale de gestiune a bazelor de date sunt cele mai utilizate. IBM este
unul dintre liderii de pia n acest domeniu prin produsul DB2 UDB Enterprize Server Edition. Alte
SGDB relaionale sunt : Oracle, Microsoft SQL Server, MySQL, dBASE etc.
5. DB2. GENERALITI
DB2 UDB este program de baze de date relaional dezvoltat de firma IBM i se folosete
pentru aplicaii de tip comer, afaceri, integrarea informaiilor (e-Commerce, Business Intelligence i
Information Integration).
DB2 UDB are posibiliti de autoconfigurare, auto-optimizare i auto-mentenan, are
performane ridicate, include nouti din tehnologia IT i permite programatorilor integrarea cu
aplicaii de tip Web. De asemenea, are un set de utilitare pentru integrarea cu alte aplicaii i sisteme,
precum i pentru interconectarea cu alte baze de date.
Familia de produse IBM DB2 Universal Database conine urmtoarele (Fig. 2) :
DB2 Universal Database Enterprise Server - sistem de baze de date multiutilizator,
relaional, pentru configuraii complexe i baze de date de dimensiuni mari.
DB2 Universal Database Workgroup Server - este un SGDB multiutilizator, relaional
destinat aplicaiilor i datelor folosite n reele de tip LAN (local, nu prin internet). Este un server
relaional de baze de date care se poate folosi n medii departamentale sau medii de afaceri de
dimensiuni intermediare ce posed un numr suficient de mare de utilizatori interni.
DB2 Universal Database Universal Developer's Edition este un pachet redus pentru
dezvoltarea de aplicaii n scopul proiectrii, obinerii i elaborrii de prototipuri corespunztoare
oricrui client DB2. Conine toate instrumentele necesare dezvoltrii aplicaiilor de tip client/server
in mediul DB2 UDB.
DB2 Universal Database Express Edition - Acesta este un sistem de gestiune a bazelor de
date relaional destinat organizaiilor de dimensiuni mici i mijlocii.

Fig. 2. Produse IBM DB2 Universal Database


DB2 se poate instala pe sisteme Windows, OS/2, UNIX i LINUX.

6. Proiectarea bazelor de date


Acest paragraf cuprinde numai elementele de baz care trebuie cunoscute pentru
modelarea bazelor de date. Deoarece programul Data Studio este dezvoltat de firma
IBM, simbolurile folosite i abordarea general a problemelor de modelare sunt n
acord cu modul de reprezentare i dezvoltarea specific a programului n care se face
implementarea.

Proiectarea unei baze de date ncepe prin analiza cerinelor, se realizeaz apoi un model al
bazei de date, dup care se face implementarea.
6.1 Analiza datelor
n aceast etap se analizeaz natura datelor i modul cum vor fi ele utilizate. Se identific
datele care trebuie memorate i procesate. Etapa de analiz este o etap obligatorie, deoarece este
costisitor i greu de modificat un model implementat.
Informaiile necesare realizrii modelului conceptual se identific folosind metode
convenionale: discuii ntre partenerii de proiect, studiul documentelor (formulare, rapoarte) etc.
6.2 Modelarea BD
Cea mai folosit reprezentare a modelului conceptual este diagrama entitate-relaie (ER Entity Relationship diagram) care faciliteaz comunicarea ntre proiectant i beneficiar.
Caracteristicile diagramelor ER reprezint faptul c:
- sunt un instrument de proiectare;
- sunt o reprezentare grafic a unui sistem de date;
- ofer un model conceptual de nivel nalt al bazelor de date;
- permit nelegerea de ctre utilizatori a datelor i a relaiilor dintre acestea;
- sunt independente de implementare.
Diagrama ER a aprut n anul 1970 fiind introdus de Peter Chen. Modul de reprezentare
folosit de IBM-Data Studio se bazeaz pe modelul dezvoltat de C. R. Bachman.
Elementele principale ale diagramei ER sunt: entitatea, atributul i relaia.
Entitatea
Entitile sunt obiecte care au o existen independent de existena oricrei alte entiti dintro baz de date. Numele entitii este un substantiv la singular. n modelul fizic entitile se reprezint
prin tabele.
O entitate poate fi un obiect (carte, stoc, factur etc.), o persoan (angajat, pacient, student),
o noiune abstract (nivel, note etc.) sau eveniment (tranzacie, nscriere, mprumut etc.) care are
semnificaie pentru BD modelat i despre care trebuie s colectm i s memorm date.
Atributul este un element specific al entitii care trebuie cunoscut i memorat. Un atribut este un
substantiv la singular. De exemplu, atributele entitii personal sunt (Fig. 3): nume, prenume, adresa,
numr de telefon, adresa de email, data naterii etc. n modelul fizic al BD atributele sunt cmpurile, sau
coloanele tabelului.

Fig. 3 Exemple de entiti i atributele lor.


Un atribut poate fi obligatoriu (*) pentru o aplicaie sau opional (o). Dac un atribut este
obligatoriu, el trebuie s aib o valoare. n modelul fizic atributul obligatoriu se declar NOT NULL.
De exemplu, un atribut obligatoriu pentru entitatea personal este numele angajailor, iar pentru
entitatea carte este autorul.
Pentru un atribut opional (o) poate exista situaia n care nu e nevoie s cunoatem valoarea
atributului respectiv pentru aplicaie. De exemplu, atributele - continent (pentru entitatea produs) sau
nlime (pentru entitatea personal), sau telefon_editur (pentru entitatea carte).
Atributele pot fi simple sau compuse, n funcie de modul n care se pot sau nu se pot disocia
n mai multe componente. Un exemplu de atribut compus pentru entitatea personal este adresa, care
se poate mpri n componentele: strada, numr, ora etc.
Atributul care definete n mod unic o entitate se numete identificator unic. Identificatorul
unic poate fi compus dintr-un singur atribut, de exemplu codul numeric personal (CNP) pentru
entitatea personal. Identificatorul unic poate fi compus dintr-o combinaie de dou sau mai multe
atribute. De exemplu, combinaia: titlu - autor - data_apariiei - editura pot forma identificatorul
unic al entitii carte.
Atributele, sau combinaii ale mai multor atribute, pot lua valori unice, sau non-unice. De
exemplu, pentru entitatea personal:
- CNP este unic (UNIQUE);
- combinaia de atribute: nume - prenume - data_nasterii este non-unic (NON
UNIQUE).
De multe ori se recurge la un cod artificial, care este identificator unic. Pentru exemplificare,
pentru entitatea carte, identificatorul unic este codul #ISBN.
De asemenea, valorile pe care le poate lua un atribut pot fi: constante; variabile - de exemplu
vrsta unui angajat, sau derivate din alte atribute - pretul_cu_tva. Se recomand ca atributele
variabile sau derivate s fie folosite numai n fazele de studiu, i nu pentru implementare.
Relaia
O relaie este o asociere, o legtur sau conexiune ntre entiti i care are o semnificaie
pentru procesul sau sistemul modelat. Un exemplu este prezentat n Fig. 4, ntre entitatea main i
entitatea proprietar.
Loc de parcare

Fig. 4 Relaia ntre dou entiti.


5

Orice relaie este caracterizat de urmtoarele elemente:


1. numele relaiei: un verb. O main aparine unui proprietar, iar proprietarul are o main.
2. opionalitatea relaiei - se stabilete prin rspunsul la ntrebarea: trebuie s existe relaia?
Relaiile opionale se reprezint prin simbolul cerc (o).
3. Cardinalitatea (gradul) relaiei (1:1, 1:n, n:m).
Cardinalitatea relaiei
Variantele de relaii ce pot exista ntre dou entiti sunt (Fig. 5):
Unu-la-unu - one-to-one - (1:1). Acest tip de relaie este rar ntlnit. Uneori astfel de relaii
pot fi modelate transformnd una dintre entiti n atribut al celeilalte entiti.

Fig. 5 Relaii ntre entiti [6].


Unu-la-mai-multi - one-to-many (1:n). Sunt cele mai ntlnite relaii.
Mai muli la mai muli - many-to-many (n:m). Acest tip de relaii apare n prima faz a
proiectrii bazei de date. Ele trebuie eliminate, deoarece nu se pot implementa.
Reprezentarea grafic a relaiei ntre dou entiti se face printr-un segment. Modul cum se
termin segmentul indic att opionalitatea (| sau O), ct i cardinalitatea relaiei n dreptul entitii
respective (|=1 sau = many - picior de cioar, Fig. 6).

Fig. 6 Reprezentarea relaiilor dintre entiti.


n Fig. 7 sunt reprezentate toate tipurile de relaii ntre entiti.

Fig. 7 Relaii ntre entiti 1:m i n:m.


Exemple de relaii ntre entiti sunt ilustrate n Fig. 8.

Fig. 8 Relaii ntre entiti. Exemple

Rezolvarea relaiilor n:m


Relaiile n:m pot aprea ntr-o prim faz a proiectrii bazei de date (Fig. 9), ns ele trebuie
eliminate din modelul final.

Fig. 9. Rezolvarea relaiei many-to-many pentru modelul


conceptual al bazei de date CURS_POSTUNIV.
Paii care trebuie urmai sunt:
1. Se gsete o entitate de intersecie:
2. Se creeaz noile relaii astfel:
a) opionalitatea: relaiile care pleac din entitatea de intersecie sunt ntotdeauna obligatorii
n aceast parte. n partea dinspre entitile originale, relaiile pstreaz opionalitatea relaiilor
iniiale.
b) - cardinalitatea: ambele relaii sunt de tip 1:m, iar partea cu m va fi ntotdeauna nspre
entitatea de intersecie.
3. Se adaug atribute n cadrul entitii de intersecie.
4. Se stabilete identificatorul unic pentru entitatea de intersecie. Dac entitatea de
intersecie nu are un identificator unic propriu, atunci acesta se poate forma din identificatorii unici ai
entitilor iniiale, la care se pot aduga atribute ale entitii de intersecie.
Modelarea datelor care evolueaz
n timp se pot schimba att atributele entitilor, dar i relaiile dintre entiti. n exemplul din
Fig. 10 atributul *pret al entitii PRODUS se poate schimba n funcie de inflaie, anotimp etc. Dac
7

ntr-o aplicaie intereseaz evoluia n timp a unui atribut, trebuie reinut istoricul evoluiei
atributului. Aceasta se realizeaz printr-o nou entitate, n cazul nostru PRET

Fig. 10
S presupunem c modelm o baz de date pentru o bibliotec (Fig. 11). n acest caz este
important de reinut un istoric al tuturor mprumuturilor, deoarece pe baza acestora, se pot afla
domeniile de interes ale cititorilor i se poate stabili ce achiziii de carte s se fac n viitor. De
asemenea, se poate determina uzura crilor i care dintre ele trebuie nlocuite. n Fig. 11 relaia
dintre entitile CARTE i CITITOR este many-to-many: fiecare carte poate fi mprumutat de
mai
muli
cititori
i
fiecare
cititor
poate
mprumuta
mai
multe
cri:
codcarte+codcititor+data_imprumut =UNIQUE

a.
b.
Fig. 11 Rezolvarea relaiei many-tomany
O prim rezolvare este n Fig. 11,a. Condiia care trebuie pus este cod_carte+data_imp s
fie unic. Se verific dac o carte poate fi mprumutat n acelai timp de mai muli cititori. n acest
caz s-au barat cele dou relaii dinspre entitatea de intersecie. Aceasta nu este ntotdeauna o soluie
bun. Mai exist varianta: se introduce o cheie artificial n entitatea de intersecie (Fig. 11,b), n
acest caz: #codimpr.
Normalizarea datelor
Normalizarea este o tehnic de proiectare a bazelor de date prin care se elimin (sau se evit)
anumite anomalii i inconsistene ale datelor.
Anomaliile care pot s apar la o baz de date nenormalizat sunt urmtoarele:
anomalii la actualizarea datelor la o bibliotec se nregistreaz ntr-o tabel urmtoarele
date despre cri: ISBN, titlu, autor, pre, subiect, editura, adresa editurii. La un moment dat o
editur i schimb adresa. Bibliotecara va trebui s modifice adresa editurii respective, n
nregistrrile corespunztoare tuturor crilor din bibliotec aprute la respectiva editur. Dac
aceast modificare nu se face cu succes, unele dintre nregistrri rmnnd cu vechea adres, apare
din nou o inconsisten a datelor.

anomalii de inserare n exemplul anterior, nu vom putea memora adresa unei edituri,
lucru inacceptabil dac dorim s avem informaii i despre editurile ale cror cri nu le avem n
bibliotec, eventual de la care dorim s facem comenzi.
anomalii de tergere s presupunem c ntr-o tabel memorm urmtoarele informaii:
codul studentului, codul cursului, codul profesorului. La un moment dat, nici un student nu mai
dorete s participe la un anume curs. tergnd toate nregistrrile corespunztoare cursului, nu vom
mai putea ti niciodat cine preda acel curs.

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