Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » scoala » informatica » sql
Modelul Relational

Modelul Relational


Modelul Relational

Modelul relational a fost propus de catre IBM si a revolutionat reprezentarea datelor facand trecerea la generatia a doua de baze de date.

Modelul este simplu, are o solida fundamentare teoretica fiind bazat pe teoria seturilor (ansamblurilor) si pe logica matematica. Pot fi reprezentate toate tipurile de structuri de date de mare complexitate, din diferite domenii de activitate.

Modelul relational este definit prin: structura de date, operatorii care actioneaza asupra structurii si restrictiile de integritate.

1) Conceptele utilizate pentru definirea structurii de date sunt: domeniul, tabela (relatia), atributul, tuplul, cheia si schema tabelei.

Domeniu este un ansamblu de valori caracterizat printr-un nume. El poate fi explicit sau implicit.



Tabela/relatia este un subansamblu al produsului cartezian al mai multor domenii, caracterizat printr-un nume, prin care se definesc atributele ce apartin aceleasi clase de entitati.

Atributul este coloana unei tabele, caracterizata printr-un nume.

Cheia este un atribut sau un ansamblu de atribute care au rolul de a identifica un tuplu dintr-o tabela. Tipuri de chei: primare/alternate, simple/comune, externe.

Tuplul este linia dintr-o tabela si nu are nume. Ordinea liniilor (tupluri) si coloanelor (atribute) dintr-o tabela nu trebuie sa prezinte nici-o importanta.

Schema tabelei este formata din numele tabelei, urmat intre paranteze rotunde de lista atributelor, iar pentru fiecare atribut se precizeaza domeniul asociat.

Schema bazei de date poate fi reprezentata printr-o diagrama de structura in care sunt puse in evidenta si legaturile dintre tabele. Definirea legaturilor dintre tabele se face logic construind asocieri intre tabele cu ajutorul unor atribute de legatura. Atributele implicate in realizarea legaturilor se gasesc fie in tabelele asociate, fie in tabele distincte construite special pentru legaturi. Atributul din tabela initiala se numeste cheie externa iar cel din tabela finala este cheie primara. Legaturile posibile sunt 1:1, 1:m, m:n. Potential, orice tabela se poate lega cu orice tabela, dupa orice atribute. Legaturile se stabilesc la momentul descrierii datelor prin limbaje de descriere a datelor (LDD), cu ajutorul restrictiilor de integritate. Practic, se stabilesc si legaturi dinamice la momentul executiei.

2) Operatorii modelului relational sunt operatorii din algebra relationala si operatorii din calculul relational.

Algebra relationala este o colectie de operatii formale aplicate asupra tabelelor (relatiilor) si a fost conceputa de E.F.Codd. Operatiile sunt aplicate in expresiile algebrice relationale care sunt cereri de regasire. Acestea sunt compuse din operatorii relationali si operanzi. Operanzii sunt intotdeauna tabele (una sau mai multe). Rezultatul evaluarii unei expresii relationale este format dintr-o singura tabela.

Algebra relationala are cel putin puterea de regasire a calcului relational. O expresie din calculul relational se poate transforma intr-una echivalenta din algebra relationala si invers.

Codd a introdus sase operatori de baza (reuniunea, diferenta, produsul cartezian, selectia, proiectia, jonctiunea) si doi operatori derivati (intersectia si diviziunea). Ulterior au fost introdusi si alti operatori derivati (speciali). In acest context, operatorii din algebra relationala pot fi grupati in doua categorii: pe multimi si speciali.

Operatori pe multimi (R1, R2, R3 sunt relatii (tabele)) sunt:

Reuniunea. R3 = R1 R2, unde R3 va contine tupluri din R1 sau R2 luate o singura data;

Diferenta. R3 = R1 R2, unde R3 va contine tupluri din R1 care nu se regasesc in R2;

Produsul cartezian. R3 = R1 × R2, unde R3 va contine tupluri construite din perechi (x1x2), cu x1IR1 si x2IR2;

Intersectia. R3 = R1 R2, unde R3 va contine tupluri care se gasesc in R1 si R2 in acelasi timp, etc.

Operatori relationali speciali sunt:

Selectia. Din R1 se obtine o subtabela R2, care va contine o submultime din tuplurile initiale din R1 ce satisfac un predicat (o conditie). Numarul de atribute din R2 este egal cu numarul de atribute din R1. Numarul de tupluri din R2 este mai mic decat numarul de tupluri din R1.

Proiectia. Din R1 se obtine o subtabela R2, care va contine o submultime din atributele initiale din R1 si fara tupluri duplicate. Numarul de atribute din R2 este mai mic decat numarul de atribute din R1.

Jonctiunea este o derivatie a produsului cartezian, ce presupune utilizarea unui calificator care sa permita compararea valorilor unor atribute din R1 si R2, iar rezultatul in R3. R1 si R2 trebuie sa aiba unul sau mai multe atribute comune care au valori comune.

Algebra relationala este prin definitie neprocedurala (descriptiva), iar calculul relational permite o maniera de cautare mixta (procedurala/neprocedurala).

Calculul relational se bazeaza pe calculul predicatelor de ordinul intai (domeniu al logicii) si a fost propus de E.F. Codd. Predicatul este o relatie care se stabileste intre anumite elemente si care poate fi confirmata sau nu. Predicatul de ordinul 1 este o relatie care are drept argumente variabile care nu sunt predicate. Variabila poate fi de tip tuplu (valorile sunt dintr-un tuplu al unei tabele) sau domeniu (valorile sunt dintr-un domeniu al unei tabele). Cuantificatorii (operatorii) utilizati in calculul relational sunt: universal ( si existential (

Constructia de baza in calculul relational este expresia relationala de calcul tuplu sau domeniu (functie de tipul variabilei utilizate).

Expresia relationala de calcul este formata din: operatia de efectuat, variabile (tuplu respectiv domeniu), conditii (de comparatie, de existenta), formule bine definite (operanzi-constante, variabile, functii, predicate; operatori), cuantificatori.

Pentru implementarea acestor operatori exista comenzi specifice in limbajele de manipulare a datelor (LMD) din sistemele de gestiune a bazelor de date relationale (SGBDR). Aceste comenzi sunt utilizate in operatii de regasire (interogare).

Dupa tehnica folosita la manipulare, LMD sunt bazate pe:

calculul relational (QUEL in Ingres, ALPHA propus de Codd);

algebra relationala (ISBL, RDMS);

transformare (SQL, SQUARE);

grafica (QBE, QBF).

Transformarea ofera o putere de regasire echivalenta cu cea din calculul si algebra relationala. Se bazeaza pe transformarea (mapping) unui atribut sau grup de atribute intr-un atribut dorit prin intermediul unor relatii. Rezultatul este o relatie (tabela) care se poate utiliza intr-o alta transformare.

Grafica ofera interactivitate mare pentru construirea cererilor de regasire. Utilizatorul specifica cerea alegand sau completand un ecran structurat grafic. Poate fi folosit de catre toate categoriile de utilizatori in informatica.

3) Restrictiile de integritate ale modelului relational sunt structurale si comportamentale.

Restrictiile structurale sunt:

Restrictia de unicitate a cheii. Intr-o tabela nu trebuie sa existe mai multe tupluri cu aceeasi valoare pentru ansamblul cheie;

Restrictia referentiala. Intr-o tabela t1 care refera o tabela t2, valorile cheii externe trebuie sa figureze printre valorile cheii primare din t2 sau sa ia valoarea null (neprecizat);

Restrictia entitatii. Intr-o tabela, atributele din cheia primara nu trebuie sa ia valoarea NULL.

Cele trei restrictii de mai sus sunt minimale.

Pe langa acestea, exista o serie de alte restrictii structurale care se refera la dependentele dintre date: functionale, multivaloare, jonctiune etc. (sunt luate in considerare la tehnicile de proiectare a bazelor de date relationale - BDR).

Restrictiile de comportament sunt cele care se definesc prin comportamentul datelor si tin cont de valorile din BDR:

Restrictia de domeniu. Domeniul corespunzator unui atribut dintr-o tabela trebuie sa se incadreze intre anumite valori;

Restrictii temporare. Valorile anumitor atribute se compara cu niste valori temporare (rezultate din calcule etc.).

Restrictiile de comportament fiind foarte generale se gestioneaza fie la momentul descrierii datelor (de exemplu prin clauza CHECK), fie in afara modelului la momentul executiei.

Restrictiile de integritate suportate de Oracle sunt:

NOT NULL nu permite valori NULL in coloanele unei tabele;

UNIQUE nu sunt permise valori duplicat in coloanele unei tabele;

PRIMARY KEY nu permite valori duplicate sau NULL in coloana sau coloanele definite astfel;

FOREIGN KEY presupune ca fiecare valoare din coloana sau setul de coloane defini astfel sa aiba o valoare corespondenta identica in tabela de legatura, tabela in care coloana corespondenta este definita cu restrictia UNIQUE sau PRIMARY KEY;

CHECK elimina valorile care nu satisfac anumite cerinte (conditii) logice.

Termenul de chei (keys) este folosit pentru definirea catorva categorii de constrangeri si sunt: primary key, unique key, foreign key, referenced key.

Se considera ca modelul relational are o serie de limite cum ar fi:

Simplitatea modelului il face dificil de aplicat pentru noile tipuri de aplicatii (multimedia, internet etc.);

Nu asigura o independenta logica totala a datelor de aplicatie;

Poate creste redundanta datelor.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.