Documente Academic
Documente Profesional
Documente Cultură
Cel mai utilizat model de date IBM (DB2), Microsoft (ACESS i SQLServer), Oracle (9i), Sybase, MySQL, etc. Sisteme superioare celor implementate pe baza modelelor mai vechi IMS de la IBM (modelul ierarhic) i CODASYL (modelul re ea) Competitori actuali: modelul orientat pe obiecte i modelul obiect rela ional ObjectStore, Versant, Ontos Informix Universal Server, UniSQL, O2
M. Danubianu - Baze de date 2
1970 F.E.Codd - Un model relational de date pentru b nci de date partajate de dimensiuni mari Obiective: s permit un grad nalt de independen a datelor s furnizeze baze solide pentru tratarea coeren ei i a problemelor de redundan a datelor --> este introdus conceptul de rela ii normalizate = rela ii care nu con in grupuri ce se repet s permit expansiunea limbajelor de manipulare a datelor orientate spre seturi Datele se prezint sub forma de rela ii ( fie c se refer la entit i, fie c se refer la leg turile dintre acestea) Caracteristici :
este orientat spre multimi a permis introducerea unor limbaje neprocedurale de manipulare a datelor nu este orientat spre sistemul de calcul.
M. Danubianu - Baze de date 3
Definitii
rela ie pe aceste mul imi, dac este o mul ime de n-tuple ordonate (d1,d2,..dn) astfel nct d1D1, d2D2,.. dnDn II. Se define te produsul cartezian D1xD2x..xDn al mul imilor D1,D2,..Dn ca fiind mul imea tuturor n-tuplelor ordonate (d1,d2,..dn) astfel nct d1D1, d2D2,.. dnDn. O rela ie R pe mul imile D1,D2,..Dn este o submul ime a produsului cartezian D1xD2x..xDn . n = gradul (aritatea ) relatiei num rul n-tuplelor din rela ie la un moment dat = cardinalitatea rela iei D1,D2,..Dn = domeniile rela iei R Orice rela ie este o mul ime ale c rei elemente sunt n-tuple. => urm toarele propriet i: ntr-o rela ie nu exist dou n-tuple identice st la baza definirii conceptului de cheie a unei rela ii ordinea n-tuplelor intr-o relatie este arbitrar
Domenii i atribute
Domeniul reprezint ansamblul de valori admisibile pentru o component a unei rela ii domeniul numelor de ora e, domeniul numelor de persoane, domeniul numerelor ntregi, etc Dou domenii sunt compatibile dac ele sunt comparabile din punct de vedere semantic (dac mul imile de valori care le definesc nu sunt disjuncte) no iunea de domeniu interpretat restric ioneaz problema compatibilit ii domeniilor chiar n cazul n care, conform defini iei, dou domenii ar fi compatibile Atributul este o utilizare sub un nume oarecare a unui domeniu ntr-o rela ie pot exista mai multe atribute derivate din acela i domeniu n termenii abstractiz rilor, un domeniu este o generalizare a unor atribute
Filiala
Terminologie
Nume Pre
Contabilitate 203
Structuri de reprezentare
o singur form de structurare a datelor relatiile - se utilizeaz att pentru reprezentarea tipurilor de entit ti ct si a leg turilor dintre acestea. Descrierea unei baze de date rela ionale - printr-o schem relational , care const din una sau mai multe scheme de rela ie Schema de relatie este format din denumirea unei rela ii urmat de un set de atribute: Facultate (Codf, Nume, Adresa) Personal (Codpers, Nume, Func ie,Salariu, Codf) Profesori (Codp, Nume, Func ie, Disciplin , Codf) Student (Matr, Nume, Incadrare, Sit_scolar , An, Sex) Nota (Matr, Codp, Nota) reprezentarea leg turilor dintre tipurile de entit ti folose te doua tehnici: propagarea cheilor dintr-o schem de relatie in alta - pentru reprezentarea leg turilor de tip 1: 1 sau 1: N crearea unei scheme de relatie separate - de jonctiune- pentru reprezentarea oric rui tip de leg tur , inclusiv a celor de tip N:M instan a unei baze de date = totalitatea datelor opera ionale con inute n baza de date la orice moment de timp. (un tabel con innd valorile curente pentru atribute)
M. Danubianu - Baze de date 8
Exemplu de instan
sid 53666 53688 53650 nume Axinte Dr gan
ax@cs dr@ee
Croitoru cr@mat
10
Chei alternative sunt cheile candidat care nu sunt selectate drept chei primare. Cheia str in este un atribut sau o multime de atribute din cadrul unei rela ii provenite prin propagarea unei chei candidat a unei alte rela ii. Valoarea unei chei str ine = o referin la tuplul a c rei valoare este identic cu cea a cheii str ine. Rela ia care con tine cheia str in - rela ie de referin rela ia care con ine cheia care s-a propagat ca i cheie strain rela ie referit
11
Integritatea rela ional set de reguli cu rolul de a garanta c datele sunt corecte. 1. Constrngeri de domeniu 2. Integritatea entit ilor 3. Integritatea referen ial 4. Constrngeri de ntreprindere
Constrngerile de integritate se bazeaz pe semantica realit ii descrise prin rela iile bazei de date. Se poate verifica dac o instan a bazei de date violeaz o constrngere de integritate, dar nu se poate NICIODAT afirma c o constrngere este adev rat prin verificarea unei instan e. O constrngere de integritate este o stare referitoare la toate instan ele posibile ale unei baze de date! Integritatea entit ilor (constrngere de cheie primar ) i integritatea referen ial (constrngere de chei str ine) sunt cele mai generale constrngeri de integritate.
12
Constrngeri de ntreprindere - specificate de c tre utilizatorii sau administratorii unei baze de date
13
Se aplic cheilor primare ale rela iilor de baz . Rela ie de baza = rela ie ce corespunde unei entit i n schema conceptual , i ale c rei tupluri sunt stocate fizic n baza de date ntr-o rela ie de baz nici un atribut al unei chei primare nu poate fi null. Null - valoare a unui atribut care este n mod curent necunoscut sau care nu este aplicabil unui anumit tuplu. modalitate de tratare a datelor incomplete sau deosebite nu trebuie confundat cu o valoare numeric egal cu zero sau cu un ir de caractere completat cu spatii. este tratat diferit fa de alte valori=> pot s apara probleme de implementare, ca urmare a faptului c trebuie renun at la logica boolean (specific calculului predictiv de ordinul nti) i trebuie lucrat cu o logic polivalent ( tri sau cvadrivalenta)
14
Principiul integrit ii referin ei - enun at de Codd n 1979 sub urm toarea form : Dac A este o cheie primar monoatribut n rela ia R1 i B este o component a unei chei primare multiatribut n rela ia R2, B fiind definit pe acela i domeniu cu atributul A, atunci mul imea valorilor lui B n R2 trebuie s fie inclus n mul imea valorilor lui A n R1.
j
Dac B este o cheie str in n R2 rezultat prin propagarea unei chei primare A din R1, atunci orice valoare a lui B din R2 trebuie s se reg seasc printre valorile lui A din R1. Dac ntr-o rela ie exist o cheie str in , valoarea acesteia trebuie ori s coincid cu valoarea unei chei candidat a unui tuplu n rela ia sa de baz , ori s fie n ntregime null.
M. Danubianu - Baze de date 15
=> constrngeri referen iale -> pot fi reprezentate prin diagrame referen iale = grafuri ale c ror noduri reprezint rela ii, iar arcele reprezint constrngeri referen iale. Sensul arcului este de la rela ia de referin c tre rela ia referit . j pot exista cicluri, numite cicluri referen iale i chiar cicluri de lungime unitar , caz n care rela ia referit este una i aceea i cu cea de referin . => rela ie autoreferit .
16
Profesori (Codp, Nume, Func ie, Disciplin , Codf) Student (Matr, Nume, Incadrare, Sit_scolar , An, Sex) Nota (Matr, Codp, Nota)
FACULTATE
PROFESORI NOTA
STUDENT
17
Fie schema de rela ie : Descenden (Tat , Fiu). fiu are un singur tat tuplu al rela iei Descenden este univoc determinat de valoarea atributului Fiu (cheie a rela iei). tat este , la rndul s u, fiul cuiva valoare a atributului Tat se reg se te printre valorile atributului Fiu atributul Tat este cheie str in n rela ia Descenden i reprezint o referin la aceea i rela ie. rela ia Descenden este autoreferit Fiu
Ion Mihai Adrian Dan Ion Dan Dragos
Descenden
Tat
Alex
18
Rela ii de referin
j j
Opera ia de ad ugare - valorile tutoror atributelor care fac parte dintr-o cheie str in trebuie s se reg seasc printre valorile atributelor pe care le refer n rela iile referite. Opera ia de tergere - f r nici un fel de restric ii d.p.d.v. al condi iilor de integritate referen ial . Opera ia de actualizare = o opera ie de tergere urmat de una de ad ugare..
j
j j
Opera ia de ad ugare - f r restric ii Opera ia de tergere - posibil ca n rela iile de referin s existe tuple care fac referire la tuplul care se terge. => una dintre urm toarele dou op iuni: tergerea restric ionat sau tergerea cascadat . j tergerea restric ionat - nu se accept tergerea unui tuplu din rela ia referit dac acesta este referit de cel pu in un tuplu din rela ia de referin . j tergerea cascadat - tergerea unui tuplu din rela ia referit va fi urma de tergerea tuturor tuplelor din rela iile de referin care fac referire la tuplul ters. Dac tuplurile terse din rela ia de referin sunt, la rndul lor referite de alte tuple, atunci tergerea se propag , n cascad , asupra tuplurilor care fac referire la cele din urm .a.m.d. Opera ia de actualizare Actualizarea unei chei dintr-o rela ie referit se poate face n dou moduri: j actualizare restric ionat j actualizare cascadat problema integrit ii - abordat n dou variante: declarativ sau procedural. M. Danubianu - Baze de date 19
Propriet
i:
nu exista tupluri identice ordinea liniilor si a coloanelor este arbitrar articolele unui domeniu sunt omogene fiecare atribut define te un domeniu i nu se poate repeta n cadrul aceleia i rela ii toate valorile unui domeniu sunt considerate atomice
Avantaje
independen a datelor redundan minim suple e in comunicarea cu utilizatorul
Limite:
necesita volum mare de spa iu nu lucreaz cu obiecte complexe nu realizeaz gestiunea datelor distribuite nu realizeaz gestiunea cuno tin elor pot s apar fenomene de inconsisten
M. Danubianu - Baze de date 20
Concluzii
Reprezentare tabelar a datelor Simplu i intuitiv Cel mai utilizat pentru implementarea SGBD-urilor comerciale Constrngerile de integritate pot fi specificate de DBA pe baza semnifica iilor aplica iilor. SGBD-ul verific violarea acestor constrngeri