Sunteți pe pagina 1din 21

BAZE DE DATE CURS 4

Modelul rela ional

M. Danubianu - Baze de date

De ce se studiaz modelul rela ional




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

Modelul de date rela ional




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


I. Se d o colec ie de mul imi D1,D2,Dn ( nu neap rat distincte). R este o

Baza de date rela ional = un set de rela ii normalizate.


M. Danubianu - Baze de date 4

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

M. Danubianu - Baze de date

Modul de prezentare al unei rela ii

Filiala (NrFil, Orasul, Codpostal,Nr_tel,Nr_fax)


Atribute

Filiala

Este reprezentat ca un tabel.

M. Danubianu - Baze de date

Terminologie
Nume Pre

Tabel sau rela ie Produse: Atribute sau cmpuri Categorie Editura

Visual FoxPro 1999 Office 2000 Informatica 299 149

tehnic tehnic tiin ific economic

TEORA Microsoft ALL Polirom

Contabilitate 203

Tupluri sau rnduri sau nregistr ri


M. Danubianu - Baze de date 7

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

a rela iei STUDENT


login specializare adresa cs ee mat SV NT BT

ax@cs dr@ee

Croitoru cr@mat

 Cardinalitate = 3, grad = 5 , toate rndurile sunt distincte

M. Danubianu - Baze de date

Chei rela ionale


Supercheie - un atribut sau un set de atribute care identific n mod unic un tuplu al unei rela ii.  Poate con ine atribute adi ionale care nu sunt strict necesare identific rii unui tuplu  Cheie candidat (K) a unei relatii R - o supercheie pentru care nici o submul ime nu este supercheie in cadrul rela iei respective. Propriet ile cheii candidat K: unicitate - valorile cheii identifica in mod unic orice tuplu al unei relatii  ireductibilitate Tipuri de chei candidat:  simple  compuse - atributele care o compun sunt atribute prime ( celelalte atribute sunt neprime)  Cheie primar este cheia candidat care este selectat pentru a identifica n mod unic tuplurile unei rela ii.  Restric ii:  nu sunt admise valori nedefinite pentru nici un atribut al cheii primare  nici o valoare a unui atribut dintr-o cheie primara nu poate fi modificat printr-o operatie de actualizare

M. Danubianu - Baze de date

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

M. Danubianu - Baze de date

11

Integritatea rela ional




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.


M. Danubianu - Baze de date

12

Constrngeri de domeniu i constrngeri de ntreprindere


Constrngeri de domeniu- restrictii asupra mul imii de valori permise pentru atributele rela iilor expresie a principiului integrit ii domeniului - posibilitatea SGBD de a verifica din punct de vedere sintactic si semantic orice valoare din baza de date sau orice opera ie efectuat asupra acesteia, folosesc defini ia domeniului. => imposibilitatea nregistr rii unor valori din afara domeniului corespunz tor unui atribut i imposibilitatea efectu rii unor opera ii ntre valori din domenii incompatibile.

Constrngeri de ntreprindere - specificate de c tre utilizatorii sau administratorii unei baze de date

M. Danubianu - Baze de date

13

Integritatea entitatilor (constrngeri asupra cheii primare)


 

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)

M. Danubianu - Baze de date

14

Integritatea referen ial (constrngeri de cheie str in )


j

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 .

M. Danubianu - Baze de date

16

Exemple: Facultate (Codf, Nume, Adresa)




Profesori (Codp, Nume, Func ie, Disciplin , Codf) Student (Matr, Nume, Incadrare, Sit_scolar , An, Sex) Nota (Matr, Codp, Nota)

FACULTATE

PROFESORI NOTA

STUDENT

M. Danubianu - Baze de date

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

M. Danubianu - Baze de date

18

Integritatea referential - continuare


Poate fi afectat de opera iile de ad ugare, tergere i actualizare.
j
j

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

Rela iile referite

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 ile, avantajele i limitele modelului rela ional




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

A permis dezvoltarea limbajelor de interogare neprocedurale


M. Danubianu - Baze de date 21

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