Sisteme de Gestiune a Bazelor de Date Relationale

download Sisteme de Gestiune a Bazelor de Date Relationale

of 9

Transcript of Sisteme de Gestiune a Bazelor de Date Relationale

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    1/9

    CAPITOLUL 2

    SISTEME DE GESTIUNE A BAZELOR DE DATE RELAIONALE (SGBDR)

    2.1. Definirea SGBDR

    2.2. Caracterizarea SGBDR

    2.3. Exemple de SGBDR

    2.4. Avantajele i limitele sistemelor relaionale

    2.1. Definirea SGBDR

    SGBDR este un sistem software complet care implementez modelul de date relaional,precum i cel puin un limbaj relaional.Teoria relaional este un ansamblu de concepte ,metode i instrumente care a dat ofundamentare riguroas realizrii de SGBDR performante.Paralelantre conceptele utilizate n evoluia organizrii datelor n memoria extern pnla sistemele relaionale.

    FIIERE TEORIA BD TERIARELAIONAL

    SGBDR

    Fiier Colecie de date Relaie Tabelanregistrare Familie de

    caracteristiciTuplu Linie

    Cmp Caracteristic Atribut ColoanValoare Domeniu de valori Domeniu Domeniu

    Regulile lui Codd

    E.F. Codd (cercettor la IBM) a formulat 13 reguli care exprim cerinele maximalepentru ca un SGBD s fie relaional.Regulile sunt utile pentru evoluarea performanelor unui SGBDR.

    R0. Gestionarea datelor la nivel de relaie: limbajele utilizate trebuie s opereze curelaii (unitatea de informaie).

    R1. Reprezentarea logic a datelor: toate informaiile din BD trebuie stocate iprelucrate ca tabele.

    - 1 -

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    2/9

    R2. Garantarea accesului la date: LMD trebuie s permit accesul la fiecarevaloare atomic din BD (tabel, coloan, cheie).

    R3. Valoarea NULL: trebuie s se permit declararea i prelucrarea valorii NULLca date lips sau inaplicabile.

    R4. Metadatele: informaiile despre descrierea BD se stocheaz n dicionar i

    trateaz ca tabele ,la fel ca datele propiu-zise.R5. Limbajele utilizate: SGBD trebuie s permit utilizarea mai multor limbaje,dintre care cel puin unul s permit definirea tabelelor (de baz i virtuale), definirearestriciilor de integritate, manipularea datelor, autorizarea accesului, tratareatranzaciilor.

    R6. Actualizarea tabelelor virtuale: trebuie s se permit ca tabelele virtuale s fiei efectiv actualizabile, nu numai teoretic actualizabile (exemplu atributul valoare dintr-o tabel virtual nu poate fi actualizat).

    R7. Actualizrile n baza de date: manipularea unei tabele trebuie s se fac prinoperaii de regsire dari de actulizare.

    R8. Independena fizic a datelor: schimbarea stucturii fizice a datelor (modul de

    reprezentare (organizare) i modul de acces) nu afecteaz programele.R9. Independena logic a datelor: schimbarea structurii de date (logice) atabelelor nu afecteaz programele.

    R10. Restriciile de integritate: acestea, trebuie s fie definite prin LDD i stocaten dicionarul (catalogul) BD.

    R11. Distribuirea geografic a datelor: LMD trebuie s permit ca programele deaplicaie s fie aceleai att pentru date distribuite ct i petru date centralizate (alocareai localizarea datelor vor fi n sarcina SGBD-ului).

    R12. Prelucrarea datelor la nivel de baz (sczut): dac SGBD posed un limbaj de nivel sczut(prelucrarea datelor se face la nivel de nregistrare), acesta nu trebuie utilizat pentru a evita restriciile deintegritate.

    2.2. Caracterizarea SGBDR

    Sistemele relaionale ndeplinesc funciile unui SGBD cu o serie de aspecte specifice carerezult din definirea unui SGBDR.Caracterizarea SGBDR (FIG. 9.1) se poate face pe dou niveluri :

    1) Global, unde sistemele relaionale sunt privite ca o categorie distinct deSGBD.

    2) Particular, unde fiecare SGBDR are aspecte individuale comparativ cu altelesimilare.

    1) Caracterizarea global a SGBDRCteva dintre mecanismele i instrumentele care, dup modul cum sunt implementate,ajut la caracterizarea global a SGBDR-urilor sunt:

    a) Limbajele relaionaleb) Protecia datelorc) Optimizarea cererilor de regsire

    - 2 -

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    3/9

    d) Utilitarele specializatea) Limbajele relaionale

    SGBDRoferseturi de comenzi pentru descrierea i manipularea datelor. Acestea pot fi

    incluse ntr-un singur limbaj relaional (cazul cel mai ntlnit) sau separate n LDD iLMD. n ambele situaii, comenzile pentru definirea datelor sunt distincte de cele pentrumanipularea datelor.Exemple de limbaje relaionale: SQL (Structured Querry Language-standarde ncepndcu 1985), QUEL, QBE, SQUARE, ALPHA, ISBL.

    a1) Limbajele relaionale de definire a datelor (LDD) Aceste limbaje sunt simplificate, cu puine comenzi. Descrierea datelor este memorat n BD, sub form de tabele, n

    dicionarul (metabaza) bazei de date. Faciliti de descriere sunt prezente n SGBDR prin comenzi, care

    definesc anumite operaii, la nivelurile: conceptual, logic, fizic.La nivel conceptual Crearea unei BD: CREATE DATABASEUnele sisteme suport noiunea explicit de BD (Oracle, VFP, Ingres) altele nu(Foxpro 2.x). tergerea unei BD: DROP DATABASE Crearea tabelelor de baz: CREATE TABLE tergerea tabelelor de baz: DROP TABLE Crearea de sinonome: CREATE SYNONYMSinonimele sunt alternative (de obicei prescurtate) la numele unor tabele. tergerea sinonimeleor :DROP SYNONYM Actualizarea structurii unei tabele :ALTER TABLE cu opiunileADD,MODIFY (nu are opiuni de tergere) Adugarea restriciilor de integritate :ASSERT ONRestriciile de integritate se declar la cererea tabelelor .Ele pot fi ulterioractualizate n sens de adugare (comanda ASSERT) sau tergere (opiunea DROPdin comanda ALTER TABLE).n Oracle restriciile sunt:NULL, CHECK,pecheie (PRIMARY , UNIQUE, REFERENTIAL -cheie extern).La nivel logic Crearea tabelelor virtuale: CREATE VIEWTabelele virtuale (viziunile) reprezint, la nivel logic, modul cum vede unutilizator, la un moment dat, o baz de date. O viziune este de fapt o comand

    SELECT memorat n dicionarul BD i apelat apoi de utilizator. tergerea tabelelor virtuale: DROP VIEW. Acordarea drepturilor de acces la BD:

    GRANT CONNECT conectarea la BD a unui utilizator.GRANT drepturi acordarea unor drepturi de acces (pentru regsire,

    actualizare etc). Retragerea drepturilor de acces la BD:

    REVOKE drepturi retragerea unor drepturi

    - 3 -

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    4/9

    REVOKE CONNECT deconectarea unui utilizator de la BDLa nivel fizic Crearea indecilor: CREATE INDEXIndexarea se folosete n BD pentru accesul la date ordonate i pentru accesuldirect dup cheie. n unele sisteme (exemplu Oracle), dac la creare s-a declarat

    cheie primar atunci sistemul creeaz automat index. tergerea indecilor: DROP INDEX Controlul alocrii spaiului fizic al BD:

    CREATE PARTITION crearea unei partiiiALTER PARTITION actualizare a unei partiii cu fiiere.CREATE SPACE creeaz un model de alocare a spaiului fizic

    pentru o BD (bun pentru optimizri)ALTER SPACE actualizarea modelului de alocareDROP S PACE terge un model de alocare

    Regruparea fizic a datelor dintr-o BD (clustere pentru acces rapid la date):CREATE CLUSTER creeaz un cluster dintr-o BD

    ALTER CLUSTER actualizeaz un clusterDROP CLUSTER terge un cluster

    a2 ) Limbajele relaionale de manipulare a datelor (LMD)

    Aspectele care pot caracteriza LMD sunt diverse i din acest motiv, le putem grupa n treicategorii:

    - generale- funcionale- calitativeCaracterizarea general a LMD

    1. Modul de tratare a datelor. Toate LMD relaionale realizeaz o tratare la nivelde ansamblu a datelor: unitatea de informative pentru lucru este tabela. Avantajele suntdate de :

    - posibilitatea gestionrii automat a tuplurilor duplicate;- prelucrarea paralel a asamblurilor.

    La comunicarea unui LMD relational cu un limbaj universal, avantajele se pierd deoarececomunicarea se poate face doar tuplu cu tuplu i nu la nivel de ansamblu. Deoarecelimbajele universale ofer alte avantaje legate de proceduralitate, soluia este de a integran acestea un limbaj relaional.Cursoruleste soluia n SGBDR pentru a face trecerea de la tratarea la nivel de ansamblula cea la nivel de nregistrare (tuplu).

    CREATE CURSOR se creaz un pointer spre tuplurile ansamblului(tabelei).FETCH transmite un tuplu indicat printr-un cursor, ctre program i

    deplaseaz cursorul spre urmatorul tuplu.2. Operatorii relaionali implementai. SGBDR s-au dezvoltat, din punct de

    vedere relaional, avnd la baz: calculul relaional orientat pe tuplu (ALPHA, QUEL). calculul relaional orientat pe domeniu (QBE).

    - 4 -

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    5/9

    algebra relaional (ISBL) transformarea (mapping) (SQL, SQUARE)

    Not. Limbajele bazate pe calculul relaional sunt neprocedurale, cele bazate pe algebrarelaional sunt procedurale, celelalte sunt combinaii.

    3.Realizatorii limbajelor relaionale s-au orientat pe domenii precise din teoria

    relaional. Astfel, au rezultat: limbaje relaionale standardizate internaional (exempluSQL - ANSI), limbaje cu standard de utilizare impus de constructor (exemplu QUEL),limbaje nestandardizate (celelalte limbaje relaionale).

    4. Utilizatorii limbajelor relaionale sunt mult diversificai. SGBDR ofer attelemente procedurale (pentru specialiti) ct i neprocedurale (pentru nespecialilti).

    Caracterizarea funcional a LMD1. Faciliti de interogare a datelor. Acestea sunt puternice i oferite prin

    comenzi pentru: Interogarea tabelelor de baz (exemlu SELECT) Interogarea tabelelor virtuale (exemplu SELECT)

    2. Facilitti de actualizare a datelor. Actualizarea tabelelor de baz

    INSERT INTO adaug rnduri la sfritul unei tabele.UPDATE modific rnduri dintr-o tabel.DELETE FROM - terge rnduri dintr-o tabel.

    Actualizarea tabelelor virtuale (la fel ca mai sus).Not. Unele SGBDR nu permit actualizarea tabelelor virtuale (exemplu Foxpro 2.x),altele permit acces lucru cu o serie de restricii pentru ca operaia s se propage spretabelele de baz fr ambiguiti (exemplu DB2, Oracle).

    3. Alte faciliti funcionale. La facilitile relaionale de mai sus, SGBDR-urileoferi alte faciliti pe care le au toate limbajele de programare procedurale:

    Calculul aritmetic prin operatorii specifici: +, -, *, /, ** Agregarea: prin funcii standard (exemplu SUM), prin comenzi

    (exemplu COMPUTE OF expr ). Comenzi de intrare/ieire standard: ACCEPTPROMPT

    Caracterizarea calitativ a LMD1. Puterea selectiva LMD relaionale este dat de posibilitatea selectrii

    datelor dup criterii (filtre) complexe (exemplu comanda SELECT).2. Uurina de nvare i utilizare este nuanat n funcie de tipul LMD-ului

    relaional Cele bazate pe calculul relaional sunt neprocedurale (descriptive),

    deci uor de nvat i utilizat (apropiat, ca stil, de limbajul natural)(exemplu QUEL).

    Cele bazate pe algebra relaional sunt procedurale (algoritmice),deci mai greu de nvat i utilizat (exemplu ISBL).

    Cele intermediare promoveaz stilul neprocedural dar acceptielemente de control procedural (exemplu SQL).

    Cele bazate pe grafic ofer primitive grafice pentru machetareacererilor de regsire, deci uor de utilizat (exemplu QBE).

    - 5 -

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    6/9

    3. Eficacitatea utilizrii este determinat de posibilitatea optimizrii cererilorde regsire. LMD bazate pe calculul relaional las compilatorul s aleag ordinea

    de execuie a operaiilor, deci rezult o eficiena mare. LMD bazate pe algebra relaional au o ordine impus pentru

    execuia operaiilor, deci rezult o eficien mica.b) Protecia datelor

    Aspectele privind protecie a datelor (vezi capitolul 2) sunt foarte importantepentru un sistem de baz de date i ele trebuie asigurate (implementate) de ctreSGBD. Protecia bazei de date se refer la integritatea datelor (integritateasemantic, concurena la date, salvarea/restaurarea) i securitatea datelor(autorizarea accesului, viziunile, procedurile speciale, criptarea). Dintre toateaceste aspecte, ne vom ocupa aici, pe scurt, doar de integritatea semantici deconcurena la date.Integritatea semantic

    Definirearestriciilor de integritate se face, conform cerinelor modeluluirelaional, n LDD (exemplu CREATE TABLE, ALTER TABLE). Utilizarearestriciilor de integritate se face cu ajutorul unor mecanisme

    care controleaz validitatea regulilor pentru fiecare nou stare a BD. Acestemecanisme sunt:

    metode de detectare a inconsistenei datelor (se verific restrciiile deintegritate) la sfritul tranzaciilor, care se realizeaz automat deSGBDR;

    puncte de verificare a integritii fixate de utilizator, acolo undedorete el n program.

    Concurena la date (coerena)

    Unitatea de lucru pentru asigurarea coerenei datelor este tranzacia.Aceasta este un ansamblu de comenzi tratate unitar. Tranzacia se execut ntotalitate sau deloc. Coerena poate fi afectat la actualizarea concurent sau la incidente. Mecanismeleutilizate de SGBDR pentru asigurarea coerenei datelor

    (controlul accesului concurent) sunt (vezi protecia BD n cap.2): blocarea la diferite niveluri: baz de date, tabel, tuplu, atribut; definirea unor puncte de salvare n interiorul tranzaciilor (exemplu

    comanda SAVEPOINT); tranzacii explicite (exemplu, Begin i End Tranzaction ) i implicite

    (exemplu, comenzile de actualizare);

    fiiere jurnal.c) Optimizarea regsirii

    Cererile de regsire se exprim n SGBDR n diferite limbaje relaionale.Pentru a se obine un rezultat optim, se utilizeaz interfee automate de rescriere acererilor de regsire, prin parcurgerea a doipai:

    - 6 -

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    7/9

    Exprimarea cererilor de regsire sub forma unor expresii algebricerelaionale, care are la baz echivalena dintre calculul i algebrarelaional .

    Aplicarea unor transformri algebrice relaionale asupra expresiilorconstruite n pasul anterior, pentru a se obine expresii relaionale

    echivalente i eficiente. Transformarea se poate realiza prin douastrategii de optimizare: generale,specifice.

    - Generale, care sunt independente de modul de memorare adatelor. Ele se bazeaz pe propietile operaiilor din algebra relaional(comutativitatea, asociativitatea, compunerea ). Astfel de strategii sunt:

    Selecia naintea jonciunii Proiecia naintea jonciunii Selecia naintea proieciei Combinarea seleciei multiple

    - Specifice, care in cont de modul de memorare a datelori elesunt caracteristice unui SGBDR. Elementele care influeneaz executareaoperaiilor ce intervin la o cerere de regsire sunt: accesul direct, reguli deordonare a expresiilor algebrice specifice unui SGBDR.

    e) Utilitarele specializate

    Posibilitatile de utilizare ale unui SGBDR sunt influenate de utilitarelespecializate pe care le are, pentru diferitele categorii de utilizatori (exemplu n Oracle:Developer pentru dezvoltatori, Designer pentru analiti, Administration Tools i Utilitiespentru administrator etc.).

    2) Caracterizarea particular a SGBDR

    Pentru a putea caracteriza un anumit SGBDR particular, vom lua n considerare o serie decriterii de comparaie. Aceste criterii se vor urmri, grupate pe anumite categorii, pentructeva SGBDR-uri care ne interseaz. Dup aceast analiz vom avea un argument seriospentru a putea alege un SGBDR n scopul dezvoltrii unei aplicaii cu baze de date .Gruparea caracteristicilor particulare de comparaie a SGBDR-urilor o vom face funciede:

    - Facilitile de descriere a datelor ;- Facilitile de manipulare a datelor ;- Facilitile de utilizare i administrare a datelor.

    Not. Se obeserv c gruparea caracteristicilor s-a facut dupfunciile oricrui SGBDa) Caracteristici funcie de facilitile de descriere: modul de implementare a modelului relaional ; conceptul de baz de date utilizat n schema; definirea metadatelor; definirea relaiilor virtuale; actualizarea schemei relaiei; restricii de integritate ce pot fi declarate.

    - 7 -

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    8/9

    b) Caracteristici funcie de facilitile de manipulare: LMD relaional implementat ; calcul aritmetic i funcii agregate ; moduri de acces la date; programare orientat pe obiecte/vizual; tratarea valorii null; optimizarea cererilor de regsire ; actualizarea relaiilor de bazi virtuale.

    c) Caracteristici funcie de facilitile de utilizare i administrare: dezvoltatoare (generatoare) de diferite tipuri (ecrane, rapoarte,

    aplicaii etc.); elemente de CASE (proiectare); analize statistice; acces de la distan ; utilitare de ntreinere; mecanisme pentru autorizarea accesului la date.

    2.3 Exemple de SGBDR

    ORACLE realizat de firma Oracle Corporation USA. Produs completrelaional, robust, bazat pe SQL standard extins, ajuns la versiunea 9I, extensieorientat obiect, arhitectura client/server, lucrul distribuit, BD Internet,optimizator de regsire.DB2 - realizat de firma IBM, bazat pe SQL, optimizator de regsire, respectteoria relaional, lucrul distribuit, robust.INFORMIX realizat de firma Informix, respect teoria relaional, lucrudistribuit, robust.PROGRESS realizat de firma Progress Software, are limbaj propiu (Progress4GL), suport SQL, ruleaz pe o gam larg de calculatoare sub diferite sistemede operare.SQLServer realizat de firma Microsoft, bazat pe SQL, ruleaz n arhitecturaclient/server.INGRES II realizat de firma Computer Associates, este un SGBDR complet,

    implementeaz dou limbaje relaionale (nti Quel i apoi SQL), este suportat dediferite sisteme de operare (Windows, VMS, UNIX), lucreaz distribuit narhitectura client/server, extensie cu faciliti orientate obiect, permite aplicaii tipInternet, protecia ridicat a datelor, organizarea fizic a tabelelor se face prin

    sistemul de operare, are numeroase componente.VISUAL FOXPRO - realizat de firma Microsoft, are un limbaj proceduralpropiu foarte puternic, extensie orientat obiect, programare vizual, nucleuextins de SQL, raqpid.ACCESS realizat de firma Microsoft, bazat pe SQL, are limbajul proceduralgazd (Basic Access), are generatoare puternice.PARADOX- realizat de firma Borland, are limbaj procedural propiu (PAL) isuport SQL.

    - 8 -

  • 8/7/2019 Sisteme de Gestiune a Bazelor de Date Relationale

    9/9

    2.4 Avantajele i limitele sistemelor relaionale

    Avantaje

    1.

    Simplitatea conceptelori a schemei .2. Teoria relaional ofer un solid suport teoretic i o baz pentru cercetriulterioare.

    3. Un grad mare de independen a datelor fa de programe.4. Limbajele relaionale declarative (de nivel nalt) cu o mare putere de

    regsire.5. Ameliorarea semnificativ a proteciei datelor, sub toate aspectele.6. Optimizarea semnificativ a accesului la date, precum i a alocrii datelor.7. Manipularea de ansambluri de date prin operatorii din calculul sau algebra

    relaional, cu implicaii importante pentru regsirea datelor.

    Limite1. Prea marea simplitate a modelulu relaional, care pentru tipurile noi deapllicaii (Internet, sisteme deschise etc.) conduce la:

    Pierderea unor informaii semantice utile (prin multiplicarea tabelelorla normalizare );

    Operaiile relaionale, chiar optimizate, sunt costisitoare (noileaplicaii genereaz multe operaii relaionale) din punct de vedere alresurselor de calcul.

    2. LMD relaionale sunt prea limitate, ceea ce genereaz disfuncionaliti : Programatorul trebuie s cunoasc dou tipuri de limbaje (declarativ -

    relaional i procedural - universal). De aici rezult necesitatea

    conversiilor, o fiabilitate sczut, necesitatea comunicrii,productivitatea sczut. Mecanismele de optimizare privesc doar LMD relaional, deci ceea

    ce este scris n limbaj procedural trebuie optimizat de ctreprogramator.

    - 9 -