Sunteți pe pagina 1din 48

BAZE DE DATE

1. NOȚIUNI INTRODUCTIVE.
CONCEPTE TEORETICE

lect. univ. Tîrșu Valentina


Conținut

Structură curs
Bibliografie
1. Introducere
2. Sisteme de baze de date
3. Componentele sistemelor BD
4. Modelul relațional
5. Modelarea datelor
5.1. Modelul entitate – legatura
5.2. Modelarea fizică
6. Funcțiile unui SGBD
7. Aplicație propusă

2
Structură curs
Ore
Prelegeri Lucrări de laborator
P LL
Tema 1. Baze de date şi sisteme de gestiune a LL1. Instalarea şi configurarea SGBD-ului 2 4
bazelor de date MySQL SERVER. Crearea şi întreţinerea
bazei de date
Tema 2. Structura relaţională a datelor 2
Tema 3. Constrângeri de integritate LL2. Gestionarea tabelelor şi relaţiilor 4 4
dintre acestea.
Tema 4. Algebra relaţională 2
Tema 5. Limbajul MySQL LL3. Interogări simple şi compuse asupra 6 4
bazei de date
Tema 6. Actualizarea bazei de date 2
Tema 7. Cereri mulţi-relaţie 2
Tema 8. Funcţii definite de utilizator LL4. Funcţii şi proceduri 4 4
Tema 9. Proceduri stocate 4
Tema 10. Definirea accesului la baza date LL5. Viziuni 2 4
Tema 11. Viziuni 4
Tema 12. Declanşatoare LL6. Declanşatoare 4 4
Tema 13. Crearea şi restaurarea backup-ului LL7. Mentenanţa, backup-ul şi recuperarea 3 6
bazelor de date
Tema 14. Rapoarte 4
Total 45 30
3
Bibliografie

 [1] MySQL 8.0 Reference Manual: http://dev.mysql.com/doc/refman/5.6/en/index.html


 ,https://downloads.mysql.com/docs/refman-8.0-en.a4.pdf
 [2] V. Cotelea. Algebra relațională și limbajul SQL. Chişinău: Vizual Design, 2013, 284
p., 16.61 c.a.
 [3] Chodorow K.,Bradshaw Sh. MongoDB: The definitive guide, 3nd edition, O’Reilly
Media, 2018. ISBN 9781491954454, 425 p.
 [4] Martin Gruber. Understanding SQL. https://www.sql.ru/docs/sql/u_sql/#ch1
 [5] The world's largest web developer site. SQL Tutorial.
https://www.w3schools.com/sql/default.asp

4
Obiective:

 să clasifice evoluția tehnologiilor de prelucrare a datelor;


 să definească conceptele ce stau la baza creării BD;
 să clasifice nivelile de abstractizare a BD;
 să descrie modelul conceptual ER;
 să aplice modelul implementabil - Modelul relațional;
 să distingă categoriile de utilizatori a BD;
 să descrie componentele sistemelor BD.

5
1. Introducere: Condiții preliminare pentru apariția bazelor de date

Două premise principale pentru apariția bazelor de date:


 Necesitatea stocării și procesării unei cantități mari de date.
 Dezvoltarea metodelor de partajare a datelor.

Evoluția tehnologiilor de prelucrare a datelor:

Codul de program program program

Segmentul de date
Descrierea datelor
date
date
BD

а) b) c)

6
1. Introducere: Condiții preliminare pentru apariția bazelor de date

Bazele de date definesc socientatea informațională.


Câteva din aplicațiile (SGBD) cele mai reprezentative sunt:
• Bancare: gestiunea informațiilor legate de clienți, conturi, tranzacții bancare.
• Transport aerian: gestiunea informațiilor legate de rezervări si planificări.
• Universități: gestiunea informațiilor legate de studenți, cursuri, note, examene,
profesoi.
• Tranzacții și carduri pentru credite: gestiunea cumparaturilor pe cardurile de credit,
generarea situatiilor lunare.
• Telecomunicații: gestiunea inregistrarilor apelurilor, facturarea lunara, etc.
• Finanțe: gestiunea informatiilor despre vanzari, stocuri, etc.
• Vânzări: gestiunea clientilor, produselor, informatii legate de vanzari.
• Resurse umane: gestiunea informatiilor despre angajati, salarii, taxe, beneficii, etc.
Dupa cum se poate observa, bazele de date sunt o parte esentiala a majoritatii aplicatilor
din prezent.

7
1. Introducere: Date istorice

– 1960: primele aplicatii de baze de date comerciale (companii private): model de tip retea (CODASYL) si de tip ierarhic (IMS); acces prin
intermediul pointerilor low-level; detalii de stocare depind de tipul de date ce trebuie stocate; succes comerical: SABRE – IBM si American Airlines;
– 1970-1972: E.F. Codd propune modelul relational de organizare a datelor; deconecteaza schema (tipul de organizare logica a datelor) de tipul
de stocare fizica;
– 1970-1980: apare Ingres, din care se vor dezvolta apoi Ingres Corp., Sybase, MS SQL Server; apare System R (IBM), din care se vor dezvolta
Oracle, IBM DB2;
– 1976: P. Chen propune modelul entitate-relatie; aceasta abordare va permite concentrarea pe proiectarea functionala si nu pe organizarea
tabelelor;
– 1980-1990: revolutia PC face posibila dezvoltarea PARADOX, DBASE III, IV, FoxPro; DB2 devine un important al IBM; SQL devine standardul
general acceptat pentru SGBDR.
– 1990 (inceputul decadei): Apar si se dezvolta aplicatii dedicate dezvoltarii de aplicatii de baze de date: VB, PowerBuilder (Sybase), Oracle
Developer; modelele client-server se impun treptat pe piata;
– 1990 (mijlocul decadei): Dezvoltarea Internetului; regandirea in perspectiva a modelelor de aplicatii de baze de date;
– 1990 (sfarsitul decadei): Investitiile masive in Internet stimuleaza aparitia si dezvoltarea de produse ce faciliteaza interconectarea si
manipularea datelor pentru aplicatii online (ASP, FrontPage, Java Servlets, JDBC, Java Beans, ColdFusion, Dream Weaver, Oracle Developer
2000)
– 2000: Trei mari companii domina: Oracle, IBM (cumpara Informix) si Microsoft;
– 2009: Open source MySQL/Apache server inlocuieste sisteme scumpe/istorice/comerciale (dar …Oracle cumpara Sun);
– prezent: noSQL (BigTable, MapReduce, MongoDB), XML;
Tendinte
– Baze de date de dimensiuni uriase (TB) impun regandirea metodelor de acces si analiza a datelor;
– Au aparut succesori ai SQL (noSQL, incluzand XML): tabele nenormalizate, scalare horizontala, stocare cheie-valoare;
– Probleme etice/de securitate/utilizare devin, periodic, de mare importanta. 8
1. Introducere: Metode de realizare a aplicațiilor care folosesc BD

Pentru realizarea unei aplicaţii care foloseşte baze de date se poate proceda în două
moduri:
a) Se creează baza de date cu ajutorul unei aplicaţii de tip server de baze de date şi se
scriu apoi aplicaţiile care accesează baza de date într-un limbaj care posedă funcţiile
necesare accesării server-ului (frecvent se folosesc limbajele C++, Java, C# sau Visual
Basic)
b) Se foloseste o aplicaţie de tip sistem de gestiune de baze de date (S.G.B.D. sau
D.B.M.S. - DataBase Management System).
Un astfel de sistem oferă un ansamblu de instrumente software cu ajutorul cărora se
crează atât baza de date cât şi aplicaţiile prin care aceasta este exploatată.
Pentru utilizatorii sistemului de operare Windows cele mai cunoscute sisteme de acest
fel sunt Access şi Visual FoxPro, ORACLE Database, MySQL.

9
2. Sisteme de baze de date

 Un sistem de BD este o colecție de date, metode și modele economice și matematice,


hardware, software și specialiști. Sunt concepute pentru procesarea informațiilor și luarea
deciziilor de management.

1. Date

2. Utilizatori

3. Hardware

4. Software

10
2. Sisteme de baze de date (continuare)

Date Informații
“Fapte, elemente ce servesc ca punct de “Comunicare, veste, ştire” “Fiecare dintre
plecare în cercetarea unei probleme sau elementele noi în raport cu cunoştinţele
pentru a trage o concluzie sau hotărâre”. prealabile”.
(Dicţionar general al limbii române – Vasile Breban Ed. Enciclopedica,1991)

• Media notelor pe grupă la proiectarea BD


Notele studentilor in sesiune • Ultima medie de admitere la Facultate
• Numarul de studenti cu media peste 9
Bugetul entității in 2020 a
• Ce buget este necesar in anul viitor?
fost 200000 lei

Informaţia rezultă adesea din combinarea, compararea si


efectuarea unor calcule asupra datelor.
11
2. Sisteme de baze de date (continuare)

Cum aţi folosi o baza de date dacă aţi avea una


dintre meseriile de mai jos?
Mecanic auto

Șofer

Cultivatoare de flori
12
2. Sisteme de baze de date (continuare)

Diferite persoane sau grupuri de persoane care folosesc informaţiile sunt definite ca
utilizatori.

 Categoriile de persoane implicate în mediul BD sunt:


Proiectanţi – culegerea informațiilor, sistematizarea datelor, optimizarea modelului BD.
Programatori – transpune BD în limbaj de programare.
Administratori de sistem - instalează, configurează, securizează şi monitorizează
funcţionarea aplicaţiei de BD.
Administratori de baze de date - se ocupă de popularea cu date a BD, precum şi de
gestionarea şi „întreţinerea” datelor.
Utilizatorii BD - care trebuie să fie instruiţi referitor la modul de utilizare a BD, la
facilităţile şi informaţiile pe care aceasta le oferă.

13
2. Sisteme de baze de date (continuare)
 Hardware
De obicei noţiunea de hardware constă din device-uri fizice, cum ar
fi harddisk-uri, imprimante, interfeţe de intrare/ieşire şi procesorul
de date cu memoria sa asociată.

 Software
Interfaţa dintre datele fizice şi utilizatorul se numeşte Sistemul de
Gestiune a Bazelor de Date (SGBD).
SGBD-ul este un sistem software, dar poate conţine şi hardware
specializat pentru a gestiona mai eficient datele.
Aceste componente hardware pot fi harddisk-uri speciale care
permit un acces mai rapid la date, sau multiprocesoare care permit
procesarea paralelă de date.

14
2. Sisteme de baze de date (continuare)

SGBD-ul furnizează diferiţilor utilizatori ai bazei de date, diferite modalităţi de


lucru cu date în funcţie de necesităţile fiecăruia.
Aceste diferite modalităţi de lucru cu datele reprezintă diferite nivele de
abstractizare a datelor:
• Nivelul extern (de vizualizare) – este cel mai de sus nivel al abstractizarii si simplifica
interactiunea utilizatorului cu SGBD, deoarece utilizatorii pot avea nevoie doar de
anumite informatii din baza de date. Sistemul poate furniza mai multe vederi ale aceeasi
baze de date.
• Nivelul conceptual - este nivelul de abstractizare care descrie ce date sunt stocate in baza
de date si ce legaturi exista intre aceste date. Nivelul conceptual descrie intreaga baza de
date in termenii unui numar mic de structuri de date simple. Implementarea acestor
structuri simple de la nivelul conceptual poate implica structuri de date complexe la nivel
fizic. Acest nivel este corespunzator unei viziuni globale asupra bazei de date
independentă de implementare, din punctul de vedere al proiectantului.
• Nivelul fizic (intern) – este cel mai de jos nivel al abstractizarii si descrie cum sunt datele
stocate pe disc. La acest nivel, structurile de date de nivel jos sunt descrie in detaliu.

15
2. Sisteme de baze de date (continuare)

Obiectivul principal al unei BD


este de a separa descrierea datelor
fata de programele de aplicatii,
idee care a fost exprimata pentru
prima data în anul 1965. Pentru
atingerea acestui obiectiv este
necesara o abstractizare a datelor
memorate în BD. Astfel s-a ajuns
ca astazi sa existe 3 niveluri de
reprezentare si perceptie a unei
BD: extern, conceptual si intern.

16
3. Componentele sistemelor BD

1. SGBD - este un modul care ofera o interfata intre datele de nivel jos stocate in baza de
date si programele aplicative si interogarile trimise sistemului. Acesta cuprinde:
• Managerul de autorizare si stocare: testeaza satisfacerea regulilor de integritate si verifica
autorizarea utilizatorilor pentru a accesa datele.
• Managerul de tranzactii: asigura ca baza de date sa ramana in stare consistenta in urma caderilor
sau erorilor de sistem si executarea tranzactiilor concurente fara conflict.
• Managerul de fisiere: administreaza alocarea spatiului pe disc si structurile de date folosite pentru a
reprezenta informatia stocata pe disc.
• Managerul memoriei tampon: este responsabil pentru citirea datelor de pe disc in memoria
principala si decide ce date sunt pastrate in memoria principala. Acest manager reprezinta partea
critica a sistemului de baze de date si implementeaza cateva structuri de date ca si parte a
implementarii fizice a sistemului:
• Fisierele de date: stocheaza chiar baza de date.
• Dictionarul de date: stocheaza metadate despre structurile de date ale bazei de date.
• Indecsii ofera acces rapid la datele accesate.

17
3. Componentele sistemelor BD (continuare)

2. Procesorul de interogari (cereri) - include urmatoarele componente:


• Interpretorul DDL interpreteaza comenzile DDL si inregistreaza definitiile in
dictionarul de date.
• Compilatorul DML translateaza comenzile DML din limbajul de interogare intr-
un plan de evaluare care contine instructiuni de nivel inferior. O interogare poate
fi translatata in mai multe planuri alternative de evaluare, toate oferind acelasi
rezultat. Compilatorul DML efectueaza de asemenea optimizarea interogarilor
care presupune alegerea planului de evaluare cu costul cel mai mic dintre
alternativele existente.
• Motorul de evaluare a interogarii executa instructiunile de nivel inferior generate
de compilatorul DML.

18
3. Componentele sistemelor BD (continuare)

limbaj de definire a datelor

SQL DDL
• DDL – instrucțiuni de definire a obiectelor BD, se va
crea schema bazei de date printr-un set de expreresii.
Data Definition De exemplu, crearea tabelului cont in limbajul SQL:
Language
create table cont
(NRCont char(10),
DML Balanta integer)
Data Manipulation
Language • DML- manipularea cu datele BD:
• gasirea informatiei cautate in baza de date
DCL • inserarea informatiei noi in baza de date
• stergerea anumitor informatii din baza de date
Data Control
Language
• modificarea informatiei stocate in baza de date
• DCL – instrucțiuni de control al datelor

19
3. Componentele sistemelor BD (continuare)
Arhitectura unui sistem de baze de date presupune următoarele Utilizatori
naivi
Programatori
aplicatii
Utilizatori
sofisticati
Administrator
baza de date
componente
• baza de date propriu-zisă în care se memorează datele;
Interfete Programe Medii de Mijloace de
aplicatie aplicatie interogare administrare

• sistemul de gestiune a bazei de date, care realizează gestionarea şi


prelucrarea complexă a datelor; interpretor
compilator cereri DML
DDL
• un dicţionar al bazei de date (metabaza de date), ce conţine informaţii Program Compilator
despre date, structura acestora, statistici, documentaţie; aplicatie
cod obiect
DML
Masina Procesor
evaluare cereri cereri
• mijloace hardware (comune sau specializate);
Manager Manager Manager
• reglementări administrative destinate bunei funcţionări a sistemului; memorie
Manager
fisiere
autorizare tranzactii
tampon acces

Manager
• personalul implicat (utilizatori finali, administratorul datelor, stocare date
administratorul bazei de date, proiectanţi, programatori de aplicaţii).

indecsi Dictionar
de date
date Date
statistice
20
4. Modelul relațional

Regulile şi conceptele care permit descrierea structurii unei BD formează


modelul datelor. În timp au fost definite trei astfel de modele:
 Modelul ierarhic în care datele erau organizate sub forma unui arbore, nodurile
constând din înregistrari iar arcele referinte catre alte noduri.

 Modelul retea în care datele erau organizate sub forma unui graf orientat. Nodurile şi
arcele au aceeasui semnificaţie ca mai sus.

 Modelul relaţional în care, intuitiv, datele sunt organizate sub forma de


tabele.

 Modelul de date orientat pe obiect e combină posibilitatea definirii şi manipulării


structurilor complexe de date cu funcţionalitatea unui limbaj de programare şi tehnologia
de gestiune a bazelor de date.

21
4. Modelul relațional (continuare)

Modelul relațional

• Modelul relational foloseste colectii de tabele (entități) pentru a reprezenta datele si


legaturile dintre ele. Fiecare tabel are mai multe coloane si fiecare coloana are nume
unic.

• Modelul relational este cel mai cunoscut model de date si cea mai mare majoritate a
SGBD curente se bazeaza pe modelul relational.

• Modelul relational este mai aproape de implementare, de nivelul de jos al


abstractizarii decat modelul Entitate-Relație. Proiectarea bazei de date se realizeaza,
de obicei, folosind modelul Entitate-Relașie si apoi acesta este translatat in model
relational.

22
4. Modelul relațional (continuare)

 O entitate este un obiect distinct inclus în BD asociat unei persoane, firme, unui loc,
document sau concept etc.
Fiecărei categorii de obiecte descrise în BD i se asociază un tip de entitate cu un nume
sugestiv (de exemplu: studenți, angajați, cursuri, departamente etc.)
Fiecare entitate este descrisă printr-un set de atribute. De exemplu, entitatea STUDENT
poate avea mai multe atribute: nume, prenume, cod numeric personal (CNP), număr
matricol, specializare şi altele.
 Un atribut este o proprietate care descrie un anumit aspect al unui tip de entitate.
 Cheia este un atribut sau un grup de atribute care identifică în mod unic o entitate - se
numeşte cheie primară (PK – Primary Key).

23
4. Modelul relațional (continuare)

O relaţie reprezintă o asociaţie între mai multe entităţi.

 Termenul de relaţie (care da denumirea modelului)


provine din matematica iar reprezentarea intuitiva a
unei relaţii este un tabel.
 În cazul modelului relaţional descrierea structurii unei baze
de date consta în principal din descrierea tabelelor
componente:
 denumire,
 lista de coloane şi
 tipul datelor din acestea.
24
4. Modelul relațional (continuare)

Modelul relațional

25
4. Modelul relațional (continuare)

Mult mai important, este faptul că acest model este direct


legat de conceptul matematic de relaţie şi este compus din:
1. o parte structurală - o bază de date este o colecţie de
relaţii.
2. o parte de integritate. Chei primare şi chei străine.
3. o parte de manipulare. Algebra relaţională şi calcul
relaţional.

26
4. Modelul relațional (continuare)

Formal, o relaţie R este o mulţime de domenii D1, D2, ..., Dn


și mulțimea de atribute A1, A2, ..., An.
• Elementele relaţiei sunt n-tuplurile (v1, v2, ..., vn) și se
notează vi Di, adică valoarea celui de-al i-lea atribut trebuie
să fie un element din mulţimea Di.
• Elementele dintr-un tuplu sunt numite câmpuri.
• Când un camp nu conţine nici o valoare, vom reprezenta
acest fapt cu o valoare specială numită valoare null,
semnificând că “nu este nici o intrare” în loc de “intrarea
este necunoscută”.

27
4. Modelul relațional (continuare)

Prezentăm în continuare un exemplu structura unei relații:

Domeniu

28
4. Modelul relațional (continuare)

Constrângeri de integritate:

Constrângerile de integritate restricţionează mulţimea


tuplurilor teoretice posibile la o mulţime care este în mod
practic cu o semnificaţie.
Fie X şi Y două mulţimi cu unul sau mai multe atribute Ai, din
schema relaţională.
Spunem că Y este dependent funcţional de X, şi notăm acest
lucru prin X ->Y, dacă şi numai dacă nu este posibil să avem
două tupluri cu aceeaşi valoare pentru toate atributele din X
dar cu valoare diferită pentru toate atributele din Y.

29
4. Modelul relațional (continuare)

Cele mai importante constrângeri de integritate sunt:


Constrângerea de integritate a entităţii care stabileşte că fiecare tuplu să fie unic
identificat printr-o cheie şi atributul cheie să nu poată fi null;

30
4. Modelul relațional (continuare)

 Constrâgerea referenţială de integritate stabileşte că un n-tuplu dintr-o relaţie care se referă la o


altă relaţie, trebuie să se refere la un n-tuplu care există în acea relaţie; această condiţie se referă la
cheile străine.

 O cheie candidat a unei relaţii R este o mulţime minimă de atribute de care toate celelalte
atribute ale lui R sunt dependente funcţional.

 Cheia primară a unei relaţii R este una din cheile candidat care a fost desemnată în acest scop.

 O cheie străină a unei relaţii R este o mulţime de atribute din schema relaţională care formează
o cheie primară pentru o altă relaţie.

31
5. Modelarea datelor

 Modelul de date conceptual este creat


independent de limbajul de programare în
care se va dezvolta aplicaţia de baze de
date.
 Activitatea de bază - analiza mediului de
afaceri.
De exemplu: crearea BD pentru universitate.
 Sunt analizate cerințele studenților,
profesorilor și personalauxiliar…
 Studenți: Care este orarul? Nota obținută la
examen? Care este bursa?
 Profesori: Care este oraru? Care este lista Diagramă Entitate-Relație
studenților? Care sunt studenții restanțieiri?
 Personal auxiliar: Care este adresa studentului
NP? Care este telefonulstudentului? Ce vârstă are
studentul?

32
5. Modelarea datelor (continuare)

Modelarea datelor este doar prima parte a


procesului de construire al bazei de date.

Modelul conceptual:
- Modelează nevoile informaţionale ale afacerii
- Se numeşte “Entity Relationship Model”
- Este prezentat printr-o diagramă numită “Entity
Relationship Diagram”

33
5. Modelarea datelor (continuare)

Etape în procesul de dezvoltare a bazelor de date


1. Incepe prin formularea cerinţelor informaţionale ale afacerii
2. Se desenează apoi modelul conceptual
3. Se proiectează baza de date pornind de la modelul conceptual (entitaţile devin tabele,
atributele devin nume de coloane care corespund unor tipuri de date, se stabilesc
proprietăţile speciale ale unor coloane)
4. Se construieşte baza de date (modelul fizic) prin executarea unor instructiuni SQL

34
5. Modelarea datelor (continuare)

Principii de bază ale modelării

 Să cuprindă toate datele necesare


 Datele sa fie păstrate o singură dată
 Să nu cuprindă informaţii ce se obţin din date deja incluse in model
 Orice dată să fie aşezată în locul cel mai logic şi mai potrivit

35
5.1. Modelul entitate – legatura

Modelul entitate – legatura (entity – relationship ER)

• Modelul E-R se bazeaza pe modelarea lumii reale folosind colectii de obiecte, numite
entitati si pe legaturile (relationships) dintre entitati. O entitate este un lucru sau
obiect din lumea reala care se distinge de alte obiecte. De exemplu orice persoana este
o entitate sau conturile unei banci sunt toate entitati.

• Entitatile sunt descrise in baza de date de o multime de atribute. De exemplu,


Nr_Cont si Balanta pot descrie un cont dintr-o banca si sunt atribute pentru entitatea
Cont. Similar, entitatea Client este descrisa de atributele ID, Nume, Strada, Oras,
Telefon.

• O legatura este o asociere intre mai multe entitati. De exemplu, depoziteaza este o
legatura intre client si cont –urile pe care le are intr-o banca, ca in figura de mai jos.

36
5.1. Modelul entitate – legatura (continuare)

Schema conceptuala a bazei de date poate


fi descrisa grafic de diagrama E-R, care are
urmatoarele componente:

• Dreptunghiuri reprezinta entitati.


• Elipsa reprezinta atribute.
• Romburi reprezinta legaturile/asocierile
intre entitati tip.
• Liniile leaga entitatile tip cu legaturile
tip.

37
5.1. Modelul entitate – legatura (continuare)

 Se folosesc şi alte convenţii de


reprezentare a diagramei ER. De exemplu,
atributele pot fi enumerate unul sub
celălalt, în dreptunghiul aferent entităţii pe
care o descriu. Prin convenţie, cheia
primară se scrie pe prima poziţie şi se
subliniază.

38
5.2. Modelarea fizică

 Modelarea fizică constă în crearea structurii acesteia folosind schema BD.


 Structura BD:
 tabel (relație) asociat unui tip de entitate;
 o coloană din tabel corespunde unui atribut al tipului de entitate;
 o linie din tabel (înregistrare) reprezintă un set de valori ale atributelor unei entităţi;
 mai multe înregistrări – tupluri;
 la intersecţia unei linii cu o coloană din tabel, se găseşte un câmp în care este înscrisă
valoarea atributului;
 prin NULL se înţelege lipsa valorii unui atribut şi nu valoarea zero;
 atributele care joacă rolul de chei ale entităţilor trebuie să aibă valori unice;
 BD relațională (BDR) trebuie să verifice regulile lui Codd;

 Exemplu:
 Studenti(nrMatr, nume, prenume, cnp, specializare)

39
6. Funcțiile unui SGBD

1. Descrierea datelor
2. Utilizarea datelor
3. Integritatea datelor
4. Confidentialitatea datelor
5. Accesul concurent la date
6. Siguranta în funcţionare

40
6. Funcțiile unui SGBD (Descrierea datelor)
• Un SGBD trebuie sa includă posibilitatea descrierii stucturii obiectelor care formează
baza de date. În cazul bazelor de date relaţionale aceasta consta, în principal, în
posibilitatea creerii şi modificării structurii tabelelor şi constrangerilor de integritate
asociate acestora.
• Limbajul prin care se realizează aceste operaţii, se numeste Limbaj de Descriere a
Datelor (LDD) şi în cazul primelor sisteme de gestiune el era implementat sub forma
unor module separate. În sistemele relaţionale bazate pe SQL aceste operaţii au fost
incluse în limbaj sub forma comenzilor de tip CREATE (pentru creare) sau ALTER
(modificare).
• O caracteristica importanta a sistemelor relaţionale este aceea ca descrierea structurii
bazei de date este stocata în acelasi mod ca şi baza de date în sine.
• Exista, pentru aceastam o serie de tabele gestionate direct de sistemul de gestiune
numite cataloage care contin descrierea obiectelor care formează baza de date.
• Aceste tabele sunt accesate de sistem pentru a regasi informaţiile necesare executiei
cererilor dar pot fi accesate şi de utilizatori pentru a obtine informaţii privind structura
bazei de date.
• Astfel toate informaţiile de sistem necesare unui SGBD relaţional sunt stocate în
acelasi mod, inclusiv descrierea utilizatorilor şi a drepturilor de acces ale acestora.
• Aceasta abordare a fost necesara pentru a nu avea mecanisme diferite de acces la
datele de sistem şi la datele stocate în baza de date.
41
6. Funcțiile unui SGBD (Utilizarea datelor)
 Aceasta funcţie include operaţiile de lucru cu datele înregistrate intr-o bază de date.
 Exista patru categorii de operaţii principale:
• Inserarea de noi date. Aceasta se concretizează prin adaugarea de noi linii în tabelele care
formează baza de date.
• Stergerea de linii din tabele.
• Actualizarea datelor, insemnând modificarea continutului unor linii existente în tabele.
• Regasirea datelor dupa anumite criterii de cautare
 Pentru implementarea acestei funcţii fiecare SGBD are un Limbaj de manipulare a datelor
(LMD) care poate fi un modul separat sau inclus în limbajul sistemului cum este în cazul
SQL.
 Operaţia de regăsire este esentiala, ea fiind necesara şi în cazul celorlalte operaţii:
1. În cazul inserarii, dacă aceeaşi informaţie nu poate fi prezenta de mai multe ori în baza de date, este necesara o
cautare prealabila pentru a verifica acest lucru.
2. În cazul stergerii şi actualizarii este necesara localizarea datelor care vor fi eliminate sau modificate.
3. În cazul executarii unei cereri.

42
6. Funcțiile unui SGBD (Integritatea datelor)
 Majoritatea sistemelor de gestiune permit definirea unor reguli pe care datele stocate trebuie sa le
verifice, numite c o n s t r a n g e r i d e i n t e g r i t a t e .
 În cazul în care o operaţie are ca rezultat încălcarea acestor restricţii, aceasta este automat anulată şi
nu are efect asupra bazei de date.
 În felul acesta este asigurata o mai mare siguranta în ceea ce priveste corectitudinea datelor.
S a consideram o bază de date continând informaţii despre
 facultaţi,
 studentii inscrisi şi
 notele obtinute de acestia.
Introducerea accidentala de valori incorecte în baza de date. Exemplu: restricţie privind intervalul de
valori admisibil pentru note: 0 - 10.
Lasarea necompletata a unor informaţii necesare. Exemplu: numele studentului.
Alocarea accidentala a aceluiasi numar matricol pentru mai multi studenti (constrangere de
unicitate a valorilor).
Introducerea accidentala a unui student cu un cod incorect al facultaţii la care acesta este inscris
(constragnere referentiala)
 Definirea de constrangeri de integritate nu previne insa total erorile accidentale de operare: de
exemplu introducerea din greseala a unei note de 4 în loc de 5 nu va fi semnalata, ambele valori fiind
în intervalul admisibil.

43
6. Funcțiile unui SGBD (Confidențialitatea datelor)

 Accesul la date este permis doar utilizatorilor înregistraţi şi doar în masura drepturilor
de acces alocate.
 Un utilizator este identificat printr-un nume-utilizator şi o parola.
 Fiecarui utilizator i se permite accesul doar la o portiune a bazei de date şi doar
pentru a efectua anumite tipuri de operaţii.
 Toate aceste informaţii relative la ce, cum şi de unde poate accesa datele un utilizator
reprezinta drepturile de acces asociate acestuia.
 Drepturile de acces sunt stocate în cataloagele sistemului.
 Prin mecanismul de drepturi de acces este asigurata funcţia de confidentialitate
a datelor.
 Este prevenita posibilitatea de acces la date a persoanelor care nu au acest drept.
Exemplu: în cazul sistemului informatic al unei organizaţii, acces selectiv la salariile
angajaţilor, detalii ale proceselor tehnologice, datele contabile etc.

44
6. Funcțiile unui SGBD (Accesul concurent la date)

 Facilităţi de blocare a unor portiuni ale bazei de date. Aceasta


inseamna ca o executie a unui program poate capata un acces
exclusiv la o portiune a bazei de date, denumita şi articol, moment în
care orice alta executie trebuie sa astepte deblocarea acesteia pentru
a continua.
 Daca notam operaţiile de blocare şi deblocare cu LOCK şi UNLOCK,
programul de rezervare de locuri poate fi rescris.
 Executia serializabila. În cazul mai multor executii simultane care
accesează baza de date se considera ca efectul lor este corect daca
rezultatul final este identic cu executia lor succesiva.
 Aceasta proprietate se numeste serializabilitate şi un SGBD trebuie sa
puna la dispozitie mecanisme de asigurare a serializabilităţii
executiilor programelor de acces.

45
6. Funcțiile unui SGBD (Siguranța în funcționare)

 Desi nu este legata direct de cele prezentate pana acum, siguranta în funcţionare este
o caracteristica esentiala pentru un SGBD.
 Contine acele elemente care exclud sau minimizează posibilitatea de pierdere a datelor
datorata incidentelor software sau hardware.
 Salvarea datelor. Implementarea operaţiilor de salvare este mult mai sofisticata
 Este dificila efectuarea unei de còpii de siguranta consistente ale bazei de date în conditiile în
care aplicaţia rulează non-stop şi operarea nu poate fi oprita pentru efectuarea salvarii.
 Restaurarea dupa incident. La distrugerea bazei de date este necesara efectuarea operaţiei de
restaurare din copie.
 Multe tipuri de SGBD au posibilitatea de a înregistra toate schimbarile aparute în baza de
date sub forma unor fişiere jurnal.
 În acest fel operaţia de restaurare dupa incident se face restaurând ultima copie de
siguranta şi reefectuând toare prelucrarile consistente înregistrate în jurnal dupa momentul
în care a fost efectuata copia.

46
7. Aplicație propuspă

Realizaţi modelul conceptual şi diagrama entitate-relaţie pentru o BD folosind scenariul


următor:
 Se doreşte o BD pentru evidenţa produselor, clienţilor şi a angajaţilor unui magazin de
electrocasnice, organizat în mai multe departamente: vânzări, achiziţii, personal, financiar,
transport.
 BD va fi folosită pentru gestiunea produselor (denumire, categorie, preţ de achiziţie, preţ
de vînzare, formă de prezentare), a achiziţiilor (date, cantităţi, valori) şi a stocurilor.
Departamentul de achiziţii doreşte să cunoască situaţia stocurilor pentru a planifica din
timp achiziţiile de la furnizori. Se doreşte să se dispună de evidenţa clienţilor (date
personale: nume, prenume, cnp, adresă, localitate de domiciliu, telefon). Departamentul
Personal solicită ca BD să gestioneze informaţiile despre angajaţi (cod_angajat, nume,
prenume, cnp, funcţie, departament, salariu, telefon).
 Departamentul de Transport doreşte să dispună de evidenţa comenzilor de transport a
produselor, făcute de clienţi la achiziţionarea acestora, pentru planificarea lor pe zone.
Managerul magazinului doreşte să cunoască activitatea de vânzare a fiecărui vânzător
pentru a recompensa pe cei mai performanţi angajaţi. Managerul este interesat de situaţia
încasărilor şi a profitului obţinut în diverse perioade de timp (zi, lună, an).

47
Recapitulare

1. Relatați despre apariția bazelor de date.


2. Definiți noțiunea de: date, SIA, SGBD, BD.
3. Enumerați și descrieți funcțiile de bază ale unui SGBD.
4. Descrieți nivelele de reprezentare a BD.
5. Desrieți modelul conceptual ER (Entity-Relationship Model).
6. Definiți modelul de implementare relațional.

7. Distingeți categoriile de utilizatori ale BD.


9. Descrieți componentele sistemelor BD.

48

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