Sunteți pe pagina 1din 46

BAZE DE DATE

Universitatea Constantin Brncui din Trgu-Jiu


Facultatea de Inginerie
Departamentul de Automatic, Energie i Mediu

LECTOR DR. ADRIAN RUNCEANU

Curs 1
Noiuni introductive
despre
teoria general a bazelor de date
03.03.2013 Curs 1 - BAZE DE DATE 2
Cteva precizri
Structura cursului

2 ore curs titular curs
Lector dr. Adrian Runceanu

2 ore laborator titular aplicaii practice
Prep.ing. Alina Dinc
03.03.2013 Curs 1 - BAZE DE DATE 3
Cteva precizri
Forme de examinare:

Examen final (verificare) 60%
Evaluare pe parcursul semestrului a
activitii de laborator 30%
Prezena pe parcusul semestrului 10%
03.03.2013 Curs 1 - BAZE DE DATE 4
Cteva precizri
Bibliografia necesar cursului:

1. Dezvoltarea bazelor de date n Oracle 9i prin exemple,
Dan Hotka, Editura All, 2002.
2. An Introduction to Database Systems, C. J. Date,
Addison-Wesley Publishing Company, New York, 1995.
3. Database Management Systems, Ramakrishnan, R., New
York: McGraw-Hill, 1998.
4. SQL. Dialecte DB2, Oracle, Visual FoxPro, M. Fotache,
ed. Polirom, 2001.
5. Baze de date Visual Foxpro 6.0 ndrumar de
laborator, autori Marian Popescu, Adrian Runceanu,
Editura Academica Brncui, Trgu-Jiu, 2007.
03.03.2013 Curs 1 - BAZE DE DATE 5
Cteva precizri
Referina bibliografic nr. 5 se poate mprumuta de
la Biblioteca Facultii de Inginerie, Str. Geneva nr.3, Etaj I
lng Decanat.

1. Suport curs - varianta electronic disponibil pe site-ul:
www.runceanu.ro/adrian

2. ndrumar de laborator - varianta electronic disponibil
pe site pentru fiecare lucrare de laborator.

Not: Actualizarea site-ului se face sptmnal.
03.03.2013 Curs 1 - BAZE DE DATE 6
Coninutul cursului
n cadrul acestui curs se vor studia
bazele de date prelucrate cu ajutorul
sistemului de gestiune a bazelor de date

ORACLE Database 11g Express Edition

Limbajul de programare a bazelor de
date n care se vor face exemplificrile
noiunilor teoretice va fi SQL (Structured
Query Language).
03.03.2013 Curs 1 - BAZE DE DATE 7
Noiuni introductive
despre
teoria general a bazelor de date
1.1. Sisteme de baze de date
1.2. Modelul de date relaional
1.3. Modelul de date orientate obiect
03.03.2013 Curs 1 - BAZE DE DATE 8
1.1.Sisteme de baze de date
Un sistem de baze de date este un
sistem computerizat de eviden a
informaiilor.
Informaia ntr-un sistem de baze de
date consta att din date ct i din
informaii despre date (metadate) cum ar fi
relaiile dintre date.
03.03.2013 Curs 1 - BAZE DE DATE 9
1.1.Sisteme de baze de date
Un sistem de baze de date poate fi
considerat ca avnd patru pri:
1. date

2. utilizatori

3. hardware

4. software
03.03.2013 Curs 1 - BAZE DE DATE 10
1.1.Sisteme de baze de date
Datele:
Sunt informaii pe care diferii utilizatori (firme,
agenii, sau simpli utilizatori) le colecteaz pentru
a-i ndeplini scopurile sau misiunile.
Datele individuale sunt stocate n mulimi de
date relaionate (legate) numite nregistrri.
O colecie de nregistrri dependente se
numete baz de date.
03.03.2013 Curs 1 - BAZE DE DATE 11
1.1.Sisteme de baze de date
Utilizatorii:
Diferite persoane sau grupuri de
persoane care folosesc informaiile
sunt definite ca utilizatori.


Hardware: De obicei noiunea de
hardware const din device-uri fizice,
cum ar fi harddisk-uri, imprimante,
interfee de intrare/ieire i procesorul
de date cu memoria sa asociat.
03.03.2013 Curs 1 - BAZE DE DATE 12
1.1.Sisteme de baze de date
Software: Interfaa dintre datele fizice i
utilizatorul se numete Sistemul de Gestiune a
Bazelor de Date (SGBD).
SGBD-ul este un sistem software, dar poate
conine 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.
03.03.2013 Curs 1 - BAZE DE DATE 13
1.1.Sisteme de baze de date
SGBD-ul furnizeaz diferiilor utilizatori ai
bazei de date, diferite modaliti de lucru cu date
n funcie de necesitile fiecruia.
Aceste diferite modaliti de lucru cu datele
reprezint diferite nivele de abstractizare al
datelor:
Nivelul fizic
Nivelul conceptual
Nivelul de vizualizare
03.03.2013 Curs 1 - BAZE DE DATE 14
1.1.Sisteme de baze de date
Nivelul fizic este
cel mai de jos nivel de
abstractizare.
De obicei, acest
nivel este utilizat de
programatorii SGBD-
ului, care sunt interesai
de cum anume se
memoreaz datele pe
suportul fizic.
03.03.2013 Curs 1 - BAZE DE DATE 15
1.1.Sisteme de baze de date
Nivelul conceptual este nivelul de mijloc al
abstrctizrii, i care se concentreaz pe
descrierea datelor care sunt n baza de date i pe
relaiile dintre aceste date.
De acest nivel de abstractizare sunt
interesai:
Administratorii bazei de date
Administratorii securitii bazelor de date.
03.03.2013 Curs 1 - BAZE DE DATE 16
1.1.Sisteme de baze de date
Nivelul de vizualizare este cel mai nalt nivel
de abstractizare.
De obicei, acest nivel este modalitatea prin
care utilizatorii finali folosesc datele.
Fiecare utilizator final are o vizualizare
specific asupra datelor pe care l interezeaz.
Aceast vizualizare a datelor nu presupune ca
utilizatorul s stie sau s neleag caracteristicile
interne ale datelor (cum ar modalitatea lor de
reprezentare sau de stocare).
03.03.2013 Curs 1 - BAZE DE DATE 17
1.1.Sisteme de baze de date
Modelele bazelor de date permit
diferenierea dintre descrierea bazei de date,
care este specificat n schem, i colecia
de coninuturi sau de valori ale datelor din
baza de date la un moment dat, care se
numete instan.
03.03.2013 Curs 1 - BAZE DE DATE 18
1.1.Sisteme de baze de date
Schema bazei de date utilizeaz un limbaj de
definire a datelor (DDL Data Definition
Language).
Manipularea datelor n baza de date (inserare,
tergere, actualizare, sau recuperare de valori de
date) se poate face cu ajutorul limbajului de
manipulare datelor (DML Data Manipulation
Language).
03.03.2013 Curs 1 - BAZE DE DATE 19
1.1.Sisteme de baze de date
SGBD-ul utilizeaz o mulime
complex de componente software
pentru a-i ndeplini funciile sale.
Aceste componente includ:
- managerul de date care
furnizeaz o interfa ctre datele
stocate fizic n baza de date;
- procesorul de interogri care
traduce limbajul de interogare n
instruciuni pentru managerul de
date;
03.03.2013 Curs 1 - BAZE DE DATE 20
1.1.Sisteme de baze de date
- precompilatorul limbajului de
manipulare a datelor care transform
instruciunile DML de la programele de
aplicaii la limbajul gazd, i lucreaz cu
procesorul de interogri;
- compilatorul limbajului de definiie a
datelor care transform instruciunile
DDL n tabele de metadate.
03.03.2013 Curs 1 - BAZE DE DATE 21
1.1.Sisteme de baze de date

Metadatele
sunt memorate
n dicionarul
de date, care
include:
structura bazei
de date sau
schema
constrngerile
de integritate
constrngerile
de securitate
03.03.2013 Curs 1 - BAZE DE DATE 22
Modele de baze de date
Vom prezenta acum dou din modele
de baze de date care sunt cele mai utilizate:
1. Modelul de date relaional






2. Modelul de date orientate obiect
03.03.2013 Curs 1 - BAZE DE DATE 23
Noiuni introductive
despre
teoria general a bazelor de date
1.1. Sisteme de baze de date
1.2. Modelul de date relaional
1.3. Modelul de date orientate obiect
03.03.2013 Curs 1 - BAZE DE DATE 24
1.2.Modelul de date relaional
O baz de date este reprezentat cu ajutorul
modelului relaional ca o colecie de tabele.
Mult mai important, este faptul c acest model
este direct legat de conceptul matematic de relaie
i este compus din:
1. o parte structural. Schema bazei de date este o
colecie de scheme de relaii i o baz de date este
o colecie de relaii.
2. o parte de integritate. Chei primare i chei
strine.
3. o parte de manipulare. Algebra relaional i
calcul relaional.
03.03.2013 Curs 1 - BAZE DE DATE 25
1.2.Modelul de date relaional
Formal, o relaie R este o mulime, unde D
1
, D
2
,
..., D
n
sunt domeniile a n atribute A
1
, A
2
, ..., A
n
.
Elementele relaiei sunt n-tuplurile (v
1
, v
2
, ..., v
n
)
cu v
i
D
i
, adic valoarea celui de-al i-lea atribut
trebuie s fie un element din mulimea D
i
.
Elementele dintr-un tuplu sunt numite cmpuri.
Cnd un camp nu conine nici o valoare, vom
reprezenta acest fapt cu o valoare special numit
valoare null, semnificnd c nu este nici o intrare
n loc de intrarea este necunoscut.
03.03.2013 Curs 1 - BAZE DE DATE 26
1.2.Modelul de date relaional
Prezentm n continuare un exemplu de tabel
pentru gestiunea studenilor dintr-o facultate:
CODSTUD NUMEPREN AN FACULTATE GRUPA MEDADM
101 Popa Ionel 4 Inginerie 145 10.00
102 Popescu Vasile 1 Drept 113 9.24
103 Badea George 1 Inginerie 112 8.79
104 Achim Mimi 2 Economic 126 9.31
105 Ionescu Mioara 3 Litere 132 10.00
03.03.2013 Curs 1 - BAZE DE DATE 27
A
t
r
i
b
u
t
e

T
u
p
l
u

1.2.Modelul de date relaional
Constrngeri de integritate
Constrngerile de integritate restricioneaz
mulimea tuplu-rilor teoretice posibile la o mulime
care este n mod practic cu semnificaie.
Fie X i Y dou mulimi cu unul sau mai multe
atribute A
i
, din schema relaional.
Spunem c Y este dependent funcional de X,
i notm acest lucru prin X Y, dac i numai dac
nu este posibil s avem dou tupluri cu aceeai
valoare pentru toate atributele din X dar cu valoare
diferit pentru toate atributele din Y.
03.03.2013 Curs 1 - BAZE DE DATE 28

1.2.Modelul de date relaional


Cele mai importante constrngeri de
integritate sunt:
Constrngerea de integritate a entitii
care stabilete c fiecare tuplu s fie unic
identificat printr-o cheie i atributul cheie s nu
poat fi null;

03.03.2013 Curs 1 - BAZE DE DATE 29
CODSTUD NUMEPREN AN FACULTATE GRUPA MEDADM
101 Popa Ionel 4 Inginerie 145 10.00
102 Popescu Vasile 1 Drept 113 9.24
103 Badea George 1 Inginerie 112 8.79
104 Achim Mimi 2 Economic 126 9.31
105 Ionescu Mioara 3 Litere 132 10.00
1.2.Modelul de date relaional

Constrgerea referenial de integritate
stabilete c un n-tuplu dintr-o relaie care se
refer la o alt relaie, trebuie s se refere la un
n-tuplu care exist n acea relaie; aceast
condiie se refer la cheile strine.
03.03.2013 Curs 1 - BAZE DE DATE 30
1.2.Modelul de date relaional
O cheie candidat a unei relaii R este o
mulime minim de atribute de care toate celelalte
atribute ale lui R sunt dependente funcional.
Cheia primar a unei relaii R este una din
cheile candidat care a fost desemnat n acest scop.
O cheie strin a unei relaii R este o mulime
de atribute din schema relaional care formeaz o
cheie primar pentru o alt relaie.
03.03.2013 Curs 1 - BAZE DE DATE 31
CODSTUD NUMEPREN AN FACULTATE GRUPA MEDADM
101 Popa Ionel 4 Inginerie 145 10.00
102 Popescu Vasile 1 Drept 113 9.24
103 Badea George 1 Inginerie 112 8.79
104 Achim Mimi 2 Economic 126 9.31
105 Ionescu Mioara 3 Litere 132 10.00
Noiuni introductive
despre
teoria general a bazelor de date
1.1. Sisteme de baze de date
1.2. Modelul de date relaional
1.3. Modelul de date orientate obiect
03.03.2013 Curs 1 - BAZE DE DATE 32
1.3.Modelul de date orientate obiect
Bazele de date orientate obiect permit crearea unor
obiecte complexe din componente mai simple, fiecare avnd
atribute proprii i comportament specific.
Aceste sisteme combin posibilitatea definirii i
manipulrii structurilor complexe de date cu funcionalitatea
unui limbaj de programare i tehnologia de gestiune a bazelor
de date.
03.03.2013 Curs 1 - BAZE DE DATE 33
1.3.Modelul de date orientate obiect
Modelele de date
orientate obiect (MDOO)
au fost create pentru a
modela lumea real.
De exemplu, limbajul
C++ a fost dezvoltat pentru
a crea modelul unui sistem
telefonic.
Conceptul fundamental
al unui MDOO este obiectul.
03.03.2013 Curs 1 - BAZE DE DATE 34
1.3.Modelul de date orientate obiect
ntr-un MDOO, orice entitate din lumea real
este un obiect i reciproc, orice obiect reprezint o
entitate a lumii reale.
Un obiect reprezint un grup de date
stucturate, identificate printr-o referin unic.
Un obiect persistent este un obiect stocat n
baza de date care are o durat de via mai mare
dect a programului care l-a creat.
Un obiect tranzitoriu este un obiect depus n
memorie, a crui durat de via nu depete
durata de via a programului care l-a creat.
03.03.2013 Curs 1 - BAZE DE DATE 35
1.3.Modelul de date orientate obiect
Baza de date orientate obiect (BDOO)
este o organizare coerent de obiecte
persistente, partajate de utilizatori concureni.
Prin urmare, BDOO este rezultatul
aplicrii tehnologiei orientate obiect n
domeniul stocrii i gsirii informaiilor.

Schema unei BDOO trebuie s includ:
- definiiile structurale (atribute i tipuri)
- comportamentale (metode) ale obiectelor
03.03.2013 Curs 1 - BAZE DE DATE 36
1.3.Modelul de date orientate obiect

Un sistem de gestiune al unei baze de
date orientate obiect (SGBDOO) trebuie s
ndeplineasc cerinele unui SGBD i s fie
n plus, un sistem orientat pe obiecte.
Aceste dou criterii genereaz o
mulime de caracteristici ale unui
SGBDOO.
03.03.2013 Curs 1 - BAZE DE DATE 37
1.3.Modelul de date orientate obiect

Putem accepta ca definiie minimal:


SGBDOO = SGBD + obiect + motenire +
polimorfism
03.03.2013 Curs 1 - BAZE DE DATE 38
1.3.Modelul de date orientate obiect
Caracteristicile obligatorii ale unui SGBDOO sunt:
1. Manipularea obiectelor atomice i complexe
(colecii imbricate).
Un constructor este o funcie asociat unei clase
care permite crearea i iniializarea unui obiect (n
memorie).
Un destructor este o funcie asociat unei clase
care permite distrugerea unui obiect.
Noiunea de obiect complex s-a nscut prin
aplicarea de constructori asupra obiectelor simple.
O condiie privind constructorii, referitoare la
MDOO, o constituie ortogonalitatea care presupune ca
fiecare constructor s fie aplicabil fiecrui obiect.
03.03.2013 Curs 1 - BAZE DE DATE 39
1.3.Modelul de date orientate obiect
2. Persistena obiectelor. Obiectele pot
persista mai mult dect programul care a creat
aceste obiecte.
3. Concurena acceselor. BDOO poate s fie
partajat simultan de ctre tranzaciile care o
consult i o modific.
4. Fiabilitatea obiectelor. n cazul unei
defeciuni, obiectele trebuie restaurate la
starea pe care au avut-o nainte de defeciune.
03.03.2013 Curs 1 - BAZE DE DATE 40
1.3.Modelul de date orientate obiect
5. Uurina interogrii.
Un obiect poate fi gsit utiliznd valorile
atributelor sale, legturile cu alte obiecte sau
metodele aplicate acestuia.

6. Identitatea obiectelor.
Orice obiect trebuie s aib un
identificator sistem.
03.03.2013 Curs 1 - BAZE DE DATE 41
1.3.Modelul de date orientate obiect
7. Motenirea (simpl).
O clas poate fi specializarea altei clase i, prin
urmare, poate s o moteneasc.
Motenirea reduce efortul de programare.
Exist mai multe modaliti de a moteni i
anume prin:
substituie
incluziune
restricie
specializare
03.03.2013 Curs 1 - BAZE DE DATE 42
1.3.Modelul de date orientate obiect
8. Polimorfismul.
Codul unei metode trebuie ales n funcie de
parametrii si.
9. Extensibilitatea.
SGBDOO trebuie s includ pe lng clasele
sale i tipurile predefinite i instrumentele care s
permit utilizatorului definirea unor noi clase i
tipuri.
03.03.2013 Curs 1 - BAZE DE DATE 43
1.3.Modelul de date orientate obiect
Dintre caracteristicile opionale ale unui
SGBDOO amintim:
Distribuia obiectelor. Aceast distribuie permite
gestionarea obiectelor n diferite staii.
Modelarea tranzaciilor evoluate. Ideea este de a
accepta tranzacii imbricate care pot fi descompuse
n subtranzacii.
Versiuni ale obiectelor. Plecnd de la un anumit
obiect, prin modificri succesive sau paralele, pot fi
obinute mai multe versiuni ale obiectului.
03.03.2013 Curs 1 - BAZE DE DATE 44
1.3.Modelul de date orientate obiect
Motenirea multipl. O clas (subclas)
poate fi specializarea direct a unor
supraclase i s moteneasc proprietile
acestora.
Mesajele de eroare. Este vorba de un
mecanism de detectare i tratare a erorilor
care implic faptul c dac ntr-o metod
apare o eroare,este trimis un mesaj unei
clase speciale definit anterior, care o va
nregistra i o va trata corespunztor.
03.03.2013 Curs 1 - BAZE DE DATE 45
ntrebri?
03.03.2013 Curs 1 - BAZE DE DATE 46

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