Sunteți pe pagina 1din 32

Universitatea ”Constantin Brancusi” din Targu Jiu

BAZE DE DATE – curs

Anul I, FB, CIG,


Anul II IE

Prof. univ. dr. Babucea Ana-Gabriela

An universitar 2019-2020 1
Tema 4
MODELUL DE DATE RELAȚIONAL ȘI SISTEME
DE GESTIUNE A BAZELOR DE DATE
RELAȚIONALE.
Conținuturi:
4.1. Modele de date specializate - particularităti;
4.2. Modelul relațional: Structura relațională a datelor;
Constrângerile modelului relațional - Integritatea relațională;
Operațiile modelului relațional; Vederile.
4.3. SGBD-urile relaționale: Regulile lui Codd;
4.4. SGBDR-uri comerciale – Microsoft Access.
4.2. Modelul relațional - continuare

 Reamintim că modelul relațional, a orice model de


date, se bazează pe trei componente (primele două
find tratate în cursul 8):
 structurile de date - obiecte ce conțin date pe care
utilizatorul le accesează;
 constrângerile/integritate relațională - legi care
stabilesc cum sunt manipulate datele și cui îi este
permis să facă aceasta;
 operațiile - acțiuni care permit manipularea datele de
către utilizator.

Universitatea Constantin Brancusi din


Targu Jiu 3
4.2.3. Operațiile modelului relațional

 Cea de-a treia componentă ce definește modelul relațional este setul


de operații permise a se efectua asupra relațiilor și datelor din cadrul
acestor relații.
 Manipularea datelor din bazele de date relaționale se realizează prin
intermediul limbajelor relaționale.
 Limbajele relaționale oferă instrumente specifice pentru: inserarea,
regăsirea, modificarea sau ștergerea acestora (operații cunoscute
generic ca manipulare a datelor), dar și pentru modificarea structurii
bazei de date.
 Așa cum am prezentat într-o temă precedentă, în general, limbajele de
manipulare a datelor, DML-urile sunt de două tipuri:
 limbaje procedurale – care impun utilizatorului să precizeze modul în
care vor fi obținute, respectiv prelucrate datele solicitate, și
 limbaje declarative – care nu necesită precizarea modului de obținere
sau de prelucrare, ci doar care sunt datele solicitate.
Universitatea Constantin Brancusi din
Targu Jiu 4
4.2.3. Operațiile modelului relațional

 Specific limbajelor relaționale este faptul că se


bazează pe algebra relațională și pe calculul
relațional, două limbaje teoretice definite de Codd
în 1971.
 Algebra relațională este un limbaj procedural.
 Calculul relațional face parte din familia de
limbaje de interogare, declarative.

Universitatea Constantin Brancusi din


Targu Jiu 5
4.2.3.a. Algebra relațională

 Algebra relațională, este caracterizată de operații asupra


uneia sau mai multor relații având întotdeauna ca rezultat o
altă relație, fără a modifica relațiile asupra cărora
acționează.
 Algebra relațională poate fi considerată un limbaj procedural
deoarece transmite sistemului cum să construiască o nouă
relație pe baza uneia sau mai multor relații pre-existente ale
bazei de date.
 Atât operanzii cât și rezultatele operațiilor algebrei
relaționale sunt relații, ceea ce prezintă avantajul imbricării
expresiilor, asemănător operațiile matematice.

Universitatea Constantin Brancusi din


Targu Jiu 6
4.2.3.a. Algebra relațională

 În plus, toate tuplurile relației sunt manipulate simultan, printr-o


singură instrucțiune, fără a fi nevoie de ciclare.
 Relația este tratată ca o mulțime de tupluri, așa încât, algebra
relațională dispune de:
 cele 5 operații fundamentale operabile pe mulțimi, respectiv:
selecția, proiecția, produsul cartezian, reuniunea și diferența,
precum
 și de alte 3 operații derivate din acestea, și anume: uniunea,
intersecția și împărțirea.
 Selecția și proiecția sunt operații care se aplică asupra unei
singure relații, fiind numite operații unare, în timp ce toate
celelalte se aplică asupra unor perechi de relații, motiv pentru
care se numesc operații binare.

Universitatea Constantin Brancusi din


Targu Jiu 7
4.2.3.b. Calculul relațional
 Calculul relațional este practic echivalentul algebrei relaționale,
deoarece pentru fiecare expresie în algebră existând una în
calculul relațional și invers.
 Totuși, calculul relațional poate fi considerat un limbaj
neprocedural, deoarece prin intermediul lui utilizatorul poate defini
o relație în baza a uneia sau mai multor relații existente în baza de
date.
 Fiind o adaptare a calculului predicatelor pentru aplicare în
domeniul bazelor de date relaționale, calculul relațional, tratează
relația ca pe un predicat.
 Astfel, operatorii calculului predicatelor aplicați unor relații inițiale
determină obținerea unor relații noi. Aceștia sunt: conjuncția,
disjuncția, negația, cuantificatorul existențial și cuantificatorul
universal

Universitatea Constantin Brancusi din


Targu Jiu 8
4.2.3.b. Calculul relațional

 Fiind limbaje formale, teoretice, atât algebra relațională


cât și calculul relațional s-au dovedit neprietenoase cu
utilizatorul, reprezentând doar fundamentul pentru
limbajele de manipulare a bazelor de date relaționale
care permit operații specifice prelucrărilor tabelelor,
precum:
 Operații de actualizare a datelor stocate care aduc la zi
informațiile din tabel. Din această categorie fac parte: inserarea
sau ștergerea unor rânduri, sau modificarea unor valorii ale
coloanelor din tabel.
 Operații de consultare (interogare) care permit regăsirea
datelor și obținerea de informații din tabel.

Universitatea Constantin Brancusi din


Targu Jiu 9
4.2.3.b. Calculul relațional

 Din categoria operațiilor de consultare/interogare fac parte:


 operațiile de calcul statistic cu valorile câmpurilor unui tabel (suma
valorilor unui câmp, media aritmetică a valorilor unui câmp, valoarea
minimă sau maximă a unui câmp, numărul de înregistrări din tabel),
 operațiile de căutare – care în baza unui criteriu de căutare regăsește
anumite înregistrări și le afișează (pe ecran, la imprimantă) conform
cerințelor precizate;
 operații de sortare care ordonează virtual rânduri din tabel, în baza
unui criteriu de sortare.
 Prin intermediul unor operatori adiționali specifici, majoritatea
limbajelor de manipulare a bazelor de date relaționale, sunt
mult mai puternice decât algebra relațională sau calculul
relațional, utilizând de exemplu funcțiile de ordonare, de
calcul sau de sumare.

Universitatea Constantin Brancusi din


Targu Jiu 10
4.2.3.b. Calculul relațional

 Cel mai utilizat limbaj de interogare a BDR, bazat pe


operatorii algebrei relaționale este limbajul SQL
(Structured Query Language), limbaj ce va fi prezentat în
Tema 6 (ultimele 3 cursuri).
 SQL - (Structured Query Language) - este un limbaj
standard de gestionare a bazelor de date relaționale și
manipulare a datelor utilizat pentru interogarea,
inserarea, actualizarea și modificarea datelor suportat de
majoritatea SGBDR-urilor.

Universitatea Constantin Brancusi din


Targu Jiu 11
4.2.4. Vederile
 Arhitectura bazelor de date ANSI-SPARC pe 3 nivele face
trimitere la ”vederea externă” ca fiind structura bazei de date
așa cum este ea percepută de un anumit utilizator.
 Modelul relațional, privește noțiunea de ”vedere” oarecum
diferit, respectiv o tratează ca o ”relație (tabel) virtuală”,
generată la un moment dat ca efect al unei interogări utilizator
și care nu există fizic în baza de date.
 Vederea este practic o relație (tabel) derivată în mod dinamic
din relațiile (tabelele) bazei de date, obținută prin efectuarea
unor operații relaționale pe relațiile de bază existente sau a
unor calcule cu valorile acestora.
 Vederile sunt dinamice, în sensul că modificările aduse
relațiilor de bază din care acestea sunt derivate afectează
atributele vederii, și sunt reflectate imediat de acestea.
Universitatea Constantin Brancusi din
Targu Jiu 12
4.2.4. Vederile
 Ca o consecință, atunci când se vorbește de modelul
extern al bazei de date, acesta poate conține pe lângă
relațiile de bază (la nivel conceptual) și o serie de
vederi derivate ale acestora.
 În timp ce relațiile de bază au denumire, corespund
unor entități ale schemei conceptuale și tuplurile lor
sunt memorate fizic în bază de date, vederile sunt
relații care par să existe doar pentru utilizatori putând fi
manipulate precum relațiile de bază, dar nu există fizic
pe suportul de stocare precum relațiile de bază, fiind
produse la cerere, la momentul solicitării.

Universitatea Constantin Brancusi din


Targu Jiu 13
4.2.4. Vederile
 Conținutul unei vederi este o interogare aplicată pe una sau mai
multe relații de bază.
 Operațiile efectuate cu operanzi vederi sunt în mod automat
transpuse asupra relațiilor de bază din care acesta sunt derivate,
astfel încât vederile obținute ca rezultat sunt dinamice, orice
modificare pe relațiile de bază afectându-le conținutul.
 Utilizarea vederilor oferă modelului relațional o serie de avantaje:
 deși părți ale bazei de date sunt ascunse anumitor utilizatori, aceștia nu
conștientizează lipsa atributelor respective din vederea lor;
 aceleași date sunt vizualizate simultan de către utilizatori diferiți, în
moduri diferite, conform cerințelor acestora;
 o vedere definită de o interogare complexă, pe mai multe relații de
bază, poate fi obținută de utilizatori prin operații simple unare care sunt
transpuse de SGBD operații complexe echivalente.

Universitatea Constantin Brancusi din


Targu Jiu 14
4.2. Sistemul de gestiune a bazelor de date relaționale

 Pentru implementarea modelului relațional de organizare și


manipulare a datelor era nevoie de un sistem de gestiune care
să implementeze modelul relațional de bază de date care, în
același timp să pună la dispoziție toate instrumentele de bază
necesare organizării și întreținerii bazei de date.
 Pentru recunoașterea unui SGBD ca fiind relațional, Codd a
enunțat un set de 13 reguli (notate de la 0 la 12) fiind
cunoscute ca ”cele 12 reguli ale Codd” din cauză că regula
fundamentală a fost notată cu ”0”.
 Din regula 0 au derivat pentru toate celelalte reguli.
 Aceste reguli pot fi aplicate pe orice sistem de baze de date
care gestionează datele stocate tabelar folosind doar
capacitățile sale relaționale.

Universitatea Constantin Brancusi din


Targu Jiu 15
4.2.1. Regulile lui Codd

 Regula 0: Regula fundamentală: Pentru a fi relațional, un


SGBD trebuie să fie capabil să gestioneze în întregime bazele
de date exclusiv prin capacitățile sale relaționale.
 Regula 1: Reprezentarea informației: Toate datele stocate
într-o bază de date, inclusiv metadatele, trebuie reprezentate
într-un singur mod, ca valoare a unei anumite celule. Într-o
bază de date, totul trebuie stocat într-un format de tabel.
 Regula 2: Accesul garantat la date: Fiecare element de date
(valoare atomică) este garantat a fi accesibil logic cu o
combinație de: nume de tabel, valoare cheie primară (valoarea
liniei) și numele coloanei. Nu pot fi utilizate alte mijloace, cum
ar fi pointerii, pentru a accesa datele.

Universitatea Constantin Brancusi din


Targu Jiu 16
4.2.1. Regulile lui Codd

 Regula 3: Tratamentul sistematic al valorilor NULL: Valorile


NULL dintr-o bază de date trebuie să beneficieze de un
tratament sistematic și uniform. Aceasta este o regulă
foarte importantă deoarece un NULL trebuie interpretat
doar ca una din situațiile: datele lipsesc, datele nu sunt
cunoscute sau datele nu sunt aplicabile.
 Regula 4: Catalog dinamic on-line: Descrierea structurii
întregii baze de date trebuie stocată într-un catalog on-line,
cunoscut sub numele de dicționar de date, reprezentat la
nivel logic în același mod ca și datele obișnuite astfel încât
utilizatorii autorizați să-l poată accesa folosind același
limbaj de interogare pe care îl utilizează pentru a accesa
baza de date în sine.

Universitatea Constantin Brancusi din


Targu Jiu 17
4.2.1. Regulile lui Codd

 Regula 5: Sublimbaje de date cuprinzătoare: O BD poate fi


accesată folosind mai multe limbaje, totuși trebuie să existe cel
puțin un limbaj care să permită definirea datelor, definirea
vederilor, manipularea datelor și operațiile de gestionare a
tranzacțiilor. Acest limbaj poate fi utilizat direct sau prin intermediul
unei aplicații.
 Regula 6: Reactualizarea vederilor: Toate vederile unei baze de
date, care pot fi actualizate teoretic, trebuie de asemenea să fie
actualizate și de sistem.
 Regula 7: Operații de introducere, actualizare și ștergere la nivel
înalt: BD trebuie să accepte introducerea, actualizarea și
ștergerea la nivel înalt. Aceasta nu trebuie să se limiteze la o
singură linie, ci trebuie să susțină operațiuni de uniune, intersecție
și diferență pentru a obține seturi de înregistrări de date.
Universitatea Constantin Brancusi din
Targu Jiu 18
4.2.1. Regulile lui Codd

 Regula 8: Independența fizică a datelor: Datele stocate într-o


bază de date trebuie să fie independente de aplicațiile care
accesează baza de date. Orice modificare a structurii fizice a
unei baze de date nu trebuie să aibă niciun impact asupra
modului în care datele sunt accesate de aplicațiile externe.
 Regula 9: Independența logică a datelor: Datele logice dintr-o
bază de date trebuie să fie independente de vederile
utilizatorului (aplicația). Orice modificare a datelor logice nu
trebuie să afecteze aplicațiile care o utilizează. De exemplu,
dacă sunt fuzionate două tabele sau unul este împărțit în
două tabele diferite, nu ar trebui să existe niciun impact sau
modificare asupra aplicației utilizatorului. Aceasta este una
dintre regulile cele mai dificile de aplicat în construcția unui
SGBD.
Universitatea Constantin Brancusi din
Targu Jiu 19
4.2.1. Regulile lui Codd

 Regula 10: Independența integrității: O BD trebuie să fie


independentă de aplicația care o folosește. Toate constrângerile
sale de integritate pot fi modificate independent fără a fi nevoie de
nicio modificare a aplicației. Această regulă face o BD independentă
de aplicația front-end și de interfața acesteia.
 Regula 11: Independența distribuției: Utilizatorul final nu trebuie să
poată vedea că datele sunt distribuite în diferite locații. Utilizatorii
trebuie să aibă întotdeauna impresia că datele sunt localizate numai
la o singură locație. Această regulă a fost considerată ca bază a
sistemelor de baze de date distribuite.
 Regula 12: Regula non-subversiune: Dacă un sistem are o interfață
care utilizează un limbaj de nivel jos (câte-o-înregistrare-o-dată),
atunci interfața nu trebuie să poată să submineze sistemul și să-i
ocolească constrângerile de securitate și integritate exprimate în
limbajul relațional de nivel mai înalt (mai-multe-înregistrări-deodată).
Universitatea Constantin Brancusi din
Targu Jiu 20
4.2.1. Regulile lui Codd

 După domeniul de funcționalitate, aceste reguli pot fi


grupate în cinci categorii:
 reguli fundamentale (Regula 0 și Regula 12);

 reguli structurale (Regula 1 și Regula 6);

 reguli de integritate (Regula 3 și Regula 10);

 reguli de manipulare a datelor (Regulile 2, 4, 5 și 7),

 reguli privind independența de date (Regulile 8, 9 și


11).

Universitatea Constantin Brancusi din


Targu Jiu 21
4.2.1. Regulile lui Codd

 Multe dintre SGBD-urile comerciale nu s-au conformat


în totalitate definiției SGBDR a lui Codd, dar au fost
totuși considerate a fi relaționale.
 Din acest motiv, Codd s-a concentrat pe dezvoltarea
teoretică a două probleme principale:
 proiectarea modelului relațional astfel încât să reducă pe
cât posibil redundanța datelor după implementare, și
 îmbunătățirea integrității datelor în cadrul SGBDR-ului.
 Aceste aspecte vor fi tratate în tema următoare.

Universitatea Constantin Brancusi din


Targu Jiu 22
4.2.2. Sisteme de gestiune a bazelor de dare
relaționale comerciale

 Deși angajat al firmei IBM la data publicării teoriei


modelării relaționale a datelor, ideile lui Codd au fost
ignorate inițial, tocmai pentru că IBM investise în IMS –
sistemul de gestiune a bazelor de date ierarhic proiectat
începând din 1966 pentru programul Apollo, și pe care îl
promovau pe piață.
 Abia în anul 1981 firma IBM a realizat propriul produs
relațional - SQL/DS, urmat în 1983 de mai cunoscutul
DB2.
 Între timp, primul SGBD comercial ce implementa
modelul relațional a fost produs de o companie ce
ulterior avea să devină ORACLE.
Universitatea Constantin Brancusi din
Targu Jiu 23
4.2.2. Sisteme de gestiune a bazelor de dare
relaționale comerciale
 Dintre zecile de SGBDR-uri dezvoltate ulterior de diverse
companii, cele mai cunoscute, sunt:
 Sistemul Oracle, produs de Oracle Company, )prima versiune, în
anul 1979)
 considerat cel mai puternic SGBDR multi-utilizator ce implementează
complet caracteristicile modelului relațional, iar ultimele versiuni fiind
obiect-relaționale distribuite.
 implementabil în majoritatea mediilor de operare (Windows, Linux, Unix,
MacOS, OpenVMS, z/OS), oferind performanțe de execuție foarte
ridicate, simultan cu o protecție și o securitate a datelor dintre cele mai
mari.
 este permisă utilizarea gratuită pentru diferite versiuni chiar și pe termen
nelimitat, însă doar în scop non-comercial.
 Oracle Database Lite este un SGBD pentru dispozitive de calcul portabile
mici în timp ce Oracle Database este dedicat mainframe-urilor de mari
dimensiuni.
Universitatea Constantin Brancusi din
Targu Jiu 24
4.2.2. Sisteme de gestiune a bazelor de dare
relaționale comerciale
 Microsoft Access, produs de compania Microsoft, cu prima versiune
în 1992,
 cunoscut mai ales ca SGBD dedicat platformelor de PC-uri fiind
implementabil în mediul Windows.
 parte a pachetului de software de productivitate Microsoft Office, MS
Access dispune de interfață grafică pentru interacțiunea cu utilizatorul și
de un sistem de control al bazei de date (database engine) și are
implementate generatoarelor de aplicații (wizards) care permit
proiectarea vizuală a bazelor de date ceea ce permite dezvolta cu multă
ușurință a aplicațiilor cu baze de date, a formularelor (forms) pentru
interfețele grafice și a rapoartelor (reports).
 folosit în special în SI de birou ale organizațiilor de mici dimensiuni,
licența acestuia fiind inclusă în cea a produsului Microsoft Office
 Versiunile noi pentru lucru in cloud oferă posibilitatea stocării cu ușurință
a datele în SQL Server și în Microsoft Azure SQL.
https://products.office.com/ro-ro/access
Universitatea Constantin Brancusi din
Targu Jiu 25
4.2.2. Sisteme de gestiune a bazelor de dare
relaționale comerciale
 Microsoft Visual FOXPRO, este derivat din sistemul de gestiune a
bazelor de date FoxPro (cu numele inițial de FoxBASE), dezvoltat
de Fox Software începând din 1984.
 Fox Technologies a fuzionat cu Microsoft în 1992, după care software-
ul a dobândit alte caracteristici care au făcut trecerea la modelul
orientat obiect, iar numele FOXPRO a fost însoțit de prefixul "Visual".
 FoxPro 2.6 a lucrat pe MacOS, DOS, Windows și Unix.
 Prima versiune ”Visual” era implementabilă pe MacOS, și Windows,
versiunile următoare fiind dedicate mediului Windows, permițând
manipularea inclusiv a bazelor de date client-server.
 Visual FOXPRO face parte din pachet Visual Studio alături de Visual C,
și Visual Basic – instrumente ce permit programarea orientată pe
obiecte.

Universitatea Constantin Brancusi din


Targu Jiu 26
4.2.2. Sisteme de gestiune a bazelor de dare
relaționale comerciale

 MySQL este un SGBDR produs de Oracle Company,


începând cu anul 1995, având versiuni de implementare
pentru toate sistemele de operare (Linux, Unix,
Windows, MacOS, z/OS, AmigaOS, Android, iOS).
Acest sistem se poate descărca gratuit de la adresa
http://www.mysql.com, fiind cel mai popular sistem
open-source.
 Alte produse software precum Sybase, DB2, INGRES,
sau PostgreSQL sunt SGBD-uri relaţionale.
 Acestea și multe alte SGBDR-uri comercializate astăzi
oferă însă o mulțime de alte funcționalități care se
bazează pe tehnologia orientată obiect.
Universitatea Constantin Brancusi din
Targu Jiu 27
4.2.2. Sisteme de gestiune a bazelor de dare
relaționale comerciale

 Alte funcționalități ale SGBDR-urilor actuale:


 Interogarea proceselor și gestionarea obiectelor: Lumea reală
asociază datele obiectelor. Cu ajutorul SGBDR-urilor actuale datele
pot fi stocate direct în formă de obiecte, având posibilitatea de a
interoga baza de date;
 Controlul redundanței și inconsecvenței: Un SGBDR-ul asigură
controlul redundanței utilizând normalizarea pentru evitarea duplicării
nejustificate a datelor;
 Gestionarea și indexarea eficientă a memoriei: Este permisă
manevrarea facilă și complexă a memoriei. SGBDR-urile indexează
obiectele mult mai eficient, prin schema bazei de date, respectiv
orice atribut sau proprietate de date. Acest lucru ajută la recuperarea
rapidă a datelor pe baza atributului indexat;

Universitatea Constantin Brancusi din


Targu Jiu 28
4.2.2. Sisteme de gestiune a bazelor de dare
relaționale comerciale
 Controlul concurenței și gestionarea tranzacțiilor: Mai multe aplicații
permit utilizatorilor accesul simultan la date. În mod normal, aceasta
poate produce o inconsistență a datelor. SGBDR-urile oferă
mecanisme pentru a face față acestui tip de inconsecvență a datelor,
permițând în același timp utilizatorilor accesul simultan la date prin
implementarea așa numitelor proprietăți ADIC (atomicitate,
durabilitate, izolare, consistență) ce asigură gestionarea eficientă a
tranzacțiilor fără coruperea datelor;
 Controlul accesului și ușurința accesării datelor: SGBDR-urile acordă
acces diverșilor utilizatori și poate determina ce parte și cantitate de
date poate accesa din baza de date, eliminând astfel redundanța.
Oferă acces facil la date prin interogări în care utilizatorii pot
specifica exact ceea ce doresc să extragă din date fără a specifica
modul în care sistemul regăsește aceste informații utilizând limbajul
SQL (Structured Query Language);
Universitatea Constantin Brancusi din
Targu Jiu 29
4.2.2. Sisteme de gestiune a bazelor de dare
relaționale comerciale
 Constrângeri de integritate: Datele stocate în baze de date trebuie să
satisfacă constrângerile de integritate. Constrângerile de integritate
sunt reguli de funcționare, ce trebuie respectate, definite fie la nivel
de tabel, fie la nivel de legătură cu alte tabele. Constrângerile se
verifică automat de SGBDR la inserarea, ștergerea sau modificarea
datelor și dacă acestea nu se validează, sistemul generează o
eroare blocând efectuarea tranzacției respective.
 SGBDR-urile oferă, de asemenea, interfață de utilizator multiplă
(corespunzătoare diferitelor categorii de utilizatori), scalabilitate,
extensibilitate și flexibilitate a datelor în sensul că schema bazei de
date, toate subschemele pot fi schimbate, actualizate.
 În plus, este posibil să se atribuie permisiuni de securitate care să
permită acces restricționat la date ceea ce asigură securitate bazei
de date.
 În general, timpul pentru dezvoltarea unei aplicații este redus.
Universitatea Constantin Brancusi din
Targu Jiu 30
 Codd E.F., A Relational Model of Data
for Large Shared Data Banks,
Communications of the ACM, vol. 13,
issue 6, pp. 377–387, June 1970,
disponibilă digital la
https://www.seas.upenn.edu/~zives/03f/c
is550/codd.pdf

Universitatea Constantin Brancusi din


Targu Jiu 31
Urmează:

Tema 5
Modelarea logică a bazelor de date cu
modelul relațional - Normalizarea bazei
de date.

Universitatea Constantin Brancusi din


Targu Jiu 32

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