Sunteți pe pagina 1din 38

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.1. Modele de date specializate;

 În cea de-a doua fază a proiectării logice a bazei de date, faza


de mapare a modelării datelor, se apelează la unul din
modelele specializate de date
 Alegerea modelului depinde de modelul de date implementat
de SGBD-ul utilizat la crearea și manipularea BD propriu-zise.
 Prin urmare, ca rezultat al acestei a doua faze de proiectare
logică a bazei de date se obține, deci, schema conceptuală și
schemele externe ale BD, conforme cu SGBD ales și modelul
de date implementat de acesta.
 Baza de date este practic un model de organizare a datelor
pus la dispoziție de SGBD-ul folosit.
 Modelarea logică utilizează modele de date specializate
precum: modelul ierarhic, modelul rețea și modelul relațional.
Universitatea Constantin Brancusi din
Targu Jiu 3
4.1. Modele de date specializate;

 Modelul de baze de date ierarhic


 Are o structură arborescentă care impune o organizare a
entităților sub formă de ”noduri” cu rol de conectare a
ramurilor unui ”arbore descendent„.
 Într-o structură arborescentă, există o singură rădăcină, la
care sunt legate toate celelalte date.
 Ierarhia pornește de la datele rădăcinilor și se extinde ca
un copac, adăugând noduri copil la nodurile părinte.
 Nodurile sunt poziționate pe nivele, astfel încât orice nod
de pe un nivel inferior va fi subordonat unui singur nod de
pe nivelul ierarhic imediat superior, dar poate fi în relație
cu n noduri aflate la nivelul inferior.
 Cu alte cuvinte, orice entitate
Universitatea poate
Constantin
Targu Jiu
Brancusi avea
din un singur nod 4
”părinte”, în timp ce un părinte poate avea oricâte noduri
4.1. Modele de date specializate;

 Modelul de baze de date ierarhic


 Cu alte cuvinte, orice entitate poate avea un singur nod
”părinte”, în timp ce un părinte poate avea oricâte noduri
”copil”.
 Găsirea unei informații presupune pornirea de la nodul
”rădăcină”, nodul părinte de pe primul nivel, și coborârea
pe ramurile arborelui de la nod la nod până la nodul ce
conține informația căutată.
 De exemplu, în figura de mai jos este reprezentată o
secvență dintr-o diagramă de structură de bază de date
ierarhică pentru o firmă.

Universitatea Constantin Brancusi din


Targu Jiu 5
4.1. Modele de date specializate;

 Modelul de baze de date ierarhic

Universitatea Constantin Brancusi din


Targu Jiu 6
4.1. Modele de date specializate;

 Deși potrivit în a descrie o serie de activități ale lumii


reale, acest model de organizare prezintă câteva
probleme:
 Dacă se impune ștergerea unui nod părinte, această
operație va determina ștergerea tuturor nodurilor copil de
pe nivelurile subordonate.
 Dacă se impune adăugarea unui nod copil, aceasta
necesită adăugarea mai întâi a nodurilor părinte.
 Modelul nu permite stabilirea de legături între nodurile copii.
 Problema asocierilor de date “mai mulți-la-mai mulți” poate
fi rezolvată doar generând redundanță mare a datelor
(dublarea informațiilor) și ocuparea ineficientă a spațiului de
memorie.
Universitatea Constantin Brancusi din
Targu Jiu 7
4.1. Modele de date specializate;

 Modelul de baze de date rețea


 Este o extensie a modelului ierarhic de baze de date.
 În acest model, datele sunt organizate asemănător unui
graf, în care unui nod copil i se permite să aibă mai mult
de un nod părinte, astfel că fiecare entitate poate avea
oricâte conexiuni, ceea ce duce la dispariția noțiunii de
entitate ierarhic superioară.
 Deoarece datele sunt legate în mai multe moduri, accesul
la date este mai ușor și rapid.
 Acest model de bază de date a fost soluția pentru
maparea asocierilor de date “mai mulți-la-mai mulți”,
nepermis de modelul de date ierarhic.

Universitatea Constantin Brancusi din


Targu Jiu 8
4.1. Modele de date specializate;

 Modelul de baze de date rețea

Universitatea Constantin Brancusi din


Targu Jiu 9
4.1. Modele de date specializate;

 Modelul rețea a fost cel mai utilizat model de bază de


date, înainte de introducerea modelului relațional, fiind
mult mai flexibil și mai eficient decât cel ierarhic.
 Totuși, fiind un model destul de complex s-a dovedit
dificil de folosit mai ales că implementarea sa fizică,
determină o procesare dificilă a bazei de date, cu o
viteză de lucru redusă cauzată de utilizarea limbajelor de
prelucrare secvențială a înregistrărilor.
 De asemenea, un dezavantaj al modelului rețea este,
ocuparea ineficientă a spațiului de memorie, ca și în
cazul modelului ierarhic.

Universitatea Constantin Brancusi din


Targu Jiu 10
4.1. Modele de date specializate;

 Modelul de baze de date relațional


 Acest model a fost introdus de E.F Codd în 1970 și de atunci
este cel mai utilizat model de bază de date.
 Este considerat cea mai flexibilă modalitate de organizare a
datelor unei baze de date deoarece nu există o cale prestabilită
de acces, ierarhizată, la o anumită dată.
 Baza de date este o structură formată dintr-un set de ”relații”.
 Relația este un concept matematic a cărui reprezentare este
tabelul.
 Toate informațiile referitoare la un anumit tip de entitate sunt
stocate în rândurile unui tabel, coloanele fiind atributele entității.
 Legăturile dintre tabele se definesc prin intermediul unor
coloane comune numite câmpuri cheie.

Universitatea Constantin Brancusi din


Targu Jiu 11
4.1. Modele de date specializate;

 Modelul de baze de date relațional

Universitatea Constantin Brancusi din


Targu Jiu 12
4.2. Modelul relațional
 Modelul relațional este modelul de date cel mai utilizat în
proiectarea logică a bazelor de date, eliberând utilizatorul de
necesitatea cunoașterii structurii fizice de date și a modului de
acces la acestea.
 Modelul de date relațional a fost propus de Edgar F.Codd
(n.1923 – d. 2003), informatician american de origine engleză
care, angajat al IBM, în anul 1970 și constituie fundamentul
teoretic al bazelor de date relaționale (BDR), model ce a
devenit dominant pentru aplicațiile comerciale dacă e să
comparăm cu alte modele de baze de date, cum ar fi modelele
ierarhice, rețea sau pe obiecte.
 Un SGBD-urile care implementează modelul relațional pentru
baza de date se numesc SGBD relaționale (SGBDR).
Universitatea Constantin Brancusi din
Targu Jiu 13
4.2. Modelul relațional
 Considerate a doua generație de SGBD-uri, (prima generație
SGBD-urile ierarhice și cele rețea – pre-relaționale), acestea
au dominat prelucrarea datelor încă de la apariția lor, la
începutul anilor ’80.
 Astăzi există sute de sisteme de gestiune a bazelor de date
relaționale, cele mai cunoscute fiind Microsoft Access și
Microsoft FoxPro, Paradox și Visual dBase ale companiei
Borland, IBM DB2 și Microsoft SQL Server.
 Există, de asemenea, multe SGBDR-uri gratuite și open
source, așa cum sunt MySQL, mSQL (mini-SQL) și embedded
JavaDB (Apache Derby).

Universitatea Constantin Brancusi din


Targu Jiu 14
4.2. Modelul relațional
 Astfel de SGBD-uri, relaționale, oferă utilizatorului o
percepere a bazei de date sub o formă accesibilă
acestuia, acela de colecție de tabele.
 Tabelul este de fapt reprezentarea fizică a conceptul
central al modelului relațional - ”relația” – concept
matematic, preluat de Codd, la fel ca și celelalte concepte
și noțiuni utilizate pentru formalizarea modelului
relațional, din teoria mulțimilor și logica predicativă.
 Astfel că, relația este un tabel alcătuit din coloane și linii.

Universitatea Constantin Brancusi din


Targu Jiu 15
4.2. Modelul relațional
 Această percepție, a tabelului, este asociată doar
structurii logice a bazei de date, respectiv nivelurilor de
abstractizare extern și conceptual al arhitecturii ANSI-
SPARC.
 Neaplicându-se și structurii fizice a bazei de date, baza
de date poate fi implementată prin utilizarea unei game
largi de structuri de stocare.

Universitatea Constantin Brancusi din


Targu Jiu 16
4.2. Modelul relațional
 Ca orice model de date, modelul relațional se
bazează pe cele trei componente:
 structurile de date - obiecte ce conțin date pe care
utilizatorul le accesează;
 constrângerile/integritatea 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 17
4.2.1. Structura relațională a datelor

 Modelul relațional reprezintă baza de date ca o colecție de


relații.
 O relație este un tabel bidimensional de valori.
 Fiecare linie din tabel conține o colecție de valori asociate
datelor.
 Fiecare linie din tabel se referă la o entitate, un obiect din
lumea reală.
 Se observă că fiecare etapă a proiectării bazei de date
impune utilizarea unor noțiuni/concepte specifice, chiar dacă
fac referire la același aspect.

Universitatea Constantin Brancusi din


Targu Jiu 18
4.2.1. Structura relațională a datelor
 Prezentarea comparativă a conceptelor utilizate în
teoria bazelor de date, teoria relațională și din SGBDR.

Sursa: Trandafir, R, Nistorescu, M., Mierluş-Mazilu, I., Baze de date

 In limbajul curent aceste concepte sunt interschimbabile, contextul


utilizării definind exact conținutul lor.

Universitatea Constantin Brancusi din


Targu Jiu 19
4.2.1. Structura relațională a datelor

 Atât tabelul cât și coloanele au nume, făcând astfel posibilă


interpretarea semnificației valorilor din fiecare linie.

Universitatea Constantin Brancusi din


Targu Jiu 20
4.2.1. Structura relațională a datelor
 Ceea ce numim coloană într-un tabel corespunde în teoria
relațională termenului de atribut.
 Colecția de atributele definește o relație. (de exemplu în fig. din
slide-ul precedent, atributele sunt: ID, Nume, Prenume,
Funcția).
 Evident, în mod similar termenul de tabel este utilizat în locul
celui de relație.
 Un tabel are deci două proprietăți: liniile și coloanele.
 Liniile se mai numesc și rânduri sau înregistrări.
 Liniile reprezintă tuplurile și coloanele reprezintă atributele din
terminologia relațională.
 Intersecția dintre o linie cu o coloană, este celula.

Universitatea Constantin Brancusi din


Targu Jiu 21
4.2.1. Structura relațională a datelor
 Celula conține data, valoarea concretă a respectivului atribut
(coloană) corespunzătoare entității descrise de tuplul (linia)
respectivă.
 Domeniul este o mulțime finită de valori de același tip, permise
unui anumit atribut.
 Mai multe atribute pot să aibă același domeniu.
 În general, SGBD-urile acceptă următoarele tipuri de date:
numeric, alfanumeric (Text/Caracter), Logic, DatăTimp, Obiect .
 Modelul relațional introduce constanta Null - valoarea
neprecizată a unui atribut sau neaplicabilă tuplului respectiv.
 Null este diferit de valoarea numerică 0 sau de șirul de caractere
alcătuit din spații. În timp ce 0-urile și spațiile reprezintă valori, Null-ul
semnifică practic lipsa valorii unui atribut.

Universitatea Constantin Brancusi din


Targu Jiu 22
4.2.1. Structura relațională a datelor
 Tuplul - este similar unui rând dintr-un tabel, care conține
o singură înregistrare. O relație nu are tupluri duplicat. În
plus, tuplurile nu sunt ordonate, ele pot apare în orice
ordine, relația rămânând aceeaşi.
 Gradul relației - este numărul total al atributelor din
relație. Relația care are un singur atribut este de gradul
întâi și este numită relație unară, cea cu două atribute
este numită binară, cea cu trei atribute, ternară, ș.a.m.d.
 Cardinalitatea relației - este numărul total de tupluri
conținute de relație. Adăugarea sau ștergerea unor tupluri
va determina modificarea cardinalității relației.
 Instanța relației este un set finit de tupluri.
Universitatea Constantin Brancusi din
Targu Jiu 23
4.2.1. Structura relațională a datelor

 Schema relației este formată din: numele tabelei urmat


între paranteze rotunde de lista atributelor, iar pentru
fiecare atribut se precizează domeniul asociat.
 De reținut că, pentru orice relație trebuie să se respecte
următoarele condiții:
 să nu existe atribute cu același nume;
 să nu existe tupluri identice;
 valorile atributelor trebuie să fie singulare, atomice, în sensul că
nu se pot descompune.
 Rețineți: Într-o relație ordinea tuplurilor și a atributelor este
nesemnificativă;

Universitatea Constantin Brancusi din


Targu Jiu 24
4.2.1. Structura relațională a datelor

 Cheia este un atribut sau un ansamblu de atribute


care au rolul de a identifica un tuplu dintr-un tabel.
 Cheia primară a relației – un atribut, sau un
ansamblu de atribute care identifică în mod unic
tuplurile din cadrul unei relații, respectiv liniile în tabel.
 Cheia primară a relației are proprietatea de a fi
neredundantă, adică ansamblul de atribute din care
este formată este minimal, în sensul că prin
excluderea oricărui atribut din aceasta se pierde
calitatea principală a cheii, aceia de identificare unică
a tuplurilor.

Universitatea Constantin Brancusi din


Targu Jiu 25
4.2.1. Structura relațională a datelor
 De exemplu: mai jos este prezentată relația/tabelul cu
numele ANGAJAT.

 Relația conține 5 atribute (coloane), cu numele: Marca, Nume,


Prenume, Data_nast și Adresa, deci gradul relației este 5.
 Instanța relației cuprinde 4 tupluri (linii), prin urmare cardinalitatea
relației este 4.
 Domeniile atributelor sunt:
 pentru atributul Marca: D1 - Numere naturale;
 pentru atributele Nume, Prenume și Adresa: D2 – Alfanumeric (șir de caractere);
 pentru Data_nast: D3 - dată calendaristică.

Universitatea Constantin Brancusi din


Targu Jiu 26
4.2.1. Structura relațională a datelor

 Marca este atribut de identificare – cheie primară. (Valorile


atributului Marca sunt unice în sensul că identifică în mod unic
fiecare tuplu).

 Schema relației este:


ANGAJAT(Marca:D1, Nume:D2, Prenume:D2, Data_nast:D3, Adresa:D2)

Universitatea Constantin Brancusi din


Targu Jiu 27
4.2.1. Structura relațională a datelor
 Orice relație are o cheie primară. Dacă aceasta nu poate fi
identificată printre atributele relației, se asociază acestora o
cheie primară surogat.
 De asemenea, o relație poate avea mai multe variante de
alegere a unei chei primare, numite chei candidat.
 Stabilirea cheii primare este atributul utilizatorului (designer-ul
bazei de date) însă cu respectarea următoarelor principii:
 este obligatorie, orice relație trebuie să aibă o cheie primară chiar dacă
aceasta este una surogat;
 este unică, identificând prin valoarea sa un singur tuplu dintr-o relație
(nu există două linii în tabel cu aceeași valoare a cheii primare);
 este nonNull-ă, în sensul că valoarea unei chei primare nu poate fi vidă;
 este stabilă, o dată creată, valorile cheilor primare rămân stabile pe
toată durata de viață a tabelei, acestea fiind foarte rar modificate;
Universitatea Constantin Brancusi din
Targu Jiu 28
4.2.1. Structura relațională a datelor
 este nereutilizabilă, valoarea chei primare a unui tuplu șters nu se
atribuie altui tuplu;
 este simplă sau compusă, putând conține unul sau mai multe atribute
din structura tuplului;
 este minimală, incluzând doar acel/acele atribute care îi asigură
unicitatea.
 Cheile candidat care rămân neselectate ca și cheie
primare poartă numele de chei alternative.
 O altă noțiune a modelului relațional este aceea de
cheie secundară sau externă/străină.
 Aceasta poate fi formată dintr-un singur atribut sau un
ansamblu de atribute al unei relații care ”se potrivește”
cu cheia primară a altei relații.
Universitatea Constantin Brancusi din
Targu Jiu 29
4.2.1. Structura relațională a datelor
 Despre cele două relații se spune că se corelează, legătura între
acestea stabilindu-se prin intermediul cheilor ce ”se potrivesc”.
 Aceste legături sunt de subordonare: una dintre relații (tabel) este
principală (tabel principal, de la care pornește legătura), iar
cealaltă relație (tabel) este secundară (tabel secundar, la care
ajunge legătura).
 Relația secundară este subordonată relației principale.
 Altfel spus, tabelul ce conține cheia secundară (externă) este
numit tabel secundar sau subordonat, iar cel cu care se
corelează (se leagă) este numit tabel principal.
 Cheia primară a tabelului principal va fi numită cheie principală în
raport cu cheia secundară din tabelul secundar.
 Legăturile dintr-o bază de date relațională sunt de legături de
subordonare.
Universitatea Constantin Brancusi din
Targu Jiu 30
4.2.1. Structura relațională a datelor
 De exemplu, între relațiile ANGAJAT și DEPARTAMENTE, ale
căror scheme sunt prezentate mai jos, există o legătură
definită prin intermediul atributului Cod_Dep, cheie primară a
relației Departamente și cheia străină în relația Angajat (se
dublu subliniază):

ANGAJAT (Marca, Nume, Prenume, Data_Nast, Adresa, Cod_Dep, Funcția)


DEPARTAMENTE (Cod_Dep, Denumire, Locația)

 Relația DEPARTAMENTE este relație principală deoarece


atributul de legătură (comun), Cod_Dep, este cheia primară,
în timp ce relația ANGAJAT este secundară sau corelată,
deoarece acesta este un atribut non-cheie, deci este cheie
secundară (externă).
Universitatea Constantin Brancusi din
Targu Jiu 31
4.2.1. Structura relațională a datelor
 Baza de date relațională poate conține oricâte relații cu o
structură adecvată care să permită implementarea sa
fizică și utilizată fără a produce anomalii în manipulare.
 Baza de date relațională este deci o mulțime finită de
relații structurate adecvat.
 Această structurare poartă numele de normalizare.
Procesul de normalizare a unei baze de date relaționale
va fi tratat în Tema 5.

Universitatea Constantin Brancusi din


Targu Jiu 32
4.2.2. Constrângerile modelului relațional

 Orice model de date, inclusiv cel relațional, are, pe lângă


componenta structurală, încă două părți:
 o componentă ce privește manipularea datelor,
respectiv setul de operații permise asupra datelor și
 o componentă ce vizează integritatea datelor,
respectiv setul de reguli ce asigură corectitudinea
datelor, numite constrângeri.

 Deoarece manipularea datelor se supune constrângerilor


definite pe date, vom aborda mai întâi componenta de
integritate relațională.

Universitatea Constantin Brancusi din


Targu Jiu 33
4.2.2. Constrângerile modelului relațional

 Integritatea relațională vizează două aspecte: de structură


și de comportament.
 Minimal, există trei constrângeri structurale ce asigură
corectitudinea datelor în modelul relațional:
 Restricția de unicitate a cheii, care se referă la faptul că într-un
tabel nu trebuie să existe mai multe tupluri cu aceeași valoare
pentru cheia primară;
 Restricția referențială, care se referă la faptul că într-un tabel
secundar (S) care se corelează cu un tabel principal (P), toate
valorile cheii externe se găsesc printre valorile cheii primare ale
tabelului principal (P). Ele nu pot avea valoarea null (neprecizată);
 Restricția entităților, care se referă la faptul că într-un tabel o
cheie primară nu poate avea ca valoare valoarea Null.

Universitatea Constantin Brancusi din


Targu Jiu 34
4.2.2. Constrângerile modelului relațional

 De exemplu:

Universitatea Constantin Brancusi din


Targu Jiu 35
4.2.2. Constrângerile modelului relațional
 Este evident că:
 Fiecare angajat aparține unui departament și toți angajații
dintr-un departament vor avea aceeași valoare pentru
atributul Cod_Dep.
 Pentru ca restricția de unicitate să se respecte trebuie să nu
existe mai multe departamente cu același Cod_Dep, și nici
angajați cu aceeași Marcă, sau neprecizate (Null) pentru a
respecta și restricția entităților.
 De asemenea, ținând cont că orice angajat aparține unui
departament, pentru a respecta restricția referențială, în
relația ANGAJAT valoare atributului Cod_Dep (cheia externă)
nu trebuie să fie Null sau orice altă valoare care nu este
atribuită unui departament, altfel spus, nu se regăsește între
valorile cheii primare a relației Departamente.

Universitatea Constantin Brancusi din


Targu Jiu 36
4.2.2. Constrângerile modelului relațional

 Cât privește restricțiile referitoare la comportament,


acestea depind de valorile din baza de date relațională
(devin active la manipularea BD – este sarcina SGBD-
ului).
 Există două categorii de restricții de comportament:
 Restricția de domeniu, în sensul că domeniul
corespunzător unui atribut dintr-un tabel trebuie să se
încadreze între anumite valori permise – SGBD-ul nu
va accepta altfel de valori;
 Restricții temporare, în sensul că valorile anumitor
atribute trebuie să corespundă unor valori temporare
(de exemplu rezultate din calcule).
Universitatea Constantin Brancusi din
Targu Jiu 37
Urmează:

 4.2. Modelul relațional – continuare:


Operațiile modelului relațional; Vederile.
 4.3. SGBD-urile relaționale: Regulile lui
Codd;
 4.4. SGBDR-uri comerciale – Microsoft
Access.

Universitatea Constantin Brancusi din


Targu Jiu 38

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