Sunteți pe pagina 1din 43

Universitatea Constantin Brncui din Trgu-Jiu Facultatea de Inginerie Departamentul de Automatic, Energie i Mediu

BAZE DE DATE
LECTOR DR. ADRIAN RUNCEANU

17.03.2012

Curs 1 - BAZE DE DATE

Curs 1
Noiuni introductive despre teoria general a bazelor de date

17.03.2012

Curs 1 - BAZE DE DATE

Cteva precizri
Structura cursului

2 ore curs titular curs Lector dr. Adrian Runceanu

2 ore laborator titular aplicaii practice Prep.ing. Alina Dinc

17.03.2012

Curs 1 - BAZE DE DATE

Cteva precizri
Forme de examinare:
Examen final (verificare) 60%
Evaluare pe parcursul semestrului a

activitii de laborator 30% Prezena pe parcusul semestrului 10%

17.03.2012

Curs 1 - BAZE DE DATE

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, AddisonWesley 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.

17.03.2012

Curs 1 - BAZE DE DATE

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 Facultii de Inginerie: www.utgjiu.ro/ing/ 2. ndrumar de laborator - varianta electronic disponibil pe site pentru fiecare lucrare de laborator. Not: Actualizarea site-ului se face sptmnal.

17.03.2012

Curs 1 - BAZE DE DATE

Coninutul cursului
n cadrul acestui curs se vor studia bazele de date prelucrate cu ajutorul sistemului de gestiune a bazelor de date ORACLE Database 10g Express Edition Limbajul de programare a bazelor de date n care se vor face exemplificrile noiunilor teoretice va fi SQL (Structured Query Language).

17.03.2012

Curs 1 - BAZE DE DATE

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

17.03.2012

Curs 1 - BAZE DE DATE

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 (metadata) cum ar fi relaiile dintre date.

17.03.2012

Curs 1 - BAZE DE DATE

10

1.1.Sisteme de baze de date


Un sistem de baze de date poate fi considerat ca avnd patru pri: date
utilizatori hardware software

17.03.2012

Curs 1 - BAZE DE DATE

11

1.1.Sisteme de baze de date


Datele: Sunt informaii pe care diferii utilizatori (firme, agenii, sau simpli utilizatori) le colecteaz pentru ai 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.

17.03.2012

Curs 1 - BAZE DE DATE

12

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.

17.03.2012

Curs 1 - BAZE DE DATE

13

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.

17.03.2012

Curs 1 - BAZE DE DATE

14

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

17.03.2012

Curs 1 - BAZE DE DATE

15

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 SGBDului, care sunt interesai de cum anume se memoreaz datele pe suportul fizic.

17.03.2012

Curs 1 - BAZE DE DATE

16

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.

17.03.2012

Curs 1 - BAZE DE DATE

17

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 sie sau s neleag caracteristicile interne ale datelor (cum ar modalitatea lor de reprezentare sau de stocare).

17.03.2012

Curs 1 - BAZE DE DATE

18

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.

17.03.2012

Curs 1 - BAZE DE DATE

19

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).

17.03.2012

Curs 1 - BAZE DE DATE

20

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;

17.03.2012

Curs 1 - BAZE DE DATE

21

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.

17.03.2012

Curs 1 - BAZE DE DATE

22

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

17.03.2012

Curs 1 - BAZE DE DATE

23

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

17.03.2012

Curs 1 - BAZE DE DATE

24

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

17.03.2012

Curs 1 - BAZE DE DATE

25

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.

17.03.2012

Curs 1 - BAZE DE DATE

26

1.2.Modelul de date relaional


Formal, o relaie R este o mulime , unde D1, D2, ..., Dn sunt domeniile a n atribute A1, A2, ..., An. Elementele relaiei sunt n-tuplurile (v1, v2, ..., vn) cu vi Di, adic valoarea celui de-al i-lea atribut trebuie s fie un element din mulimea Di. 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.

1.2.Modelul de date relaional


Prezentm n continuare un exemplu de tabel pentru gestiunea studenilor dintr-o facultate:

CODSTUD 101 102 103 104 105

NUMEPREN Popa Ionel Popescu Vasile Badea George Achim Mimi Ionescu Mioara

AN 4 1 1 2 3

FACULTATE Inginerie Drept Inginerie Economic Litere

GRUPA 145 113 112 126 132

MEDADM 10.00 9.24 8.79 9.31 10.00

17.03.2012

Curs 1 - BAZE DE DATE

27

17.03.2012

Curs 1 - BAZE DE DATE

28

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 Ai, din schema relaional. Spunem c Y este dependent funcional de X, i notm acest lucru prin XY, 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.

17.03.2012

Curs 1 - BAZE DE DATE

29

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; 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.

17.03.2012

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.

17.03.2012

Curs 1 - BAZE DE DATE

31

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

17.03.2012

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.

17.03.2012

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.

17.03.2012

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.

17.03.2012

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

17.03.2012

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.

17.03.2012

Curs 1 - BAZE DE DATE

37

1.3.Modelul de date orientate obiect

Putem accepta ca definiie minimal:

SGBDOO = SGBD + obiect + motenire + polimorfism

17.03.2012

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.

17.03.2012

Curs 1 - BAZE DE DATE

39

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. 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.

1.3.Modelul de date orientate obiect

17.03.2012

Curs 1 - BAZE DE DATE

40

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. 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.

17.03.2012

Curs 1 - BAZE DE DATE

41

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.

17.03.2012

Curs 1 - BAZE DE DATE

42

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.

17.03.2012

Curs 1 - BAZE DE DATE

43

ntrebri?

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