Baze de Date

download Baze de Date

of 138

description

dfdyg

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