Baze de Date 2011 2012 Anca Ion Baze

Baze de Date 2011 -2012 Anca Ion Baze de Date -Introducere. Universitatea din Craiova, Facultatea de Automatica, Calculatoare si Electronica

Introducere Baze de Date 2011 -2012 Anca Ion Definitie: Un sistem de gestiune a bazelor de date (SGBD) este o colecție de date interconectate și o mulțime de programe cu ajutorul cărora se accesează datele. Definitie: Colecția de date persistente, conectate logic, exhaustivă se numește bază de date. • Scopul primar al unui SGBD este de a stoca și extrage eficient informații din baza de data. • Sistemele de baze de date sunt proiectate pentru a administra cantități mari de date. • Administrarea datelor presupune atât definirea structurilor pentru stocarea informației cât și mecanisme pentru manipularea(prelucrarea) informației. • Astfel, sistemele de gestiune a bazelor de date trebuie să asigure siguranța informației stocate împotriva eventualelor căderi de sistem sau accesului neautorizat.

Aplicații ale SGBD Baze de Date 2011 -2012 Anca Ion • Bazele de date sunt extrem de utilizate. • Câteva din aplicațiile 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.

SGBD vs Sisteme de Fisiere Baze de Date 2011 -2012 Anca Ion • Sistemul stocheaza inregistari in diferite fisiere si este nevoie de programe care sa extraga/citeasca/adauge informatiile din/in fisiere. • Inainte de aparitia SGBD-urilor, organizatiile isi stocau informatiile in astfel de sisteme de fisiere. • Pastrarea informatiilor in sistemul de fisiere are numeroase dezavantaje: • redundanta si inconsistenta datelor – deoarece fisierele si programele sunt folosite si modificate pe perioade indelungate de timp, aceeasi informatie poate fi duplicata sau inconsistenta in mai multe locuri. • dificultatea in accesarea datelor. • izolarea datelor- deoarece datele sunt stocate in diverse fisiere si acestea pot avea diferite formate, scrierea unor programe care sa extraga datele este dificila. • probleme de integritate- valorile datelor stocate in baza de date trebuie sa satisfaca anumite tipuri de contrangeri de consistenta. • problema de atomicitate-unele operatii trebuie executate impreuna (ori toate, ori nici una). Este dificila asigurarea atomicitatii intr-un sistem de fisiere conventional. • anomaliile accesului concurent. • probleme de securitate.

Baze date. Concepte Baze de Date 2011 -2012 Anca Ion • Necesitatea asigurării independenţei aplicaţiilor în raport cu structura datelor au impus necesitatea de a vizualiza structura datelor la patru niveluri de abstractizare: • • Nivelul extern (al utilizatorului) – 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 logic/implementabil – este corespunzator unor viziuni particulare asupra datelor, din punctul de vedere al proiectantului de aplicaţii şi al utilizatorului; Nivelul fizic – 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.

Modele de date Baze de Date 2011 -2012 Anca Ion • Modelul de date reprezinta o colectie de instrumente conceptuale pentru descrierea datelor, a legaturilor dintre date, a semanticii datelor si a constrangerilor de consistenta. • Din categoria modelelor conceptuale fac parte: • Modele ER (Entity-Relationship Model) • Modele OOM (Object-Oriented Model) • Modele ORM (Object-Role Model) • Modele UML (Universal Modeling Language) • Din categoria modelelor implementabile fac parte: • Model ierarhic; • Model reţea; • Model relaţional; • Model obiectual; • Model obiect-relaţional

Modelul entitate –legatura (entity – relationship Baze de Date E-R) 2011 -2012 Anca Ion • 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.

Baze de Date 2011 -2012 Anca Ion Modelul entitate –legatura (entity – relationship E-R) Strada Telefon ID Nume Balanta Nr_Cont Oras Client depoziteaza Cont Schema conceptuala a bazei de date poate fi descrisa grafic de diagrama E-R, care urmatoarele componente: • Dreptunghiuri reprezinta entitati. • Elipsa reprezinta atribute. • Romburi reprezinta legaturile/asocierile intre entitati tip. • Liniile leaga entitatile tip cu legaturile tip.

Modelul relational Baze de Date 2011 -2012 Anca Ion • Modelul relational foloseste colectii de tabele 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 E-R. Proiectarea bazei de date se realizeaza, de obicei, folosind modelul E-R si apoi acesta este translatat in model relational. • In modelul relational simplu din figura urmatoare, s-au reprezentat 3 tabele: prima tabela contine informatii despre clienti, cea de-a doua despre conturi din banca si cea de-a treia indica ce conturi au clientii bancii.

Modelul relational Baze de Date 2011 -2012 Anca Ion

Limbajele bazelor de date Baze de Date 2011 -2012 Anca Ion • Un SGBD ofera un limbaj de definire a datelor (DDL) pentru a specifica schema bazei de date si un limbaj de manipulare a datelor (DML) pentru a realiza interogari si modificari ale bazei de date. • In practica, aceste limbaje nu sunt separate, ele sunt parti ale unui singur limbaj al bazei de date, cum ar fi de exemplu SQL. • DDL - cu ajutorul acestui limbaj de definire a datalor, se va crea schema bazei de date printr-un set de expreresii. De exemplu, crearea tabelei cont in limbajul SQL: create table cont (NRCont char(10), Balanta integer) • DML- manipularea datelor presupune: • gasirea informatiei cautate in baza de date • inserarea informatiei noi in baza de date • stergerea anumitor informatii din baza de date • modificarea informatiei stocate in baza de date

Accesarea bazei de date din programele de aplicatii Baze de Date 2011 -2012 Anca Ion • Aplicatiile care interactioneaza cu baze de date sunt scrise de obicei in limbaje gazda cum ar fi C, C++ sau Java. Pentru a accesa baza de date, comenzile DML trebuie executate din limbajul gazda. • Exista 2 moduri de a realiza acest lucru: • Prin intermediul unei interfete program (un set de proceduri) care pot sa trimita comenzi DDL si DML la baza de date si pot sa primeasca rezultatele cautarii din baza de date. Standardul Open Database Connectivity (ODBC) definit de Microsoft pentru limbajul C este folosit ca si interfata intre aplicatii si baze de date. Standardul pentru Java se numeste Java Database Connectivity (JDBC). • Prin extinderea limbajului gazda care sa cuprinda si apeluri DML.

Baze de Date 2011 -2012 Anca Ion Utilizatorii si administratorii bazei de date • Persoanele care lucreaza cu baza de date pot fi categorizate in: • Utilizatorii bazei de date • Administratorii bazei de date

Baze de Date 2011 -2012 Anca Ion Utilizatorii si administratorii bazei de date • • Exista mai multe tipuri de utilizatori ai sistemului de gestiune a bazelor de date, diferentiati de modul in care interactioneaza cu sistemul. Diferite tipuri de interfete au fost proiectate pentru diferite tipuri de utilizatori. • Utilizatorii naivi sunt utilizatoii care interactioneaza cu baza de date prin intermediul aplicatiilor scrise deja. De exemplu, clientul unei banci doreste sa trasfere o suma de bani dintr-un cont in altul. Atunci va trebui sa apeleze o aplicatie de transfer care ii va solicita utilizatorului suma de bani si contul din care face transferul si cel in care face transferul. • Programatorii de aplicatii sunt programatori profesionisti care scriu aplicatii. Acestia folosesc diverse instrumente si limbaje de programare pentru construirea de aplicatii pentru baza de date. • Utilizatorii sofisticati interactioneaza cu sistemul fara sa scrie programe. Acestia lucreaza direct cu baza de date folosind limbajul de definiere si manipulare a bazei de date.

Baze de Date 2011 -2012 Anca Ion Utilizatorii si administratorii bazei de date Rolurile administratorului bazei de date sunt: • Definirea schemei bazei de date. • Definirea structurilor de stocare si a metodelor de acces. • Acordarea de privilegii pentru accesarea datelor. • Efectuarea de proceduri cum ar fi: -periodic se realizeaza back-up bazei de date -asigurarea spatiului pe disc necesar -monitorizarea activitatilor asupra bazei de date

Structura unui SGBD Baze de Date 2011 -2012 Anca Ion 1. Storage manager – Manager stocare date - 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 ramane 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.

Structura unui SGBD Baze de Date 2011 -2012 Anca Ion 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 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.

Baze de Date 2011 -2012 Anca Ion

Arhitectura aplicatiilor cu baze de date Baze de Date 2011 -2012 Anca Ion • De obicei, aplicatiile cu baze de date pot avea o arhitectura: • pe 2 nivele (two-tier) - aplicatia este partitionata intr-o componenta care se gaseste pe masina client, si care invoca functionalitatile sistemului de baze de date care se gaseste pe masina server. Interfetele aplicatiilor , cum ar fi ODBC si JDBC, sunt folosite pentru interactiunile client/server. • pe 3 nivele (three-tier) – aplicatia de pe masina client nu contine apeluri directe la baza de date, ele interactioneaza print intermediul unui server de aplicatii. Serverul de aplicatii comunica cu sistemul de baze de date.

Baze de Date 2011 -2012 Anca Ion
- Slides: 20