BD1 Slides

  • View
    220

  • Download
    0

Embed Size (px)

DESCRIPTION

BD1 Slide for Database fundamentals

Text of BD1 Slides

  • F. Radulescu. Curs: Baze de date 30

    Utilizarea datelor (3)

    Pentru implementarea acestei funciifiecare SGBD are un Limbaj de Manipulare a Datelor (LMD) care poate fi un modul separat sau inclus nlimbajul sistemului cum este n cazulSQL.

  • F. Radulescu. Curs: Baze de date 31

    Utilizarea datelor (4)

    Operaia de regasire este esentiala, ea fiindnecesara i n cazul celorlalte trei operaii:

    1. n cazul inserarii, dac aceeai informaie nupoate fi prezenta de mai multe ori n bazade date, este necesara o cautare prealabilapentru a verifica acest lucru.

    2. n cazul stergerii i actualizarii este necesaralocalizarea datelor care vor fi eliminate saumodificate.

  • F. Radulescu. Curs: Baze de date 32

    Executia unei cereri - etape1. Consultarea cataloagelor de sistem pentru a verifica

    existenta obiectelor implicate i a afla structura iproprietaile acestora precum i pentru a verificadaca utilizatorul care a lansat comanda are dreptulde a efectua operaia respectiva

    2. Crearea unui plan de executie optim pentruoperaia respectiva, lund n consideraie existentaunor eventuale structuri de cautare rapida(indecsi).

    3. Executia operaiei i verificarea faptului ca rezultatul nu violeaz constrangerile de integritateexistente

    4. Executarea altor operaii care pot fi declansateautomat de operaia de baza (n cazul n care sistemul suporta astfel de operaii).

  • F. Radulescu. Curs: Baze de date 33

    1.2. Funciile unui SGBD

    1. Descrierea datelor2. Utilizarea datelor3. Integritatea datelor4. Confidentialitatea datelor5. Accesul concurent la date6. Siguranta n funcionare

  • F. Radulescu. Curs: Baze de date 34

    Integritatea datelor (1)

    Majoritatea sistemelor de gestiune permit definirea unor reguli pe care datele stocatetrebuie sa le verifice numite constrangeride integritate.

    n cazul n care o operaie are ca rezultatviolarea acestor restricii aceasta esteautomat rejectata i nu are efect n baza de date.

    n felul acesta este asigurata o mai mare siguranta n ceea ce priveste corectitudineadatelor.

  • F. Radulescu. Curs: Baze de date 35

    Integritatea datelor (2)

    Sa consideram o baz de date continnd informaii despre facultai, studentii inscrisi i notele obtinute de acestia.

  • F. Radulescu. Curs: Baze de date 36

    Integritatea datelor (3)Introducerea accidentala de valori incorecten baza de date. Exemplu: restricie privindintervalul de valori admisibil pentru note: 0-10.

    Lasarea necompletata a unor informaiinecesare. Exemplu: numele studentulu.

    Alocarea accidentala a aceluiasi numarmatricol pentru mai multi studenti(constrangere de unicitate a valorilor).

    Introducerea accidentala a unui student cu un cod incorect al facultaii la care acestaeste inscris (constragnere referentiala)

  • F. Radulescu. Curs: Baze de date 37

    Integritatea datelor (4)

    Definirea de constrangeri de integritatenu previne insa total erorile accidentalede operare: de exemplu introducereadin greseala a unei note de 4 n loc de 5 nu va fi semnalata, ambele valori fiindn intervalul admisibil.

  • F. Radulescu. Curs: Baze de date 38

    1.2. Funciile unui SGBD

    1. Descrierea datelor2. Utilizarea datelor3. Integritatea datelor4. Confidentialitatea datelor5. Accesul concurent la date6. Siguranta n funcionare

  • F. Radulescu. Curs: Baze de date 39

    Confidentialitatea datelor (1)Accesul la date este permis doar utilizatorilornregistrai i doar n masura drepturilor de accesalocate.

    Un utilizator este identificat printr-un nume-utilizator i o parola.

    Fiecarui utilizator i se permite accesul doar la o portiune a bazei de date i doar pentru a efectuaanumite tipuri de operaii.

    Toate aceste informaii relative la ce, cum i de undepoate accesa datele un utilizator reprezintadrepturile de acces asociate acestuia

    Drepturile de acces sunt stocate n cataloagelesistemului.

  • F. Radulescu. Curs: Baze de date 40

    Confidentialitatea datelor (1)Prin mecanismul de drepturi de acceseste asigurata funcia de confidentialitate a datelor.

    Este prevenita posibilitatea de acces la date a persoanelor care nu au acestdrept.

    Exemplu: n cazul sistemului informatic al unei organizaii, acces selectiv la salariileangajailor, detalii ale proceselortehnologice, datele contabile etc.

  • F. Radulescu. Curs: Baze de date 41

    1.2. Funciile unui SGBD

    1. Descrierea datelor2. Utilizarea datelor3. Integritatea datelor4. Confidentialitatea datelor5. Accesul concurent la date6. Siguranta n funcionare

  • F. Radulescu. Curs: Baze de date 42

    Accesul concurent la date (1)Faciliti de blocare a unor portiuni ale bazei de date. Aceasta inseamna ca o executie a unui program poate capata un acces exclusiv la o portiune a bazei de date, denumita i articol, moment n care oricealta executie trebuie sa astepte deblocareaacesteia pentru a continua.

    Daca notam operaiile de blocare i deblocarecu LOCK i UNLOCK, programul de rezervare de locuri poate fi rescris

  • F. Radulescu. Curs: Baze de date 43

    Accesul concurent la date (2)

    LOCK A /* se blocheaz articolul A */ READ A /* se citeste A din BD */ A = A 1 /* se decrementeaz A*/ WRITE A /* se scrie A n BD */ UNLOCK A /* se deblocheaz A */

  • F. Radulescu. Curs: Baze de date 44

    Accesul concurent la date (3)

    Blocarea articolelor rezolva o serie de probleme dar creaz premisele aparitieiinterblocajului, situaie n care douaexecutii de programe asteaptadeblocarea unui articol blocat de cealalt (deadlock)

  • F. Radulescu. Curs: Baze de date 45

    Accesul concurent la date (4)Program P1 Program P2---------- ----------

    LOCK A LOCK BLOCK B LOCK A. . . . . . . . . .

    UNLOCK B UNLOCK AUNLOCK A UNLOCK B

  • F. Radulescu. Curs: Baze de date 46

    Accesul concurent la date (5)Executia serializabila. n cazul mai multorexecutii simultane care acceseaz baza de date se considera ca efectul lor este corectdaca rezultatul final este identic cu executialor succesiva.

    Aceasta proprietate se numesteserializabilitate i un SGBD trebuie sa punala dispozitie mecanisme de asigurare a serializabilitii executiilor programelor de acces.

  • F. Radulescu. Curs: Baze de date 47

    1.2. Funciile unui SGBD

    1. Descrierea datelor2. Utilizarea datelor3. Integritatea datelor4. Confidentialitatea datelor5. Accesul concurent la date6. Siguranta n funcionare

  • F. Radulescu. Curs: Baze de date 48

    Siguranta n funcionare (1)

    Desi nu este legata direct de celeprezentate pana acum, siguranta nfuncionare este o caracteristicaesentiala pentru un SGBD

    Contine acele elemente care exclud sauminimizeaz posibilitatea de pierdere a datelor datorata incidentelor software sau hardware.

  • F. Radulescu. Curs: Baze de date 49

    Siguranta n funcionare (2)

    Salvarea datelor. Implementareaoperaiilor de salvare este mult maisofisticata

    Este dificila efectuarea unei de cpii de siguranta consistente ale bazei de date n conditiile n care aplicaia ruleaznon-stop i operarea nu poate fi opritapentru efectuarea salvarii.

  • F. Radulescu. Curs: Baze de date 50

    Siguranta n funcionare (3)Restaurarea dupa incident. La distrugereabazei de date este necesara efectuareaoperaiei de restaurare din copie.

    Multe tipuri de SGBD au posibilitatea de a nregistra toate schimbarile aparute n bazade date sub forma unor fiiere jurnal.

    n acest fel operaia de restaurare dupaincident se face restaurnd ultima copie de siguranta i reefectund toare prelucrarileconsistente nregistrate n jurnal dupamomentul n care a fost efectuata copia.

  • F. Radulescu. Curs: Baze de date 51

    1.3. Categorii de utilizatori

    1. Utilizatori privilegiati Administratorul bazei de date

    2. Utilizatori neprivilegiati Utilizatorul este o persoana fizica

    (exemplu: n Oracle o persoana care utilizeaza sqlplus).

    Utilizatorul este o entitate generica(aplicatie software)

  • F. Radulescu. Curs: Baze de date 52

    1.4. Nivele de reprezentare O aceeasi baz de date poate fi privita din

    diverse perspective rezultnd descrieridiferite.

    Termenul consacrat pentru descriereastructurii unei baze de date este acela de schema.

    n literatura de specialitate exista o clasificare pe trei nivele a acestor descrieri: fizic, conceptual i extern.

    Gestionarea schemelor bazei de date pentrufiecare nivel este una dintre atributiileadministratorului bazei de date.

  • F. Radulescu. Curs: Baze de date 53

  • F. Radulescu. Curs: Baze de date 54

    Nivelul fizic

    La acest nivel baza de date estedescrisa din perspectiva stocarii sale pedispozitivele fizice: identificareadiscurilor i a cailor unde este stocata, numele fiierelor care formeaz baza de date, structura fizica a acestora, etc.

    Descrierea bazei de date la acest nivelpoarta numele de schema fizica

  • F. Radulescu. Curs: Baze de date 55

    Nivelul conceptual (1)Descrierea bazei de date la acest nivelpoarta numele de schema conceptuala (numita uneori i schema logica) a bazei de date.

    Ea consta intr-o descriere abstracta darexacta a structurii acesteia, lasnd la o parte detaliile fizice de implementare.

  • F. Radulescu. Curs: Baze de date 56

    Nivelul conceptual (2)Tabelele care formeaz baza de dateStructura (coloanele) fiecarei tabeleTipul de date asociat coloanelorElementele pe baza carora se realizeazinterconectarea tabelelor (coloanecomune)

    Constrangeri de integritateOperaii declansate automat la modificareaunor elemente ale bazei de date

  • F. Radulescu. Curs: Baze de date 57

    Nivelul externDiferitele categorii de utilizatori ai unei