Upload
symona
View
384
Download
19
Embed Size (px)
DESCRIPTION
SGBD. Un SGBD = o interfaţă între utilizatori şi BD, ce p ermite : crearea , actualizarea şi consultarea BD . SGBD = instrument de asamblare, codificare, aranjare, protecţie şi regăsire a datelor în BD. Bazele de date sunt gestionate unitar - PowerPoint PPT Presentation
Citation preview
SGBDUn SGBD = o interfaţă între utilizatori şi BD, ce permite: creareacrearea, actualizareaactualizarea şi consultareaconsultarea BD. SGBD = instrument de asamblare, codificare, aranjare, protecţie şi regăsire a datelor în BD
Facilitatile unui SGBD sunt:• memorarea datelormemorarea datelor pe suportul extern prin sistemul de gestiune a fişierelor;• gestiunea datelorgestiunea datelor şi a legăturilor dintre ele în vederea regăsirii rapide
prin intermediul sistemului de acces (SGBD intern);• introducerea şi extragerea datelorintroducerea şi extragerea datelor dinspre exterior în forma cerută de utilizator
prin intermediul SGBD–ului extern.
Bazele de date sunt gestionate unitar prin programe dedicate, numite sisteme de gestiune a bazelor de date(SGBD).
Funcţii principaleFuncţii principale:• descrierea datedescrierea datelorlor prin schemele: externă, conceptuală, internă şi
legăturile corespondente, prin intermediul unui limbaj specializat (LDD)– vizează deopotrivă structurile de date, legăturile între acestea şi
regulile care să asigure coerenţa datelor (numite şi reguli de integritate)
• manipularea datelormanipularea datelor (LMD)– Interogarea bazelor de date– Actualizarea datelor
• protejarea bazelor de dateprotejarea bazelor de date– utilizatori, drepturi de acces, – reluare în caz de pană, – copii de siguranţă
Administrator BDAdministrator BD
BDDD
SGBDSGBDUtilizator final 1
Utilizator final n
Programe de aplicaţii
Programe de aplicaţii
SGBD
Baza de date se descrie independent
de programele care folosesc datele.
Descrierea datelor formează Dicţionarul Datelor (DD), care se memorează împreună cu BD
Obiective SGBD• Manipularea uşoară a datelor, - limbaj declarativ SQL ;• Gestiunea relaţiilor virtuale, SGBD- ul stochează definiţia
relaţiei virtuale şi nu rezultatul; • Executarea şi optimizarea cererilor, automatizarea
procesului de traducere şi eventual optimizare a cererilor formulate în limbaj declarativ;
• Gestiunea coerenţei, datele sunt supuse la un anumit număr de restricţii de integritate ce definesc coerenţa bazei de date. Ele trebuie să poată fi exprimate şi verificate automat la fiecare operaţie de actualizare a bazei de date.
• Partajarea datelor pentru a permite mai multor utilizatori să acceseze baza de date în acelaşi timp. SGBD- ul trebuie să gestioneze accesul concurent la baza de date;
• Confidenţialitatea, protejarea bazei de date contra unui acces neautorizat;
Obiective SGBD• Gestiunea "penelor" , când o "pană" se produce trebuie să
se asigure recuperarea bazei de date în starea în care era înainte de producerea ei;
• Standarde, SGBD relaţionale folosesc pentru gestiunea bazelor de date standardul SQL.
• Niveluri de reprezentare a unei Baze de date
Schema externă 1
Schema externă 2
Schema externă n
Grup utilizatori
1
Grup utilizatori 2
Grup utilizatori n
Schema conceptuală
Proces modelare
Schemăfizică
BD
Nivel extern Nivel conceptual
Nivel fizic
Domeniul de studiu
Domeniu de aplicaţie
Utilizator 1/Grup de utilizatori 1Administratori aplicatie
Utilizator 1/Grup de utilizatori 1Administratori aplicatie
Schema conceptuală
Schema externă 1 Schema externă n
BD
Modelul fizic
Nivel Extern
Nivel conceptual
Nivel intern
Administrator BD
Administrator BD
Schema externă face referire la datele necesare unui utilizator sau unui grup de utilizatori.
Ea este o sub-schemă (o imagine) a schemei conceptuale.
Schemele externe constituie sursa pentru întocmirea schemei conceptuale
Nivelul externNivelul extern de descriere a BD se face de către Administratorul Administratorul aplicaţieiaplicaţiei, care:
• defineşte schema externă• defineşte regulile de corespondenţă cu schema conceptuală
Domeniu de aplicaţie
Utilizator 1/Grup de utilizatori 1
Utilizator 1/Grup de utilizatori 1
Schema conceptuală
Schema externă 1 Schema externă n
BD
Modelul fizic
Nivel Extern
Nivel conceptual
Nivel intern
Administrator BD
Administrator BD
La nivel conceptualconceptual, analizând schemele externe şi eliminând redundanţele rezultă o nouă viziune la nivelul întreprinderii, care se numeşte schema conceptualăschema conceptuală. Nivelul conceptual se concretizează prin schema conceptuală care este exprimată utilizând conceptele de tabel (relaţie), atribute şi restricţii de integritate
Trecerea de la fizic la conceptual se face prin modelaremodelare
O schemă conceptuală este completă dacă poate furniza date pentru toate schemele externe, adică datele de care au nevoie utilizatorii (unele obţinute prin calcul şi/sau agregare).
Nivelul conceptualNivelul conceptual de descriere a BD se face de către Administratorul Administratorul ÎntreprinderiiÎntreprinderii
Domeniu de aplicaţie
Utilizator 1/Grup de utilizatori 1
Utilizator 1/Grup de utilizatori 1
Schema conceptualăSchema conceptuală
Schema externă 1 Schema externă n
BD
Modelul fizicModelul fizic
Nivel Extern
Nivel conceptual
Nivel intern
Administrator BD
Administrator BD
Schema internăSchema internă implementează schema conceptuală folosind un SGBD. Se refera la modul de stocare fizică a datelor pe suporturi de date. Schema internă se obţine prin descrierea bazelor de date folosind un limbaj de descriere date (LDD).
Faptul că utilizatorul vede baza de date folosind o schemă externă facilitează determinarea drepturilor de acces la baza de date
Nivelul internNivelul intern de descriere a BD se face de către Administratorul BDAdministratorul BD care:
• defineşte schema internă de organizare a datelor• defineşte regulile de trecere de la schema conceptuală la cea internă
Domeniu de aplicaţie
Utilizator 1/Grup de utilizatori 1
Utilizator 1/Grup de utilizatori 1
Schema conceptualăSchema conceptuală
Schema externă 1 Schema externă n
BD
Modelul fizicModelul fizic
Nivel Extern
Nivel conceptual
Nivel intern
Administrator BD
Administrator BD
Pentru o bază de date se pot defini mai multe scheme externe, o singură schemă conceptuală şi respectiv o singură schemă internă.
CONLUZIE : un SGBD trebuie să poată interpreta instrucţiunile exprimate în termeni de schemă externăschemă externă şi respectiv schemă conceptualăschemă conceptuală iar după aceea în termeni de operaţii de intrare/ieşire la nivel fizicnivel fizic şi să asigure trecerea de la un nivel la altul.
Nivel Extern
Schema Externa 1
Valoare produs
Valoare totalafactura
NivelConceptual
Factura (NrFactura, DataFactura, CodClient, CotaTVA)
ProdusFacturat (NrFactura, CodProdus, Cantitate, Pret)
Produs (CodProdus, DenumireProdus, UM)
Nivel Intern(Fizic)
Valoare TVA
BD
Schema fizica
Proces modelare
Normalizare
Implementare
Valoare totala peprodus
' Restricţii de integritate la nivelul relatiei FACTURARI1: NrFactura cheia primară
' Restricţii de integritate la nivelul relatiei PRODUSFACTURATRI2: NrFactura si CodProdus cheia primară
' Restricţii de integritate la nivelul relatiei PRODUSRI3: CodProdus cheia primară
' Restricţii de integritate la nivelul bazei de dateRIR1: NrFactura din ProdusFacturat referă NrFactura din FACTURARIR2: CodPrododus din ProdusFacturat referă CodProdus din PRODUS
Valoare totalagenerala
Schema Externa 2
Schema conceptuala
Problemă Proiectare BD
Schema relaţională
MRD
LDD
LMD ( )
Descriere
Manipularea datelor
LDD, limbaj de descriere date, LMD, limbaj de manipulare date
SGBD
BD
• Dezvoltarea unei aplicaţii cu baze de date
Proiectarea BDR
normalizareModelul E-A conversia MCD - MRD
Integritatea bazelor de date
• Integritatea este proprietatea datelor de a deţine un nivel de calitate nivel de calitate stabilit aprioric, adecvat şi suficient într-un context dat.
• I este starea existentă atunci când datele electronice sunt identice cu datele din documentele sursă sau din domeniul problemei modelate, nefiind expuse la alterări accidentale sau intenţionate ori distrugeri fizice.
• I este starea existentă atunci când calitatea informaţiei stocate este protejată de contaminare sau degradare cu informaţie de slabă calitate.
Integritatea bazelor de dateTip de degradare a datelor Descriere
Date
nevalide
Nu toate datele introduse şi stocate sunt valide; în această situaţie, verificările şi procesele de validare ce asigură coerenţa bazei de date, lipsesc.
Date
redundante
Redundanţa apare atunci cînd aceleaşi date sunt înregistrate şi stocate în mai multe locuri. Acest lucru poate conduce la incoerenţa datelor şi la anomalii ale acestora.
Date
incoerente
Apar atunci când date redundante, ce se găsesc în mai multe locuri, nu prezintă acelaşi conţinut.
Anomalii
ale datelor
Apar atunci când există date redundante ca urmare a unei proiectări defectuoase. În aceste situaţii este posibil ca o apariţie a datei redundante să fie modificată, în timp ce alte apariţii rămân neschimbate.
Incoerenţa citirii datelor
Un utilizator nu citeşte întotdeauna ultima dată salvată, iar modificările facute de acesta sunt vizibile altor utilizatori înainte de salvare.
Date
neconcurente
Mai mulţi utilizatori pot accesa şi citi aceleaşi date simultan, dar în felul acesta se pierde coerenţa citirii.
Integritatea bazelor de date
Asigurarea integrităţii datelor este condiţionată de luarea a trei tipuri de precauţii:– fizicefizice: ce garantează stabilitatea în timp a
suporturilor fizice de date şi a procedurilor;– semanticesemantice: care asigură coerenţa datelor stocate
în raport cu semnificaţia acestora independent de mijloacele materiale utilizate;
– juridicejuridice: care controlează accesul la informaţii (prin intermediul cheilor de acces);
Integritatea bazelor de date
Siguranţa suportului de date şi a procedurilor
=Integritate fizică
Autentificarea+
Confidenţialitate+
Non-repudiere=
Integritate „juridică”
Validitate+Coerenţa
Semantică=
Integritate logică şi
semantică
Integritatea datelor
Integritatea bazelor de dateMetodele şi tehnicile ce ţin de integritatea şi securitatea bazelor
de date urmăresc:• Asigurarea coerenţei datelor stocate în raport cu
semnificaţia acestora (asigurarea integrităţii semantice). – Controalele de validare a datelor reprezintă una dintre soluţiile de
implementare a integrităţii semantice, rolul acestor controale fiind acela de a evita introducerea de date neconforme realităţii în baza de date şi de a verifica faptul că baza de date nu a fost supusă unor alterări de acest tip.
SGBD-urile oferă o multitudine de facilităţi pentru a garanta integritatea semantică a datelor (reguli de validare pentru câmpuri şi controale, instrucţiuni, clauze, descrieri de trigger-e, etc.) dar nu şi fiabilitatea lor, care ţine de modalitatea în care s-a organizat şi desfăşurat procesul de culegere a datelor.
Integritatea bazelor de date
• Asigurarea sincronizării accesului concurent la baza de date are în vedere acţiunile concurente ale mai multor utilizatori şi evitarea interferenţei acestora într-un mod prin care să-şi prejudicieze reciproc acţiunile.
• Asigurarea siguranţei în funcţionare în urma unor defecţiuni fizice ce pot afecta coerenţa bazei de date (pană de curent, catastrofe naturale, etc.)
• Asigurarea securităţii de utilizare are în vedere aspectele de:– confidenţialitate (asigurarea că datele nu pot fi citite decât de
persoanele autorizate), – autentificare (asigurarea asupra identităţii interlocutorului);– non-repudiere (ansamblu de mijloace şi tehnici ce permit confirmarea
participării unei entităţi la un schimb de date, pentru prevenirea nerecunoaşterii tranzacţiei de către expeditor).
Integritatea bazelor de date
• Tranzacţia reprezintă o secvenţă liniară de operaţii executate asupra unei baze de date partajate de mai mulţi utilizatori.
• Tranzacţiile se folosesc, de obicei, într-o procedură în care se execută mai multe operaţii de actualizare a bazei de date şi se doreşte garantarea faptului că toate operaţiile s-au executat cu succes.
• În cazul apariţiei unei erori la una din actualizări toate cele anterioare se pot anula.
Integritatea bazelor de dateO tranzacţie poate fi:
– Salvată (commited)-în situaţia în care toate operaţiile tranzacţiei au fost încheiate cu succes, iar baza de date a fost actualizată.
– Derulată înapoi (rollback)-în situaţia în care toate operaţiile tranzacţionate au fost anulate, iar baza de date a fost restaurată la starea dinaintea tranzacţiei.
Când o tranzacţie actualizează mai multe înregistrări
aparţinând uneia sau mai multor tabele, o aplicaţie informatică
trebuie să se asigure că toate înregistrările au fost actualizate
sau că toate au rămas în starea iniţială.