Sunteți pe pagina 1din 28

Baze de date

bd.ac.tuiasi.ro
Florin-Ctlin Brescu

cbraescu@ac.tuiasi.ro
Curs - 2ore / sptmn

Laborator 1 or / sptmn

Evaluare

pe parcurs
activitate laborator 25%
test curs 25%

final
examen 50%
Bibliografie
Database Systems - concepts, languages & architectures
P. Atzeni, S. Ceri, S. Paraboschi, R. Torlone, Ed. McGraw - Hill, 2000

Database Systems - the complete book


H. Garcia-Molina, J.D. Ullman, J. Widom, Ed. Prentice Hall, 2002

Baze de date - proiectare, implementare, gestionare


T. Connolly, C. Begg, A. Strachan, Ed. Teora, 2001

Baze de date
O. Bsc, Ed. All, 1997

PL/SQL
T. Luers, T. Atwood, J. Gennick, Ed. Teora, 2001

Sisteme de gestiune a bazelor de date aplicaii Oracle


I. Lungu, M. Velicanu, C. Bodea, C. Ioni, Ed. All, 1998
Introducere
Partea I - Baze de date relaionale
Modelul relaional
Structur. Constrngeri de integritate
Algebra relaional
Operatori: reuniune, intersecie, diferen, redenumire, selecie, proiecie,
jonciune.
Interogri n algebra relaional. Valori NULL n algebra relaional. Vederi
Calculul relaional
SQL Structured Query Language
Definirea datelor. Interogri. Modificarea datelor. Controlul accesului la baza de
date
Partea II Proiectarea bazelor de date
Tehnici de proiectare i modele
Proiectarea conceptual
Proiectarea logic
Normalizarea bazelor de date
Introducere

Informaii i date

Sisteme de gestiune a bazelor de date

Modele de date

Limbaje i utilizatori

Avantaje i dezavantaje ale sistemelor de


gestiune a bazelor de date
Introducere - Informaii i date

Disponibilitatea informaiei i capacitatea de a o


gestiona n mod eficient - eseniale n orice activitate
Organizaie sistem informaional - gestioneaz
informaia necesar funcionrii
Informaia este nregistrat sub form de date
datele necesit o interpretare pentru a furniza informaii
Nu se poate da o definiie exact a conceptului de
dat, precum i a diferenei dintre dat i informaie
Data nu are nicio semnificaie, dar odat interpretat
i corelat convenabil, ea furnizeaz informaii ce
mbogesc cunoaterea
Introducere - Informaii i date

Exemplu

irul de caractere Popescu Ion


Numrul 123456

Cine este eful departamentului de cercetare i care este


numrul su de telefon?

Persoana Popescu Ion este eful departamentului de cercetare


i numrul su de telefon este 123456

Definiie. O baz de date este o colecie de date utilizat


pentru a reprezenta informaiile de interes pentru un
sistem informaional
Introducere - SGBD

Definiie. Un sistem de gestiune a bazelor de date (SGBD) este un


sistem software capabil
s gestioneze colecii de date mari, partajate i persistente
s asigure corectitudinea i securitatea datelor
s fie eficient
s produc rezultatul scontat

Definiie. O baz de date (BD) este o colecie de date gestionate


de un SGBD
Introducere - SGBD
Caracteristici ale bazelor de date
BD sunt mari
n general depesc memoria principal disponibil
SGBD-ul trebuie s gestioneze datele n memoria secundar este
limitat doar de de capacitatea dispozitivelor de stocare

BD sunt partajate
diverse aplicaii i utilizatori trebuie s aib posibilitatea de a obine
accesul la datele de interes
controlul concurenei permite accesul partajat la date al mai multor
utilizatori ce opereaz simultan

BD sunt persistente
BD au o durat medie de via ce nu este limitat de o singur execuie a
programelor utilizator
(datele gestionate de un program n memoria principal au o durat de via
cuprins ntre nceputul i sfritul execuiei programului, nefiind persistente)
Introducere - SGBD
Caracteristicile SGBD

corectitudinea datelor - funcii specifice de backup

are capacitatea de a conserva coninutul BD (sau cel


puin permite reconstituirea acesteia) n cazul unor
defeciuni hardware sau erori software

securitatea datelor - mecanisme de autorizare

fiecare utilizator, recunoscut prin intermediul unui nume


de utilizator specific accesului la SGBD, poate efectua
numai anumite operaii asupra datelor
Introducere - SGBD

eficiena - finalizeaz operaiile utiliznd cantitatea adecvat de


resurse (timp i spaiu) pentru fiecare utilizator

aceast caracteristic se bazeaz att pe tehnicile utilizate n


implementarea SGBD-ului, ct i pe modul de proiectare a
produsului respectiv

productivitatea mrit

productivitatea - capacitatea sistemului cu BD de a conduce la


realizarea scopurilor utilizatorilor

aceast definiie este generic i nu corespunde unei anumite funcii


a SGBD-urilor, dat fiind c un SGBD pune la dispoziia utilizatorilor
diverse servicii i funcii

sarcina proiectrii unei BD i a aplicaiilor ce o utilizeaz vizeaz


garantarea unei bune productiviti a ntregului sistem
Introducere - Modele de date
Model de date - combinaie de elemente destinat organizrii
datelor
Fiecare model de date pune la dispoziia utilizatorilor mecanisme
de structurare
similare constructorilor type din limbajele de programare - permit
definirea unor tipuri noi de date pe baza tipurilor elementare,
predefinite

Tipuri de modele de date:

Modelul de date relaional

Modelul de date ierarhic

Modelul de date reea

Modelul de date obiect


Introducere - Modele de date

Modelul de date relaional - propus la nceputul anilor 70


sistemele reale bazate pe modelul relaional au aprut la nceputul
anilor 80
cel mai rspndit model de date
pune la dispoziie constructorul relaie
ofer astfel posibilitatea organizarea datelor sub forma unei colecii de
nregistrri avnd structur fix

Relaia - se reprezint sub forma unui tabel


liniile coincid cu nregistrrile

coloanele corespund cmpurilor nregistrrii

ordinea n care apar liniile i coloanele nu este relevant


Introducere - Modele de date
Exemplu

Datele referitoare la cursurile universitare i titularii lor, precum i


inserarea cursurilor n planul de nvmnt al diverselor specializri
pot fi organizate cu ajutorul a dou relaii (tabele) CURSURI i
PLAN:
CURSURI
Curs Titular
Baze de date Popescu
Reele de calculatoare Ionescu
Tehnici de programare Anton
PLAN
Specializare Curs An
Automatic Reele de calculatoare 4
Automatic Baze de date 3
Calculatoare Tehnici de programare 3
Calculatoare Reele de calculatoare 4
Calculatoare Baze de date 4
Introducere - Modele de date

Modelul de date ierarhic utilizeaz structuri de tip arbore i


ierarhie
a fost definit n faza de nceput a dezvoltrii SGBD-urilor (anii 60)
acum este utilizat doar din motive de continuitate

Modelul de date reea cunoscut i sub numele CODASYL


(Conference of Data Systems Languages)
utilizeaz grafuri pentru organizarea datelor
a fost dezvoltat n anii 70

Modelul de date obiect a aprut n anii 80


rezolv unele limitri ale modelului relaional
extinde n domeniul bazelor de date paradigma programrii
orientate obiect

Modelele prezentate - modele logice


dei structurile utilizate sunt abstracte, ele reflect o organizare
particular (arbore, graf, tabel, obiect)
Introducere - Modele de date

Modele conceptuale

au fost introduse pentru a descrie datele ntr-o manier independent


de modelul logic

nu sunt disponibile n SGBD-urile comerciale

sunt utilizate n faza preliminar a proiectrii bazelor de date, pentru o


analiz ct mai bun a aplicaiei, fr implicaii de implementare

exemplu de model conceptual - modelul Entitate - Relaie


Introducere - Modele de date
Scheme i instane
schema bazei de date - caracteristici ale datelor care nu se modific n timp;
conine numele relaiei (tabelului), urmat de numele atributelor (coloanelor)

Exemplu
CURSURI (Curs, Titular) schema relaiei (tabelului) CURSURI

instana (starea) bazei de date - valorile actuale din baza de date care se
modific n timp; conine o colecie de linii ale relaiei respective, care variaz
n timp

Exemplu
Instana relaiei CURSURI este dat de urmtoarele trei perechi:

Baze de date Popescu


Reele de calculatoare Ionescu
Tehnici de programare Anton
Introducere - Modele de date
Nivele de abstractizare n SGBD-uri

Arhitectura unui SGBD este mprit pe trei nivele, logic,


intern i extern; fiecare nivel are asociat o schem

Schema logic - o descriere a ntregii baze de date prin


prisma modelului logic adoptat de SGBD (relaional,
ierarhic, reea sau obiect)

Schema intern - descrie implementarea schemei logice


prin prisma structurilor de stocare fizic
de exemplu, o relaie poate fi organizat la nivel fizic sub forma
unui fiier secvenial sau a unui fiier secvenial cu indici
Introducere - Modele de date

Schema extern - descrierea unei poriuni a bazei de date


prin prisma modelului logic
o schem extern poate oferi o organizare diferit a datelor cu
scopul de a reflecta un punct de vedere al unui anumit utilizator sau
grup de utilizatori

este posibil ca unei singure scheme logice s-i fie asociate diverse
scheme externe
fiecare schem extern va furniza o anumit vedere asupra bazei de
date

n majoritatea sistemelor, nivelul extern nu apare explicit, dar este


posibil definirea unor relaii derivate, numite vederi
Introducere - Modele de date

Exemplu
Un student de la Automatic este interesat de cursurile oferite
n cadrul acestei specializri. Aceast informaie este prezent n
relaia AUTOMATIC, derivat din relaia PLAN

AUTOMATIC
Specializare Curs An
Automatic Reele de calculatoare 4
Automatic Baze de date 3

schemelor externe li se pot asocia mecanisme pentru autorizarea


accesului
un utilizator poate fi autorizat s manipuleze doar datele descrise prin
prisma schemei externe asociat
Introducere - Modele de date

Independena datelor -
permite utilizatorilor i
programelor s fac referire la date la un nivel nalt de
abstractizare, ignornd detaliile de implementare

Independena fizic permite interaciunea cu SGBD-ul


independent de aspectele fizice ale datelor; este
posibil
modificarea organizrii fiierelor ce implementeaz relaiile

modificarea alocrii fizice a fiierelor la dispozitivele de stocare

fr a influena descrierile de nivel nalt ale datelor i


programele ce utilizeaz acele date
Introducere - Modele de date

Independena logic garanteaz faptul c


interaciunea cu nivelul extern al bazei de date este
independent de nivelul logic
se poate modifica o schem extern fr a fi necesar
modificarea schemei logice

se poate modifica nivelul logic, pstrnd intact schema


extern de interes pentru un anume utilizator

Accesul la baza de date se face numai prin intermediul nivelului


extern (care poate coincide cu nivelul logic)

SGBD-ul este cel care traduce operaiile n termenii nivelelor


corespunztoare
Introducere - Limbaje i utilizatori

SGBD-urile ofer o gam larg de limbaje pentru gestiunea datelor


i implic un spectru larg de utilizatori

innd cont de diferena dintre structura i instana unui tabel,


putem face o difereniere similar ntre limbajele bazei de date
limbajul de definire al datelor (LDD)
definirea schemelor logice, externe i fizice
definirea autorizrilor de acces

limbajul de manipulare al datelor (LMD)


interogarea instanelor unei baze de date
modificarea instanelor unei baze de date

Remarc: Unele limbaje (SQL) ofer facilitile ambelor limbaje


(LDD i LMD) ntr-o form integrat
Introducere - Limbaje i utilizatori

n funcie de modul de exploatare a bazei de date, utilizatorii se pot


mpri n:
administratorul bazei de date (DBA) persoana responsabil de
proiectarea, controlul i administrarea bazei de date
mediaz ntre cerinele diverse, adesea conflictuale, exprimate de utilizatori,
asigurnd controlul partajat asupra datelor

este responsabil pentru garantarea serviciilor

asigur corectitudinea sistemului

gestioneaz autorizrile de acces la date

programatorii de aplicaii definesc i creeaz programele ce


acceseaz baza de date
utilizeaz LMD sau alte unelte pentru generarea interfeelor cu baza de date
Introducere - Limbaje i utilizatori

utilizatorii obinuii cei care utilizeaz efectiv baza de date

utilizatori finali utilizeaz programe ce realizeaz activiti frecvente


i predefinite

utilizatori ocazionali capabili s utilizeze limbaje interactive pentru a


accesa baza de date, formulnd interogri (sau actualizri) de diferite
tipuri

pot fi specialiti n limbajul pe care l utilizeaz i interacioneaz frecvent


cu baza de date; termenul ocazional se refer la faptul c interogrile
nu sunt predefinite
Introducere - Avantaje i dezavantaje SGBD

Avantaje
Datele - resurse comune ale organizaiei, disponibile tuturor
membrilor autorizai
Baza de date furnizeaz un model standardizat i precis
Modelul poate fi folosit, cu extensiile necesare, n aplicaii viitoare

Control centralizat al datelor


Partajarea bazelor de date reducerea redundanei i
inconsistenei datelor
Independena datelor dezvoltarea de aplicaii mai flexibile
i mai uor de modificat
Introducere - Avantaje i dezavantaje SGBD

Dezavantaje
SGBD - scumpe, complexe i foarte diferite de multe
alte unelte software
Introducerea SGBD necesit un efort financiar
direct - costul produsului
indirect - resurse hardware i software, pregtirea
personalului etc.
SGBD - furnizeaz, n forma standard, un set de
servicii care au un anumit cost
n cazurile n care cteva dintre aceste servicii nu sunt
neaprat necesare, e dificil extragerea serviciilor necesare
la un moment dat ineficien
Introducere - Avantaje i dezavantaje SGBD

Situaii n care folosirea SGBD-urilor nu este necesar:


exist un singur utilizator
exist mai muli utilizatori care nu au nevoie de acces concurent la
date

Dezvoltarea actual a SGBD-urilor a dus la sisteme mai


eficiente i mai fezabile, i la arhitecturi din ce n ce mai
ieftine a crescut posibilitatea dezvoltrii aplicaiilor cu
SGBD-uri