Sunteți pe pagina 1din 18

1.

Avantajele sistemelor de gestiune a bazelor de date Avantajele sistemelor de gestiune a bazelor de date fa de sistemele clasice, cu fiiere sunt urmtoarele: 1. Controlul redundanei datelor Risipa de spaiu care se face prin stocarea acelorai informaii n mai multe fiiere este mult diminuat prin utilizarea bazelor de date, dar nu complet eliminat datorit altor cereri de mbuntire a performanelor. !. Coerena datelor "ac un articol de date e nmagazinat de mai multe ori trebuie s se garanteze c toate copiile acestuia vor fi actualizate dac se reactualizeaz o valoare a sa. #. $ai multe informaii de la aceeai cantitate de date %e pot obine prin integrarea fiierelor ce conin informaii diferite despre aceleai date. &. 'artajarea datelor "atele pot fi utilizate de ctre mai muli utilizatori n acelai timp. (. )ntegritatea crescut a datelor %e refer la validitatea i coerena datelor nmagazinate i se e*prim prin constr+ngeri . ,. %ecuritatea crescut %e realizeaz prin atribuirea unor nume de utilizatori i parole ce permit identificarea persoanelor autorizate s foloseasc baza de date i impun modalitatea de utilizare a acestor date. -. Aplicarea standardelor %e refer la formatul datelor, conveniile privind denumirile, documentarea, procedurile de reactualizare, regulile de acces. .. Reducerea costurilor 'rin realizarea integrrii se aloc fonduri centralizat i nu separat fiecrui departament. /. Rezolvarea conflictelor 0iecare utilizator va avea propriile cerine ce pot intra n conflict cu ale altora. Administratorul bazei de date poate lua decizii ce duc la utilizarea optim a resurselor. 11. Creterea accesibilitii datelor i a capacitii de rspuns %e realizeaz prin intermediul utilizrii limbajelor de programare din generaia a )23a 4e*. %56, 5789. 11. Creterea productivitii 'rin furnizarea unor funcii ce permit manipularea fiierelor i a introducerii limbajelor de programare din generaia a )23a ce reduc mult timpul de programare. 1!. )ndependena datelor "uce la creterea capacitii de ntreinere prin faptul c descrierile datelor sunt separate de aplicaii. 1#. Controlul concurenei este mbuntit %e garanteaz c dac doi sau mai muli utilizatori acceseaz simultan aceleai date nu se pierd informaii sau nu se altereaz integritatea acestora. 1&. Asigurarea salvrii de siguran i a refacerii 'rin recuperarea ultimei stri coerente a bazei de date n cazul apariiei unei defeciuni :ard sau soft.

2. Dezavantajele sistemelor de gestiune a bazelor de date 1. Comple*itatea ;rebuie avute n vedere o serie de probleme referitoare la date care se manifest suplimentar fa de cazul aplicaiilor clasice. %e face mai nt+i o analiz amnunit a datelor i apoi a aplicaiei propriu3zise. !. "imensiunea %<7"3urile ocup mult spaiu pe disc. #. Costul a9 sistemelor %<7"= b9 elementelor :ard ac:iziionate= c9 conversiei aplicaiilor e*istente la noul %<7" i noua configuraie :ard. &. 'erformana 8ste mai redus n cazul utilizrii %<7"3urilor care au un caracter mai general, n locul unei aplicaii simple bazat pe fiiere care apeleaz o singur funcie. (. 8fectul unei defeciuni 8ste mult mai mare datorit centralizrii 4o defeciune minor afecteaz toi utilizatorii9. 3. Scheme (ce reprezinta, ce contin, tipuri, schema relationala) 7azele de date se modific des n decursul timpului. "atele aflate ntr3o baz de date la un anumit moment dat alctuiesc o instan a acelei baze de date. 'roiectul general al bazei de date este denumit sc:ema bazei de date. > sc:em reprezint o descriere a datelor conform modelului de date propus. %c:ema bazei de date reprezint ceea ce n limbajele de programare clasice este cunoscut sub numele de definirea tipurilor de date, iar instana unei baze de date este ceea ce n limbajele de programare clasice este cunoscut sub denumirea de valoarea unei variabile. %c:ema bazei de date reprezint descrierea general a bazei de date i conine: informaiile fizice de proiectare= informaii referitoare la utilizator= descrieri de nivel nalt ale tranzaciilor i aplicaiilor precum i legturile utilizatorilor cu ele= relaiile dintre date i tranzacii= statistici de utilizare. ?n funcie de nivelul de abstractizare corespunztor e*ist urmtoarele tipuri de sc:eme: 1. %c:ema e*tern 4subsc:ema9 @ se afl la nivel superior i corespunde unei valori a datelor. 8a descrie vederile bazei de date ce se folosesc ntr3o anumit aplicaie i corespunde sc:emei conceptuale. %c:ema reprezint vederea utilizatorilor asupra datelor 4aplicaia9. !. %c:ema conceptual 4logic9 @ corespunde nivelului conceptual i descrie articolele, relaiile i constr+ngerile dintre ele. 8a este o descriere abstract i integrat a tuturor datelor, independent de sistemul de gestiune al bazelor de date folosit i trebuie s corespund sc:emei interne. %c:ema reprezint perspectiva sistemului de gestiune al bazelor de date. #. %c:ema intern @ se afl la nivel inferior i conine definiiile tuturor nregistrrilor stocate n baza de date, metodele de reprezentare, c+mpurile i inde*urile datelor 4descrie modul de stocare fizic a datelor precum i structurile de acces la date9. %c:ema reprezint perspectiva realizrii sistemuluiAimplementrii. %istemul de gestiune al bazelor de date efectueaz corespondene ntre cele trei tipuri de sc:eme pentru a le corela. "ac se produce o modificare la nivel fizic, sc:ema intern trebuie modificat, dar sc:ema conceptual poate rm+ne neatins Schema rela ional! %tructura relaional a unei baze de date mai este cunoscut i sub denumirea de sc:em relaional 4sau metastructur datorit faptului c ea descrie structura datelor9. > sc:em relaional reprezint o descriere a unei colecii particulare de date, folosind un anumit model dat. Aceasta predefinete posibilele stri ale bazei de date, n sensul c nici o stare a unei baze de date nu poate conine date care s nu fie obinute n urma instanierii sc:emei respectivei baze de date i nici o stare a unei baze de date nu poate conine o asociere

ntre dou seturi de date dac aceast asociere nu a fost definit n sc:ema bazei de date. ?n plus, procedurile de manipulare a datelor trebuie s fie separate de date. Conceptul de baz ce fundamenteaz acest model este relaia, transformat ntr3un tabel ce conine r+nduri i coloane. 0iecare relaie are o sc:em ce descrie coloanele sau c+mpurile tabelului. ?n practic, sc:ema bazei de date conine: a. definiia tipurilor de date= b. definiia relaiilor, specific+nd pentru fiecare dintre ele: - intensia 4numele tuturor atributelor9= - c:eia primar. "e obicei, ntr3un sistem relaional at+t sc:ema conceptual c+t i sc:ema e*tern sunt relaionale. 'entru a prezenta proiectul unei baze de date independent de orice limbaj de definire a datelor, de obicei, se folosete o notaie general acceptat care are formatul: Bnume relatieC: Blista numelor atributelorC > astfel de notaie este util n scopul clarificrii organizrii generale a bazei de date, dar nu lmurete o serie de detalii referitoare, n special, la proprietile domeniilor de valori ale atributelor. Cu ajutorul acestei notaii se pot crea entitile, atributele, domeniile de valori precum i c:eile sub forma unor entiti ale sc:emei bazei de date. Dn astfel de limbaj definete doar structura acestor entiti, nu i coninutul lor. ". #imbajele bazelor de date 'entru a construi o baz de date un utilizator trebuie s: a. defineasc sc:ema bazei de date= b. aplice o colecie de operatori pentru a crea, nmagazina, e*trage i modifica datele. Dn sistem de gestiune al bazelor de date obinuit trebuie s ofere o serie de instrumente care s uureze activitile specificate anterior. ?n acest sens, %56 trebuie s fie limbajul standard relaional al bazei de date, av+nd urmtoarele componente: a. un limbaj de definire a datelor 4"ata "efinition 6anguage @ ""69, utilizat la definirea sc:emei bazei de date b. un limbaj de manipulare a datelor 4"ata $anipulation 6anguage @ "$69, care permite utilizatorului manipularea obiectelor bazei de date i a relaiilor dintre acestea, n conte*tul sc:emei bazei de date. 6imbajul de definire a datelor 'ermite administratorului bazei de date sau utilizatorului s descrie i s denumeasc entitile din baza de date precum i relaiile ce pot e*ista ntre diferitele entiti. 6imbajul de definire al datelor reprezint o colecie de instruciuni utilizate pentru descrierea tipurilor de date. Administratorul bazei de date trebuie s defineasc structura bazei de date cu ajutorul acestor tipuri de date. Acesta este utilizat pentru a defini o sc:em a bazei de date sau pentru a modifica una e*istent. Rezultatul compilrii instruciunilor din limbajul de definire a datelor reprezint un set de tabele stocate n fiiere speciale denumite cataloage de sistem. Catalogul de sistem conine meta3datele 4datele care descriu obiectele din baza de date9. $etadatele conin definiii ale nregistrrilor datelor i altor obiecte cerute de sistemul de gestiune al bazei de date. %istemul de gestiune al bazei de date consult mai nt+i catalogul de sistem pentru a accesa corect datele. ;eoretic, sunt trei limbaje de definire a datelor: - pentru sc:ema e*tern= - pentru sc:ema conceptual= - pentru sc:ema intern. 6imbajul de definire a datelor conine comenzi necesare urmtoarelor operaii: - definirea sc:emelor de relaie= - eliminarea relaiilor= - crearea indecilor= - modificarea sc:emelor. 6imbajul de definire a datelor permite specificarea urmtoarelor informaii necesare n orice baz de date: - sc:ema fiecrei relaii din baza de date= - domeniul de valori asociat fiecrui atribut= - constr+ngerile de integritate= - setul de indeci care se creeaz pentru fiecare relaie n parte= - informaii referitoare la securitatea sistemului i la modul de acces la acesta=

- structura de nmagazinare fizic pe disc a datelor. 6imbajul de manipulare a datelor Asigur un set de procedee ce permit operaii de baz pentru manipularea datelor din baza de date. 6imbajul de manipulare a datelor asigur o colecie de operatori ce pot fi aplicai pentru a valida instanele tipurilor de date n cadrul sc:emei i de a crea, modifica sau e*trage astfel de instane. Cu ajutorul acestor operatori se pot efectua urmtoarele operaii: 1. Regsirea datelor din baza de date 4operaie principal9. !. )nserarea de date noi n baza de date. #. $odificarea datelor e*istente. &. Etergerea de date din baza de date. 8*ist dou tipuri de limbaje de manipulare a datelor: 6imabje de manipulare a datelor procedurale 3 care permit utilizatorului s comunice sistemului ce date sunt necesare i cum pot fi ele e*act regsite. 6imbaje de manipulare a datelor neprocedurale 3 care permit utilizatorului s comunice sistemului ce date sunt necesare fr a specifica cum se regsesc datele. Aceste limbaje prelucreaz informaia pe seturi de nregistrri i au urmtoarele caracteristici: - confer o mai mare independen de date= - cresc viteza de prelucrare a informaiei= - sunt limbaje de generaia a patra 4&<6 3 0ourt: <eneration 6anguage9. 8*emple de astfel de limbaje ce aparin generaiei a patra sunt: - limbajul %56= - limbajul 578= - generatoare de formulare= - generatoare de rapoarte= - generatoare grafice= - generatoare de aplicaii. $. Sisteme de gestiune a bazelor de date 7aza de date reprezint una sau mai multe colecii de date aflate n interdependen mpreun cu descrierea datelor i a relaiilor dintre ele. Colecia de date reprezint un ansamblu de date organizat dup anumite criterii i este format din componentele: a9 o familie de caracteristici alctuit din atribute ce definesc aspecte ale obiectelor din lumea real= b9 un predicat aplicat familiei de caracteristici ce conduce la o submulime ce definete o relaie de ordine ntre caracteristici= c9 o suit temporal ce definete un decalaj al timpului n intervale discrete= d9 afectarea la fiecare moment tj a unei relaii asociat predicatului. 7azele de date sunt gestionate cu ajutorul unui program numit sistem de gestiune al bazelor de date. %istemul de gestiune a bazelor de date 4%<7"9 este un sistem de programe ce permite definirea, crearea i ntreinerea bazei de date precum i accesul controlat la acesta. "in punct de vedere conceptual, gestiunea bazelor de date se bazeaz pe ideea separrii structurii bazei de date de coninutul acesteia. ?n sistemele de baze de date definirea datelor se separ de programele aplicaie, astfel nc+t utilizatorii vd doar definiia e*tern a unui obiect fr a cunoate modul n care e definit acesta i cum funcioneaz. ?n acest mod, definiia intern a obiectului poate fi modificat fr a afecta utilizatorii acestuia dac nu se modific definiia e*tern. %tructura bazei de date reprezint o colecie de descrieri statice ale tipurilor de entiti mpreun cu relaiile logice stabilite ntre ele. Relaiile logice reprezint asociaiile dintre mai multe entiti. > entitate este un obiect distinct ce trebuie reprezentat n baza de date. Dn atribut este o proprietate ce descrie un anumit aspect al obiectului ce se nregistreaz n baza de date. %copul unui sistem de gestiune al unei baze de date este acela de a oferi un mediu care s fie i convenabil, dar i eficient pentru a putea fi folosit la: - e*tragerea informaiilor din baza de date= - nmagazinarea datelor n baza de date.

7azele de date sunt de obicei folosite la gestionarea unei mari cantiti de date, ceea ce presupune e*istena urmtoarelor caracteristici: - definirea structurilor 4modelarea datelor9= - utilizarea unor mecanisme de manipulare a datelor= - asigurarea securitii datelor n baza de date= - asigurarea controlului concurenei n cazul utilizrii sistemului de ctre mai muli utilizatori >rice sistem de gestiune al bazelor de date are urmtoarele componente: 6imbajul de definire a datelor Cu ajutorul acestui limbaj se specific tipurile de date i structurile precum i constr+ngerile asupra datelor. )nstruciunile limbajului sunt compilate i transformate ntr3un set de tabele nmagazinate ntr3un fiier special numit dicionar de date sau catalogul sistemului. Dn limbaj de manipulare a datelor Acest limbaj este folosit pentru a ajuta utilizatorul s acceseze i s foloseasc datele aflate n baza de date ntr3un mod interactiv. Cu ajutorul acestui limbaj se pot: - e*trage date din baza de date= - introduce date n baza de date= - elimina date din baza de date= - actualiza date din baza de date. Administratorul bazei de date Administratorul bazei de date este un program ce asigur interfaa dintre datele nmagazinate, aplicaiile care folosesc aceste date i ntrebrile adresate sistemului cu ajutorul crora se e*trag datele necesare. "e obicei, bazele de date necesit un spaiu mare de nmagazinare pe mediul de stocare ales, ce poate ajunge de ordinul gigabFtes3ilor. 'entru a putea fi prelucrate datele se transfer din memoria e*tern n memoria intern a sistemului. %copul sistemului bazei de date este acela de a uura accesul la date, iar administratorul bazei de date este rspunztor de urmtoarele: - asigur interaciunea cu administratorul de fiiere - asigur integritatea datelor - asigur securitatea datelor prin accesul controlat la date pe care l ofer utilizatorilor - creeaz copiile de siguran i asigur refacerea datelor, n cazul apariiei unei erori - asigur controlul concurenei pstr+nd consistena datelor atunci c+nd acestea sunt accesate n acelai timp de mai muli utilizatori. %. &omponentele unui sistem de gestiune al bazelor de date Acestea sunt: 1. GardHare !. %oftHare #. "ate &. 'roceduri (. Resurse umane Componenta :ardHare Aceast component poate fi reprezentat de un singur calculator personal, un singur calculator mainframe sau o reea de calculatoare. "e obicei, ntr3o reea de calculatoare, se aplic urmtoarea sc:em: %e folosete un calculator principal pe care se afl programele bacI3end 3 adic partea din sistemul de gestiune al bazei de date care administreaz i controleaz accesul la baza de date i mai multe calculatoare aflate n diferite locaii pe care se afl programele front3end @ adic partea din sistemul de gestiune al bazei de date ce constituie interfaa cu utilizatorul. ?n aceast sc:em, numit client3server, programele bacI3end reprezint serverul iar cele front3end reprezint clienii.

Componenta softHare Aceast component este alctuit din: - programele sistemului de gestiune al bazei de date= - programele aplicaie scrise de obicei n limbaje de programare de generaia a )))3a 4C, 'ascal, Cobol9 sau %56 ncorporat ntr3un limbaj de generaia a )))3a= - sistemul de operare= - programe de reea. %istemul de gestiune al bazei de date poate avea ncorporate instrumente din generaia a )23a, cum ar fi %56 ce permit: J dezvoltarea rapid de aplicaii= J mbuntirea semnificativ a productivitii= J realizarea unor programe uor de ntreinut. "ate "atele acioneaz ca o punte de legtur ntre componentele main 4:ardHare i softHare9 i componenta uman. 7aza de date conine at+t datele operaionale 4setul de nregistrri pe care se lucreaz9 c+t i metadatele. %tructura bazei de date este numit sc:em. 'roceduri 'rocedurile reprezint instruciunile i regulile aplicate n proiectarea i utilizarea bazei de date. Acestea pot fi: - desc:iderea unei sesiuni de lucru n sistemul de gestiune al bazei de date= - pornirea sau oprirea sistemului de gestiune al bazei de date= - utilizarea unui program de aplicaie sau a unei funcii a sistemului de gestiune al bazei de date= - efectuarea de copii de siguran= - tratarea defeciunilor :ardHare i softHare= - modificarea structurii unui tabel, reorganizarea bazei de date, mbuntirea performanelor, ar:ivarea datelor. 1.#.1.(. Resursele umane Resursele umane sunt reprezentate de: 1. Administratorul de date este responsabil de gestionarea resurselor de date i proiectarea conceptual A logic a bazei de date. !. Administratorul bazei de date este responsabil de realizarea fizic a bazei de date ce implic proiectarea i implementarea acesteia. Administratorul bazei de date este o persoan care are n rspundere controlul centralizat al datelor i al aplicaiilor ce folosesc aceste date. ?ndatoririle administratorului bazei de date cuprind: - definete sc:ema bazei de date, ceea ce presupune scrierea unui set de definiii n limbajul de definire a datelor care apoi s poat fi compilate de ctre un compilator ""6 i transformate ntr3un set de tabele pstrate n catalogul sistemului= - definete structura de stocare i a metodele de acces prin scrierea unui set de definiii transferate compilatorului= - modific sc:ema i organizarea fizic prin scrierea unui set de definiii utilizate de ctre compilatorul ""6 pentru a face modificrile cerute n tabele= - asigur securitatea prin acordarea drepturilor de acces utilizatorilor pe baza unor conturi de utilizator create n acest scop= - verific respectarea constr+ngerilor de integritate ori de c+te ori se introduc date n baza de date= - monitorizeaz toate activitile utilizatorilor= - monitorizeaz creterea dimensiunilor bazei de date= - i formeaz o imagine de ansamblu asupra sistemului, urmrind prile tari i slabe ale acestuia= - asigur controlul concurenei prin alegerea tipului de blocare ce va fi folosit atunci c+nd aceleai date sunt folosite de mai muli utilizatori n acelai timp= - asigur fiabilitatea sistemului n cazul apariiei unor erori. #. 'roiectanii de baze de date care pot fi: a9 'roiectant de baze de date logice:

b9

identific datele 4entiti i atribute9= identific relaiile dintre date= identific constr+ngerile= identific regulile ce descriu principalele caracteristici ale datelor= implic utilizatori n realizarea modelului de date. 'roiectant de baze de date fizice: transpune modelul logic ntr3un set de tabele i constr+ngeri= selecteaz structuri de stocare i metode de acces specific= asigur securitatea datelor. &. Dtilizatorii finali care pot fi de urmtoarele categorii: - 'rogramatorii de aplicaii. Acetia sunt profesionitii ce interacioneaz cu sistemul folosind instruciuni scrise n limbajul de manipulare a datelor pe care le ncorporeaz n cadrul unor interfee create n alte limbaje de programare. 'recompilatorul "$6 convertete apelurile scrise n limbajul de manipulare a datelor n proceduri specifice limbajului gazd. Compilatorul limbajului gazd genereaz apoi codul obiect. - Dtilizatori cu pregtire special. Acetia interacioneaz cu sistemul fr a scrie programe, dar ei formuleaz cereri pentru a e*trage date din baza de date cu ajutorul instruciunilor specifice limbajului de manipulare a datelor. Aceste cereri sunt transmise procesorului de interogare care desparte o instruciune specific limbajului de manipulare a datelor n instruciuni specifice modulului de administrare a bazei de date. - Dtilizatori specializai. Acetia sunt utilizatori cu pregtire special care scriu programe aplicaie specializate pentru diverse zone de interes 4sisteme CA", sisteme e*pert etc.9. - Dtilizatori obinuii. Acetia sunt utilizatori care interacioneaz cu sistemul folosind interfeele create de programatorii de aplicaii. '. (odel. (odel de date, elemente de baza ale modelelor de date. )unctiile modelelor, componentele modelelor, cele 3 modele de baze de date, e*tensia, intensia. Dn model este o abstractizare i o structur ce simbolizeaz toate caracteristicile entitilor eseniale ce prezint interes pentru utilizator, o reprezentare i o reflectare a lumii reale. Dn model de date reprezint o colecie integrat de concepte necesare descrierii datelor, relaiilor dintre ele, precum i a constr+ngerilor asupra datelor. $odelul de date este utilizat la descrierea sc:emei bazei de date, definind structura datelor, legturile dintre acestea, semantica lor, precum i constr+ngerile impuse, dei nu este obligatoriu ca ntotdeauna acestea s fie regsite n orice model de date. 'e scurt, un model de date este utilizat pentru a reprezenta date despre date. $odelele de date ofer nelegerea descriptiv necesar definirii sc:emelor logice i e*terne i sunt utile descrierii formale a sc:emei bazei de date. %c:ema logic a unei baze de date reprezint o descriere abstract a unei poriuni din realitatea modelat mpreun cu instanele bazei de date. Dn model de date este alctuit din trei elemente de baz: entiti= atribute=

relaii. > entitate reprezint un obiect sau concept din lumea real, cum ar fi de e*emplu un student sau un curs descris n cadrul bazei de date. Dn atribut reprezint acele caracteristici ce descriu aspecte sau condiii ale unei entiti, cum ar fi de e*emplu numele studentului sau situaia acestuia. Relaia stabilit ntre dou sau mai multe entiti reprezint o interaciune ntre acele entiti, cum ar fi de e*emplu asocierea dintre un student i cursul pe care l urmeaz. Funciile modelelor sunt: 1. Reprezint obiecte, evenimente precum i asocierile dintre acestea. !. Reprezint aspecte eseniale i inerente, ignor+nd proprietile accidentale. #. Au n vedere ansamblul entitilor, atributelor i relaiilor dintre acestea.

&. Asigur regulile de baz i relaiile ce permit proiectanilor i utilizatorilor s comunice corect, fr ambiguiti. Dn model de date este alctuit din urmtoarele componente: 1. 'artea structural ce reprezint un set de reguli ce fundamenteaz baza de date. !. 'artea de manipulare ce definete tipurile de operaii ce se pot efectua n baza de date: operaii utilizate pentru actualizarea sau regsirea datelor= operaii utilizate pentru modificarea structurii bazei de date. #. %et de reguli de integritate ce garanteaz faptul c datele sunt corecte. 8*ist trei modele de baze de date: 1. $odelul de date extern utilizat pentru a reprezenta vederea fiecrui utilizator, care mai este cunoscut i sub denumirea de Dnivers al "iscursului. Acest model este reprezentat prin modelele de date bazate pe nregistrri. !. $odelul de date conceptual care reprezint vederea logic independent de sistemul de gestiune al bazelor de date ales i reprezentat prin modelele de date bazate pe obiecte. #. $odelul de date intern utilizat pentru ca sc:ema conceptual s poat fi neleas de ctre sistemul de gestiune al bazei de date i reprezentat prin modelele de date fizice. 0iecare model de date are propria reprezentare a datelor, dar ntotdeauna un model este alctuit dintr3o intensie i o e*tensie. Extensia unei relaii se refer la setul curent de nregistrri pe care l conine. Acest set de nregistrri nu rm+ne acelai tot timpul e*istenei bazei de date, suferind diverse modificri, pe msura introducerii, actualizrii sau tergerii de date. 'artea cu caracter permanent n cadrul unei baze de date o reprezint intensia sa sau schema bazei de date. )ntensia bazei de date descrie structura tuplurilor unei relaii. >peraiile limbajului de manipulare a datelor pot fi efectuate numai n condiiile n care se cunoate aceast structur. Cu alte cuvinte intensia unei baze de date reprezint tipurile de entiti, fiind considerat a fi modelul conceptual al bazei de date, pe c+nd extensia reprezint instanierile tipurilor de nregistrri corespunztoare tipurilor de entiti precum i legturile dintre acestea.

+. (odele de date bazate pe ,nregistr!ri. (odelul ierarhic Astfel de modele descriu datele la nivel conceptual. %pre deosebire de modelele orientate pe obiecte, acestea sunt folosite cu scopul de a specifica structura logic general a bazei de date i de a oferi un nivel ridicat al descrierii implementrii. $odelele sunt denumite n acest fel deoarece baza de date este alctuit din nregistrri de acelai tip. 0iecare tip de nregistrare are un numr fi* de c+mpuri, fiecare c+mp av+nd, de obicei, o lungime fi*, ceea ce duce la simplificarea reprezentrii. Aceste modele nu ofer un mecanism de reprezentare direct a codului din baza de date. 'entru a efectua interogri i actualizri asupra bazei de date se folosesc o serie de limbaje individuale separate asociate modelului. "in aceast categorie de modele fac parte: modelul de date ierar:ic= modelul de date reea=

modelul de date relaional. Astzi, datorit dezvoltrii fr precedent a )nternetului, din ce n ce mai mult, se impune un alt tip de model, modelul de date semi3structurat, n format K$6. (odelul ierarhic "in punct de vedere istoric, acesta a fost primul model de date ce a fundamentat un sistem de gestiune al bazelor de date i a fost dezvoltat de ctre firma )7$ pentru produsul su )$% care utiliza limbajul "6A1. $odelul ierar:ic lucreaz cu grupuri repetitive prin utilizarea unei structuri de date ce se bazeaz pe parcurgerea de sus n jos a unui arbore: datele aflate n nregistrrile primare reprezint ramurile arborelui, n timp ce datele ce formeaz grupurile repetitive reprezint frunzele acestuia.

Avantajul modelului ierar:ic este acela c metodele folosite la regsirea nregistrrilor asociate din baza de date sunt mai simple dec+t cele folosite n modelul reea. )ntensia modelului de date ierar:ic este reprezentat cu ajutorul unui arbore de definiie ce reprezint o diagram a structurii de date n care sensul legturilor funcionale este ntotdeauna de la nodul printe ctre nodul copil. > astfel de diagram este un graf orientat alctuit cu scopul reprezentrii tipurilor de entiti i a relaiilor dintre acestea. Lodurile grafului corespund tipurilor de entiti, iar arcele grafului reprezint legturile funcionale dintre tipurile de entiti. 8*tensia modelului de date ierar:ic se reprezint sub forma unui tabel n care fiecare linie a tabelului este o nregistrare ce corespunde unei instanieri a tipului de entitate. ?n tabele sunt permise duplicatele i, prin urmare, pot e*ista dou instanieri identice ale aceluiai tip de entitate. Dn singur tabel din baza de date are rolul de rdcin a arborelui n timp ce restul tabelelor formeaz mulimea prinilor i copiilor arborelui. 0igura !.1. $odelul iera:ic Rdcina

'rinte Copil Copil

'rinte Copil

> relaie ntr3o baz de date ierar:ic este reprezentat prin intermediul perec:ii printeAcopil. ?n acest tip de relaie, tabelul printe poate fi asociat cu unul sau mai multe tabele copil, dar un singur tabel copil poate fi asociat doar cu un singur tabel printe. Aceste tabele sunt asociate n mod e*plicit cu ajutorul unor pointeri sau pe baza unui aranjament fizic al nregistrrilor n tabele. Dtilizatorul acceseaz datele pornind din rdcina arborelui i parcurge un anumit drum unic p+n ajunge la datele cutate. > astfel de metod de acces cere utilizatorului o foarte bun cunoatere a structurii bazei de date. Dn avantaj al utilizrii bazelor de date ierar:ice este acela c utilizatorul poate e*trage datele foarte rapid datorit legturilor e*plicite definite n structura tabelelor. Dn alt avantaj este acela c integritatea referenial se obine prin crearea structurii i nu poate fi nclcat, ceea ce face ca o nregistrare din tabelul copil s fie obligatoriu asociat unei nregistrri e*istente n tabelul printe, iar o nregistrare tears din tabelul printe s impun eliminarea tuturor nregistrrilor asociate din tabelul copil. 'robleme deosebite vor apare n momentul n care utilizatorul dorete s introduc o nregistrare n tabelul copil care nu are asocieri cu nici o nregistrare din tabelul printe. Acest tip de baz de date nu poate suporta asocierile comple*e i, de aceea, deseori sunt probleme referitoare la redundana datelor, deoarece este posibil s3i fie permis introducerea de date inconsistente. Aceast problem poate fi ns rezolvat prin Relaie logic copil 7aza de date 1 7aza de date !

crearea a dou baze de date pentru a nlocui tipurile de relaii muli3la3muli, aa cum se prezint n figura de mai jos:

0igura !.!. Rezolvarea relaiilor muli3la3muli "ei bazele de date ierar:ice ofereau un acces direct i rapid la date, dovedindu3i superioritatea ntr3o multitudine de situaii specifice, devenise evident c era necesar introducerea unui nou model de date pentru

a remedia problemele tot mai presante referitoare la redundana datelor i la rezolvarea asocierilor comple*e dintre nregistrri. -. (odelul re ea $odelul reea a fost creat, n special, ca o ncercare de a rezolva unele dintre problemele modelului ierar:ic. Lod proprietar 1 %et structura $ Lod membru 0igura !.#. $odelul reea Aa cum se poate observa din figura !.#., structura unei baze de date de tip reea se poate reprezenta cu ajutorul conceptelor de noduri i seturi. Dn nod reprezint o colecie de nregistrri, n timp ce un set stabilete i reprezint relaiile din cadrul unei baze de date de tip reea. > astfel de construcie transparent relaioneaz o perec:e de noduri prin utilizarea unuia dintre ele sub denumirea de proprietar, iar a celuilalt sub denumirea de membru. %tructura de tip set este o construcie ce stabilete i reprezint o relaie din cadrul bazei de date reea 4reprezint o mbuntire remarcabil fa de relaia printeAcopil9. > astfel de structur suport o relaie de unu3la3muli, ceea ce nseamn faptul c o nregistrare din nodul proprietar poate fi relaionat cu una sau mai multe nregistrri aparintoare nodului membru, dar unei singure nregistrri din nodul membru i este asociat o singur nregistrare din nodul proprietar. $ai mult dec+t at+t, o nregistrare aparintoare nodului membru nu poate e*ista fr s fie asociat unei nregistrri e*istente n nodul proprietar. ?ntre o perec:e de noduri se pot defini unul sau mai multe seturi, iar un singur nod poate fi implicat n seturi cu alte noduri din baza de date. Dtilizatorul poate accesa date din cadrul unei baze de date de tip reea prin cea mai potrivit structur de seturi. %pre deosebire de bazele de date ierar:ice, n care accesul trebuie s nceap cu nodul rdcin, n bazele de date de tip reea utilizatorul poate accesa datele indiferent de nod pe baza structurilor de tip set. 7azele de date de tip reea au performane e*celente n cazul regsirii seturilor de nregistrri ce aparin unui anumit obiect, deoarece relaiile dintre nregistrri 4pointeri9 reprezint parte constitutiv a bazei de date. ?n acelai timp, se permite utilizatorilor crearea de interogri mult mai comple*e dec+t cele ce se pot elabora prin intermediul bazelor de date ierar:ice, dar viteza bazelor de date de tip reea scade atunci c+nd se dorete cutarea nregistrrilor pe baza unor criterii specificate. 'rincipalul dezavantaj al acestui tip de baze de date este legat de faptul c utilizatorul este obligat s cunoasc foarte bine structura bazei de date pentru a se putea descurca cu structurile de seturi. Dn alt dezavantaj este acela c nu este uoar modificarea structurii bazei de date fr a afecta programele aplicaie care lucreaz cu aceasta. "eoarece, aa cum s3a artat, o relaie este definit n mod e*plicit sub forma unei structuri de tip set, aceasta nu poate fi modificat fr a afecta programele aplicaie ce folosesc aceast structur la cutarea datelor. "ac se modific o astfel de structur, trebuie modificate n mod corespunztor toate asocierile acesteia definite n programele aplicaie. Intensia modelului de baze de date de tip reea este un graf cu arce numerotate pentru a indica drumul ce trebuie parcurs, deoarece un tip de entitate copil poate fi conectat la mai multe tipuri de entiti printe sau la acelai tip de entitate printe prin mai multe arce. Extensia acestui model este un tabel ce permite introducerea de nregistrri duplicat, dar nregistrrile pot fi ordonate. 1.. (odelul rela ional Acesta este cel mai folosit model de date folosit astzi n ntreaga lume, fiind un model de tip entitate3relaie bazat pe elaborarea unui model conceptual. $odelul relaional al unei baze de date permite e*tinderea

bazelor de date la nivelul calculatoarelor personale nemaifiind obligatorie utilizarea ec:ipamentelor costisitoare cerute de minicalculatoare sau de calculatoarele de tip mainfraime. $odelul a fost dezvoltat de ctre "r. 8. 0. Codd. Cele mai importante caracteristici ale modelului relaional sunt simplitatea, suportul teoretic solid, precum i cele trei elemente componente de baz. Dn astfel de model este simplu deoarece el poate fi descris cu ajutorul unui numr mic de concepte care se refer la relaii, r+nduri, coloane i c:ei. $odelul relaional are un suport teoretic foarte solid deoarece se bazeaz pe teoria matematic a seturilor, ceea ce nseamn faptul c toate operaiile sunt nc:eiate cu succes, iar rezultatele operaiilor sunt predictibile. Cele trei componente ale modelului relaional sunt: a. componenta de structur a datelor 4relaii cu proprieti speciale9= b. componenta de manipulare a datelor c. componenta de integritate a datelor . 'rincipalul avantaj al modelului relaional este acela c nu este necesar utilizarea at+t a pointerilor c+t i a datelor n cadrul tabelelor, folosind n sc:imb relaii pentru a accesa valori corespondente din mai multe tabele. > relaie const dintr3o asociere ntre nregistrrile aflate n dou tabele ce au aceleai valori ale atributelor. "eoarece tabelele relaionale nu conin pointeri, datele aflate n astfel de tabele sunt independente de metodele folosite de ctre sistemul de gestiune al datelor n lucrul cu nregistrrile tabelelor. Intensia modelului relaional este o sc:em relaional cu una sau mai multe sc:eme de relaie. 0iecare sc:em de relaie are propriul nume i propriile atribute. Extensia modelului relaional este un tabel ce nu permite nregistrri duplicat. 0iecare sc:em de relaie introduce un tabel n sc:ema relaional. $odelul de date relaional folosete tabele bidimensionale ce reprezint entitile i const din r+nduri i coloane. > coloan reprezint un atribut al unei entiti ce mai poart i denumirea de c+mp sau proprietate. Dn r+nd reprezint un tuplu care este o instan a unui tip de entitate sau de relaie sau orice altceva din baza de date. "e obicei una dintre coloanele tabelului este numit c:eie primar i are o valoare unica. %implitatea modelului bazei de date relaionale const din simplitatea conceptelor cu care opereaz: structuri simple i abstracte de date, independena fizic de date, cadrul puternic, general i realist oferit aplicaiilor .a.m.d. $odelul relaional ofer o interfa fle*ibil ce este prevzut cu cele mai potrivite componente necesare oricrui utilizator la toate nivelele, oferind o mare independen a datelor 4produsul obinut este relativ independent de implementarea intern9. 7aza de date relaional const din unul sau mai multe relaii sau tabele. 'rincipalele concepte ale modelului relaional sunt: 1. Atributul @ este o coloan ce are un nume propriu i unic ntr3o relaie 4c+mp9. 0iecare relaie conine o list de atribute 4sau coloane9 definite pe un anumit domeniu. !. "omeniul @ reprezint setul posibil de valori pe care l poate avea unul sau mai multe atribute. #. ;uplu @ un r+nd din cadrul unei relaii 4 nregistrare9. Dn r+nd dintr3un tabel reprezint asocierea dintre seturile de valori. 0iecare relaie conine un set de tupluri 4sau r+nduri9. &. )ntensia @ structura unei relaii mpreun cu specificaiile i constr+ngerile de domeniu aplicate. %e modific rar. (. 8*tensia @ starea relaiei 4valorile din cadrul unei relaii se pot modifica9. Reprezint coninutul curent al bazei de date ce corespunde sc:emei bazei de date i se modific frecvent. ,. <radul @ numrul de atribute dintr3o relaie. -. Cardinalitatea @ numrul de tupluri dintr3o relaie. .. 7aza de date relaional @ reprezint o colecie de relaii ce pot fi modificate 4tabele9. > astfel de colecie este descris sub forma unui set de sc:eme de relaii din cadrul bazei de date, numite sc:eme relaionale ale bazei de date.

11. (odele logice orientate pe obiecte. (odelul entitate/rela ie. (odelul orientat pe obiecte. (odelul obiectual/rela ional "escriu datele la nivelele conceptual i e*tern oferind o fle*ibilitate ridicat. Astfel de modele pot specifica n mod e*plicit constr+ngerile aplicate datelor i se bazeaz pe urmtoarele concepte: entitate @ un obiect sau concept din lumea real ce are identitate proprie= atribut @ un set de proprieti utilizate la descrierea entitilor= relaie @ o asociere ntre dou sau mai multe entiti. "in aceast categorie fac parte: a. modelul entitate3relaie= b. modelul orientat pe obiecte= c. modelul obiectual3relaional= d. modelul binar= e. modelul semantic de date= f. modelul infologic= g. modelul funcional de date. "intre acestea se remarc modelele urmtoare: (odelul entitate/rela ie %e bazeaz pe o percepie a lumii reale ca fiind alctuit dintr3o colecie de obiecte de baz sau concepte 4entiti9 mpreun cu relaiile care se stabilesc ntre ele. 0iecare entitate are asociat un set de atribute care o descriu, iar o relaie reprezint o asociere dintre dou sau mai multe entiti. $ulimile tuturor entitilor sau relaiilor de acelai tip sunt cunoscute sub denumirea de tipuri de entiti sau relaii. Dn alt element important n cadrul diagramelor entitate3relaie l reprezint precizarea constr+ngerilor de cardinalitate care e*prim numrul de entiti asociate altui tip de entitate prin intermediul unui tip de relaie. (odelul orientat pe obiecte Dn astfel de model este utilizat doar n scopuri speciale, cele mai cunoscute produse de acest tip fiind: >bject%tore, <emstone, >ntos, >!, Masmine, Cac:e. $odelul se bazeaz pe o colecie de obiecte, la fel ca n cazul modelului entitate3relaie. Dn obiect conine valorile nmagazinate n cadrul unor variabile instaniate n interiorul acestor obiecte. %pre deosebire de modelul entitate3relaie, valorile sunt ele nsele obiecte. Astfel de obiecte conin alte obiecte imbricate p+n la un nivel oarecare. >biectul mai conine elemente de cod ce opereaz asupra acestuia i care se numesc metode. >biectele ce conin acelai tip de valori i aceleai metode sunt grupate n clase. > clas poate fi interpretat ca fiind definiia de tip a obiectului respectiv. %ingura modalitate prin care un obiect poate accesa datele altui obiect este prin invocarea metodelor acelui obiect, ceea ce este cunoscut sub numele de trimitere de mesaje ctre obiectul respectiv. 'rile interne ale obiectului respectiv, variabilele i metodele, nu sunt vizibile n e*terior, obin+ndu3se astfel dou nivele de abstractizare a datelor . %pre deosebire de entitile din modelul entitate3relaie, fiecare obiect are un identificator unic indiferent de valorile pe care le conine. "ou obiecte ce au aceleai valori sunt distincte (polimorfism . "istincia se menine i la nivelul fizic prin atribuirea unui identificator unic al obiectului respectiv. $odelul orientat pe obiecte are toate caracteristicile limbajului de programare orientat pe obiecte, fc+nd ca modelul relaional s fie cobor+t la stadiul de depozit de date. 8senial pentru un astfel de model este faptul c proiectantul bazei de date poate opera cu fiecare element al bazei de date, inclusiv cu setul de operaii ce manipuleaz datele din cadrul bazei de date n cadrul aplicaiei scrise ntr3un limbaj orientat pe obiecte. "e aceast dat ns nu mai e*ist o separare clar ntre date i aplicaie. %pre deosebire de modelul relaional, care are un suport teoretic e*trem de solid, modelul orientat pe obiecte nu prezint o astfel de caracteristic, ceea ce face s nu e*iste un consens n definirea lor. ;otui, organizaia >$< 4>bject $anagement <roup9 a depus mari eforturi, reuind s propun un model ce a devenit standard pentru toate sistemele de gestiune a bazelor de date orientate pe obiecte.

(odelul obiectual/rela ional Acest model 4cunoscut iniial sub numele de model de date relaional e*tins9 a e*tins modelul relaional prin introducerea unor serii de elemente i caracteristici specifice modelului obiectual, cum ar fi: clase, ncapsulare, motenire. Cele mai cunoscute produse de pe pia sunt: 'ostgres, )nformi*, "7!, >racle. %copul acestei e*tinderi a fost acela de a permite bazelor de date relaionale s opereze cu tipuri comple*e de date, cum ar fi: imagini audio, video, elemente de proiectare. $odelul se afl nc la stadiul incipient de dezvoltare, c:iar dac este promovat de cei mai mari productori de pe pia de produse de baze de date. 12. 0aze de date distribuite Adevratul sens al atributului NdistribuitO n conte*tul %<7"3urilor corespunde nu faptului c sistemul permite accesarea datelor de la distan 4prin reea9, ci acelor implementri care ngduie aplicaiilor i utilizatorilor s trateze baza de date ca pe un singur depozit logic c:iar dac datele constituente sunt repartizate n mai multe locaii ale reelei 4transparena complet a localizrii datelor9. ;otui problema este delicat i pentru c 3 din punctul de vedere al analizei 3 se poate oric+nd crea o aplicaie care s trateze unitar tabele de date situate pe calculatoare diferite. "ar pentru c adevrata baz de date se dorete independent de limbaje 4sau de mediile de dezvoltare9 sunt de apreciat acele %<7"3uri care conin integrate funcionaliti care s asigure distribuirea datelor n nodurile reelei. Pin+nd cont c de obicei volumul i comple*itatea datelor spulber idealul Nun computer foarte performant cumul+nd ntreaga baza de date i deservind toi utilizatorii ntreprinderiiAorganizaieiO i trebuie gsit o soluie de compromis, devine foarte interesant colecia de criterii practice de distribuire a datelor n cazul fiecrei implementri, particularitile cer+nd un optim jalonat de urmtoarele aspecte: 3 nu trebuie niciodat pierdut din vedere dezideratul vitezei= 3 limita de stocare i puterea calculatoarelor gazda= 3 limita de transfer a reelei= 3 preferabil ca fiecare aplicaie s acceseze uzual un singur depozit al bazei de date 4fr a mpiedica accesarea cu frecven redusa a celorlalte noduri ale reelei9= 3 folosirea funciilor tHo3p:ase3commit e*istente pentru a asigura integritatea datelor actualizate distribuit= 3 planificarea, controlul i minimizarea duplicrii de obiecte ale bazei de date= 3 corelarea organizrii cu facilitile de optimizare distribuit ale %<7"3ului. Cercetatorul C:ris "ate 4coleg de proiecte cu 8.0. Codd9 a enunat cele 1! cerine ideale crora trebuie s li se supun bazele de date distribuite= dintre acestea / sunt urmtoarele: 1. Autonomia local: datele locale sunt deinute i administrate local 3 nici un post nu depinde de altele pentru a funciona. 1. ;oate posturile sunt egale: nici un post nu se bazeaz pe o staie central. 0uncionare ne ntrerupt: nu trebuie s fie necesar o oprire planificat 4instalrileAtergerile efectuate la un post nu afecteaz funcionarea celorlalte9. !. ;ransparena amplasrii: utilizatorii nu sunt obligai s tie unde sunt amplasate datele pentru a le e*trage. ;ransparena fragmentrii: relaiile dintre componentele bazei de date pot fi fragmentate pentru stocare, dar acest lucru rm+ne transparent pentru utilizator. #. ;ransparena duplicrii: relaiile i fragmentele pot fi reprezentate fizic prin copii multiple stocate separat, dar transparent pentru utilizator. &. 'relucrarea interogrilor distribuite: operaiile de citireAscriere se pot desfura la mai multe posturi, permi+nd optimizarea locala i global a interogrilor. (. Actualizrile distribuite: tranzaciile singulare pot e*ecuta codul la mai multe posturi. ,. )ndependena de :ardHare: toate calculatoarele particip ca membri egali. -. )ndependena de sistemul de operare: sunt suportate mai multe sisteme de operare conectabile la reea. )ndependena de reea: sunt suportate mai multe reele prin protocoale comune. .. )ndependena de bazele de date: se asigur accesul uniform 4interfaare unic9 pentru datele provenind din %<7"3uri diferite. 13. 1ormalizarea. Lormalizarea reprezint proiectul logic al unei baze de date. 'rincipalul obiectiv al unui proiect logic este dezvoltarea sc:emelor relaionale corecte. ?n acest scop trebuie: - evitate datele redundante= - evitate anomaliile de modificare= - asigurat reprezentarea relaiilor dintre atribute=

- facilitat verificarea actualizrilor care nu trebuie s foreze integritatea bazei de date. Lormalizarea este un proces de reducere a redundanelor i cretere a stabilitii unei baze de date. 8*istena redundanelor ntr3o baz de date produce urmtoarele efecte defavorabile: - pierdere inutil de spaiu= - scderea performanelor de cost= - apariia inconsistenelor= - imposibilitatea reprezentrii datelor. Lormalizarea presupune determinarea locului n care trebuie plasate anumite date n cadrul tabelelor bazei de date, stabilind totodat relaiile dintre acestea. 'rin cuv+ntul OnormQ se nelege respectarea unui standard i reprezint setul de condiii impuse i cunoscute sub denumirea de forme normale. 'entru a respecta aceste reguli trebuie identificate condiiile care trebuie respectate n scopul evitrii nclcrii integritii datelor impun+ndu3se n acest scop descompunerea relaiilor. "enormalizarea este procesul invers, opus normalizrii efectuat cu scopul mbuntirii performanelor bazei de date. !ormalizarea este, cu alte cuvinte, un proces de descompunere a unui tabel n dou sau mai multe tabele cu scopul eliminrii redundanelor care genereaz anomalii de actualizare. ?n timpul procesului de normalizare, structura tabelelor se testeaz cu ajutorul formelor normale care impun regulile de descompunere. > form normal reprezint, cu alte cuvinte, un set specific de reguli ce pot fi utilizate n scopul testrii structurii unui tabel pentru a obine asigurarea c structura respectiv nu pune probleme la introducerea sau e*tragerea datelor. 0ormele normale folosite n mod curent sunt 'rima, A doua, A treia form normal, 0orma normal 7oFce3 Codd, A patra i A cincea form normal. 1". )orme normale %unt proprieti sau constr+ngeri aplicate unei sc:eme de relaie cu scopul de a atinge anumite obiective, cum ar fi reducerea redundanelor. 8*ist , forme normale aplicate de obicei: RS'rima form normal 4sau 0L 19. RSA doua form normal 4sau 0L !9. RSA treia form normal 4sau 0L #9. RS0orma normal 7oFce Codd 4sau 0L7C9. RSA patra form normal 4sau 0L &9. RSA cincea form normal 4sau 0L (9. 0iecare dintre cele , forme normale este mai restrictiv ca predecesoarea sa. Astfel, de e*emplu, o sc:em de relaie aflat n forma normal trei este i n forma normal doi, aa cum se reprezint n figura de mai jos:

0L 1

0L !

0L #

0L7C 0L &

0L (

0igura #.1. 0orme normale %copul formelor normale este acela de a elimina redundanele din cadrul relaiilor prin descompunerea acestora n dou sau mai multe relaii, fr ns a pierde informaie, ceea ce nseamn faptul c este posibil, n orice moment, revenirea la relaia originar doar pe baza relaiilor obinute din descompunere. 'rima form normal 40L 19 %copul formei normale unu este acela de a simplifica structura unei relaii prin obinerea asigurrii c ea nu conine date care mai pot fi descompuse sau date generatoare de valori repetitive, ceea ce nseamn faptul c nici un atribut nu poate avea o mulime de valori. 'rin aciunea specific de descompunere, atributele ce nu

respect aceste condiii sunt plasate n relaii separate, pstr+ndu3se atribute de legtur care au acelai tip de dat i aceeai dimensiune. 0iecare tabel are o c:eie primar. "e asemenea, o sc:em relaional " se afl n forma normal unu dac i numai dac fiecare atribut se afl la nivel atomic. A doua form normal 40L !9 > dependen funcional # $ se spune c este o dependen funcional complet dac prin eliminarea unui atribut din # se pierde aceast dependena. > sc:em relaional se afl n forma normal doi dac i numai dac fiecare atribut care nu face parte din c:eie depinde funcional de ntreaga c:eie. Cu alte cuvinte, o relaie se afl n forma normal doi dac i numai dac se afl n forma normal unu i dac depinde funcional de ntreaga c:eie. Altfel relaia trebuie descompus. A treia form normal 40L #9 > relaie se afl n forma normal trei dac i numai dac se afl n forma normal doi i dac fiecare atribut care nu face parte din c:eie nu depinde tranzitiv de aceasta. 'rin urmare, fiecare atribut care nu face parte din c:eie nu poate depinde funcional dec+t de aceasta. 'entru a ajunge din forma normal doi n forma normal trei este necesar s: - se determine dependenele funcionale dintre atribute= - se descompun relaia n alte relaii, fr a pierde ns informaie. 0orma normal 7oFce3Codd > sc:em de relaie " se afl n 0L7C dac, pentru toate dependenele funcionale ce au loc n " i sunt de forma # $ n care " # i " $ sunt ndeplinite condiiile: - # %$ este trivial. - # este o c:eie candidat a sc:emei de relaie " astfel nc+t # %". Cu alte cuvinte, fiecare atribut trebuie s depind de c:eie, de ntreaga c:eie i de nimic altceva. 0L7C este o generalizare a formelor normale doi i trei. "e remarcat este faptul c nu ntotdeauna este posibil descompunerea n 0L7C cu pstrarea dependenelor. 0orma normal patru 40L &9 0orma normal patru se bazeaz pe conceptul de dependen multivaloric. > dependen multivaloric apare doar n relaiile ce au cel puin trei coloane. "ac una dintre coloane are r+nduri ale cror valori corespund unei singure valori ale unui r+nd dintr3o alt coloan, atunci se spune c a aprut o dependen multivaloric. > relaie se afl n forma normal patru dac i numai dac se afl n forma normal 7ozce3 Codd i dac nu are dependene funcionale multivalorice. A cincea form normal 40L (9 A cincea form normal se bazeaz pe conceptul de dependen de cuplare. "ependena de cuplare este o proprietate ce garanteaz c nu se genereaz nregistrri false la reunirea relaiilor obinute prin descompunere. > relaie se afl n forma normal cinci dac ea nu poate fi descompus n alte relaii fr a pierde informaie. Cu alte cuvinte, dac se adaug un r+nd suplimentar unei relaii care nu se afl n forma normal cinci i dac aceast relaie se descompune n alte relaii, prin refacerea relaiei iniiale se obin nregistrri false. 1$. 2egulile lui &odd. 3articularizare 1/$, '/+ 8dgar 0. Codd a murit n data de 1. aprilie !11#, la v+rsta de -/ de ani. Codd a fost un cercettor, angajat al firmei )7$, care a dezvoltat pentru prima oar, n 1/-1, modelul relaional al bazelor de date n care prezint operaiile ce pot fi efectuate asupra unei baze de date cu scopul obinerii accesului rapid i corect la acestea. Dn model al unei baze de date are n vedere modul de stocare a datelor c+t metodologia folosit la e*tragerea i actualizarea acestora. 'e parcursul anilor T,13U-1 Codd a cutat s rezolve problemele induse de modelul ierar:ic al bazelor de date care se folosea la )7$ n acea perioad. Rezultatul acestor cercetri s3a materializat n promovarea modelului relaional ca o soluie alternativ a modelului ierar:ic care se bazeaz pe teoria matematic a mulimilor.

2egula in4orma iei ;oate informaiile transferate n cadrul unei baze de date relaionale trebuie reprezentate n mod e*plicit la nivel logic ntr3o singur modalitate, sub form de valori n cadrul unor tabele. Aceasta este, ceea ce se numete, reprezentare logic a datelor. 0iecare linie sau tuplu dintr3un tabel 4relaie9 reprezint intrri n coloane modelul aplic+ndu3se la fel n ntregul tabel astfel nc+t fiecare r+nd are acelai format. 0iecare linie din cadrul tabelului este identificat prin intermediul valorii unei coloane sau combinaii de coloane, numit c:eia primar. 0iecare r+nd din cadrul tabelului poate fi accesat prin intermediul unei c:ei e*terne. 2egula de garantare a accesului 0iecare dat stocat ntr3o baz de date relaional trebuie s poat fi logic accesibil utilizatorului prin apelarea numelui tabelului n care se afl, prin valoarea c:eii primare i prin numele unei coloane aparintoare tabelului respectiv. Accesul la date trebuie s se fac simplu, fr a e*ista ambiguiti n e*primare. $odelul relaional nu se preocup de aspectele fizice ale e*tragerii datelor din tabele. Aceast regul afirm faptul c utilizatorul trebuie s aibe acces la datele stocate n baza de date doar prin intermediul numelor i valorilor. C:eia primar, prin care se identific n mod unic o anumit nregistrare din cadrul unui tabel, reprezint elementul fundamental al modelului relaional. ntr3un tabel nu poate e*ista dec+t o singur c:eie primar care nu are voie s primeasc valori LD66. 5alorile 16## 2alorile LD66 4diferite de irul de lungime zero sau de numrul zero9 sunt utilizate n cadrul sistemelor de gestiune a bazelor de date relaionale pentru a reprezenta informaia lips sau indisponibil la un moment dat, indiferent de tipul de dat i sunt obligatorii n orice sistem complet relaional. "e asemenea, astfel de reprezentri trebuie s poat fi manipulate ntr3un mod sistematic i fr ec:ivoc de ctre orice sistem de gestiune al bazelor de date relaionale 4"ate, 1//19. > valoare LD66 poate apare oriunde n cadrul sistemului de gestiune al bazelor de date relaional, dar nu poate fi atribuit nici unei c:ei primare, majoritatea sistemelor admi+nd specificarea conceptului de c+mp nenul sub forma unei constr+ngeri ce interzice folosirea valorilor LD66 n c+mpul respectiv 4'arI:urst, !11!9. &atalog actualizat permanent pe baza modelului rela ional "escrierea bazei de date este reprezentat, la nivel logic, n acelai fel ca i datele obinuite, astfel nc+t utilizatorii autorizai pot folosi acelai limbaj relaional pentru a pune ntrebri referitoare la structura acesteia. %istemul trebuie s suporte e*istena unui catalog relaional accesibil utilizatorilor autorizai prin intermediul aceluiai limbaj de interogare folosit i n cazul datelor obinuite 4"ate, 1//19. > baz de date relaional trebuie s se autodescrie 4$oore9. Catalogul reprezint locul n care @ alturi de alte lucruri @ se pstreaz toate sc:emele 4e*terne, conceptuale, interne9, dar i toate corespondenele 4e*ternAconceptual, conceptualAintern9. Cu alte cuvinte, catalogul conine informaii detaliate 4numite i metadate9 despre obiectele de interes ale bazei de date i ale ntregului sistem 4"ate, !1119. 2egula de ,n elegere a sublimbajului de manipulare a datelor Dn sistem relaional poate folosi mai multe limbaje sau moduri de folosire a terminalelor, dar acesta trebuie s suporte cel puin un limbaj relaional care: 1. are sinta* liniar= !. poate fi folosit at+t interactiv c+t i din cadrul altor programe aplicaie= #. suport: - operaii de definire a datelor 4inclusiv definirea i folosirea vederilor9= - operaii de manipulare a datelor 4e*trageri de date, dar i actualizri9= - constr+ngeri de integritate i securitate= - operaii de gestiune a tranzaciilor 4 nceput, sf+rit, reluare9. ?n realitate toate sistemele comerciale de gestiune a bazelor de date relaionale folosesc limbajul structurat de interogare 4%569.

2egula de actualizare a vederilor > vedere este un tabel virtual, care provine din cel puin un tabel de baz i genereaz o serie de reprezentri ale datelor vizibile utilizatorilor. ;abelele de baz sunt tabelele reale ale bazei de date, cu reprezentare concret n mediul de stocare. "eoarece vederile nu nmagazineaz date ci interogri, acestea sunt numite tabele virtuale 4Mo:nson, 1//-9. "ate a luat n discuie dou principii importante ce trebuie avute n vedere la actualizarea unei vederi: &rincipiul interschimbabilitii care afirm faptul c nu trebuie s se fac nici un fel de deosebire ntre tabelele de baz i vederi i &rincipiul relativitii bazei de date prin care tabelele bazei de date sunt considerate a fi tabele de baz din punct de vedere al utilizatorului 4"ate, !1119. 7nserarea, actualizarea 8i eliminarea "atele pot fi e*trase din cadrul unei baze de date relaionale sub forma unor mulimi de date alctuite pe baza r+ndurilor din unul sau mai multe tabele. >peraiile de inserare, actualizare i tergere trebuie s fie aplicate pe orice astfel de mulime la fel cum se aplic i pe un singur r+nd dintr3un tabel 4'arI:urst, !11!9. 7ndependen a 4izic! de date Acest lucru se refer la faptul c programele aplicaie nu trebuie s fie afectate dac au loc modificri n reprezentarea stocrii datelor sau n metodele de acces la date. 'rogramele aplicaie sunt imune la modificrile ce au loc n reprezentarea loc fizic sau n metodele de acces la date 4AverF9. Aceasta nseamn faptul c structura fizic a datelor nu trebuie s provoace probleme utilizatorului care lucreaz cu acele date. 7ndependen a logic! de date 'rogramele aplicaie nu trebuie s fie afectate atunci c+nd au loc modificri n structura tabelelor bazei de date, dac modificrile nu le afecteaz n mod direct. > vedere a utilizatorului asupra datelor nu trebuie s fie afectat nici ea n cazul modificrii structurii logice a unei baze de date . "ate a definit independena logic de date ca reprezent+nd imunitatea utilizatorilor 'i a programelor acestora la modificrile efectuate n structura logic a unei baze de date . ?n esen, asupra unei baze de date au loc dou tipuri de operaii: de adugare de coloane sau tabele i de modificare a structurii tabelelor sau bazei de date. Lici una dintre cele dou operaii nu trebuie s afecteze utilizatorii sau programele acestora. 7ndependen a de distribuire >rice baz de date relaional trebuie s aibe independen la distribuire, ceea ce nseamn faptul c utilizatorii nu trebuie s tie c o baz de date este distribuit, iar aplicaiile e*istente ce folosesc respectiva baz de date trebuie s funcioneze la fel ca i c+nd baza de date ar fi centralizat: a. dac se introduce anterior o versiune modificat a unei baze de date distribuite= b. dac datele distribuite e*istente se redistribuie n tot sistemul 4"ate, 1//19. Aplicaia funcioneaz unitar din punct de vedere logic, dac datele sunt gestionate de un singur sistem de gestiune a bazelor de date aflat pe o singur main "ate a introdus 1! reguli ce se aplic bazelor de date distribuite: 1. Autonomia local @site3urile din sistemul distribuit trebuie s fie independente. !. Lu trebuie s e*iste un site dominant @ toate site3urile trebuie s fie tratate n mod egal. #. >perare continu @ sistemele distribuite trebuie s aibe o fiabilitate i o disponibilitate ridicate. &. )ndependena de locaie @ utilizatorii nu trebuie s tie unde se afl datele pe care le folosesc. (. )ndependena de fragmentare @ utilizatorii nu trebuie s tie c datele sunt separate n diferite locaii. ,. )ndependena de copie @ utilizatorii nu trebuie s tie c lucreaz cu nite copii. -. 'rocesarea distribuit a interogrilor @ suportul necesar interogrilor multiple i a optimizrii acestora. .. Controlul tranzaciilor distribuite @ refacerea i controlul concurenei. /. )ndependena :ardHare. 11. )ndependena de sistemul de operare folosit. 11. )ndependena de reea. 1!. )ndependena de sistemul de gestiune al bazei de date @ se refer la omogenitate. 4"ate, !1119.

2egula de non/subversiune "ac un sistem relaional are un limbaj de nivel sczut 4procesarea pe r+nd a unei singure nregistrri odat9, acel limbaj nu poate fi folosit pentru a trece de interdiciile impuse de constr+ngerile sistemului e*primate
Colectarea i analizarea cerinelor Cerine funcionale Analiza funcional
%pecificaiile de nivel nalt ale tranzaciilor Cerinele bazei de date

'roiectul conceptual

%c:ema conceptual

Alegerea %<7"
'roiectarea aplicaiei program %c:ema conceptual 4la cel mai nalt nivel al modelului de date9

'roiectul logic 4transformarea modelului de date9 %c:ema logic 4conceptual9 4specific %<7"9

)mplementarea tranzaciilor

'roiectul fizic
'rototipul %c:ema intern

)mplementarea

;estarea

$entenana

prin intermediul limbajului relaional de nivel nalt 4procesarea ntregului set de nregistrri deodat9. Lu trebuie s e*iste nici o modalitate prin care s se poat modifica structura bazei de date alta dec+t prin intermediul unui limbaj relaional, cum ar fi de e*emplu, %56 4'arI:urst, !11!9. > alt modalitate de definire a unei baze de date relaionale este aceea fcut prin intermediul celor cinci reguli ale lui ConnollF, ce se bazeaz pe cele 1! reguli ale lui Codd 41///9: 1. Reguli fundamentale 4R1!9 !. Reguli structurale 4R1, R,9 #. Reguli de integritate 4R#, R119 &. Reguli de manipulare a datelor 4R!, R&, R(, R-9 (. Reguli de independen a datelor 4R., R/, R119 1%. &iclul de via ! al unei baze de date Ciclul de via al unei baze de date reprezint setul de pai, te:nici, metode i instrumente utilizate pentru transpunerea modelului de date ntr3un model fizic. 8lmasri i Lavat:e au propus un proces pe care l3am completat cu etape suplimentare astfel: 0igura 1. Ciclul de via al unei baze de date

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