BAZE DE DATE CURS .l. dr. ing. Mirela Danubianu mdanub@eed.usv.ro C208 M. Danubianu - Baze de date 2 Scopul cursului Prezentarea conceptelor fundamentale referitoare la bazele de date si la sistemele de baze de date Prezentarea modelului de date relaional. Limbaje relationale. Prezentarea noiunilor de baz ale proiectrii conceptuale pentru bazele de date Transformarea modelului conceptual in model logic al bazei de date Dependene funcionale i procesul de normalizare M. Danubianu - Baze de date 3 Mod de evaluare Activitatea n timpul anului 40% Prezenta la curs 10% Examenul final - 50% - proba teoretica si practica - un test intermediar (teoretic) la laborator - 30% - proiect - 70% - Clasic i modern n teoria i practica bazelor de date relaionale. M. Danubianu, Ed. Infodata, 2009. - Baze de date. Fundamente teoretice i dezvoltarea aplicaiilor n Visual FoxPro. M. Danubianu, 2003 - Baze de date si gestiunea tranzactiilor R. Dollinger, Ed. Albastr BIBLIOGRAFIE M. Danubianu - Baze de date 4 Necesitatea studierii bazelor de date... Trecerea de la stadiul efecturii de calcule ctre nevoia de informaii (ex. sisteme suport pentru decizii); Creterea volumului i a diversitii datelor de prelucrat; Limitele posibilitilor de analiz ale factorului uman; Evoluia tehnologiilor informatice; Extinderea domeniilor de utilizare a aplicaiilor de baze de date Extinderea cercetrilor fundamentate pe domeniul bazelor de date ctre depozite de date (Data Warehousing), analiza datelor (OLAP) , explorarea datelor (Data Mining) i descoperirea cunotinelor din bazele de date (KDD) M. Danubianu - Baze de date 5 Noiuni introductive: Date, Informaii, Cunostinte Informaiile resurs importanta n producia de bunuri materiale Esena tuturor activitilor intelectuale Practic inepuizabile Baz a procesului de decizie Rezultatul prelucrarii si interpretarii datelor de ctre un anumit subiect caracter de subiectivitate Caracter de noutate i de aport la cantitatea de cunotine a celui ce o primete natura variat: economic, tehnic, statistic, tiintific, administrativ, etc. Triada a elementelor: entitate , atribut, valoare entitate obiectul informaiei atribut (caracteristic) element de descriere a proprietilor entitii respective valoarea msur a atributului asociat M. Danubianu - Baze de date 6 Noiuni introductive (continuare) Date fapte culese din lumea reala pe baza de observaii si msurtori Datele = reprezentarea simbolic a informaiilor prin semne, litere, cifre, ntr-o form convenional (scris, vorbit, semne grafice, desene), convenabil unei comunicri. au o anumita semnificaie, i pot fi prelucrate manual sau automat. au caracter obiectiv. d.p.d.v. al sistemelor informationale se considera potrivite urmtoarele definiii ( nici complete, nici exacte) Datele sunt seturi de caractere acceptate ca intrri ntr-un sistem informaional, care sunt memorate i prelucrate. Informaia este rezultatul prelucrrii datelor, utilizat n cadrul activitii de luare a deciziilor. Cunotine - datele organizate i prelucrate astfel nct: favorizeaz nelegerea unui anumit domeniu permit identificarea i rezolvarea eficienta a problemelor din domeniul respectiv M. Danubianu - Baze de date 7 Scurt istoric al organizrii i prelucrrii datelor Sisteme tradiionale bazate pe fiiere (1950-1960) SGBD bazate pe modelul de date ierarhic sau reea (1970) SGBD relaionale Apariia modelului relaional (1970) Dezvoltarea SGBD relaionale (1970) Apariia SGBDR comerciale (1980) Maturizarea tehnolohgiei relationale pentru SGBD (1990) Sisteme de baze de date obiect-relaionale Sisteme de baze de date deductive i sisteme de baze de date orientate obiect. Sisteme de baze de date orientate spre aplicaii Baze de date spaiale, temporale, multimedia, Web... Sisteme de depozitare a datelor (Data warehousing), sisteme de analiz a datelor i sisteme de explorare a datelor (data mining) M. Danubianu - Baze de date 8 Evolutia activitii de organizare i prelucrare a datelor Colecie de programe aplicaie, care efectueaz servicii pentru utilizatorii finali, cum ar fi producerea de rapoarte. Fiecare program definete i gestioneaz propriile sale date. Fiierul = principalul tip de organizare a datelor. - fiecare dat este descris independent n toate fiierele n care apare - ntre fiiere nu exist o relaie definit explicit Sisteme tradiionale bazate pe fiiere Data1 Fiier 1 Prelucrare 1 Raport 1 Data2 Data 3 Data1 Fiier 2 Prelucrare2 Raport 1 Data 3 Data 4 Raport 1 Raport 1 Raport n M. Danubianu - Baze de date 9 Evoluia activitii de organizare i prelucrare a datelor Sisteme tradiionale bazate pe fiiere E1: Fisiere secveniale - org. condiionat de utilizarea benzilor magnetice ca suport de memorare Dezavantaje: - Nu exista difereniere ntre structura logic si cea fizic - Structura este proiectat pentru a servi o singur aplicaie --> datele sunt dependente de aplicaie --> redundan a datelor - Formate de fisiere incompatibile - Interogari fixe E2: fiiere secvenial-indexate i n acces direct separare dintre structura logic i structura fizic a datelor independena fizic a datelor (independena aplicaiilor att fat de modificrile hardware ct i de modul de organizare a fiierelor). - Faciliti simple de protecie a datelor E3: fiiere integrate- sistem complex de elemente de date a cror organizare este determinat de legturile logice intrinseci dintre acestea i nu de modul de prelucrare din cadrul fiecrei aplicaii - Se reduce redundana datelor M. Danubianu - Baze de date 10 Ce probleme apar la sistemele bazate pe fiiere? Caracteristicile sistemelor de prelucrare bazate pe fiiere Rspunsul la o nou problem implic scrierea unei noi aplicaii care creeaz fiierele de date corespunztoare Pentru o organizaie fiierele de date au formate diferite iar aplicaiile pot fi scrise n limbaje diferite Problem Probleme e Redundan i inconsisten a datelor (cum pot fi actualizate datele din toate fiierele?) Dificulti n accesarea datelor (necesitatea unor noi programe de aplicaie?) Izolarea datelor (diferite formate, diferite fiiere) Imposibilitatea controlului concurenei (utilizatori multipli) Probleme de securitate Probleme de integritate a datelor (satisfacerea constrngerilor?) M. Danubianu - Baze de date 11 Evolutia activitatii de organizare si prelucrare a datelor Cauze ale limitrii tratarii anterioare: Definitia datelor este ncorporata n programele aplicatie Nu exista controlul accesului si manipularii datelor Baza de date Colectie partajata de date, ntre care exista relatii logice si o descriere a acestor date, proiectata pentru a satisface necesitatile informationale ale unei organizatii. Colectie autodescrisa de nregistrari integrate. Acumulri de date aflate n interdependen, cu o anumit organizare, n vederea obinerii operative a unor informaii utile despre un anumit subiect. Ansamblu de date interconectate, mpreun cu descrierea lor, care rspunde calitilor de centralizare, coordonare, integrare i difuzie a informaiilor i care asigur satisfacerea tuturor necesitilor de prelucrare ale utilizatorilor din sistem. Tratarea prin baze de date Fisier 1 Fisier 2 Fisier n Catalog de date Aplic. 1 Aplic n Concluzie: este un depozit de date unic, de volum mare care este definit o singura data si este utilizat simultan de mai multe departamente i utilizatori. Utiliz1 Utiliz n M. Danubianu - Baze de date 12 Tratarea prin baze de date Schema bazei de date consta in descrierea generala a bazei de date. Este specificat n procesul de proiectare i se modific foarte rar Instanta bazei de date este data de setul de date operationale din baza la orice moment dat se modifica frecvent Natura autodescriptiva a datelor duce la independenta program- date analiza necesitatilor informationale ale unei organizatii --> identificarea entitatilor, a atributelor si a legaturilor dintre ele Exemplu Exemplu baza de date Universitate entitati : Studenti, Profesori, Cursuri, Sectii, atribute (proprietati): Nr. Matricol, Nume, Prenume, Data de nastere, adresa, etc. legturi: Studentii asist la cursuri Profesorii susin cursuri Cursurile se bazeaz pe cunotinele altor cursuri, etc M. Danubianu - Baze de date 13 separarea definiiei datelor de programele de aplicaie presupune existena unei definiii interne si a unei definiii externe a datelor => abstractizare a datelor avantaj: permite modificarea definiiei interne a unui obiect fr a afecta utilizatorii acestuia dac definiia extern rmne aceeai modelul extern - descrierile care se refer strict la datele unei aplicaii avantaje: reducerea redundanei evitarea inconsistenei posibilitatea partajrii datelor ncurajarea introducerii standardelor posibilitatea aplicrii restriciilor de securitate meninerea integrittii datelor Tratarea prin baze de date M. Danubianu - Baze de date 14 Aplicaii de baze de date Tranzacii bancare Linii aeriene: rezervri, planificri Universiti: evidena studenilor, situaia colar Vnzri: eviden clieni, produse, cumprri Urmrirea produciei: producie, inventar, comenzi, lanul de furnizori Resurse umane: nregistrarea angajailor, salarizare, etc Aplicatii medicale.. M. Danubianu - Baze de date 15 Arhitectura bazelor de date Arhitectura ANSI/SPARC cu trei niveluri () 1971 grupul DBTG (Data Base Task Group) propune o terminologie standard si o arhitectur pe doua niveluri: - schema - abordare d.p.d.v. al sistemului si - subschema - abordare d.p.d.v. al utilizatorului 1975 comitetul ANSI/SPaRC - abordare pe trei niveluri, cu un catalog de sistem. Scop: separarea fiecrei vederi a utilizatorilor bazei de date de modul n care aceasta este reprezentat fizic Presupune: necesitatea unei zone independente de implementare care s izoleze programele de consideraiile de reprezentare de baz Vedere1 Vedere 2 Vedere n Schema conceptual Schema fizic Baza de date Organizarea fizic a datelor Nivelul intern Nivelul conceptual Nivelul extern M. Danubianu - Baze de date 16 Arhitectura bazelor de date Arhitectura ANSI/SPARC cu trei niveluri Nivelul intern - (baza de date fizic) = colecie de fiiere care conin datele fizice, la care se adaug structuri auxiliare menite s asigure accesul operativ la aceste date (directoare, indeci, tabele de dispersie) probleme tratate: alocarea spaiului de stocare pentru date i indeci descrierile nregistrrilor pentru stocare (cu dimensiunile articolelor de date) plasarea nregistrrilor tehnici de comprimare a datelor i de codificare a acestora concluzie: schimbarea sistemului de operare sau modificri n configuraia echipamentelor hardware pot atrage modificri ale bazei de date fizice, dar acestea nu vor afecta celelalte nivele M. Danubianu - Baze de date 17 Arhitectura bazelor de date Arhitectura ANSI/SPARC cu trei niveluri Nivelul conceptual - abstractizare a unei pri din lumea real, i descrie structura logica a datelor (ce date sunt stocate ntr-o baz de date i relaiile dintre acestea, prin specificarea unor constrngeri) constrngeri: proprieti ale datelor ce nu pot fi exprimate prin descrieri de structur ( restricii asupra valorilor pe care le pot lua datele sau restrictii privind legturile dintre diferite uniti logice) probleme tratate: specificarea entitilor , a atributelor i a relaiilor dintre ele constrngeri asupra datelor informaii de securitate i integritate a datelor realizeaz independena fizic a datelor concluzie: integreaz viziunile tuturor utilizatorilor asupra bazei de date M. Danubianu - Baze de date 18 Arhitectura bazelor de date Arhitectura ANSI/SPARC cu trei niveluri Nivelul extern - vederea utilizatorului asupra bazei de date descrie acea parte a bazei de date care este relevant pentru fiecare utilizator cuprinde: unitati logice din modelul conceptual i unitati logice care nu exista in modelul conceptual si care nu au corespondent direct in baza de date fizica - uniti logice virtuale fiecrui utilizator i corespunde un model extern propriu, individualizat in raport cu cerinele specifice termenul folosit pentru modelul extern este VEDERE avantaje: asigurarea securitatii bazei de date prin limitarea accesului la date a anumitor categorii de utilizatori, sau prin acordarea de drepturi de acces diferite pentru un utilizator n cadrul mai multor vederi viziune individualizat i simplificat asupra bazei de date realizeaz independena logic a datelor adresa Vrsta Prenume Nume nrmatr Vedere 1 Vedere 2 grupa Nume nrmatr grupa adresa DDN Prenume Nume nrmatr Nivel Conceptual struct STUDENT { int nrmatr; int grupa; char nume [15]; char prenume [15]; struct date DDN; char adresa [20]; struct STUDENT *next; /* pointer ctre urmtoarea nregistrare */ }; index nrmatr; index grupa; /* definete indecii for staff */ Nivel Intern M. Danubianu - Baze de date 20 Independena datelor unei delimitri nete ntre reprezentarea fizic a datelor i imaginea pe care o are utilizatorul despre aceste date Independena datelor este de dou feluri: fizic logic Independena fizic d msura imunitii aplicaiilor fa de modificrile n structura fizic de memorare a datelor presupune c aplicaiile nu conin nici o referire explicit la tipul fiierelor n care sunt memorate datele, la tipul dispozitivului de memorare sau la strategia de acces la date M. Danubianu - Baze de date 21 Independena datelor Independena logic a datelor se refer la imunitatea modelului propriu al fiecrui utilizator fa de modificrile n structura logic global a bazei de date. Se refer n special la problema adugrii de noi uniti logice (cmpuri) la structura bazei de date i/sau la modificarea acestora i a relaiilor dintre ele. Permite: dezvoltarea bazei de date fr a afecta utilizatorii care nu au nevoie de noile date reorganizarea bazei de date - regruparea cmpurilor n nregistrri, i definirea de noi cmpuri pe baza celor existente problema delicat - eliminarea unei entiti logice din baza de date - afecteaz utilizatorii care fac referire la entitatea eliminat d.p.d.v. al utilizatorului, problema independenei logice se manifest legat de operaiile pe care sistemul i permite s le efectueze asupra datelor din modelul propriu astfel inct s nu afecteze modelul altor utilizatori care folosesc parial sau total aceleai date. M. Danubianu - Baze de date 22 Avantajele utilizrii bazelor de date Memorarea convenabil i eficient a datelor i posibilitatea generrii de informaii din volume mari de date Beneficii majore: Eficien i scalabilitate n ceea ce privete accesul la date i regsirea acestora Independena datelor Redundan controlat Posibilitatea de a asigura integritatea i securitatea datelor Faciliti de acces concurent asupra datelor i posibilitatea recuperrii acestora n cazul unui defect ncurajarea introducerii standardelor Administrarea uniform a datelor Analiza datelor ( tehnici OLAP i Data Mining) M. Danubianu - Baze de date 23 Cnd nu este oportun utilizarea bazelor de date Bazele de date implic costuri suplimentare datorit: investiiei iniiale n echipamente, licene pentru soft i instruire a personalului necesitii asigurrii securitii, controlului concurenei, mecanismelor de recuperare i pstrrii integritii Aceste costuri pot fi inutile dac: baza de date i aplicaiile sunt simple, bine definite i nu se schimb nu se solicit acces multiutilizator asupra datelor