Sunteți pe pagina 1din 32

Curs 1-Baze de date i SGBD

Principalele moduri de organizare a datelor pe suporturi tehnice sunt:fiierele i bazele de date.


Etape Inainte de 1965 Anii 60 Anii 70 Sfritul anilor 70-prezent Sfritul anilor 80-prezent Mod de organizare a datelor Fiiere secveniale Fiiere secveniale, indexate, directe Baze de date ierarhice i reea Baze de date relaionale Baze de date orientate obiect Software Limbaj de asamblare i universal Limbaje universale SGBD SGBD Limbaje din programarea orientata obiect

Introducere:Istoric
Perioada anterioar anilor 60 (utilizarea Sistemelor
gestiune a fiierelor) de

Organizarea datelor n fiiere Lucrul cu fiiere prezint mai multe inconveniente :


1.

2.

3.

Manipularea datelor este grea i complicat, fiind necesar expertiza n programare. Programatorul trebuie s cunoasc localizarea fizic a fiierelor,structura fizic a nregistrrilor, modul de acces la aceste fiiere. Orice modificare n structura nregistrrilor(adugarea unui cmp) implic rescrierea tuturor programelor care manipuleaz aceste fiiere.

Introducere:Scurt istoric
n perioada anilor 60 naterea primei generaii de SGBD
Separarea descrierii datelor de programele

de aplicaii. Crearea primelor modele de acces la date.

Introducere:Istoric
Dou modele cheie : 1. Grupul CODASYL va publica primele sale

specificaii de limbaj pentru modelul de baz de date reea care mai este cunoscut i sub numele de Model de date Codasyl i este bazat pe ideile lui Bachman.
2. Modelul ierarhic utiliza IMS (Information

Management System) creat de IBM.

Introducere:Istoric
Perioada anilor 70 : a doua generaie de SGBD
Modelul Relaional (creat de Edgar Codd) Are la baza o viziune a realitii modelate bazate pe

tabele bidimensionale ntre care se stabilesc legturi logice Modelul Entitate-Asociere (Chen)

Introducere:Istoric
Anii 80-90
A treia generaie este dominat de Modelul Orientat

Obiect. Informaia este reprezentat sub form de obiecte.


Baze de date Deductive Un sistem cu baz de date deductive poate face deducii (s deduc reguli sau fapte suplimentare) pornind de la regulile i faptele stocate deja n baza de date.

Organizarea datelor pe suporturi externe se face pe medii magnetice sau optice; Tipuri de organizare a datelor: 1.SECVENIAL nregistrrile sunt dispuse n fiier una dup alta fr nici o ordine prestabilit. Localizarea unei nregistrri se face prin parcurgerea tuturor nregistrrilor anterioare ei (secvenial). 2.Relativ nregistrrile sunt dispuse n fiier una dup alta i numerotate (de ctre sistem) de la 0 sau 1 la cte sunt (numr de realizare) Localizarea unei nregistrri se poate face secvenial sau direct prin numrul de realizare.

3. INDEXAT-SECVENIAL nregistrrile sunt dispuse n fiier n ordine strict cresctoare dup o cheie (face parte din nregistrare). Cheia poate fi unul sau mai multe cmpuri care identific n mod unic o nregistrare. Fiierului i este ataat o tabel de indeci care face legtura ntre valoarea cheii i adresa fizic a nregistrrii. Localizarea unei nregistrri se poate face secvenial dar i direct prin cheie: se compar cheia nregistrrii cutate cu indecii din tabela de index i se localizeaz direct partea fizic a fiierului n care se afl nregistrarea cutat; n partea fizic localizat se face o cutare secvenial a nregistrrii dorite.

Modul de acces la date= modul n care se determin locul ocupat de o nregistrare ntr-un fiier. Tipuri de moduri de acces la date: SECVENIAL = localizarea unei nregistrri se face prin parcurgerea tuturor nregistrrilor care o preced. DIRECT = localizarea unei nregistrri se face cu ajutorul unei chei definite de programator. DINAMIC = la o singur deschidere de fiier se pot localiza, alternativ i repetat, nregistrri n acces secvenial i direct.

Conceptele de baz de date (BD) i sistem de gestiune a bazelor de date(SGBD)


Definiie:

O baz de date (BD) este un ansamblu de colectii de date, legate funcional ntre ele, memorate pe suporturi adresabile, ce pot fi accesate simultan de mai muli utilizatori, de o manier selectiv i n timp optim. Gestiunea bazelor de date este asigurat cu ajutorul un ansamblu de programe care constituie un sistem de gestiune a bazelor de date (SGBD). SGBDul este un instrument de asamblare, codificare, aranjare, protecie i regsire a datelor n BD.
10

Nivelurile de reprezentare a datelor Baza de date, ca imagine a unei anumite realiti, trebuie actualizat permanent. Acest lucru nu trebuie s afecteze programele de prelucrare. Pentru atingerea acestui obiectiv este necesar o abstractizare a datelor memorate n BD. n 1975, ANSI/ SPARC (American National Standards Institute/ Standards Planning And Requirements Committee) a propus o norm de reprezentare a datelor n condiiile folosirii SGBD- urilor pe trei niveluri ierarhice. Aceste 3 niveluri de reprezentare i percepie a unei BD sunt: Nivelul extern, Nivelul conceptual Nivelul intern
11

Niveluri de reprezentare a unei Baze de date


Domeniul de studiu

Grup utilizatori
1

Schema extern 1
Schema extern 2 Schema extern n

Proces modelare Schema conceptual Schem fizic

Grup utilizatori 2 Grup utilizatori n

BD

Nivel extern

Nivel conceptual

Nivel fizic

Nivelul extern de descriere a BD se face de ctre Administratorul aplicaiei, care: definete schema extern definete regulile de coresponden cu schema conceptual 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 conceptual de descriere a BD se face de ctre Administratorul ntreprinderii

La nivel conceptual, analiznd schemele externe i eliminnd redundanele rezult o nou viziune la nivelul ntreprinderii, care se numete schema conceptual. Nivelul conceptual se concretizeaz prin schema conceptual care este exprimat utiliznd conceptele de tabel (relaie), atribute i restricii de integritate Trecerea de la fizic la conceptual se face prin modelare O schem conceptual este complet dac poate furniza date pentru toate schemele externe, adic datele de care au nevoie utilizatorii (unele obinute prin calcul i/sau agregare).

Nivelul intern de descriere a BD se face de ctre Administratorul BD care: definete schema intern de organizare a datelor definete regulile de trecere de la schema conceptual la cea 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 obine 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

Schema Externa 1

Schema Externa 2

Nivel Extern

Valoare produs

Valoare TVA Valoare totala pe produs Valoare totala factura Valoare totala generala

Proces modelare

Normalizare

Factura (NrFactura, DataFactura, CodClient, CotaTVA)

Nivel Conceptual

ProdusFacturat (NrFactura, CodProdus, Cantitate, Pret) Produs (CodProdus, DenumireProdus, UM) Schema conceptuala
Implementare ' Restricii de integritate la nivelul relatiei FACTURA RI1: NrFactura cheia primar ' Restricii de integritate la nivelul relatiei PRODUSFACTURAT RI2: NrFactura si CodProdus cheia primar ' Restricii de integritate la nivelul relatiei PRODUS RI3: CodProdus cheia primar ' Restricii de integritate la nivelul bazei de date RIR1: NrFactura din ProdusFacturat refer NrFactura din FACTURA RIR2: CodPrododus din ProdusFacturat refer CodProdus din PRODUS

Nivel Intern (Fizic)

Schema fizica
BD

Funciile unui SGBD


1. Descrierea datelor 2. Utilizarea datelor 3. Integritatea datelor 4. Confidenialitatea datelor 5. Accesul concurent la date 6. Sigurana n funcionare
17

Descrierea datelor Un SGBD trebuie s includ posibilitatea descrierii structurii obiectelor care formeaz baza de date. n cazul bazelor de date relaionale aceasta const n principal n posibilitatea crerii si modificrii structurii tabelelor si constrngerilor de integritate asociate acestora. Limbajul prin care se realizeaz aceste operaii se numeste Limbaj de Descriere a Datelor (LDD) si n cazul primelor sisteme de gestiune el era implementat sub forma unor module separate. n sistemele relaionale bazate pe SQL aceste operaii au fost incluse n limbaj sub forma comenzilor de tip CREATE (pentru creare) sau ALTER (modificare).

Aceste tabele sunt accesate de sistem pentru a regsi informaiile necesare execuiei cererilor dar pot fi accesate si de utilizatori pentru a obine informaii privind structura bazei de date.

Utilizarea datelor
Aceasta funcie include operaiile de lucru cu datele nregistrate intr-o baza de date. Exista patru categorii de operaii principale: Inserarea de noi date. Aceasta se concretizeaz prin adugarea de noi linii n tabelele care formeaz baza de date. Stergerea de linii din tabele. Actualizarea datelor, nsemnnd modificarea coninutului unor linii existente n tabele. Regasirea datelor dup anumite criterii de cutare

Pentru implementarea functiei de utilizare fiecare SGBD are un Limbaj de Manipulare a Datelor (LMD) care poate fi un modul separat sau inclus n limbajul sistemului cum este n cazul SQL.

Integritatea datelor
Majoritatea sistemelor de gestiune permit definirea unor reguli pe care datele stocate trebuie sa le verifice numite constrngeri de integritate. n cazul n care o operaie are ca rezultat violarea acestor restricii aceasta este automat refuzata si nu are efect n baza de date. n felul acesta este asigurata o mai mare sigurana n ceea ce privete corectitudinea datelor.

Exemplu
Sa consideram o baz de date coninnd informaii despre: faculti, studenii nscrii si notele obinute de acetia. Posibile situaii de nclcare a integritii datelor : Introducerea accidental de valori incorecte n baza de date. Exemplu: restricie privind intervalul de valori admisibil pentru note: 0- 10. Lsarea necompletata a unor informaii necesare. Exemplu: numele studentului. Alocarea accidental a aceluiai numr matricol pentru mai muli studeni (restricie de unicitate a valorilor). Introducerea accidental a unui student cu un cod incorect al facultii la care acesta este nscris (integritate referenial). Definirea de constrngeri de integritate nu previne nsa total erorile accidentale de operare: de exemplu introducerea din greeal a unei note de 4 n loc de 5 nu va fi semnalat, ambele valori fiind n intervalul admisibil (lips de fiabilitate).

Confidenialitatea datelor
Accesul la date este permis doar utilizatorilor nregistrai si doar n msura drepturilor de acces alocate. Un utilizator este identificat printr-un nume utilizator si o parola.  Fiecrui utilizator i se permite accesul doar la o poriune a bazei de date si doar pentru a efectua anumite tipuri de operaii. Toate aceste informaii relative la ce, cum si de unde poate accesa datele un utilizator reprezint drepturile de acces asociate acestuia Drepturile de acces sunt stocate n cataloagele sistemului. Prin mecanismul de drepturi de acces este asigurata funcia de confidenialitate a datelor. Exemplu: n cazul sistemului informatic al unei organizaii, acces selectiv la salariile angajailor, detalii ale proceselor tehnologice, datele contabile etc.

Accesul concurent la date Un SGBD trebuie s ofere faciliti de blocare a unor poriuni ale bazei de date. Aceasta nseamn ca o execuie a unui program poate cpta un acces exclusiv la o poriune a bazei de date, denumit si articol, moment n care orice alta execuie trebuie sa atepte deblocarea acesteia pentru a continua.

Sigurana n funcionare
Vizeaz acele elemente care exclud sau minimizeaz posibilitatea de pierdere a datelor datorit incidentelor software sau hardware. Este dificil efectuarea unei copii de siguran consistente ale bazei de date n condiiile n care aplicaia ruleaz non-stop i operarea nu poate fi oprit pentru efectuarea salvrii. La distrugerea bazei de date este necesar efectuarea operaiei de restaurare din copie. Multe tipuri de SGBD au posibilitatea de a nregistra toate schimbrile aprute n baza de date sub forma unor fiiere jurnal. n acest fel operaia de restaurare dup incident se face restaurnd ultima copie de sigurana si reefectund toate prelucrrile consistente nregistrate n jurnal dup momentul n care a fost efectuata copia.

Modelul relational- Concepte de baza

Modelul relaional este un mod de organizare i de structurare a datelor sub form de tabele bidimensionale numite i relaii ce pot fi manipulate cu ajutorul unui set de operatori neprocedurali care returneaz alte tabele virtuale. Ansamblul acestor operatori formeaz algebra relaional . Modelul relaional a fost introdus de E. F. Codd n 1970 i se fondeaz pe conceptul de relaie definit n teoria matematic a mulimilor ca fiind o submulime a produsului cartezian al mai multor domenii: R D1 D2 Dn; unde Dn reprezint coloana n a relaiei.

25

Fundamentele modelului relaional


Tabele bidimensionale (relaii) legate ntre ele
Structur, cheie primar, tip atribute, reguli de validare a datelor (restricii de integritate) Legtur ntre tabele Cheie Tabel SALARIAT primara Marca Nume Salariul LM Tabel LOCM de baza LM Denumire 12 Avramescu 2000$ 2 1 Marketing 15 Brbulescu 3000$ 3 tuplu 2 Contabilitate 17 Iordan 2500$ 1 3 Control Gest 20 Goran 1500$ 1 Cheia primara este unica 15 Vasilescu 1560$ 1
si nenula

domeniu

Cheie externa

Cheie primara

26

O cheie primara este definita ca un ansamblu de N atribute verificand o dubla proprietate: -Unicitatea(valorile cheii primare sunt unice si nenule) -Minimalitatea(nici un atribut ce compune cheia nu poate fi luat fara sa se piarda proprietatea de unicitate)

Numarul tuplurilor dintr-o relatie formeaza cardinalitatea relatiei (exemplu:cardinalitate=4) iar numarul de atribute specifica gradul relatiei

Cod produs Denumire 100 101 102 103 Alfa Beta Gama Delta
Domeniul este ansamblul valorilor permise pentru un atribut.

UM kg Kg T m

Pret referinta TUPLU 1500 2000 3000 300

27

DE RETINUT! Principiul fundamental al modelului relational: -reprezentarea universului descris sub forma unui tabel bidimensional de valori (numit relatie) Privit prin prisma modelului relaional, baza de date apare ca o colecie de relaii (tabele), n care fiecare coloan reprezint un atribut distinct, iar fiecare rnd, un tuplu distinct, de unde i apelativul tabel bidimensional. -Fiecare coloan a unui tabel relaional ia valori ntr-o multime de valori permise numita domeniu. -Toate atributele unui tabel sunt atomice (nu se pot descompune n alte atribute). -Fiecare linie a unui tabel relaional se numeste tuplu (sau nregistrare). -Fiecare coloan a unui tabel relaional corespunde unui domeniu i se numete atribut. Fiecare atribut posed un nume diferit n raport cu un domeniu. Atributele unei relaii trebuie sa fie diferite. -Un atribut ( sau un grup de atribute ) numit cheie primar va identifica n mod unic fiecare tuplu al unei relaii ( fiecare linie a unui tabel). -Orice alt atribut care ia valori n acelai domeniu de definiie cu al unei chei primare este numit cheie extern. - Modelul relaional permite descrierea unor date ale caror valori variaz n timp, n sensul c pot fi adugate, terse sau modificate ntr-o relaie.
28

Schema unei relaii este format din numele relaiei, structura (atributele) relaiei i restriciile de integritate la nivel de relaie

Schema unei baze de date relationale este definit ca un ansamblu de scheme de relaii (cu restriciile de integritate definite la nivel de atribut si tabel) precum i din restriciile de integritate inter-tabele. Schema unei baze de date(modelul relaional):

Exemple practice : Relaia CLIENTI (CodClient, Nume, Telefon, Fax, Strada, Nr,CodPostal, TipClient) ' Restricii de integritate RI1: CodClient, constituie cheia primar RI2: Dom(TipClient)={Ext, Int} RI3: Val(Nume) diferit de Null RI4: Val(CodPostal) diferit de Null RI5: Val(Telefon) diferit de Null
29

Relaia FACTURI (NrFact, DataFact, CodClient) Restricii de integritate RI1: NrFact, cheia primar RI2: Val(DataFact) ntre <data min> i <data max>
PRODUS(CodProd, DenProd,UM, PretRef) PRODUS_FACTURAT (NrFact, CodProd, CantFact, PretFact) LOCALIZARE(CodPostal, Localitate) n exemplul luat referitor la gestiunea facturilor, se pot defini urmtoarele restricii de integritate la nivelul bazei de date : RIR1: CodClient din FACTURI refer CodClient din CLIENTI RIR2: NrFact din PRODUS_FACTURAT refer NrFact din FACTURI RIR3: CodProd din Produs_facturat refer CodProd din PRODUSE RIR4: CodPostal din Clienti refera CodPostal din LOCALIZARE

30

Restriciile de integritate ale modelului relaional. Structurale = se definesc prin compararea unor valori din tabele: cheie unic = ntr-o tabel nu trebuie s existe mai multe tupluri cu aceeai valoare pentru ansamblul cheie; Integritatea referenial = ntr-o tabel T1 care refer o tabel T2, valorile cheii externe trebuie s figureze printre valorile cheii primare din T2 sau s ia valoarea NULL (neprecizat); Integritatea entitii = ntr-o tabel, atributele din cheia primar nu trebuie s ia valoarea NULL. Pe lng acestea, exist o serie de alte restricii structurale care se refer la dependenele dintre date: funcionale, multivaloare, jonciune etc. (sunt luate n considerare la tehnicile de proiectare BDR). Semantice = se definesc prin comportamentul datelor i in cont de valorile din BD: restricia de domeniu = domeniul corespunztor unui atribut dintr-o tabel trebuie s se ncadreze ntre anumite valori; restricii temporare = valorile anumitor atribute se compar cu nite valori temporare (rezultate din calcule etc.).
31

Intr-o relaie pot exista una sau mai multe chei candidate. Cheile pot s fie formate dintr-un singur atribut (simple) sau din mai multe atribute (compuse).
Se alege din multimea cheile candidate o cheie primara. Criteriul de alegere este, in general, simplitatea.

32

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