Sunteți pe pagina 1din 5

Introducere - Baze de Date relaţionale

Structurare - memorarea şi regăsirea informaţiilor


Informaţiile din lumea ce ne înconjoară sunt structurate în diverse moduri. Adesea structura o impunem
sau o chiar inventăm noi în procesul de memorare, în încercarea de a transforma informaţiile cu care
suntem bombardaţi în cunoştinţe. Sistemul de structurare a datelor care intervine cel mai frecvent este
tabelul, iar în cazul volumelor mari vorbim depre baze de date.
Procesul de instruire în societatea noastră tot mai informatizată, în aşa numita Societate Informaţională,
impune tot mai mult structurarea cunoştinţelor acumulate, capacitatea de a le organiza, clasifica, regăsi şi
mai ales completa. Vorbim despre managementul conoştinţelor, un capitol important atât al ontologiei,
cât şi al informaticii. Putem spune că disciplina "Baze de Date" se ocupă cu câteva din mecanismele de
gestiune a informaţiilor şi a cunoştinţelor.
Căutările pe World Wide Web, modul în care apelăm la motoarele de căutare şi modul în care acestea
lucrează şi au fost concepute, toate au de a face cu conceptele şi procedeele de lucru cu Baze de Date.
Motoarele de căutare sunt, în fond, nişte instrumente de căutare a informaţiilor într-o imensă bază de date,
care este actualizată continuu, pe măsură ce apar noi pagini Web. Procesul de căutare combinat cu cel de
aducere la zi, modificare-completare, corespund funcţiilor de bază ce intervin la Bazele de Date,
reflectând adică modul de gestiune a informaţiilor de pe Web.
Exemplul tipic, intuitiv şi puţin mai simplu, este cel al organizării cărţilor într-o bibliotecă. Aşa numitul
catalog care ne permite nouă sau bibliotecarului să găsim cartea dorită, pornind doar de la titlul ei, de la
numele autorului sau chiar de la câteva alte indicii mai mărunte.
Problema generală care ne preocupă aici este cum organizăm - memorăm informaţiile pentru a putea fi cât
mai rapid şi mai eficient regăsite?
Răspunsul frecvent la o astfel de întrebare este: In forma unei Baze de Date, adică folosind instrumentele
din domeniul Bazelor de Date (Catalogul bibliotecii fiind exemplul de Bază de Date asupra căruia vom
reveni adesea).
BAZA de DATE RELAŢIONALĂ
Principiile modelului relaţional şi bazele de date relaţionale au fost pentru prima dată prezentate de
matematicianul Dr. E. F.Codd, în iunie 1970, când a publicat un articol numit "Un model relaţional de
date pentru marile bănci de date". In acest articol, el a propus modelul relaţional pentru sistemele de baze
de date. Trebuie spus că şi până atunci fuseseră manipulate şi prelucrate date economice, cataloage ale
bibliotecilor, fişiere de personal... însă într-un mod mai puţin formalizat, neunitar. Era de fapt pe vremea
când portabilitatea aplicaţiilor de pe un sistem de calcul pe altul era încă un vis, când majoritatea
aplicaţiilor care manevrau seturi mari de date se programau în limbaje precum COBOL, Fortran, PL/1,
Algol.
Mai există un model ierarhic pentru bazele de date, pentru organizarea informaţiei în general. Cu
exemplul tipic al structurii de fişiere pe disc.
In Internet (pe Web) vorbim despre Baze de Date Distribuite, plasate pe mai multe servere şi accesibile de
pe diferite staţii de la distanţă. Este vorba de un nivel mai ridicat de complexitate al gestiunii informaţiilor
şi al aplicaţiilor specifice, dar, în majoritatea cazurilor este vorba şi atunci de Baze de Date Relaţionale.
Baza de date relaţională este percepută de utilizatorii săi ca o colecţie de tabele bidimensionale, noţiune
care nu necesită definiţii suplimentare. Sunt aici patru concepte care trebuie reţinute şi înţelese:
1. tabelele
2. coloanele tabelului
3. rândurile tabelului
4. câmpurile din tabel, de pe o anumită coloană şi linie.
Iată un exemplu care ilustrează aceste concepte:
Tabela CLIENŢI

--------------------------------------------------

| S# SNAME STATUS CITY |

|------------------------------------------------|
| S1 Ionescu 20 LONDON |

| S2 Popescu 10 PARIS |

| S3 Teodorescu 30 PARIS |

--------------------------------------------------

Tabela PĂRŢI

---------------------------------------------------------

| P# PNAME COLOUR WEIGHT CITY |

|-------------------------------------------------------|

| P1 NUT RED 12 LONDON |

| P2 BOLT GREEN 17 PARIS |

| P3 SCREW BLUE 17 ROME |

| P4 SCREW RED 14 LONDON |

---------------------------------------------------------

coloană

Tabela ORDINI

-------------------

| S# P# QTY |

|-----------------|

| S1 P1 300 |

| S1 P2 200 |

rând--------->| S1 P3 400 |

| S2 P1 300 |

| S2 P2 400 |----câmp

| S3 P3 200 |

-------------------
Modelul relaţional al bazei de date imită procesele unei ramuri a algebrei, cunoscute sub numele de
"Algebră relaţională". Aceste procese implică:
 o colecţie de obiecte cunoscute sub numele de RELAŢII
 o mulţime de operatori care acţionează asupra relaţiilor pentru a produce noi relaţii.
O relaţie, în cazul discret, poate fi privită şi înţeleasă ca o Tabela. Modificarea datelor se realizează prin
operaţii relaţionale aplicate asupra tabelelor. Spre exemplu, restricţia unei relaţii, a unui tabel, va fi un
nou tabel în care se păstrează doar anumite linii. Iar proiecţia unei relaţii - unui tabel - va fi un nou tabel
în care se păstrează doar anumite coloane.
Operatorii relaţionali
Operatorii relaţionali (în cadrul bazelor de date relaţionale) sunt definiţi în tabelul următor:
Operatorul
Relaţional Descrierea
este o operaţie care preia şi afişează datele din relaţie.Este posibil să se afişeze
Restricţia toate rândurile sau doar rândurile care îndeplinesc o anume condiţie (sau mai
multe condiţii). Aceasta este de multe ori numită "submulţime orizontală"
este operaţia care afişează anumite coloane din relaţie, fiind numită de aceea şi
Proiecţia
"submulţime verticală".
este rezultatul obţinut când rândurile a două mulţimi de date sunt concatenate
Produs
conform condiţiilor specificate.
este rezultatul obţinut când rândurile a două mulţimi de date sunt concatenate
Join
conform condiţiilor specificate.
Reuniunea afişează toate rândurile care apar în una, în cealaltă, sau în ambele relaţii.
Intersecţia afişează toate rândurile care apar în ambele relaţii.
afişează rândurile care apar numai în prima relaţie fără să apară în cea de a doua
Diferenţa
(în SQL se utilizează chiar semnul - operatorul minus).
Iată un exemplu:

PRODUS

----------------- ------------------
--------------------------------

| Ionescu | | Profesor | | Ionescu |


Profesor |

| Popescu | produs | Cercetător|------>| Ionescu |


Cercetător |

| Iliescu | ------------------ | |
|

----------------- | Popescu |
Profesor |

| Popescu |
Cercetător |

| |
|

| Iliescu |
Profesor |
| Iliescu |
Cercetător |

--------------------------------

JOIN

----------------- --------------------
-----------------------------------
| Iliescu | 10 | | 10 | Secretariat | | Iliescu | 10 | 10 |
Secretariat|
| Ţopescu | 10 | J | 20 | Cercetare |-->| Ţopescu | 10 | 10 |
Secretariat|
| Ionescu | 20 | | 30 | Vânzări | | Ionescu | 20 | 20 |
Cercetare |
| Ştefan | 30 | | 40 | Marketing | | Ştefan | 30 | 30 |
Vânzări |
----------------- --------------------
------------------------------------

Proprietăţi ale bazelor de date relaţionale


 O bază de date relaţională apare ca o colecţie de relaţii (tabele)
 Există o mulţime de operatori pentru transformarea şi combinarea relaţiilor:
 selecţia,
 proiecţia,
 produsul,
 join-ul,
 reuniunea,
 intersecţia,
 diferenţa
.
 Nu apar pointeri; conexiunile sunt făcute numai pe baza datelor.
 Există o independenţă totală a datelor.
 Limbajul utilizat pentru interogarea bazei de date este non-procedural şi similar limbii engleze.
 Utilizatorul nu specifică calea de acces şi nu are nevoie să ştie cum este aranjată fizic informaţia.
 Comenzile pentru selecţia sau refacerea datelor, cât şi acelea pentru realizarea schimbărilor în
baza de date sunt incluse într-un singur limbaj, standardizat acum ca SQL.
Proprietăţile relaţiilor tabelare
Fiecare tabelă, individual, are următoarele proprietăţi:
 Nu există rânduri duplicate
 Nu există nume de coloane identice (duplicate)
 Ordinea rândurilor este neimportantă
 Ordinea coloanelor este neimportantă
 Valorile (câmpurile) sunt atomice (nedecompozabile).
SQL
 este limbajul utilizat pentru a accesa o bază de date relaţională;
 poate fi utilizat atunci când accesul la baza de date este necesar, de fiecare instrument de gestiune
a bazelor de date (Access, Oracle, SQL-Server, MySQL,...);
 este un limbaj simplu, ne-procedural, cu comenzi intuitive în limba engleză.
In sistemele Oracle de baze de date, pentru scrierea aplicaţiilor şi pentru manipularea datelor în afara
bazei de date, se foloseşte un limbaj procedural numit PL/SQL, o extensie procedurală a limbajului SQL,
de fapt principalul limbaj (procedural) pentru realizarea aplicaţiilor în sistemele Oracle . In particular,
SQL-Plus este un produs Oracle în care pot fi utilizate limbajele SQL şi PL/SQL.

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