You are on page 1of 34

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Curs
BAZE DE DATE N INGINERIE ELECTRIC

- Semestrul I 2011-2012
1/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Curs
Pagina web: http://www.et.utcluj.ro/CursBDIE.htm

-Semestrul I
2011-2012
2/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

3/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

CUPRINS CURS
Capitolul 1. Introducere in baze de date Capitolul 2. Baze de date relationale Capitolul 3. Interogarea bazelor de date relationale Capitolul 4. Proiectarea si implementarea bazelor de date Capitolul 5. Gestiunea tranzactiilor si refacerea bazelor de date Capitolul 6. Securitatea bazelor de date Capitolul 7. Proiectarea BD utilizand interfete grafice Capitolul 8. Proiectarea si implementarea BD web
4/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Cap.1. Introducere in baze de date

CUPRINS
1. Definitii 2. Arhitectura sistemelor de baze de date (SBD) 3. Componentele SBD 4. Avantajele utilizarii SBD 5. Clasificari SBD 6. Modelarea datelor 7. Evolutia SBD 8. Sisteme de gestiune a bazelor de date (SGBD)
5/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

1. Definitii
BAZE DE DATE

Domenii de utilizare a bazelor de date: Activitati bancare si comerciale (conturi bancare, vanzari produse) Productie (gestiune stocuri si financiar-contabila, salarizare etc.) Evidenta populatiei (carti de identitate, pasapoarte, taxe si impozite, etc.) Servicii (medicale, sisteme informatii geografice , rezervari on line etc.) Educational (cursuri proiectare asistata de calculator (Cadence, (cursuri, (Cadence ELECTROCAD, etc.), arhivare imagini, biblioteci multimedia, etc.) Uz personal (agenda telefonica, biblioteca personala, agenda evenimente,etc)

Cap. 1. Introducere in baze de date

6/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

BAZE DE DATE DEFINITIE IN SENS LARG Baza de date (database) reprezint o structur organizat de date, creat a.i. s asigure accesul la acestea n timp rapid i n mod eficient . DEFINITIE IN SENS RESTRANS Baza de date este o colecie de date creat si meninut computerizat, care permite operaii de:
Introducere (insert) Stergere (delete) Actualizare (update) Interogare (query) , etc.

EXEMPLE Ex.: colectii de date Fise de evidenta (mentinute manual) Fisiere de documente sau foi de calcul tabelar (Microsoft Word, Excel) Baze de date mentinute computerizat (Oracle, MSSQL Server , MySQL, Access, etc)
Cap. 1. Introducere in baze de date. 1.1. Definitii

7/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Baze de date?

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Exemple baze de date : SUA ArcGIS : aplicatie baze de date "smart map" care permite utilizatorilor creearea de interogari g interactive, analiza date spatiale, etc. Scop: util pentru creeare noi harti, etc

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Exemple baze de date : SUA CancerCollage (Discovery): baze de date multimedia pentru uz ( ) medical (studii cancer) ; contin informatii , poze, video Scop: informativ, documentar

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Exemple utilizare baze de date : UE Baza de date biometrica: UE creaz cea mai mare baz de date biometric peste 70 de milioane de nregistrri biometrice =seturi de amprente. Scop: uz politie (inclusiv informatii ADN)

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Exemple utilizare baze de date: Romania

Sistem de informatii geografice (GIS) AIR-AWARE: un sistem pilot de prognoza a poluarii aerului, evaluarea impactului acesteia asupra starii de sanatate a populatiei Scop: avertizarea factorilor responsabili, in corelare cu planurile de dezvoltare urbanistica pe termen scurt mediu i lung scurt, in zona Bucuresti.

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Exemple utilizare baze de date : Romania Sistem de informatii geografice (GIS) topografice MapSys 7.0, TopoSys 5.0 : permite generarea eficient a planului digital i pregatirea, utilizarea i interogarea datelor cu referin spaial, avnd ca scop crearea unui model de date relaional ncarcat cu informaii validate topologic. Scop: util pentru proiectanti topografi, ing. constructori, instalatori , etc

Curs: BAZE DE DATE N INGINERIE ELECTRIC

SISTEME DE BAZE DE DATE (SBD) DEFINITIE Sistem de baze de date (Database System): este un sistem computerizat de meninere a evidenei unei anumite activiti, utilizand baze de date.

2. Arhitectura unui SBD


baza(ele) de date componenta de tip date a sistemului sistemul de gestiune a bazei de date (SGBD): ansamblul de programe prin care se asigur gestionarea i prelucrarea complex a datelor - componenta software a sistemului de baze de date alte componente: proceduri manuale/automate, inclusiv reglementri administrative, dicionarul bazei de date (metabaza de date) cu informaii despre structura si semantica datelor, statistici, documentaii, hardware, utilizatori, etc.

Cap. 1. Introducere in baze de date. 1.1. Definitii

14/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

ARHITECTURA UNUI SISTEM DE BAZE DE DATE

3. Componentele unui SBD


hardware, hardware software, utilizatori, date persistente

Cap. 1. Introducere in baze de date. 1.2. Arhitectura unui Sistem de Baze de Date

15/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

COMPONENTELE UNUI SBD HARDWARE: Sistemele de baze de date sunt instalate pe calculatoare de uz general Bazele de date sunt memorate fizic ca fisiere pe discuri magnetice (harddiscuri)

SOFTWARE: Sisteme de operare, biblioteci, instrumente de dezvoltare, interfete Sistemul de Gestiune a Bazelor de Date (SGBD) (DataBase Management System DBMS) recepioneaz cererile utilizatorilor, le interpreteaz, execut operaiile i il tili t il l i t t t iil corespunztoare i returneaz rezultatul Aplicatii de baze de date (Database Applications) sunt programe care ofer anumite utilizari unei baze de date

Cap. 1. Introducere in baze de date. 1.3. Componentele unui Sistem de Baze de Date

16/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

COMPONENTELE UNUI SBD UTILIZATORI: Programatori de aplicatii g p Utilizatori finali Administratorul bazei de date Analisti si proiectanti ai bazelor de date

DATE PERSISTENTE : sunt memorate in fisiere pe harddisk

LIMBAJE CONCEPTUALE PENTRU BAZE DE DATE: Limbaje pentru Definirea Datelor(LDD) (Data Definition Languages DDL) Limbaje pentru Manipularea Datelor (LMD) (Data Manipulation Languages DML)

Cap. 1. Introducere in baze de date. 1.3. Componentele unui Sistem de Baze de Date

17/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

4. Avantajele utilizarii SBD


Date compacte Asocieri complexe intre date Timp redus de dezvoltare a bazelor de date Viteza mare de actualizare si regasire a datelor Redundanta controlata si cat mai scazuta a datelor Flexibilitate in actualizare a datelor Independenta datelor fata de suportul hardware Securitatea datelor: autentificarea utilizatorilor si autorizarea accesului Impunerea de restrictii de integritate la introducerea si actualizarea datelor Mentinerea integritatii datelor in caz de defecte: salvare si refacere Posibilitatea de partajare a datelor intre mai multe categorii de utilizatori Posibilitatea de introducere a standardelor

Cap. 1. Introducere in baze de date

18/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

5. Clasificarea SBD
Dupa modelul de date: Modelul ierarhic de date Modelul d d M d l l de date retea Modelul relational Modelul obiect relational Modelul obiect orientat Dupa numarul de utilizatori Sisteme mono-utilizator Sisteme multi-utilizator

Dupa numarul de statii pe care este memorata baza de date: BD centralizate BD distribuite

Dupa arhitectura client-server: Se ve (backend): SGBD-ul si BD Server (b c e d): SG u s Client (frontend): programe de aplicatie

Cap. 1. Introducere in baze de date

19/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SBD

Sisteme de BD centralizate
a. mono-utilizator b. multi-utilizator

Cap. 1. Introducere in baze de date. 1.5. Clasificarea sistemelor de baze de date

20/68

10

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SBD

Sistem de BD distribuit

Cap. 1. Introducere in baze de date. 1.5. Clasificarea sistemelor de baze de date

21/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

NIVELE DE ORGANIZARE A DATELOR NTR-O BD Nivelul conceptual (global): exprim viziunea administratorului BD asupra datelor, realizandu-se structura conceptual (schema) a BD, prin care se realizandu se descriu datele independent de aplicaii Nivelul logic: exprim viziunea programatorului de aplicaii asupra datelor, realizandu-se o descriere a datelor corespunztoare unui anumit program de aplicaie. Nivelul fizic: exprim viziunea inginerului de sistem asupra datelor, realizandu-se o d li d descriere a d l pe suport h d i datelor hardware.

Cap. 1. Introducere in baze de date. 1.5. Clasificarea sistemelor de baze de date

22/68

11

Curs: BAZE DE DATE N INGINERIE ELECTRIC

6. Modelarea datelor
DEFINITII Model: o abstractizare a unui sistem care capteaz cele mai importante trsturi caracteristice ale sistemului concepte ce trebuie sa fie relevante dpdv al scopului definirii modelului Abstractizare: tehnica de identificare a trsturilor caracteristice eseniale ale unui sistem Model de date: stabilete regulile de organizare i interpretare a unei g g p colecii de date.

Cap. 1. Introducere in baze de date

23/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

CATEGORII DE MODELE Proiectarea bazelor de date implica utilizarea a 2 categorii de modele: Modele conceptuale de nivel nalt (modelul Entitate Asociere) descriu concis colectiile de date care modeleaz activitatea dorit fr s detalieze modul de reprezentare sau de prelucrare a datelor schem conceptual de nivel nalt Modele specializate (modelul ierarhic, modelul reea, modelul relaional, etc.) descriu reprezentarea mulimilor de entiti i a asocierilor dintre acestea prin structuri d d specifice- schem conceptual (logic) i i de date ifi

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

24/68

12

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Modelul Entitate Asociere DEFINITII Modelul Entitate Asociere (Entity Relationship Model) : defineste multimile de entiti i asocierile dintre ele, dar nu impune nici un mod de structurare i prelucrare a datelor; Introdus n 1976 de P.S. Chen Entitate (entity) : orice exista in realitatea obiectiva si poate fi identificat n mod distinctiv
Ex.: o persoana, o activitate, un concept etc.

Atribut (attrib te) este o proprietate care descrie un an mit aspect al unei entiti (attribute) n anumit nei
Ex.: persoanele au nume, prenume, adresa etc.

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

25/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Modelul Entitate Asociere DEFINITII Tip de Ti d entitate ( i type): se refera l entittile similare, care pot fi d i (entity ) f la i il i il descrise prin i i aceleasi atribute
Ex.: tipul persoana, tipul planta

Multime de entitati (entities set): colecia tuturor entitilor de acelai tip dintr-o baz de date constituie o mulime de entiti
Ex: multimea tuturor persoanelor, multimea tuturor plantelor

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

26/68

13

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Asocieri DEFINITII O asociere (relationship): o coresponden intre entiti din dou sau mai multe mulimi de entiti; asocierile pot avea atribute Tipul asocierii (relationship type): asocieri similare, care pot fi definite intre 2 sau mai multe multimi de entitati Multime de asocieri (relationship set): multimea asocierilor de acelasi tip Gradul (unui tip) de asociere (degree): numrul de (mulimi de) entiti asociate; dupa grad, asocierile pot fi: binare (de gradul 2, intre 2 mulimi de entiti) majoritatea asocierilor multiple (intre k mulimi de entiti, k > 2) destul de rare

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

27/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Categorii De Asocieri Binare Categorii de (tipuri de) asocieri binare dup nr elementelor din fiecare dintre cele dou mulimi puse in coresponden: unul la unul (one to one) 1:1; Ex.: sot sotie unul la multe (one to many) 1:N; Ex.: parinte fii multe la unul (many to one) N:1; Ex.: fii parinte multe la multe (many to many) M:N; Ex.: profesori studenti

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

28/68

14

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Asocieri Binare intre Multimile de Entitati A si B

(a)unul la unul 1:1

(b)unul la multe 1: N
29/68

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Asocieri Binare intre Multimile de Entitati A si B

(a) multe la unulN:1

(b) multe la multe M: N


30/68

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

15

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Cardinalitatea Asocierilor DEFINITII Cardinalitatea (multiplicitatea) unei asocieri fa de o mulime de entiti (cardinality, multiplicity): numrul maxim de elemente din acea mulime care pot fi asociate cu un element din alt mulime a asocierii
Ex.: asocierea unul la multe dintre mulimile A i B prezint multiplicitatea 1 fa de mulimea A i multiplicitatea N (se nelege o valoare oarecare N > 1) fa de mulimea B

Raport de cardinalitate (cardinality ratio): raportul dintre valorile cardinalitilor unei asocieri fa de dou din mulimile de entiti asociate
Ex. pentru asocieri binare: 1:1, 1:N, N:1, M:N

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

31/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Diagrama Entitate Asociere DEFINITIE Diagrama Entitate Asociere (Entity Relationship Diagram): reprezint grafic modelul Entitate Asociere prin mulimile de entiti i asocierile dintre acestea Categorii de multimi (tipuri) de entitati:
Puternice (de sine statatoare) Slabe (depind de alte multimi de entitati)

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

32/68

16

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE CONCEPTUALE DE NIVEL NALT Exemple de Diagrame Entitate Asociere

Multimi de entitati puternice:


SECTII (Numar, Nume, Buget) ANGAJATI (Nume, Prenume, DataNasterii, Adresa, Functie, Salariu) PROIECTE (Denumire, DataInceperii, Termen, Buget)

Multimi de entitati slabe:


DEPENDENTI (Nume, Prenume, DataNasterii, GradRud)

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

33/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

Clasificarea SBD
Dupa modelul de date: Modelul ierarhic de date Modelul d d M d l l de date retea Modelul relational Modelul obiect relational Modelul obiect orientat Dupa numarul de utilizatori Sisteme mono-utilizator Sisteme multi-utilizator

Dupa numarul de statii pe care este memorata baza de date: BD centralizate BD distribuite

Dupa arhitectura client-server: Server (backend): SGBD ul si BD SGBD-ul Client (frontend): programe de aplicatie

Cap. 1. Introducere in baze de date

34/68

17

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 1.Modelul de date ierarhic DEFINITII Modelul ierarhic (Hierarchical Model): BD se reprezinta printr-o structur ierarhic ( ) p p de nregistrri (records) conectate prin legturi (links). = primul model folosit pentru dezvoltarea BD. cel mai cunoscut SGBD ierarhic: sistemul IMS (Information Management System) dezvoltat de IBM n programul de cercetri Apollo, n 1960 Inregistrare de date n modelul ierarhic: o instan a unui tip de nregistrare (record type) i const dintr-o colecie de cmpuri (fields) care conin valoarea unui atribut. Tip de legtur n modelul ierarhic: tip de asociere cu raportul de cardinalitate 1:N (printe fiu) ntre dou tipuri de nregistrri. Schem ierarhic este un arbore direcionat, reprezentat pe mai multe niveluri, n care nodurile sunt tipuri de nregistrri, iar arcele sunt tipuri de legturi

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

35/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 1.Modelul de date ierarhic Exemple

(a) Diagrama EA

(b) Schema ierarhica

(c) Arbori de instantiare a datelor


36/68

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

18

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 1.Modelul de date ierarhic AVANTAJE simplitate eficiena de calcul DEZAVANTAJE nu exista separare intre descrierea logica si fizica a datelor interogarile trebuie s fie explicite in structura datelor

UTILIZARI ACTUALE aplicatii specializate, baze de date XML

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

37/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 2. Modelul de date retea DEFINITII Modelul reea (Network Model): folosete o structur de graf pentru definirea schemei conceptuale a bazei de date, cu noduri si muchii. Standardizat n 1971 SGBD comerciale in modelul retea: IDS II (Honeywell), UNISYS (Burroughs), IDMS (Computer Associates) Nodurile grafului sunt tipuri de entiti (nregistrri records), iar muchiile reprezint asocierile (legturile-links) dintre tipurile de entiti.

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

38/68

19

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 2. Modelul de date retea AVANTAJE eliminare redundana: asocierile M:N se reprezint fr duplicarea nregistrrilor (fiecare nregistrare poate fi referit de mai multe nregistrri) DEZAVANTAJE nu exista separare intre descrierea logica si p g fizica a datelor interogarile trebuie s fie prevzute explicit in structura datelor complexitatea mare in reprezentarea datelor Actualmente modelul retea este rar utilizat pentru baze de date de care necesita interogari

UTILIZARI ACTUALE reprezentarea scenelor virtuale (baze de date grafice)

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

39/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 3. Modelul de date relational DEFINITII Modelul relaional (Relational Model): se bazeaz pe noiunea de relaie (relation) din matematic, care corespunde unei mulimi de entiti . Fundamentat de E.F. Codd (IBM), in 1970 Primul Sistem de Gestiune a Bazelor de Date Relaionale (SGBDR) a fost System R (IBM, 1970). SGBDR comerciale: Oracle, Microsoft, Ingres, Sybase SGBDR folosesc limbajul SQL (Structured Query Language), pentru care au fost emise mai multe standarde: ANSI (American National Standardization Institute) si ISO (International Standardization Office)

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

40/68

20

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 4. Modelul obiect orientat DEFINITII Modelul obiect orientat (Object Oriented Model) in care structura de baz pentru reprezentarea datelor este clasa de obiecte definit prin abstractizare. Exist entiti simple i clase de entiti care se reprezint prin obiecte simple sau clase de obiecte, ordonate n ierarhii de clase i subclase. A aprut din necesitatea gestionrii obiectelor complexe: texte, grafice, hri, imagini, aplicatii audio/video (aplicaii multimedia) i a gestionrii obiectelor dinamice: programe, simulri.

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

41/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 4. Modelul obiect orientat AVANTAJE permite gestionarea obiectelor complexe si a obiectelor dinamice DEZAVANTAJE Complexitate in dezvoltare a bazei de date i a aplicaiilor Interogarile trebuie s fie prevzute explicit in structura datelor

UTILIZARI ACTUALE in domenii in care se manipuleaza date de tipuri complexe: proiectarea sistemelor de calcul: programare, hardware, interfete, BD multimedia proiectarea asistat de calculator (CAD) sisteme de informaii geografice (GIS) medicin , etc.
Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor 42/68

21

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 5. Modelul obiect relational DEFINITII Modelul obiect relaional (Object Relational Model): extinderea modelului relaional cu caracteristici ale modelului obiect Limbajele de programare pentru SGBDOR sunt standarde mai recente ale limbajului SQL: SQL3 (SQL1999), SQL2003, SQL2006, SQL2010, etc.

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

43/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

MODELE SPECIALIZATE 5. Modelul obiect relational AVANTAJE Modelul obiect relaional pstreaz structurarea datelor n relaii, si, in plus: permite definirea unor noi tipuri de date, ca domenii ale atributelor permite extinderea tipurilor de date prin motenire DEZAVANTAJE Complexitate in dezvoltare a bazei de date i a aplicaiilor

UTILIZARI ACTUALE in domenii in care se manipuleaza date de tipuri complexe

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

44/68

22

Curs: BAZE DE DATE N INGINERIE ELECTRIC

COMPLEXITATEA DATELOR SI INTEROGARILOR Clasificare propusa de M. Stonebraker (1996)

SGBDR prelucreaz tipuri simple de date dar permit interogri complexe date, SGBDOO prelucreaz tipuri complexe de date, dar interogri dificile SGBDOR permit prelucrarea datelor complexe i interogri complexe = SBD universale

Cap. 1. Introducere in baze de date. 1. 6. Modelarea datelor

45/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

7. Evolutia sistemelor de baze de date


1960 1970 1980 1990 Modele prerelationale: ierarhic si retea Primele produse de BD (DBOM, IMS, IDS, Total, IDMS) Primele standarde (Standarde Codasyl) Modelul l ti M d l l relational : prototipuri d SGBDR l t ti i de Arhitectura interna pe 2 nivele a BD (ANSI and Codasyl) Modelul Entitate Asociere Dezvoltarea SGBDR comerciale Primul standard SQL (ANSI, ISO) Baze de date distribuite Arhitectura client/server a SBD Baze de date obiect orientate Baze de date obiect relationale Standarde SQL: SQL 92 SQL 99 92, Data mining, data warehouses (terabyte ) Arhitectura multidimensionala SBD BD in sistemul WWW Standarde XML -XQuery Noi clase de aplicatii (multimedia, timp real)
Cap. 1. Introducere in baze de date 46/68

2000

23

Curs: BAZE DE DATE N INGINERIE ELECTRIC

8. Sisteme de Gestiune a Bazelor de Date (SGBD)


DEFINITII DEF1: SGBD= sisteme informatice specializate n stocarea i prelucrarea unui volum mare d d t de date. DEF2: SGBD= ansamblu complex de programe care asigur interfaa ntre o BD i utilizatorii acesteia. DEF3: SGBD= componenta software a unui SBD care interacioneaz cu toate celelalte componente ale acestuia asigurnd legtura i interdependena ntre ele.

Cap. 1. Introducere in baze de date

47/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

FUNCTIILE UNUI SGBD

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

48/68

24

Curs: BAZE DE DATE N INGINERIE ELECTRIC

FUNCTIILE SGBD Definirea/crearea BD utilizand LDD, conform unui anumit model de date; Consultarea BD interogarea si /sau extragerea datelor Controlul accesului concurent la date Accesul concomitent a mai multor ut ato a utilizatori la BD Importul i exportul datelor Conversia datelor pentru prelucrarea cu alt SGBD sau cu alte aplicaii (Excel,..) Actualizarea BD introducerea/adugarea datelor prin LMD modificarea unor date existente n BD; tergerea datelor din BD Reorganizarea BD prin actualizarea structurii de date i modificarea strategiei de acces (de catre administratorul bazei de date) Transformarea automata a datelor Datele introduse de utilizator nu au ntotdeauna structura identic cu cea definit n BD
49/68

Cap. 1. Introducere in baze de date.1.8. Ssisteme de Gestiune a Bazelor de Date

Curs: BAZE DE DATE N INGINERIE ELECTRIC

FUNCTIILE UNUI SGBD Gestiunea fiierelor de date BD: un fiier sau colecie de fiiere de , , date, fiiere index, etc. Gestiunea dicionarului de date Aplicatiile acceseaz datele prin SGBD, care caut n dicionarul de date structura datelor i a legturilor Asigurarea integritii datelor Restricii de integritate, SGBD-ul permite impunerea unor conditii asupra datelor Gestiunea aplicaiilor Limbaj de descriere a datelor (LDD) j Limbaj de manipulare a datelor (LMD) Limbaj de afiare a datelor (ecran/ imprimant) Controlul securitii datelor Specifica accesul utilizatorilor la date si operaiile ce pot fi efectuate Criptarea datelor Gestiunea salvarii si recuperarii datelor Realizarea copiilor de siguranta si a recuperrii datelor
50/68

Cap. 1. Introducere in baze de date.1.8. Ssisteme de Gestiune a Bazelor de Date

25

Curs: BAZE DE DATE N INGINERIE ELECTRIC

SERVICII OFERITE DE SGBD

interfa simpla si intuitiva tehnici avansate de memorare, organizare, accesare a datelor utilitare : sistem de gestiune a fiierelor, listelor, tabelelor, etc. suport pentru limbaje de programare a aplicatiilor help

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

51/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

COMPONENTE SOFTWARE ALE SGBD Procesorul de interogare: transform interogrile n instruciuni adresate administratorului BD. Administratorul bazei de date: realizeaz interfaa bazei de date cu programele aplicaie i interogrile lansate de utilizatori. Administratorul de fiiere: Manipuleaz fiierele de stocare i administreaz alocarea spaiului de stocare pe disc; stabilete lista de structuri i indexuri definite n schema intern; nu gestioneaz direct intrrile i ieirile de date, dar transmite cererea ctre o metod de acces corespunztoare Preprocesorul LMD: convertete instruciunile LMD ncorporate ntr-un p p program aplicaie n apelri de funcii standard din limbajul gazd. Compilatorul LDD: transform instruciunile LDD ntr-un set de tabele care conin meta-datele. Administratorul de catalog: gestioneaz accesul i ntreinerea catalogului de sistem.
Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date 52/68

26

Curs: BAZE DE DATE N INGINERIE ELECTRIC

TIPURI SGBD SI EVOLUTIA LOR TIPURI DE SGBD

prezent SGBDAI

SGBD de uz general 2000 SGBDOO SGBD multimedia SGBD GIS (Geographic Information 1990 SGBDOR (DBMS) Systems) Sisteme Data Warehouses & Online 1980 SGBDR Analytical Processing (OLAP)modele de date multidimensionale 1960 -1970 SGBD ierarhice si retea (cuburi de date) ( b id d t ) SGBD timp real 1950 Procesare de fisiere SGBD active - inteligente

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

53/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

UTILIZAREA PE PIATA A SGBD

SGBD (2008)
12% 3%

SGBD Comerciale ( ) Oracle ($$$$) DB2 (IBM) ($$$) SQL Server (Microsoft) ($$)
41%

13%

SGBD Open Source MySQL PostgreSQL P t SQL

31%

Oracle

IBM

Microsoft

Sybase

altele
54/68

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

27

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD
Adabas Adaptive Server Enterprise p Alpha Five BlackRay Computhink's ViewWise CSQL Daffodil DB DataEase db4o FileMaker Firebird Glom IBM DB2 IBM UniVerse Ingres Informix InterSystems Cach Kexi WX2 WX2 Linter SQL RDBMS Lotus Approach Mark Logic Microsoft Access Microsoft SQL Server Microsoft Vi l F P Mi ft Visual FoxPro MonetDB MySQL OpenLink Virtuoso OpenOffice.org Base Oracle Database ParAccel PostgreSQL g Q Progress SQL Anywhere SQLite EffiProz Teradata Unisys OS 2200 databases Vertica Analytic Database

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

55/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD SGBD Comerciale SGBD Open Source

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

56/68

28

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: ORACLE

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

57/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: ORACLE Oracle: SGBD multi-utilizator puternic, cu implementri pe toate platformele (Windows, Unix, Linux), care ofer: performane ridicate de execuie grad nalt de protecie i securitate a datelor. Facilitati: ofer implementari ale modelului: relaional in toate versiunile, (cf standardului SQL2), obiect-relaional distribuit in ultimele versiuni (Oracle8i, Oracle9i i Oracle 10g) obiect-orientat prevzute n standardul SQL3 i oferind posibilitatea de dezvoltare a bazelor de date distribuite. Download : http://www.oracle.com ptr SGBD si instrumente de dezvoltare a aplicaiilor de BD: Oracle Application Server, JDeveloper, Oracle Forms etc.

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

58/68

29

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: Microsoft ACCESS

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

59/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: Microsoft ACCESS

Microsoft Access: unul din cele mai cunoscute SGBDR pe platforme de calculatoare p p personale. MS Access dispune de: un sistem de control al BD (database engine) i o interfa grafic pentru interaciunea cu utilizatorul. Facilitati : aplicaiile de baze de date n MS Access se pot dezvolta cu mult uurin datorit generatoarelor de aplicaii (Wizards) care permit proiectarea vizual a BD i a formularelor (forms) pentru interfeele grafice. MS Access este folosit n special pentru aplicaii personale sau pentru mici afaceri i licena acestuia se poate cumpra odat cu licena produsului Microsoft Office. Download: www.nicrosoft.com

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

60/68

30

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: Microsoft SQL SERVER

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

61/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: Microsoft SQL SERVER SQL Server: SGBDR dezvoltat de firma Microsoft pentru sistemele de operare Windows. Facilitati : in toate versiunile sistemul SQL Server suport complet standardul SQL2, cu implementarea performant a trsturilor avansate de stocare i prelucrare a datelor (integritate referenial, subinterogri, triggere, gestiunea tranzaciilor, etc). Download: http://www.microsoft.com/sql : gratuit o versiune de test a sistemului SQL Server http://msdn.microsoft.com/downloads: gratuit pachetul de dezvoltare .NET SDK ( NET Software Development Kit)=o versiune mai simpl de NET (.NET server de baze de date numit Microsoft SQL Server 2000 Desktop Engine (MSDE 2000).

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

62/68

31

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: PostgreSQL

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

63/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: PostgreSQL PostgreSQL: primul SGBD obiectual-relaional, gratuit. PostgreSQL este rezultatul muncii colective a sute de dezvoltatori, vreme de aproximativ douzeci i unu de ani, avndu-i avndu i originea la University of California din Berkeley Berkeley. Facilitati : este destinat BD obiectual- relationale , oferind posibilitatea de a crea tipuri noi de date, mpreun cu toi operatorii i funciile necesare. Noile tipuri se ncarc dinamic n chiar motorul bazei de date i pot fi apoi folosite n SQL sau n celelalte mecanisme exact ca i tipurile native. PostgreSQL este utilizat de numeroase companii i agenii guvernamentale, permite utilizarea i distribuirea sa gratuit att pentru aplicaii comerciale ct i necomerciale. Download: www.postgresql.org

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

64/68

32

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: MySQL

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

65/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

EXEMPLE DE SGBD: MySQL

MySQL este un SGBDR cu implementri pentru sistemele de operare Windows, Linux, Unix. La adresa http://www.mysql.com se gsete ultima versiune i documentaia SGBD MySQL care se poate utiliza gratuit (este open source). Acest sistem este compatibil cu standardul SQL2, dar unele prevederi ale standardului sunt implementate parial. Versiunea actual ofera view-uri, proceduri stocate, triggere (caracteristici care lipseau in versiunile precedente) precedente).

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

66/68

33

Curs: BAZE DE DATE N INGINERIE ELECTRIC

AVANTAJELE SGBD Un SGBD trebuie s asigure: minimizarea costului de prelucrare a datelor, reducerea timpului de rspuns, p p flexibilitatea aplicaiilor i protecia datelor. TENDINTE ACTUALE SGBD-urile din ce in ce mai mici putand rula pe PC-uri obisnuite. BD sunt din ce in ce mai mari ajungand la capacitati de TBs (1Terabyte=1012 bytes 1000 bytes=1000 Gigabytes), pot fi stocate si pe dispozitive auxiliare de memorare BD actuale pot contine orice tip de informatie , inclusiv multimedia: imagini, filme, sunete SGBD suporta calcul paralel/distribuit: creste viteza de procesare a interogarilor prin paralelism (citire date de pe discuri multiple)
Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date 67/68

Curs: BAZE DE DATE N INGINERIE ELECTRIC

OPORTUNITATEA UTILIZARII BD/SGBD Se recomanda utilizarea BD/SGBD daca : trebuie sa fie asigurata persistenta datelor se gestioneaza un volum mare de date datele sunt structurate accesul la date este concurent si distribuit trebuie sa fie asigurata integritatea si securitatea datelor NU se recomanda utilizarea BD/SGBD daca: investitia necesara implementarii este prea costititoare exista restrictii de utilizare in timp real care necesita SGBD speciale Nu este necesar accesul multi-utilizator la date multi utilizator Solutie alternativa: colectii de fisiere de date accesibile din diverse programe (Microsoft Word, Microsoft Excell, Notepad, etc)

Cap. 1. Introducere in baze de date.1.8. Sisteme de Gestiune a Bazelor de Date

68/68

34