Baze de Date
-
Upload
adrianakara -
Category
Documents
-
view
77 -
download
1
description
Transcript of Baze de Date
-
2005
BAZE DE DATEI
UTILIZAREA ACESTORA
Specializarea TEHNOLOGIA INFORMAIEI
Forma de nvmnt ID emestrul I- s
Program universitar de conversie profesionalpentru cadrele didactice din mediul rural
post
Adriana OLTEANU Magdalena ANGHEL
Radu Nicolae PIETRARU
-
Ministerul Educaiei i Cercetrii
Proiectul pentru nvmntul Rural
TEHNOLOGIA INFORMAIEI
Baze de date i utilizarea acestora
Adriana OLTEANU Radu Nicolae PIETRARU
Magdalena ANGHEL
2005
-
2005 Ministerul Educaieii Cercetrii
Proiectul pentru nv mntul Rural
Nici o parte a acestei lucrrinu poate fi reprodus fracordul scris al uiMinisterul Educaiei i Cercetrii
-
Baze de date i utilizarea acestora
Proiectul pentru nvmntul Rural i
BAZE DE DATE I UTILIZAREA ACESTORA
Cuprins Pagina INTRODUCERE vi UNITATEA DE INVARE NR. 1 - Problematica organizrii informaiilor n mediul electronic Obiectivele unitii de nvare nr. 1 2 1.1. Introducere 2 1.2. Ce este o baz de date? 3 1.3. Clasificarea sistemelor de baze de date 5 1.3.1. Clasificare dup modelul de date 5 1.3.2. Clasificare dup numrul de utilizatori 7
1.3.3. Clasificare este cea dup numrul de staii pe care este stocat baza de date
8
1.4. Securitatea i protecia datelor in bazele de date 8 Lucrare de verificare a cunotinelor 10 Rspunsuri i comentarii la ntrebrile din testele de autoevaluare 11 Bibliografie 12 UNITATEA DE INVARE NR. 2 Sistemul de baze de date. Concepte i arhitectur Obiectivele unitii de nvare nr. 2 14 2.1. Componentele unui sistem de baze de date 14 2.1.1.Hardware 14 2.1.2.Software 15 2.1.3.Utilizatorii 16 2.1.4. Date persistente 16 2.2. Arhitectura intern a sistemlor de baze de date. Modele de date, scheme i instane
17
2.3. Independena datelor 19 2.4.Limbaje SGBD 20 2.5.Interfee SGBD 21 Interfee bazate pe meniuri Interfee grafice
-
Baze de date i utilizarea acestora
ii Proiectul pentru nvmntul Rural
Interfee bazate pe forme Interfee n limbaj natural Interfee specializate aferente cererilor repetate Interfee pentru administratorii bazelor de date 2.6. Exemple de SGBD 22 Lucrare de verificare a cunotinelor 24 Rspunsuri i comentarii la ntrebrile din testele de autoevaluare 25 Biblliografie 27 UNITATEA DE INVARE NR. 3 Proiectarea bazelor de date Obiectivele unitii de nvare nr. 3 28 3.1. Ce este proiectarea? 29 3.2. Modelul entitate-relaie. Obiectele bazelor de date relaionale 32 Tabel (relaie) Cmp (atribut) nregistrare (nuplu) 3.3. Construcia schemelor relaie 34 3.3.1. Relaia unul-la-unul (1-1 sau one to one) 34 3.3.2. Relaia unul-la-multe (1-N sau one to many) 35 3.3.3. Relaia multe-la-multe (M-N sau many to many) 36 3.3.4. Relaia unar 37 3.4. Diagrama entitate-relaie 38 3.5. Constrngeri de integritate 39 3.5.1. Constrngerile de domeniu 40 3.5.2. Constrngerile referitoare la n-upluri (nregistrrile din tabel)-
Cheia primar 41
3.5.3. Constrngeri ntre relaii 41 3.6. Dependene funcionale 44 3.7. Normalizare. Forme normale. 44 3.7.1. Forma normal de ordin 1 (FN1) 45 3.7.2. Forma normal de ordin 2 (FN2) 46 3.7.3. Forma normal de ordin 3 (FN3) 46 3.7.4. Forma normal Boyce-Codd (FNBC) 47 3.8. Structuri de indeci n tabelele de date 48 3.8.1. Indexul primar 50 3.8.2. Indexul secundar 51 3.8.3. Indexul de grup 52 3.8.4. Indexul multinivel 53
-
Baze de date i utilizarea acestora
Proiectul pentru nvmntul Rural iii
Lucrri de verificare a cunotinelor 55 Rspunsuri i comentarii la ntrebrile din testele de autoevaluare 56 Biblliografie 57 UNITATEA DE INVARE NR. 4 Un limbaj pentru bazele de date relaionale (SQL) Obiectivele unitii de nvare nr. 4 61 4.1. Introducere 62 4.1.1. Deschiderea i nchiderea aplicaiei Microsoft Access 62 4.1.2. Crearea unei baze de date noi 63 4.1.3. nchiderea unei baze de date 63 4.2. Tipuri de date MICROSOFT Access 64 4.3. Operatorii logici 66 4.4. Limbajul standard SQL 68 4.4.1. Scurt istoric al limbajului SQL 68 4.4.2. Crearea unei tabele 69 4.4.3. Salvarea unei tabele 72 4.4.4. tergerea unei tabele 73 4.4.5.Modificarea structurii unei tabele 74 4.5.Modificarea datelor n SQL 74 4.5.1. Inserarea de noi linii ntr-o tabel 74 4.5.2. tergerea unor linii dintr-o tabel 75 4.5.3. Modificarea unor linii dintr-o tabel 77 4.6. Limbajul de cereri n SQL 79 4.6.1. Cereri simple 79 Expresii aritmetice Alias de coloan Constante (literali) 4.6.2. Clauza DISTINCT 84 4.6.3.Clauza ORDER BY 85 4.6.4. Clauza WHERE 86 Operatorul BETWEEN Operatorul IN Operatorul IS NULL Operatorul LIKE 4.6.5. Funcii de grup 90 4.6.6. Clauza GROUP BY 92 4.6.7. Clauza HAVING 93 4.6.8. Cereri coninnd mai multe tabele 94 Lucrri de verificare a cunotinelor 99
-
Baze de date i utilizarea acestora
iv Proiectul pentru nvmntul Rural
Rspunsuri i comentarii la ntrebrile din testele de autoevaluare
101
Biblliografie 102 UNITATEA DE INVARE NR. 5 Construirea interfeelor cu ajutorul formularelor n Microsoft Access Obiectivele unitii de nvare nr. 5 104 5.1. Ce este un formular? 105 5.2. Lucrul cu formularele 105 5.2.1. Deschiderea unui formular 105 5.2.2. Crearea unui formular 105
5.2.3. Utilizarea unui formular pentru a introduce i a modifica date n tabel
109
5.2.4. Parcurgerea nregistrrilor utiliznd formularele 110 5.2.5. Adugarea i modificarea textului n antet i subsol 110 5.2.6. tergerea unui formular 112 5.3. Salvarea i nchiderea unui formular 112 Lucrare de verificare a cunotinelor 113 Rspunsuri i comentarii la ntrebrile din testele de autoevaluare 114 Bibliografie 114 UNITATEA DE INVARE NR. 6 Rapoarte n Microsoft Access Obiectivele unitii de nvare nr. 6 116 6.1. Ce este un raport? 117 6.2. Lucrul cu rapoarte 117 6.2.1. Deschiderea unui raport 117 6.2.2. Crearea unui raport 117
6.2.3. Adugarea i modificarea textului n antet i subsol 1236.2.4. tergerea unui raport 125
6.3. Salvarea i nchiderea unui raport 125 Lucrare de verificare a cunotinelor 125 Rspunsuri i comentarii la ntrebrile din testele de autoevaluare 127 Biblliografie 127
-
Introducere
Proiectul pentru nvmntul Rural v
BAZE DE DATE I UTILIZAREA ACESTORA
INTRODUCERE
Stimate cursant, nc de la nceput doresc s i urez bun venit la studiul cursului destinat studierii bazelor de date i utilizrii acestora. Acest curs se adreseaz att cursanilor cu un grad mai mare de familiarizare cu universul gestionrii datelor, ct i cursanilor nceptori. Acest curs este un curs introductiv n proiectarea i utilizarea bazelor de date. Exist totui anumite cunotine legate de utilizarea calculatorului necesare parcurgerii acestui curs, cum ar fi: cunoaterea modalitii de organizare i manipulare a informaiei n format electronic, operaii de baz privind sistemul de operare Microsoft Windows i utilizarea tastaturii PC standard i a mouse-ului. Manualul de fa este organizat n 6 uniti de nvare, fiecare dintre aceste uniti coninnd o parte de prezentare teoretic a subiectului tratat, o parte de exemple, teste de autoevaluare i rezolvrile acestora, precum i lucrri de verificare a cunotinelor. Cele 6 uniti de nvare sunt prezentate gradat, ncepnd cu noiuni introductive despre baze de date, clasificarea lor, pn la concepte ale bazelor de date, proiectarea bazelor de date, folosirea limbajului de interogare a bazelor de date. La finalul manualului vom studia mpreun construirea interfeelor i realizarea rapoartelor n mediul Microsoft Access. La nceputul fiecrei uniti de nvare vor fi detaliate obiectivele propuse n respectiva unitate. n cadrul fiecrei uniti de nvare exist cte o lucrare de verificare, care cuprinde mai multe ntrebri. Lucrrile de verificare sunt poziionate la sfritul fiecrei uniti de nvare, rezolvarea problemelor propuse din lucrrile de verificare fiind asemntoare cu cea din exemple din cadrul unitii de nvare respective. n cadrul fiecrei uniti de nvare exist teste de autoevaluare, acestea fiind necesare pentru a fixa cunotinele dobndite n fiecare capitol i pentru a permite evaluarea continu a cursantului. Rspunsurile la testele de evaluare se vor completa n spaiile speciale din cadrul manualului. De-a lungul modulului Baze de date i utilizarea acestora exist 22 de teste de autoevaluare, care cuprind 28 de ntrebri i 6 lucrri de verificare a cunotinelor, care cuprind 43 de probleme. Problemele din testele de autoevaluare sunt punctate cu 0,5 puncte, fiind considerate evaluare pe parcurs, iar cele din lucrrile de verificare
-
Introducere
vi Proiectul pentru nvmntul Rural
sunt punctate cu 2 puncte, aceste puncte fiind considerate evaluare final, astfel: -n unitatea 1 sunt 4 ntrebri n testele de autoevaluare, deci se obin 2 puncte i 2 ntrebri la lucrarea de verificare unde se obin 4 puncte. -n unitatea 2 sunt 7 ntrebri n testele de autoevaluare, deci se obin 3,5 puncte i 1 ntrebare la lucrarea de verificare unde se obin 2 puncte. -n unitatea 3 sunt 7 ntrebri n testele de autoevaluare, deci se obin 3,5 puncte i 6 ntrebri la lucrarea de verificare unde se obin 12 puncte. -n unitatea 4 sunt 4 ntrebri n testele de autoevaluare, deci se obin 2 puncte i 27 ntrebri la lucrarea de verificare unde se obin 54 puncte. -n unitatea 5 sunt 3 ntrebri n testele de autoevaluare, deci se obin 1,5 puncte i 3 ntrebri la lucrarea de verificare unde se obin 6 puncte. -n unitatea 6 sunt 3 ntrebri n testele de autoevaluare, deci se obin 1,5 puncte i 4 ntrebri la lucrarea de verificare unde se obin 8 puncte. nsumate punctele obinute de cursani de-a lungul semestrului sunt 100. Lucrrile de verificare vor fi transmise tutorelui modulului ntr-un fiier separat. Bibliografia minimal a acestui modul este: Crstoiu, Dorin, Baze de date relaionale, Editura Printech, 1999 Rdulescu, Florin, Baze de date n Internet, Editura Printech, 2000 Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004 Baltac, Vasile, ECDL-Excel, Access, PowerPoint n 20 lecii i 75 de simulri, Editura Andreco, 2003 Browne, Allen, Balter Alison, Bazele Access 95, Editura Teora, 1999 Pribeanu, Costin, Baze de date i aplicaii, Editura MatrixRom, 2000 Pascu, C., Pascu A., Totul despre SQL, Editura Tehnic, 1994 Bibliografia este prezentat i la sfritul fiecrei uniti de nvare n cazul n care nu vei reui s rezolvai problemele propuse trebuie recitite zonele de text care apar nainte de lucrarea de verificare. n sperana c nu vor exista probleme v urm: Spor la treab! Autorii
-
Problematica organizrii informaiilor n mediul electronic
Proiectul pentru nvmntul Rural 1
Unitatea de nvare Nr. 1 PROBLEMATICA ORGANIZRII INFORMAIILOR N MEDIUL ELECTRONIC
Cuprins Pagina Obiectivele unitii de nvare nr. 1 2 1.1. Introducere 2 1.2. Ce este o baz de date? 3 1.3. Clasificarea sistemelor de baze de date 5 1.3.1. Clasificare dup modelul de date 5 1.3.2. Clasificare dup numrul de utilizatori 7
1.3.3. Clasificare este cea dup numrul de staii pe care este stocat baza de date
8
1.4. Securitatea i protecia datelor in bazele de date 8 Lucrare de verificare a cunotinelor 10 Rspunsuri i comentarii la ntrebrile din testele de autoevaluare 11 Biblliografie 12
-
Problematica organizrii informaiilor n mediul electronic
2 Proiectul pentru nvmntul Rural
OBIECTIVELE unitii de nvare nr. 1
Principalele obiective ale unitii de nvare nr. 1 sunt:
1.1. Introducere
n ultimii ani, dezvoltarea sistemelor de baze de date reprezint unul dintre cele mai importante aspecte n domeniul tehnologiei informaiei, avnd un impact decisiv asupra modului de organizare i funcionare a numeroaselor instituii i servicii. Acestea sunt companiile de comunicaie, intreprinderile de comer, serviciile bancare, serviciile de transport, asigurrile, universitile etc. Acestea sunt dependente de funcionarea corect i nentrerupt a sistemelor de baze de date.
Sistemele de baze de date sunt o component important a
vieii de zi cu zi n societatea modern. Zilnic, majoritatea persoanelor desfoar activiti care implic interaciunea cu o baz de date: depunerea sau extragerea unei sume de bani din banc, rezervarea biletelor de tren sau de avion, cutarea unei cri ntr-o bibliotec computerizat, gestiunea angajailor dintr-o firm, cumprarea unor produse etc.
Bazele de date pot avea mrimi (numr de nregistrri) i
complexiti extrem de variate, de la cteva zeci de nregistrri (de exemplu, baza de date pentru o agend de telefon a unei persoane)
Dup studiul unitii de nvare nr. 1 vei fi capabil s demonstrezi c ai dobndit cunotine suficiente pentru a nelege: de ce sunt importante n viaa de zi cu zi bazele de date n ce companii se folosesc bazele de date ce categorii de operaii se pot realiza asupra datelor din baza de
date ce reprezint efectiv o baz de date ce avantaje i ofer utilizarea bazelor de date clasificarea bazelor de date care sunt caracteristicile fiecrui model de baze de date de ce este important protecia i securizarea datelor din baza de
date diferite moduri de protejare a datelor
-
Problematica organizrii informaiilor n mediul electronic
Proiectul pentru nvmntul Rural 3
sau pot ajunge la milioane de nregistrri (de exemplu, baza de date pentru crile dintr-o bibliotec, baza de date cu stocarea angajailor unei firme sau baza de date unde se pstreaz informaii despre situaia studenilor etc).
Marea majoritate a sistemelor de baze de date existente n momentul de fa sunt relaionale i exist un numr mare de astfel de sisteme comerciale care pot fi achiziionate i folosite pentru propriile dezvoltri. Modelul relaional de baze de date a fost introdus n anul 1970 de ctre E.F.Codd.
o Utilizatorii unei baze de date au posibilitatea s efectueze
mai multe categorii de operaii asupra datelor stocate aici: Introducerea de noi date (insert) tergerea unor date existente n baza de date(delete) Actualizarea datelor stocate(update) Interogarea bazei de date (query) pentru regsirea anumitor
informaii, selectate dup un criteriu ales.
1. 2. Ce este o Baz de Date?
n sensul larg, o baz de date (database) este o colecie de
date corelate din punct de vedere logic, care reflect un anumit aspect al lumii reale i este destinat unui anumit grup de utilizatori. n acest sens, bazele de date pot fi create i meninute manual (un exemplu ar fi fiele de eviden a crilor dintr-o bibliotec, aa cum erau folosite cu ani n urm) sau computerizat aa cum sunt majoritatea bazelor de date n momentul de fa. O definiie ntr-un sens mai restrns a unei baze de date este urmtoarea:
O baz de date este o colecie de date centralizate, creat
i meninut computerizat, n scopul prelucrrii datelor n contextul unui set de aplicaii. Prelucrarea datelor se refer la operaiile de introducere, tergere, actualizare i interogare a datelor.
Simple colecii de fie (documente pe hrtie) sau fiiere de
date care conin date, dar nu permit operaii de interogare nu sunt considerate baze de date. De exemplu, datele memorate n fiiere pe disc ntr-o aplicaie de calcul tabelar (Microsoft Excel) sau documentele memorate de un editor de texte (ca Microsoft Word) nu sunt considerate baze de date.
Test de autoevaluare
1. De ce sunt importante bazele de date?
-
Problematica organizrii informaiilor n mediul electronic
4 Proiectul pentru nvmntul Rural
Orice baz de date are urmtoarele proprieti implicite: Baza de date este o colecie logic coerent de date ce are
cel puin un neles Baza de date este destinat, construit i populat de date
despre un domeniu bine precizat. Ea are un grup de utilizatori i se adreseaz unui anumit grup de aplicaii
O baz de date reprezint cteva aspecte ale lumii reale
crend orizontul propriu. Schimbrile orizontului sunt reflectate n baza de date.
Fa de vechile metode de nregistrare a datelor privind
diferite activiti pe fie (documente scrise) sau chiar n fiiere pe disc, sistemele de baze de date ofer avantaje considerabile, ceea ce explic extinsa utilizare a acestora. Cteva dintre avantajele oferite sunt:
Controlul centralizat al datelor, putnd fi desemnat o
persoan ca responsabil cu administrarea bazei de date
Vitez mare de regsire i actualizare a informaiilor
Sunt compacte: volumul ocupat de sistemele de baze de date este mult mai redus dect documetele scrise
Flexibilitatea ce const n posibilitatea modificrii structurii
bazei de date fr a fi necesar modificarea programelor de aplicaie
Redundan sczut a datelor memorate, care se obine
prin partajarea datelor ntre mai muli utilizatori i aplicaii. n sistemele de baze de date, mai multe aplicaii pot folosi date comune, memorate o singur dat. De exemplu, o aplicaie pentru gestionarea personalului dintr-o universitate i o aplicaie pentru gestionarea rezultatelor la examene din aceeai universitate care folosete o singur baz de date, pot folosi aceleai informaii referitoare la structurarea facultilor.
Posibilitatea introducerii standardelor privind modul de
stocare a datelor, ceea ce permite interschimbarea datelor ntre organizaii
Meninerea integritii datelor prin politica de securitate
(drepturi de acces difereniate n funcie de rolul utilizatorilor), prin gestionarea tranzaciilor i prin refacerea datelor n caz de funcionare defectuoas a diferitelor componente hardware sau software.
-
Problematica organizrii informaiilor n mediul electronic
Proiectul pentru nvmntul Rural 5
Independena datelor fa de suportul hardware utilizat. Sistemul de gestiunea a bazelor de date ofer o vizualizare a datelor, care nu se modific atunci cnd se schimb suportul de memorare fizic, ceea ce asigur imunitatea structurii bazei de date i a aplicaiilor la modificri ale sistemului hardware utilizat.
1. 3. Clasificarea sistemelor de baze de date
Se pot lua n considerare mai multe criterii de clasificare ale sistemelor de baze de date.
1.3.1. Clasificare dup modelul de date.
Majoritatea sistemelor de baze de date actuale sunt
realizate n modelul de date relaional sau n modelul de date orientat obiect. Dezvoltarea continu a acestor modele a condus ctre o nou categorie de baze de date numite obiect-relaionale, care combin caracteristicile modelului relaional cu caracteristicile modelului orientat obiect.
Modelul de date relaional (Relational Model) se bazeaz
pe noiunea de relaie din matematic, care corespunde unei entiti de acelai tip i are o reprezentare uor de neles i de manipulat, ce const dintr-un tabel bidimensional, compus din linii i coloane. Fiecare linie din tabel reprezint o entitate i este compus din mulimea valorilor atributelor entitii respective, fiecare atribut corespunznd unei coloane a tabelului.
Modelul de date relaional a fost propus de cercettorul
E.F.Codd de la compania IBM, care a publicat n 1970 lucrarea Un model relaional de date pentru bnci mari de date partajate. Alte lucrri ale lui Codd, ca i ale altor cercettori ca R. Boyce, J.D. Ullman etc au perfecionat modelul de date relaional i au permis dezvoltarea sistemelor de baze de date.
Chiar dac noiunile de relaie i tabel difer n esena lor,
relaia reprezentnd o mulime de entiti i tabelul o reprezentare vizual a acesteia, cele dou denumiri se pot folosi, n general pentru acelai scop.
Pe baza acestor noiuni, se poate sintetiza esena
modelului relaional prin urmtoarele caracteristici: Datele sunt percepute de utilizatori ca tabele
Test de autoevaluare
2. Dai o definiie a bazelor de date?
-
Problematica organizrii informaiilor n mediul electronic
6 Proiectul pentru nvmntul Rural
Operatorii relaionali care pot fi folosii pentru prelucrarea datelor genereaz un tabel rezultat din tabelele operanzi
Asocierea dintre tabele se realizeaz prin intermediul egalitii valorilor unor atribute comune, ceea ce permite rezolvarea oricrei interogri.
Pe lng avantajul unui model de date precis i simplu,
sistemele de baze de date relaionale mai beneficiaz i de un limbaj de programare recunoscut i acceptat, limbajul SQL (Structured Query Language), pentru care au fost emise mai multe standarde de ctre Organizaia Internaional de Standardizare (International Standardization Office-ISO). Majoritatea sistemelor de gestiune a bazelor de date relaionale actuale implementeaz versiunea din anul 1992 a standardului pentru limbajul SQL, denumit SQL 92 sau SQL2.
Modelul de date orientat obiect (Object Model) este un
concept unificator n tiina calculatoarelor, fiind aplicabil n programare, n proiectarea hardware, a interfeelor, a bazelor de date etc. Sistemele de baze de date orientate obiect se bazeaz pe limbaje de programare orientate obiect cu capaciti de persisten, n care datele sunt independente de timpul de via al programelor care le creeaz sau acceseaz, prin memorare pe suport magnetic (disc).
Exist i unele domenii, n special cele care manipuleaz
tipuri de date complexe, cum ar fi proiectarea asistat de calculator, sisteme de informaii geografice, medicin etc, n care modelul relaional s-a dovedit a fi insuficient de expresiv i cu performane de execuie reduse.
Caracteristicile importante ale modelului orientat obiect
sunt: abstractizarea, motenirea, ncapsularea, modularizarea. n programarea orientat obiect, programele sunt
organizate ca i colecii de obiecte cooperante, fiecare obiect fiind o instan a unei clase. Fiecare clas reprezint abstractizarea unui tip de entitate din realitatea modelat, iar clasele sunt membre ale unei ierarhii de clase, corelate ntre ele prin relaii de motenire. Orice obiect este ncapsulat, ceea ce nseamn c reprezentarea lui (adic structura intern a acelui obiect) nu este vizibil utilizatorilor, care au acces doar la funciile (metodele) pe care acel obiect este capabil s le execute. Clasele i obiectele unui program orientat obiect sunt grupate n module, care pot fi compilate separat i ntre care exist granie bine definite i documentate, ceea ce reduce complexitatea de manevrare a datelor.
Din perspectiva realizrii bazelor de date, o alt proprietate
a modelului obiect, persistena, este aceea care asigur
-
Problematica organizrii informaiilor n mediul electronic
Proiectul pentru nvmntul Rural 7
memorarea transparent pe suport magnetic a obiectelor care alctuiesc o baz de date orientat obiect.
Modelul de date obiect-relaional (Object-Relational Model) reprezint extinderea modelului relaional cu caracteristici ale modelului obiect, extindere necesar pentru realizarea bazelor de date care definesc i prelucreaz tipuri de date complexe.
n esen, modelul obiect-relaional pstreaz structurarea
datelor n relaii (reprezentate ca tabele), dar adaug posibilitatea definirii unor noi tipuri de date, pentru domeniile de valori ale atributelor. Tipurile de date definite de utilizator pot fi extinse prin mecanismul de motenire i pentru fiecare tip sau subtip se pot defini metode pe care le pot executa obiectele de acel tip.
De asemenea mai sunt nc n funciune baze de date
modele mai vechi: modelul ierarhic i modelul reea. n modelul de date ierarhic (Hierarchical Model) o baz de
date se reprezint printr-o structur ierarhic de nregistrri de date (records) conectate prin legturi (links). Modelul ierarhic a fost primul model folosit pentru dezvoltatea bazelor de date. Schema conceptual a unei baze de date n modelul ierarhic se reprezint printr-un numr oarecare de scheme ierarhice. O schem ierarhic este un arbore direcionat, reprezentat pe mai multe niveluri, n care nodurile sunt tipurile de nregistri, iar arcele sunt tipurile de legturi. Fiecare nod (cu excepia nodului rdcin) are o singur legtur ctre un nod de pe un nivel superior (nodul printe) i fiecare nod (cu excepia nodurilor frunz) are una sau mai multe legturi ctre noduri de pe nivelul imediat inferior (noduri fii).
Modelul de date reea (Network Model) folosete o structur
de graf pentru definirea schemei conceptuale a bazei de date; nodurile grafului sunt tipuri de entiti (nregistrri, records), iar muchiile grafului reprezint n mod explicit asocierile (legturile, links) dintre tipurile de entiti.
La fel ca i modelul ierarhic, dezavantajul principal al modelului reea este acela c fiecare interogare trebuie s fie prevazut nc din faza de proiectare, prin memorarea explicit a legturilor ntre tipurile de entiti. n plus, complexitatea reprezentrii datelor n modelul reea este deosebit de ridicat, iar programatorii trebuie s o cunosasc pentru a putea realiza aplicaiile necesare.
1.3.2. Clasificare dup numrul de utilizatori.
Majoritatea sistemelor de baze de date sunt sisteme multiutilizator, adic permit accesul concurent (n acelai timp) a mai multor utilizatori la aceeai baz de date. Exist i un numr
-
Problematica organizrii informaiilor n mediul electronic
8 Proiectul pentru nvmntul Rural
redus de sisteme monoutilizator, adic suport accesul doar al unui utilizator (la un moment dat).
1.3.3. Clasificare dup numrul de staii pe care este stocat baza de date O alt clasificare este cea dup numrul de staii pe care este stocat baza de date
Exist dou categorii de sisteme de baze de date: centralizate i distribuite.
Un sistem de baze de date centralizat (Centralized
Database System) este un sistem de baze de date n care datele i sistemul de gestiune sunt stocate pe un singur calculator.
Un sistem de baze de date distribuit (Distributed Database
System) poate avea att datele, ct i sistemul de gestiune, distribuite pe mai multe calculatoare interconectate printr-o reea de comunicaie.
1.4. Securitatea i protecia datelor in bazele de date Prin protecia i securitatea datelor se nelege totalitatea
mijloacelor, metodelor i a mecanismelor destinate prevenirii distrugerii, modificrii sau folosirii neautorizate a informaiei protejate.
Referitor la protecia i securitatea datelor, n literatura de
specialitate se definesc urmtoarele concepte de baz:
Securitatea datelor totalitatea msurilor de protecie mpotriva distrugerii accidentale sau intenionate, a modificrii neautorizate sau a divulgrii acestora
Caracterul secret este un concept ce se aplic la un individ
sau organizaie i const n dreptul acestora de a decide ce informaii se pot folosi n comun i n ce condiii
Confidenialitatea se aplic la date i se refer la statutul acordat, acesta reprezentnd nivelul sau gradul de protecie ce trebuie acordat informaiei respective
Test de autoevaluare
3. Facei o clasificare a bazelor de date?
-
Problematica organizrii informaiilor n mediul electronic
Proiectul pentru nvmntul Rural 9
Integritatea se refer la restricia ca sensul datelor s nu difere fa de cel nscris pe documentul surs, impunnd totodat ca datele s nu fie alterate accidental sau voit.
Noiunile de mai sus sunt strns legate ntre ele, msurile
pariale se suprapun i se acoper reciproc. Securitatea i protecia datelor din baza de date constituie
un domeniu foarte vast, care prezint dou aspecte principale: pe de o parte, elementele legale i etice privind drepturile de acces la anumite informaii, iar pe de alt parte, elementele legate de organizarea sistemelor informatice din punct de vedere al posibilitilor de acces la datele stocate.
Unele informaii care exist n baza de date sunt strict
private i nu pot fi accesate legal de ctre persoane neautorizate. Diferite reglementri guvernamentale sau legi existente n majoritatea rilor stabilesc ce informaii privind activitatea instituiilor sau a persoanelor pot fi fcute publice i n ce condiii.
La nivelul sistemelor informatice se pot diferenia aspecte de securitate la nivel fizic (hardware), la nivelul sistemului de operare i la nivelul sistemului de gestiune al bazei de date.
n principal, de problemele de protecie i securitate este
responsabil administratorul bazei de date, care are un cont privilegiat n sistemul de gestiune (numit n general cont de sistem - system account) care prevede capabiliti foarte puternice, pe care alte conturi sau utilizatori nu le au. Prin intermediul contului de sistem administratorul bazei de date poate efectua mai multe operaii: crearea conturilor, acordarea sau retragerea privilegiilor, etc.
Orice persoan care dorete s se conecteze (log in) la o
baz de date trebuie s dein un cont (account, user) i o parol (password). Sistemul de gestiune verific contul i parola i autentific acel utilizator, dac acestea sunt corecte. Programele de aplicaii sunt considerate de asemenea utilizatori i se conecteaz pe un anumit cont i trebuie s furnizeze parola acestuia.
O alt tehnic de protecie i securitate a datelor este
criptarea datelor (Data Encryption), prin care datele importante sunt codate folosind diferii algoritmi de codare, mai ales atunci cnd sunt transmise prin intermediul reelelor de comunicaie. Interpretarea datelor criptate este dificil dac nu este cunoscut cheia (cifrul) de codare. n felul acesta numai utilizatorii autorizai care dein cheile de decriptare pot interpreta cu uurin aceste date.
-
Problematica organizrii informaiilor n mediul electronic
10 Proiectul pentru nvmntul Rural
O alt tehinc se securizare a bazei de date pentru aplicaiile web ar fi instalarea unui firewall, acesta fiind un calculator pe care este instalat un software special care permite accesarea calculatorului pe care este stocat baza de date numai de ctre anumite calculatoare.
Deci, prin securitatea bazei de date se nelege o
multitudine de msuri destinate proteciei informaiilor coninute n baza de date mpotriva unor alterri, distrugeri sau divulgri neautorizate.
Test de autoevaluare
4. Specificai anumite tehnici de protecie a bazelor de date.
Lucrare de verificare a cunotinelor 1. Spunei cteva avantaje ale faptului c datele se pstreaz i se manipuleaz mai bine stocate n format electronic.
2. Descriei n cteva cuvinte de ce este important s protejm
datele.
-
Problematica organizrii informaiilor n mediul electronic
Proiectul pentru nvmntul Rural 11
Rspunsuri i comentarii la ntrebrile din testele de autoevaluare ntrebarea 1. Bazele de date sunt importante deoarece n cursul unei zile majoritatea persoanelor desfoar activiti care implic interaciunea cu o baz de date: depunerea sau extragerea unei sume de bani din banc, rezervarea biletelor de tren sau de avion, cutarea unei cri ntr-o bibliotec computerizat, gestiunea angajailor dintr-o firm, cumprarea unor produse etc. ntrebarea 2. O baz de date este o colecie centralizat de date n scopul optimizrii prelucrrii acestora n contextul unui set dat de aplicaii. Operaiile care se pot realiza asupra datelor dintr-o baz de date sunt de inserare a unor date noi, de modificare a datelor existente, de tergere a datelor sau de crearea a unor interogri pentru regsirea unor informaii dup un anumit criteriu. ntrebarea 3. O scurt clasificare a bazelor de date este urmtoarea:
Clasificare dup modelul de date o Model de date relaional o Model de date orientat obiect o Model de date obiect-relaional o Model de date ierarhic o Model de date reea
Clasificare dup numrul de utlizatori o Baze de date multiutilizator o Baze de date monoutlizator
Clasificare dup numrul de staii pe care este stocat baza de date
o Sisteme de baze de date centralizate o Sisteme de baze de date distribuite
ntrebarea 4. Securitatea i protecia datelor din baza de date prezint dou aspecte principale: pe de o parte, elementele legale i etice privind drepturile de acces la anumite informaii, iar pe de alt parte, elementele legate de organizarea sistemelor informatice din punct de vedere al posibilitilor de acces la datele stocate. Dou din tehnicile de securizare i protecie a datelor din baza de date sunt: crearea de conturi de utlizatori cu anumite drepturi pentru fiecare utilizator n parte de ctre administratorul bazei de date i criptarea datelor. Mai exist i alte tehnici n funcie de tipul aplicaiei.
-
Problematica organizrii informaiilor n mediul electronic
12 Proiectul pentru nvmntul Rural
Bibliografie:
Crstoiu, Dorin, Baze de date relaionale, Editura Printech, 1999
Rdulescu, Florin, Baze de date n Internet, Editura Printech, 2000
Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004
Baltac, Vasile, ECDL-Excel, Access, PowerPoint n 20 lecii i 75 de simulri, Editura Andreco, 2003
Browne, Allen, Balter Alison, Bazele Access 95, Editura Teora, 1999
Pribeanu, Costin, Baze de date i aplicaii, Editura MatrixRom, 2000
Pascu, C., Pascu A., Totul despre SQL, Editura Tehnic, 1994
-
Sistemul de baze de date concepte i arhitectur
Proiectul pentru nvmntul Rural 13
Unitatea de nvare Nr. 2 SISTEMUL DE BAZE DE DATE CONCEPTE I ARHITECTUR
Cuprins Pagina Obiectivele unitii de nvare nr. 2 14 2.1. Componentele unui sistem de baze de date 14 2.1.1.Hardware 14 2.1.2.Software 15 2.1.3.Utilizatorii 16 2.1.4. Date persistente 16 2.2. Arhitectura intern a sistemlor de baze de date. Modele de date, scheme i instane
17
2.3. Independena datelor 19 2.4.Limbaje SGBD 20 2.5.Interfee SGBD 21 Interfee bazate pe meniuri Interfee grafice Interfee bazate pe forme Interfee n limbaj natural Interfee specializate aferente cererilor repetate Interfee pentru administratorii bazelor de date 2.6. Exemple de SGBD 22 Lucrare de verificare a cunotinelor 24 Rspunsuri i comentarii la ntrebrile din testele de autoevaluare 25 Biblliografie 27
-
Sistemul de baze de date concepte i arhitectur
14 Proiectul pentru nvmntul Rural
n unitatea de nvare nr. 1 am realizat o scurt introducere n acest amplu domeniu al bazelor de date. Am adus n discuie unde se folosesc bazele de date, am prezentat o clasificare a sistemelor de baze de date i am dorit s subliniez importana securizrii bazelor de date i a proteciei datelor stocate n bazele de date
n aceast unitate de nvare vom descrie mai n detaliu ce este un sistem de baze de date i n ce const el.
OBIECTIVELE unitii de nvare nr. 2
Principalele obiective ale unitii de nvare nr. 2 sunt:
2.1. Componentele unui sistem de baze de date
Un sistem de baze de date (Database System) reprezint un ansamblu de componente care asigur crearea, utilizarea i ntreinerea uneia sau mai multor baze de date. Componentele unui sistem de baze de date sunt: hardware, software, utilizatori, date persistente.
2.1.1. Hardware.
Calculatoarele pe care sunt instalate de obicei sistemele
de baze de date sunt PC standard, dar i calculatoare multiprocesor foarte puternice. Performanele generale de operare ale calculatorului (numrul i viteza procesoarelor, dimensiunea i viteza de operare a memoriei etc) influeneaz n mod
Dup studiul unitii de nvare nr. 2 vei fi capabil s demonstrezi c ai dobndit cunotine suficiente pentru a nelege: ce este un sistem de baze de date care sunt componentele unui sistem de baze de date care sunt tipurile de utilizatori de baze de date care este arhitectura intern a unui sistem de baze de date care este independena fizic i cea logic a datelor din baza de
date care sunt limbajele pentru sistemele de gestiune a bazelor de date care sunt interfeele corespunztoare fiecrui tip de utilizator cteva exemple de sisteme de baze de date
-
Sistemul de baze de date concepte i arhitectur
Proiectul pentru nvmntul Rural 15
corespunztor perfomanele sistemului de baze de date. Cea mai important caracteristic a calculatorului pe care funcioneaz sistemul de baze de date este capacitatea harddisk-ului, utilizat pentru memorarea datelor din baza de date.
Deoarece ntr-un sistem de baze de date este necesar
accesul rapid la oricare dintre nregistrrile de date, pentru memorarea acestora se folosesc discurile magnetice (harddisk-uri). Benzile magnetice (care ofer acces secvenial la nregistrrile de date) se folosesc pentru duplicarea (backup), salvarea i restaurarea datelor.
2.1.2. Software
ntre baza de date (colecia de date memorate fizic n fiiere pe harddisk-uri) i utilizatorii sistemului exist un nivel software, numit sistem de gestiune a bazei de date (SGBD)-(DataBase Management System). O baz de date computerizat poate fi generat i meninut fie cu ajutorul unui grup de programe de aplicaie specifice acestui scop, fie cu acest SGBD.
Figura 2.1. Componente ale sistemului de baze de date
Sistemul de gestiune al bazei de date (SGBD) este un
interpretor de cereri, el recepionnd de la utilizatori anumite cereri de acces la baza de date, le interpreteaz, execut operaiile respective i returneaz rezultatul ctre utilizatori.
De fapt, SGBD este un sistem de programe general ce
faciliteaz procesul definirii, construciei i manipulrii datelor pentru diverse aplicaii.
Definirea bazei de date presupune specificarea tipurilor de
date ce vor fi stocate n baza de date, precum i descrierea detaliat a fiecrui tip de dat.
Construcia bazei de date reprezint procesul stocrii
datelor nsi prin mediul controlat prin SGBD.
Prin manipulare se neleg o serie de funcii ce faciliteaz implementarea cererilor pentru gsirea datelor specificate, adugarea de noi date ce reflect modificarea contextului, generearea de rapoarte pe baza coninutului bazei de date. n concluzie, pachetul software ce asigur manipularea
Utilizator Aplicatie SGBD Baza de date
-
Sistemul de baze de date concepte i arhitectur
16 Proiectul pentru nvmntul Rural
datelor, mpreun cu datele nsi (coninutul bazei de date) formeaz ceea ce se numete sistemul de baze de date (DataBase System). Un SGBD ofer utilizatorilor o viziune a datelor stocate n
baza de date, nemaifiind necesar cunoaterea organizrii particulare a sistemului, asigur o protecie a datelor fa de accese neautorizate i de anumite defecte de funcionare.
2.1.3. Utilizatorii
Utilizatorii unui sistem de baze de date se mpart n cteva
categorii:
Programatorii de aplicaii sunt cei care dezvolt aplicaiile de baze de date n anumite medii de programare. Aplicaiile pot fi aplicaii desktop (stand alone) i aplicaii client-server. Aplicaiile desktop sunt aplicaiile care se instaleaz i ruleaz pe un anumit calculator. Acestea sunt aplicaii implementate n medii de programare cum ar fi: Visual Basic, Visual C, Java, C++, Delphi etc, iar aplicaiile client-server sunt aplicaii care se instaleaz pe un calculator numit server i ruleaz de pe orice calculator aflat n acea reea. Aceste aplicaii sunt aplicaii web implementate n limbajul de scripturi php sau asp, cu interfaa dezvoltat n html. Pentru ca aceste aplicaii s funcioneze trebuie instalat i un server de web, cum ar fi Apache sau IIS i pe fiecare calculator de unde va fi accesat aplicaia, precum i un browser de web: Internet Explorer, Netscape, Modzilla etc.
Utilizatorii obinuii sunt acei utilizatori care acceseaz baza de date prin intermediul unei aplicaii de baze de date. Aceti utilizatori au drepturi limitate asupra accesului la datele din baza de date, ei neavnd cunotine aprofundate asupra structurii i a datelor din acea baz de date.
Administratorul bazei de date (DataBase Administrator) care este o persoan autorizat, care are ca sarcin administrarea resurselor, autorizarea accesului la baza de date, a coordonrii i monitorizrii utilizatorilor acelei baze de date. Administratorul bazei de date efectueaz i operaii periodice de salvare a datelor (backup) i de refacere a lor atunci cnd este necesar.
2.1.4. Date persistente
Datele memorate ntr-o baz de date sunt date persistente,
adic date care rmn memorate pe suport magnetic, independent de execuia programelor de aplicaii. Datele persistente ale unei baze de date se introduc, se terg sau se actualizeaz n funcie de date de intrare provenite de la
-
Sistemul de baze de date concepte i arhitectur
Proiectul pentru nvmntul Rural 17
tastatur. Iniial datele de intare sunt date nepersistente, ele devenind persistente dup ce au fost validate de SGBD. Datele de ieire ale unui sistem de baze de date sunt tot date nepersistenete, ele provenind din operaii de interogare a bazei de date i puse la dispoziie utilizatorului sunt form de raport, afiare etc.
2.2. Arhitectura intern a sistemlor de baze de date
Arhitectura intern a unui sistem de baze de date propus
prin standardul ANSI/X3/SPARC (1975) conine trei niveluri funcionale ce vor fi descrise mai jos.
Una din caracteristicile fundamentale a bazelor de date este dat de faptul c produce cteva niveluri de abstractizare a datelor, prin ascunderea detaliilor legate de stocarea datelor, detalii ce nu sunt utile utilizatorilor bazei de date. Se definete modelul datelor ca un set de concepte ce poate fi utilizat n descriereea structurii datelor. Prin structura bazei de date se nelege tipul datelor, legtura dintre ele, restriciile ce trebuie ndeplinite de date. Cele mai multe baze de date includ un set de operaii ce specific modul de acces la date.
O structur de date asociat unei baze de date poate fi reprezentat pe trei niveluri, avnd ca scop separarea aplicaiilor utilizatorului de baza de date fizic. Schema bazei de date pe cele trei niveluri poate fi vzut astfel:
Nivelul intern constituit din schema intern ce descrie
structura de stocare fizic a datelor n baza de date, utiliznd un model al datelor fizice. La acest nivel se descriu detaliile complete ale stocrii, precum i modul de acces la date.
Nivelul conceptual sau schema conceptual descrie
structura ntregii baze de date pentru o comunitate de utilizatori. La nivelul conceptual se face o descriere complet a bazei de date, ascunznd detaliile legate de stocarea fizic, concentrndu-se asupra descrierii entitilor, tipurilor de date, relaiilor dintre ele, precum i a restriciilor asociate. Poate fi utilizat cu bune rezultate, la
Test de autoevaluare
3. 1. Enumerai pe scurt componentele unui sistem de baze de date .
-
Sistemul de baze de date concepte i arhitectur
18 Proiectul pentru nvmntul Rural
model de nivel nalt sau un model specific de implementare.
Nivelul extern sau nivelul vizual (utilizator) include o colecie de scheme externe ce descriu baza de date prin prisma diferiilor utilizatori. Fiecare grup de utilizatori descrie baza de date prin prisma propriilor interese. Exist tendina la acest nivel ca grupuri de utilizatori s ascund detalii de care nu sunt interesate. i la acest nivel se pot folosi modele de implemetare sau modele de nivel nalt.
Desigur c n multe SGBD nu se poate face o distincie
net ntre cele trei nivele. Cu toate acestea se poate remarca la majoritatea SGBD un nivel conceptual puternic ce suplinete aparent de cele mai multe ori celelalte niveluri. De asemenea, se remarc o contopire mai ales la dezvoltarea aplicaiilor a nivelului conceptual i extern. Se remarc faptul c arhitectura pe trei niveluri reprezint numai o descriere a datelor la nivel fizic. Grupurile de utilizatori se refer numai la schema extern, deci SGBD este cel ce va trebui s transforme schema extern n schem conceptual.
De la modelul conceptual cererile sunt adresate modelului
intern pentru a fi procesate i aplicate datelor stocate. Procesul transferului cererilor i rezultatelor ntre nivele este numit cartografiere (mapping). Acest proces este mare consumator de timp pentru care multe SGBD nu posed nivel extern.
Figura 2.2. Arhitectura intern a unui sistem de baze de date
Vederegrup
utilizator 1
Vederegrup
utilizator n
Schema conceptuala
Schema interna
Date memorate
Nivel extern
Nivel conceptual
Nivel intern
-
Sistemul de baze de date concepte i arhitectur
Proiectul pentru nvmntul Rural 19
2.3. Independena datelor
Aceast organizare pe trei niveluri a sistemelor de baze de
date este important pentru c explic conceptul de independen a datelor, prin posibilitatea modificrii sistemului bazei de date la orice nivel fr a influena nivelurile superioare. Independena datelor se poate defini n dou moduri, aferente nivelurilor conceptual i intern.
Prin independena logic se nelege capacitatea schimbrii
schemei conceptuale fr a atrage dup sine schimbri n schema extern sau n programele de aplicaie. Este posibil schimbarea schemei conceptuale prin expandarea bazei de date ca urmare a adugrii de noi tipuri de nregistrri sau a datelor insi, sau prin reducerea bazei de date ca urmare a reducerii nregistrrilor. Schema conceptual dup aceste operaii se refer la schema conceptual a datelor existente. Un exemplu de expandare al bazei de date este cel de adugare a unei noi coloane la un tabel.
Independena fizic este reprezentat prin capacitatea de
schimbare a schemei interne fr schimbarea schemei conceptuale sau externe. Schimbarea schemei conceptuale poate surveni ca urmare a reorganizrii fizice a unor fiiere, prin crearea de noi structuri de acces menite s asigure accesul eficient la date. Dac sistemul conine SGBD pe mai multe niveluri, catalogul trebuie s reflecte modul n care diverse cereri se implementeaz la fiecare nivel. Motivele prezentate mai sus pledeaz pentru utilizarea arhitecturii pe trei nivele.
Test de autoevaluare
2. Ce reprezint structura unei baze de date?
3. De ce este important mprirea unui sistem de baze de date pe 3 niveluri?
Test de autoevaluare
4. Care este diferena dintre independena fizic i independena logic a datelor din baza de date?
-
Sistemul de baze de date concepte i arhitectur
20 Proiectul pentru nvmntul Rural
2.4. Limbaje SGBD SGBD trebuie s ofere limbajele corespunztoare tuturor
categoriilor de utilizatori. Dup proiectarea bazei de date i alegerea SGBD, este foart important construirea schemei interne i conceptuale a bazei de date. Cum n cele mai multe situaii, nu exist o separaie net ntre cele dou nivele, un limbaj numit Data Definition Language (DDL) este utilizat de administratorul bazei de date i de proiectantul bazei de date n definirea ambelor scheme. Un compilator DDL proceseaz instruciunile pentru identificarea descrierilor despre construcie i memoreaz aceasta n catalogul SGBD.
n SGBD cu o clar separaie ntre nivelul conceptual i cel
intern, DDL este utilizat pentru specificarea schemei conceptuale. Un alt limbaj numit Storage Definition Language (SDL) este utilizat pentru specificarea schemei interne. Legtura ntre cele dou nivele de implementare este asigurat de unul din cele dou. n general, fr specificare explicit, referirea la definirea bazei de date presupune utilizarea DDL.
Pentru o arhitectur pe trei nivele, este necesar un al treilea
nivel numit View Definition Language (VDL) destinat utilizatorilor i legturii acestora cu nivelul conceptual. Multe sisteme de baze de date realizeaz aceasta printr-un DDL ce accept i declaraii specifice nivelului extern.
Instruciunile n limbaj DDL pot fi nglobate ntr-un limbaj
general de programare sau pot fi compilate separat. Odat schema compilat i baza de date populat cu date, utilizatorul are o serie de faciliti pentru manipularea datelor. Operaiile tipice includ cutarea, inserarea, tergerea i modificare datelor. Pentru aceasta SGBD dispune de Data Manipulation Language (DML). La rndul su, DML poate fi mprit n dou componente:
un DML de nivel nalt un DML de nivel sczut
Seciunea DML de nivel nalt sau neprocedural este
utilizat pentru specificarea operaiilor complexe n baza de date ntr-o form concis. n general, operaiile utiliznd aceast seciune sunt realizate fie ntr-o form interactiv de la terminal, fie prin utilizarea unui limbaj de programare universal.
Seciunea DML de nivel sczut sau procedural este
realizat utiliznd un limbaj de programare general. Cu aceast seciune se realizeaz operaiile tipice, cum sunt refacerea unei nregistrri individuale, procesarea separat a nregistrrilor bazei de date. Din motivul c opereaz asupra nregistrrilor individuale, aceast prelucrare se mai numete i nregistrare cu nregistrare. O comand pentru DML de nivel nalt specific o cerere de acces la date, dar nu specific modul n care se realizeaz acasta. Din
-
Sistemul de baze de date concepte i arhitectur
Proiectul pentru nvmntul Rural 21
acest motiv acest limbaj se numete declarativ. Oricum, comenzile DML fie de nivel nalt, fie de nivel sczut sunt implementate ntr-un limbaj de programare general, limbaj numit i limbaj gazd, iar DML este numit limbaj de date. DML de nivel nalt utlizat ntr-o manier interactiv formeaz ceea ce se numete query language.
2.5. Interfee SGBD
SGBD trebuie s ofere interfee corespunztoare tuturor
categoriilor de utilizatori. Aceste interfee au ca scop facilitarea legturii ntre utilizatori i sistemul de baze de date. Principalele tipuri de interfee oferite de SGBD sunt:
Interfee bazate pe meniuri. Acestea ofer utilizatorului o
list de opiuni, numite meniuri care i ajut la formularea cererilor. Nu este necesar memorarea unor comenzi deoarece o comand specific este format pas cu pas prin compunerea opiunilor indicate prin meniu.
Interfee grafice. Aceste interfee afieaz utilizatorului o
diagram. Utilizatorul poate formula cererea prin manipularea acestei diagrame. n cele mai multe cazuril, interfeele grafice sunt combinate cu meniuri.
Interfee bazate pe forme. Aceste interfee sunt acelea prin
intermediul crora utilizatorul poate completa formele cu noile date pe care le dorete s le insereze, sau folosete aceste forme pentru a cere SGBD s obin datele de interes.
Interfee n limbaj natural. Aceste interfee accept cereri
scrise n limba englez sau alte limbi de circulaie internaional. O interfa n limbaj natural conine uzual o schem proprie similar cu schema conceptual a bazelor de date. Interpretarea cererilor se face pe baza unui set standard de cuvinte cheie ce sunt interpretate pe baza schemei interne. Dac interpretarea se realizeaz cu succes, programul de interfa genereaz cererea de nivel nalt corespunztoare celei n limbaj natural, ce va fi transmis ctre SGBD.
Test de autoevaluare
5. Dai exemple de limbaje de sisteme de gestiune a bazelor de date.
-
Sistemul de baze de date concepte i arhitectur
22 Proiectul pentru nvmntul Rural
Interfee specializate aferente cererilor repetate. Aceste interfee sunt destinate unei anumite categorii de utilizatori, de exemplu utilizatorii care se ocup de operaiile dintr-o banc. Uzual, un mic set de comenzi prescurtate sunt implementate pentru a scurta timpul necesar introducerii comenzii, sau chiar utilizarea de chei funcionale. Aceste interfee implementeaz un limbaj numit i limbaj de comand.
Interfee pentru administratorii bazelor de date. Acestea
sunt utilizate n implementarea comenzilor privilegiate ce sunt folosite de administratorii bazelor de date. Astfel de comenzi includ crearea de conturi, setarea parametrilor sistemului, autorizarea intrrii ntr-un anumit cont, reorganizarea structurii de stocare a datelor din baza de date, precum i o serie de faciliti legate de administrarea bazei de date, cum sunt: accesul la tabele i nregistrri, faciliti de acces la cmpuri ale tabelelor de date.
2.6. Exemple de SGBD
n momentul de fa, pe pia exist o ofert foarte mare de
sisteme de gestiune a bazelor de date, de la sisteme care se pot folosi gratuit (fr licen sau cu licen public), pn la sisteme de nalt performan, a cror utilizare necesit cumprarea de licene. Pentru aceste sisteme exist pe site-urile productorilor versiuni de test numite trial version, pentru care nu se pltete licen, durata folosirii respectivului produs fiind limitat la un numr de zile (30, 60 zile, n funcie de productor).
Microsoft SQL Server este sistemul de gestiune a bazelor
de date relaionale multi-utilizator dezvoltat de firma Microsoft pentru sistemele de operare Windows. Au existat mai multe versiuni, cea actual fiind SQLServer 2000 (SQL Sever 2003 fiind nc n faza de testare). n toate versiunile, acest sistem de baze de date suport standardul SQL2, cu implementarea perfomant a trsturilor avansate de stocare i prelucrare a datelor. Exist o interfa grafic pentru interaciunea cu utilizatorul, pentru folosirea tuturor opiunilor: de export/ import date, de creare i manipulare a tabelelor, pentru popularea cu date a tabelelor, de
Test de autoevaluare
6. Ce sunt interfeele sistemelor de gestiune a bazelor de date?
-
Sistemul de baze de date concepte i arhitectur
Proiectul pentru nvmntul Rural 23
creare a interogrilor, a procedurilor stocate, a triggerelor etc. Pentru a obine gratuit o versiune de test, accesai adresa http://www.microsoft.com.
Microsoft Access este unul din cele mai cunoscute sisteme
de gestiune a bazelor de date relaionale pe platforme de calculatoare personale. Microsoft Access dispune de un sistem de control al bazei de date (database engine) i o intefa grafic pentru interaciunea cu utlizatorul. Aplicaiile de baze de date n MS Access se pot dezvolta cu mult uurin datorit generatoarelor de aplicaii (wizards) care permit proiectarea vizual a bazelor de date, a formularelor (forms) pentru interfeele grafice i a rapoartelor (reports). MS Access este folosit n special pentru aplicaii personale sau pentru mici afaceri i licena acestuia se cumpr odat cu cumprarea licenei produsului Microsoft Office. Acest sistem este cel folosit de noi n capitolele urmtoare.
Sistemul Oracle este un sistem de gestiune al bazelor de date multi-utilizator foarte puternic, cu implementri pe toate platformele (Windows, Linux, Unix), care ofer att performane de execuie ridicate, ct i un grad mare de protecie i securitate a datelor. n toate versiunile, Oracle ofer implementarea complet a caracteristicilor modelului relaional, conform standardului SQL2, iar ultimele versiuni (Oracle8i, Oracle9i etc) sunt sisteme de gestiune obiect-relaionale distribuite, implementnd extensiile orientate obiect prevzute n standardul SQL3 i oferind posibilitatea de dezvoltare a bazelor de date distribuite. De la adresa http://www.oracle.com se poate obine o versiune a sistemului de gestiune Oracle, dar i a diferitelor instrumente de dezvoltare a aplicaiilor de baze de date. Termenii licenei permit utilizarea gratuit a acestor sisteme n scopuri necomerciale pe o perioad nelimitat, pentru utliizarea n scopuri comerciale trebuie pltite licenele corespunztoare.
MySQL este un sistem de gestiune a bazelor de date
relaionale cu implementri pentru sistemele de operare Linux, Unix, Windows. Acest sistem se poate utiliza gratuit, fiind open source. Ultima versiune i documentaia sistemului de gestiune a bazelor de date MySQL se poate descrca de la adresa http://www.mysql.com. Acest sistem este compatibil cu standardul SQL2, dar unele prevederi ale standardului fiind implementate parial.
Visual FOX PRO este un limbaj de programare complet,
care accept un mediu interactiv i un mediu compilat la rulare. Visual FOX PRO este compatibil cu toate versiunile anterioare de FoxPro. Stilul de proiectare a interfeei FoxPro a fost ntotdeauna orientat ctre flexibilitate i uurin n utilizare. Pe de alt parte, fora i viteza brut au reprezentat dintotdeauna punctul forte al lui FoxPro. Nici un produs creat de celelalte companii axate pe baze de date, care au fcut trecerea la modelul orientat obiect nu a
-
Sistemul de baze de date concepte i arhitectur
24 Proiectul pentru nvmntul Rural
putut rivaliza cu FoxPro n ce privete viteza de execuie a funciilor specifice bazelor de date . i acest mediu conine vrjitori (Wizard) pentru gestionarea mai multor taskuri.
IBM DB2 este un sistem de gestiune al bazelor de date al firmei IBM. Acest sistem asigur integritatea datelor, ofer o securitate sporit pentru date, are o interfa grafic pentru gestionarea bazei de date. Dispune, ca i Microsoft SQL Sever i Oracle de posibilitatea crerii de proceduri stocate, acestea fiind nite proceduri care ruleaz pe server i asigur o vitez mai mare de rspuns. Are mai multe versiuni n funcie de dorinele i necesitile utilizatorilor. Mai multe informaii despre DB2 le gsii dac accesai www.db2mag.com, i pentru a v comanda un CD sau pentru a v descrca versiunea de evaluarea a acestui sistem accesai www.ibm.com.
Test de autoevaluare
7. Dai exemple de sisteme de gestiune a bazelor de date.
Lucrare de verificare a cunotinelor Accesai paginile de web ale fiecrui sistem de gestiune a bazelor de date i precizai cteva avantaje i cteva dezavantaje ale fiecruia.
-
Sistemul de baze de date concepte i arhitectur
Proiectul pentru nvmntul Rural 25
Rspunsuri i comentarii la ntrebrile din testele de autoevaluare ntrebarea 1. Componentele unui sistem de baze de date sunt: componenta hardware, componenta software, utilizatorii i datele persistente care sunt stocate n baza de date. ntrebarea 2. Prin structura bazei de date se nelege alegerea tipului de date, legturile dintre ele, restriciile ce trebuie ndeplinite de date. ntrebarea 3. Organizare pe trei niveluri a unui sistem de baze de date este important pentru c explic conceptul de independen a datelor, prin posibilitatea modificrii sistemului bazei de date la orice nivel fr a influena nivelurile superioare. Independena datelor se poate defini n dou moduri, moduri ce sunt aferente nivelurilor conceptual i intern. ntrebarea 4. Prin independena logic se nelege capacitatea schimbrii schemei conceptuale fr a atrage dup sine schimbri n schema extern sau n programele de aplicaie. Independena fizic este reprezentat prin capacitatea de schimbare a schemei interne fr schimbarea schemei conceptuale sau externe. ntrebarea 5. SGBD trebuie s ofere limbajele corespunztoare tuturor categoriilor de utilizatori. Astfel:
un limbaj numit Data Definition Language (DDL) este utilizat de administratorul bazei de date i de proiectantul bazei de date n definirea schemelor interne i conceptuale a bazei de date.
un alt limbaj numit Storage Definition Language (SDL) este utilizat pentru specificarea schemei interne.
un alt nivel numit View Definition Language (VDL) este destinat utilizatorilor i legturii acestora cu nivelul conceptual
ntrebarea 6. Interfeele au ca scop facilitarea legturii ntre utilizatori i sistemul de baze de date.
-
Sistemul de baze de date concepte i arhitectur
26 Proiectul pentru nvmntul Rural
ntrebarea 7. Cteva dintre cele mai importante sisteme de gestiune a bazelor de date sunt: Microsoft SQL Server, Oracle, MySQL, IBM DB2, Microsoft Access, Visual FOX PRO etc. Bibliografie:
Crstoiu, Dorin, Baze de date relaionale, Editura Printech, 1999
Rdulescu, Florin, Baze de date n Internet, Editura Printech, 2000
Ionescu, Felicia, Baze de date relaionale i aplicaii, Editura Tehnic, 2004
Baltac, Vasile, ECDL-Excel, Access, PowerPoint n 20 lecii i 75 de simulri, Editura Andreco, 2003
Browne, Allen, Balter Alison, Bazele Access 95, Editura Teora, 1999
Pribeanu, Costin, Baze de date i aplicaii, Editura MatrixRom, 2000
Pascu, C., Pascu A., Totul despre SQL, Editura Tehnic, 1994
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 27
Unitatea de nvare Nr. 3 PROIECTAREA BAZELOR DE DATE
Cuprins Pagina Obiectivele unitii de nvare nr. 3 28 3.1. Ce este proiectarea? 29 3.2. Modelul entitate-relaie. Obiectele bazelor de date relaionale 32 Tabel (relaie) Cmp (atribut) nregistrare (nuplu) 3.3. Construcia schemelor relaie 34 3.3.1. Relaia unul-la-unul (1-1 sau one to one) 34 3.3.2. Relaia unul-la-multe (1-N sau one to many) 35 3.3.3. Relaia multe-la-multe (M-N sau many to many) 36 3.3.4. Relaia unar 37 3.4. Diagrama entitate-relaie 38 3.5. Constrngeri de integritate 39 3.5.1. Constrngerile de domeniu 40 3.5.2. Constrngerile referitoare la n-upluri (nregistrrile din
tabel)-Cheia primar 41
3.5.3. Constrngeri ntre relaii 41 3.6. Dependene funcionale 44 3.7. Normalizare. Forme normale. 44 3.7.1. Forma normal de ordin 1 (FN1) 45 3.7.2. Forma normal de ordin 2 (FN2) 46 3.7.3. Forma normal de ordin 3 (FN3) 46 3.7.4. Forma normal Boyce-Codd (FNBC) 47 3.8. Structuri de indeci n tabelele de date 48 3.8.1. Indexul primar 50 3.8.2. Indexul secundar 51 3.8.3. Indexul de grup 52 3.8.4. Indexul multinivel 53 Lucrri de verificare a cunotinelor 55 Rspunsuri i comentarii la ntrebrile din testele de autoevaluare 56 Biblliografie 57
-
Proiectarea bazelor de date
28 Proiectul pentru nvmntul Rural
nc de la nceput doresc s v felicit pentru parcurgerea cu succes a primelor dou uniti de nvare i s v urez bun venit la studiul acestei noi uniti de nvare. n primele dou uniti de nvare am realizat o scurt introducere n acest amplu domeniu al bazelor de date i am descris mai n detaliu ce este un sistem de baze de date i n ce const el.
Aceast unitate de nvare nr. 3 este foarte important pentru
c dac se dorete crearea unei aplicaii de baze de date este necesar ca un prim pas proiectarea corect a bazei de date.
OBIECTIVELE unitii de nvare nr. 3
Principalele obiective ale unitii de nvare nr. 3 sunt:
Dup studiul unitii de nvare nr. 3 vei fi capabil s demonstrezi c ai dobndit cunotine suficiente pentru a nelege:
de ce este foarte important o proiectare corect a bazele de date
care sunt etapele care trebuie parcurse pentru o proiectare ct
mai corect a bazei de date
ce reprezint modelul entitate-relaie
care sunt obiectele din baza de date
cum se construiesc schemele relaie
s descrii toate categoriile de relaii care pot aprea ntr-o proiectare de baz de date
s construieti o diagrama entitate-relaie
s nelegi de ce trebuie s existe constrngeri asupra tabelelor
cte tipuri de constrngeri exist i rolul lor
ce este dependena funcional
ce reprezint procesul de normalizare a tabelelor
tipurile i ce reprezint fiecare form normal
la ce sunt folosii indecii n tabelele de date
tipurile de indeci i o scurt descriere a lor
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 29
3.1. Ce este proiectarea?
Proiectarea unei baze de date const din proiectarea logic i fizice a acesteia, pentru a corespunde cerinelor utilizatorilor pentru un anumit set de aplicaii.
n general, vom considera c proiectarea corect a unei
baze de date trebuie s parcurg urmtoarele etape:
Analiza cererilor i strngerea de informaii referitoare la aplicaie.
Proiectarea conceptual a bazei de date.
Alegerea unui sistem de gestiune al bazelor de date.
Proiectarea logic a bazei de date.
Proiectarea fizic a bazei de date.
Implementarea bazei de date i a aplicaiei.
nainte de a se proiecta efectiv o baz de date, este
necesar s se cunoasc ce rezultate se ateapt potenialii utilizatori s obin de la baza de date respectiv i documentarea asupra informaiilor ce sunt disponibile pentru aceasta. De asemenea, este necesar i definirea ct mai exact a aplicaiei (De ex.: aplicaie de gestiune a stocurilor, a crilor ntr-o bibliotec, aplicaie contabil, aplicaie folosit la salarizare, aplicaie referitoare la gestiunea studenilor, a profesorilor, a cursurilor, a notelor dintr-o instituie de nvmnt etc.).
Avnd cerinele formulate precis i concis se poate trece la
elaborarea schemei conceptuale utiliznd un model de nivel nalt. Schema conceptual reprezint o descriere concis a datelor utilizatorului, incluznd descrierea detaliat a tipurilor de date, a relaiilor i restriciilor acestora. Deoarece pn la acest moment nu se includ detalii de implementare, rezultatele pot fi comunicate utilizatorilor, chiar dac sunt nespecializai n domeniu, i analizate de acetia pentru eliminarea eventualelor conflicte care pot aprea.
Urmtoarea etap este cea de construcie a bazei de date
innd cont de detaliile actuale, cu ajutorul unui sistem de gestiune a bazelor de date (SGBD). Aceast etap nglobeaz etapele de alegere a unui SGBD, de proiectarea logic a bazei de date i cea de proiectarea fizic a bazei de date.
Alegerea SGBD se face n funcie de complexitatea
aplicaiei, de capacitatea de stocare a datelor, de posibilitatea
-
Proiectarea bazelor de date
30 Proiectul pentru nvmntul Rural
refacerii datelor, de numrul de utilizatori care vor folosi aplicaia, dar i de costurile de achiziie ale sistemului, de costurile de ntreinere etc.
Urmtoarea faz, cea de proiectare logic poate fi realizat
n dou sub-faze: transpunerea schemei conceptuale n modelul de date al sistemului SGBD ales, dar independent de sistemul de gestiune propriu-zis, sau rafinarea schemei conceptuale i a schemelor externe obinute anterior, astfel nct s se utilizeze mai multe din facilitile oferite de sistemul SGBD ales (modul de generare a cheilor primare, definirea constrngerilor, etc.). Aceste dou sub-faze se pot realiza mpreun, folosind unul din instrumentele de proiectare oferite de sistemul SGBD ales. Rezultatul acestei faze de proiectare l constituie, aadar, schema conceptual i schemele externe ale bazei de date, dependente de sistemul SGBD ales i de modelul de date al acestuia.
Proiectarea fizic a bazei de date reprezint procesul de
alegere a structurilor de memorare i de acces la fiierele bazei de date, pentru a obine performane ct mai bune pentru aplicaia proiectat. Ca parametrii generali de alegere a opiunilor proiectului fizic al unei baze de date relaionale se pot enumera: timpul de rspuns, utilizarea spaiului de memorare, capacitatea tranzacional.
Deciziile de proiectare fizic se pot lua numai dup o
analiz a aplicaiilor care se vor executa i n principal, a interogrilor i tranzaciilor pe care acestea le vor lansa. n urma analizei se pot sintetiza informaii care s dea imaginea de ansamblu a utilizrii atributelor relaiilor bazei de date: care atribute sunt actualizate cel mai frecvent, care atribute sunt folosite cel mai frecvent n selecii ale interogrilor, etc. Aceste informaii se folosesc pentru stabilirea indecilor secundari ai relaiilor.
Ultima etap este cea de implementare efectiv a bazei de
date i a aplicaiei. Aici se creaz pe baza modelului definit obiectele bazei de date, se populeaz cu date baza de date, se verific constrngerile, se creaz interfeele cu utlizatorul i rapoartele neceare cu datele extrase din baza de date.
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 31
Exemplu:
Pe parcursul manualului vom proiecta i realiza o aplicaie simplificat pentru gestiunea informaiilor referitoare la notele obinute de studenii dintr-o universitate la anumite materii. Baza de date se va numi Universitate. Pe parcursul acestui capitol aceasta va fi rafinat la modelul entitate-relaie, un model conceptual de nivel nalt. Acest model asigur perceperea de ctre utilizatori fr s prezinte detaliile de stocare a datelor pstrate n calculator. n faza preliminar, dup analiza cerinelor se cunosc urmtoarele informaii :
aceast universitate are n componen mai multe faculti.
Fiecare facultate avnd asociat un cod, o denumire, o adres.
studenii au stocate n baza de date informaiile personale
ale fiecruia (cnp, nume, prenume, iniiala tatlui, data naterii etc), dar i informaii legate de starea actual a lor (grupa n care se afl, facultatea de care aparine etc.)
n aceast baz de date stocm i materiile studiate n
facultile din acea universitate. Se consider materii diferite acele materii care au aceeai denumire, dar profesor diferit.
vom stoca i notele obinute de fiecare student la materia la
care a fost evaluat prin examen.
Test de autoevaluare 1. Care sunt etapele ce trebuie parcurse pentru o proiectare corect a bazei de date?
-
Proiectarea bazelor de date
32 Proiectul pentru nvmntul Rural
3.2. Modelul entitate-relaie. Obiectele bazelor de date relaionale
Modelul entitate-relaie este cel mai utilizat model conceptual de nivel nalt, care reprezint schema conceptual a bazei de date cu ajutorul entitilor i a relaiilor dintre acestea. Acest model a fost introdus n anul 1976 de P.S.Chen. Elementele de baz folosite n cadrul acestui model sunt conceptele de entitate i cel de relaie.
O entitate este un obiect al lumii reale, cu o existen
independent i poate reprezenta un obiect fizic, o activitate, un concept. O entitate este un obiect cu existen fizic , de exemplu: persoan particular, automobil, companie, activitate, curs universitar.
Orice entitate are o serie de proprieti numite atribute, ce
descriu entitatea respectiv.
Cu toate c nu reprezint acelai lucru, pentru denumirea de entitate se mai folosete i denumirea de tabel al bazei de date, iar pentru atribute cmpurile tabelului.
De exemplu, pentru baza de date Universitate pe care
dorim s o crem, o entitate reprezint o Facultate cu atributele Cod Facultate, Denumire, Adresa, Nume Decan. O alt entitate ar fi Materii, descrise de atributele Cod Materie, Denumire, An, Nume Profesor.
Atributelor li se asociaz valori care au ca scop identificarea
entitii. Aceast atribuire de valori pentru fiecare atribut formeaz o nregistrare a tabelului respectiv.
Scurte definiii a noiunilor pe care le-am folosit i le vom folosi n continuare sunt :
Tabel (entitate) este o colecie de informaii logice
relaionale tratat ca o unitate
nregistrare (n-uplu). O tabel este compus din nregistrri sau rnduri. Fiecare nregistrare este tratat ca o simpl unitate. Fiecare nregistrare este legat de nregistrri ale altei tabele.
Cmpuri (atribute). nregistrrile sunt constituite din
cmpuri (coloane) . Un cmp este o particul atomic a bazei de date ce reprezint cea mai mic cantitate de informaie care poate fi manipulat. Toate nregistrrile dintr-o tabel au aceleai cmpuri.
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 33
Unele atribute pot fi divizate n mai multe pri cu semnificaie independent. Un astfel de atribut este un atribut complex.
Un exemplu este cel al atributului Adres care poate fi
divizat in mai multe atribute : Oras, Cod Postal, Strad, Numar, Bloc etc sau al atributului Nume Decan care poate fi divizat n Nume i Prenume.
Atributele care nu sunt compuse se numesc atribute
atomice. Valoarea atributelor complexe se formeaz prin concatenarea valorilor atributelor atomice.
Multe atribute au valoare unic pentru o entitate particular
i sunt numite atribute cu o singur valoare. De exemplu CNP-ul unei persoane. Exist atribute ce pot
lua mai multe valori dintr-un set dat, cum ar fi gradele didactice ale profesorilor universitari, culorile etc. Aceste atribute sunt atribute cu mai multe valori.
Atributele derivate sunt atributele ce se pot determina din
alte atribute, cum ar fi vrsta unei persoane se poate calcula din data curent minus data naterii persoanei respective.
n anumite situaii, o entitate poate s nu aib valori pentru
toate atributele asociate ei, n acest caz folosindu-se o valoare special numit atributul null.
Un exemplu ar fi lipsa din atributul Adres a numelui
blocului sau a scrii, etc. Exemplu: Revenind la exemplu nostru, s ne definim toate entitile din baza de date Universitate. Entitile ar putea fi urmtoarele :
Facultate cu atributele: CodFac, Denumire, Adresa, Nume Decan
Studenti cu atributele: CodStud, An, Grupa, Media, Bursa StudPersonal cu atributele: CNP, Nume, Init, Prenume,
Data Nasterii, Loc Naterii, Tata, Mama, Adresa Materii cu atributele: Cod Materie, Denumire, An, Nume
Profesor Note cu atributele Nota, Data
-
Proiectarea bazelor de date
34 Proiectul pentru nvmntul Rural
3.3. Construcia schemelor relaie
n proiectarea bazelor de date se definesc relaii sau
asocieri ntre mulimile de entiti componente, pentru a reprezenta anumite aspecte ale realitii pe care o modeleaz baza de date.
O relaie este o coresponden ntre entiti din una sau mai
multe mulimi de entiti. Gradul unei relaii este dat de numrul de mulimi de entiti asociate. Relaiile pot fi binare (ntre 2 mulimi de entiti) sau multiple (ntre mai mult de 2 entiti).
Relaiile binare sunt mprite n trei categorii, dup numrul
elementelor din fiecare din cele dou mulimi puse n coresponden de relaia respectiv.
Se consider 2 mulimi de entiti E1 i E2.
3.3.1. Relaia unul-la-unul (1-1 sau one to one)
Relaia unul-la-unul este cel mai simplu tip de relaie. Ea
este relaia prin care unui element din mulimea E1 i corespunde un singur element din mulimea E2 i reciproc.
Figura 3.1. Relaia unul-la-unul
Test de autoevaluare 2. Care sunt obiectele bazei de date? Dai scurte definiii pentru fiecare obiect i specificai ce termeni se mai folosesc pentru fiecare dintre ele.
r3
r2E11
E12
E13
E21
E22
E23
E1 E2
r1
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 35
Aceast relaie unul-la-unul este foarte rar folosit n lumea real. Cel mai des, ea este folosit pentru a reduce numrul de atribute dintr-o entitate, pentru a nu depi numrul maxim de cmpuri asociate pentru o tabel, acesta fiind de circa 255. Se mai poate folosi i n cazul n care dorim desprirea elementelor fixe, a informaiilor care se modific mai rar fa de cele care se modific destul de des.
Un exemplu ar fi la aplicaia pe care o proiectm noi,
mprirea informaiilor despre studeni n dou entiti: informaiile personale fiind stocate n tabelul StudPersonal i informaiile care se modific de la an la an n tabela Studenti.
Pentru a realiza efectiv aceast relaie trebuie introdus
atributul CodStud i n tabela StudPersonal. Astfel cele dou se transform astfel:
Studenti cu atributele: CodStud, An, Grupa, Media, Bursa StudPersonal cu atributele: CodStud, CNP, Nume, Init,
Prenume, Data Nasterii, Loc Naterii, Tata, Mama, Adresa
Informaiile stocate aa sunt i mai uor de manipulat.
3.3.2. Relaia unul-la-multe (1-N sau one to many)
Aceast relaie este o relaie prin care unui element din
mulimea E1 i corespund unul sau mai multe elemente din mulimea E2, dar unui element din mulimea E2 i corespunde un singur element din mulimea E1.
Figura 3.2. Relaia unul-la-multe
O atenie sporit trebuie s avem la specificarea prilor
acestui tip de relaie.
Un exemplu al acestui tip de relaie din cadrul aplicaiei pe care o proiectm noi este c ntr-o facultate sunt mai muli studeni, i se precizeaz c un student aparine unei singure faculti din cadrul aceleiai universiti.
r1
r7
r2E11
E12
E13
E21E22E23E24E25E26E27
E1 E2
-
Proiectarea bazelor de date
36 Proiectul pentru nvmntul Rural
Pentru a realiza efectiv aceast relaie trebuie introdus atributul CodFac i n tabela Studenti. Astfel cele dou se transform astfel:
Facultate cu atributele: CodFac, Denumire, Adresa, Nume Decan
Studenti cu atributele: CodStud, CodFac, An, Grupa, Media, Bursa
Observaie: Dac se aduga atributul CodStud n tabela Facultate, se pstrau date redundante n aceast tabel, adic pentru fiecare student al facultii trebuiau pstrate informaii referitoare la facultate: denumirea ei, adresa, numele decanului, etc.
3.3.3. Relaia multe-la-multe (M-N sau many to many)
Aceast relaie este o relaie prin care unui element din mulimea E1 i corespund unul sau mai multe elemente din mulimea E2, i reciproc.
Figura 3.3. Relaia multe-la-multe
Acest tip de relaie este foarte des ntlnit, dar nu poate fi implementat n bazele de date relaionale. De fapt, pentru modelarea acestei relaii se folosete o relaie suplimentar, de tip unul-la-multe pentru fiecare din relaiile iniiale.
Un exemplu al acestui tip de relaie din cadrul aplicaia pe
care o proiectm noi este c un student particip la mai multe materii, cursuri, iar o materie este frecventat de mai muli studeni.
Pentru a soluiona aceast problem am introdus o tabel
suplimetar numit Note, care va face legtura ntre tabelele Materii i Studeni. Tabelele iniiale se modific astfel:
Studenti cu atributele: CodStud, CodFac, An, Grupa,
Media, Bursa Materii cu atributele: CodMaterie, Denumire, An, Nume
Profesor
r1
r7
r2E11
E12
E13
E14
E21E22E23E24E25E26E27
E1 E2
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 37
Note cu atributele: CodStud, CodMaterie, Nota, Data Prin introducerea atributului Data n tabela Note s-a
soluionat problema care apare atunci cnd un student trebuie s fie examinat de mai multe ori pn la promovarea materiei respective.
3.3.4. Relaia unar
Toate relaiile prezentate anterior sunt relaii binare, avnd
cte dou relaii implicate. Relaiile unare folosesc doar o singur relaie, aceasta fiind asociat cu ea nsi.
Figura 3.4. Relaia unar Exemplul clasic al acestei relaii unare este cazul
managerului unei companii, care la rndul su este tot un angajat al acelei companii. Relaiile unare se modeleaz la fel ca i relaiile binare.
Test de autoevaluare 3. Dai exemple de relaii ntre tabelele unei baze de date.
Paii care trebuie urmai pentru crearea relaiilor ntre tabele n mediul Microsoft Access sunt descrii n capitolul 6.
r1E11
E12
E13
E14
E1
-
Proiectarea bazelor de date
38 Proiectul pentru nvmntul Rural
3.4. Diagrama entitate-relaie
Diagrama entitate-relaie este modelul entitate-relaie reprezentat. prin mulimile de entiti i relaii dintre acestea. Exist mai multe variante de notaii pentreu redarea acestei diagrame, astfel:
Entitate tip puternic
Entitate tip slab
Atribut
Tipul relaiilor
Exemplu:
n continuare, se exemplific dezvoltarea modelului conceptual de nivel nalt al bazei de date Universitate.
Entitate tip
Entitate tip
Atribut
Tip relatie
NM1 1
N
1
Studeni
Facultate
StudPersonal MateriiNote
Denumire Adresa NumeDecan
CNPNume
Prenume
DataNast Tata CodFac An
Denumire
An
Profesor
Nota
Data
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 39
g
3.5. Constrngeri de integritate
Constrngerile de integritate sunt reguli care se definesc la
proiectarea unei baze de date i care trebuie s fie respectate de-a lungul existenei acesteia.
Entitiile unei baze de date reflect realitatea modelat i
de aceea valorile pe care le conin trebuie s respecte anumite reguli, care s corespund celor din realitate.
Vom folosi n continuare pentru termenul de entitate
denumirea tabel.
Constrngerile se pot clasifica astfel: n cadrul tabelei sau ntre tabele.
Constrngerile din cadrul unei tabele sunt reguli care se
impun n cadrul unei singure tabele i asigur integritatea datelor acesteia. Ele sunt de 3 categorii:
constrngeri de domeniu. Aceste constrngeri sunt
condiii care se impun valorilor atributelor i asigur integritatea domeniilor atributelor.
constngeri de nuplu (de nregistrare din tabel). Aceste
constrngeri sunt condiii care se impun nuplurilor unei entiti (nregistrrilor din tabel) i asigur identificarea corect a nuplurilor prin intermediul cheilor primare.
constrngeri impuse de dependene de date
(dependene funcionale). Acestea sunt constrngeri prin care valorile unor atribute ale unei entiti (cmpuri ale tabelei) determin valorile altor atribute ale aceleiai entiti.
Constrngerile ntre tabele sunt reguli care se impun ntre dou sau mai multe relaii. Cele mai importante sunt constrngerile de integritate referenial, care se realizeaz prin
Test de autoevaluare 4. Explicai de ce este important construcia diagramei entitate-relaie.
-
Proiectarea bazelor de date
40 Proiectul pentru nvmntul Rural
intermediul cheilor strine i asigur asocierea corect a tabelelor. 3.5.1. Constrngerile de domeniu Constrngerile de domeniu sunt condiii impuse valorilor atributelor pentru ca acestea s corespund semnificaiei pe care o au n realitatea modelat. n reprezentarea unei entiti printr-un tabel, valorile atributelor sunt reprezentate pe coloane. Din aceast cauz aceste constrngeri se mai numesc i constrngeri de coloan. Vom descrie 3 tipuri de constrngeri de coloan:
Constrngerea NOT NULL. Valoarea NULL este o valoare particular, care nu reprezint valoarea 0, ci lips de informaie. Aceast valoare NULL poate aprea cnd nu se cunosc respectivele informaii, ca de exemplu, n aplicaia proiectat de noi, n tabela StudPersonal nu se cunoate numele tatlui (aceast informaie nu este esenial). Nu orice atribut poate lua valoarea NULL, ca exemplu, numele unui student, pentru ca nu ar avea sens nregistrarea unui student al crui nume nu se cunoate. n astfel de situaii la definirea relaiilor se impune atributului constrngerea NOT NULL, nsemnnd c acest atribut nu poate lua valoare NULL n orice nregistrare din tabel
Constrngerea DEFAULT. Aceast constrngere este
folosit pentru stabilirea unei valori implicite (DEFAULT) pentru un atribut al entitii. n cazul n care la inserarea unui nuplu (nregistrri) nu se specific valoarea unui atribut (cmp), atunci acesta primete valoarea implicit (dac a fost definit) sau valoarea NULL (dac nu a fost definit o valoare implicit pentru atributul respectiv, dar sunt admise valori NULL). Dac nu a fost definit o valoare implicit i nici nu sunt admise valori NULL se genereaz o eroare.
Constrngerea CHECK. Constrngerea CHECK este dup
cum i spune i numele o constrngere de verificare. n limbajul SQL, care va fi prezentat ntr-un capitol viitor, domeniile n care pot lua valori atributele se pot stabili ca tipuri de date predefinite. Pentru fiecare atribut se pot aduga constrngeri de verificare la definirea tabelului.
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 41
3.5.2. Constrngerile referitoare la n-upluri (nregistrrile din tabel)-Cheia primar
O entitate este definit ca o mulime de n-upluri. Deci, n-uplurile entitii trebuie s fie distincte, acest lucru nsemnnd c ntr-o entitate nu pot exista dou sau mai multe n-upluri care c conin acceai combinaie de valori pentru fiecare atribut.
O cheie primar a unei entiti (tabele) este o submulime
de atribute ale entitii care are urmtoarele proprieti:
este unic, adic orice combinaie de valori ale atributelor acestei chei este unic pentru orice stare a relaiei
este stabil, adic informaia corespunztoare ei nu se
modific niciodat prin operaii de actualizare a datelor
nu se admit valori NULL pentru nici unul din atributele cheii respective
n concluzie, o cheie primar reprezint unul sau mai multe
cmpuri ale tabelei care identific unic fiecare nregistrare din tabela respectiv.
3.5.3. Constrngeri ntre tabele
Relaiile dintre tipurile de entiti definite n modelul
conceptual al unei baze de date se realizeaz n modelul relaional prin intermediul cheilor strine.
O cheie strin este o submulime de atribute ale unei
entiti E1 care refer entitatea E2 i ndeplinete urmtoarele condiii: atributele cheii strine din E1 sunt definite pe domenii compatibile cu cele ale atributelor cheii din entitatea E2, i cheia din entitatea E2 este cheie primar n aceast relaie.
Aceast cheie strin determin o asociere ntre cmpurile
unor tabele cu cele ale altei tabele i creeaz abilitatea de realizare a unirii tabelelor respective prin intermediul operaiilor JOIN.
Integritatea referenial este proprietatea bazei de date
care garanteaz c oricare valoare a unei chei strine se regsete printre valorile cheii corespunztoare din relaia referit, sau cheia strin are valoarea NULL (dac atributele acesteia nu sunt supuse constrngerii NOT NULL).
-
Proiectarea bazelor de date
42 Proiectul pentru nvmntul Rural
Exemplu:
Revenind la baza de date proiectat de noi, numit Universitate vom defini cheile primare i cele strine din cadrul fiecrei tabele. Cheile primare vor fi subliniate pentru o mai clar interpretare.
Pentru tabela Faculate vom presupune c cod facultii
(CodFac) este unic pentru fiecare facultate din cadrul universitii respective. n concluzie, tabela Facultate va avea urmtoarea structur : Facultate (CodFac, Denumire, Adresa, Nume Decan)
Pentru tabela StudPersonal dispunem de mai multe opiuni
n alegerea cheii primare. Ea poate fi reprezentat de CNP acesta fiind teoretic unic fiecrei persoane. Din pcate s-au ntlnit cazuri n care dou persoane au acelai CNP i pentru a evita un posibil conflict, adugm la tabela un alt atribut numit CodStud i va fi un numr unic pentru fiecare nregistrare din tabela StudPersonal. n concluzie tabela StudPersonal va avea urmtoarea structur: StudPersonal (CodStud, CNP, Nume, Init, Prenume, DataNasterii, LocNat, Tata, Mama, Adresa)
Pentru nceput la tabela Studenti iniial ar trebui introdus
cmpul CodFac. Acesta va reprezenta o cheie strin a aceste tabele i va face legtura direct ntre tabela Studenti i tabela Facultate. Tabela Studenti va avea urmtoarea structur: Studenti(CodFac, CodStud, An, Grupa, Media, Bursa).
Vom stabili cheia primar a acestei tabele. n acest caz, cheia primar trebuie s fie o cheie compus din atributele CodFac i CodStud pentru a identifica unic fiecare nregistrare din tabel. Dac am fi ales numai cmpul CodFac nu ar fi fost bine deoarece la o facultate corespund mai muli studeni i atunci ar aprea CodFac acelai pentru mai multe nregistrri i nu ar fi indeplinite condiiile pentru ca un cmp s fie cheie primar. La fel s-ar fi ntmplat i dac am fi optat pentru cmpul CodStud deoarece acest cod este un numr unic pentru fiecare student dintr-o facultate, acelai cod putnd fi asociat i pentru un alt student de la o alt facultate.
n concluzie, tabela Studenti va avea urmtoarea structur: Studenti(CodFac, CodStud, An, Grupa, Media, Bursa)
-
Proiectarea bazelor de date
Proiectul pentru nvmntul Rural 43
Pentru tabela Materii vom presupune c codul materiei (CodMaterie) este unic pentru fiecare disciplin din cadrul universitii respective. n concluzie, tabela Materii va avea urmtoarea structur : Materii (CodMaterie, Denumire, An, Nume Profesor)
n tabela Note, care are iniial dou atribute Nota i Data
trebuie introduse mai multe cmpuri.
Unul ar fi cmpul CodStud, care va reprezenta o cheie strin i va face legtura cu tabela Studenti pentru a cunoate n orice moment crui student i aparine nota respectiv. Un alt cmp care ar trebui introdus este cmpul CodMaterie, care va reprezenta o cheie strin i va face legtura cu tabela Materi