Sunteți pe pagina 1din 7

1

CONCEPTE FUNDAMENTALE

1.1 Introducere Acum, bazele de date fac parte din viaa noastr de zi cu zi n aa msur, nct adeseori nu suntem contieni c le utilizm. Exemple: a) Dac avei o agend cu adrese, aceasta este aproape o baz de date. Ca s fie recunoscut ca o baz de date propriu-zis trebuie s copiai informaia ntr-un computer i s o salvai - ntr-o manier ordonat ntr-un fiier b) Atunci cnd cumprai ceva de la supermarket, vnztorul trece un cititor de coduri de bare peste fiecare din mrfurile cumprate. Acesta este legat la un program aplicaie pentru baze de date, care utilizeaz codul de bare pentru a afla preul articolului respectiv dintr-o baz de date de produse. Apoi programul reduce numrul articolelor respective din stoc i afieaz preul la cas. Dac nivelul stocului scade sub o anumit limit, este posibil ca sistemul s emit automat o comand pentru a obine un stoc suplimentar din acel articol. c) Acolo unde se pot face cumprturi utiliznd cardul de credit, de regul vnztorul verific dac avei suficient credit. Aceast verificare poate fi efectuat prin telefon, sau automat printr-un cititor de card legat la un sistem de calculatoare. n ambele cazuri, undeva se afl o baz de date, care conine informaii despre cumprturile efectuate utiliznd cardul de credit. Pentru a verifica creditul dvs, exist un program aplicaie care utilizeaz numrul crii de credit pentru a controla dac preul bunurilor pe care dorii s le cumprai, mpreun cu totalul cumprturilor deja efectuate n luna respectiv, se afl n limita creditului dvs. Atunci cnd cumprarea este confirmat, detaliile acesteia sunt adugate n baza de date respectiv. nainte de a autoriza cumprarea, programul aplicaie va accesa baza de date i pentru a verifica dac nu cumva cardul de credit se afl pe lista celor furate sau pierdute. 1.2 1.2.1 Conceptul de baz de date

Noiunile de dat i informaie

n activitatea noastr suntem permanent confruntai cu necesitatea de a lua decizii. Luarea unei decizii impune existena unor informaii referitoare la situaia concret asupra creia trebuie s decidem. Atenie: noiunile de dat i informaie au semnificaii complet diferite. Datele sunt fapte culese din viaa real pe baz de observaii i msurtori. Informaia este rezultatul interpretrii datelor de ctre un subiect i confer acestuia capacitatea de a lua decizii. Datele devin informaii numai n momentul interaciunii lor cu un sistem capabil s le interpreteze. Aceeai dat poate fi interpretat n mod diferit de subieci diferii, deci genereaz informaii diferite. Nu exist o relaie biunivoc ntre date i informaii. Sistemele de calcul prelucreaz date, nu informaii. Datele au un caracter obiectiv, n timp ce informaia este subiectiv. Pentru luarea unei decizii corecte, informaia trebuie s fie: 1. disponibil n timp util 2. corect 3. necontradictorie 4. neredundant 5. s aib o form adecvat necesitilor factorului de decizie

Pentru a fi utile, datele trebuie culese, memorate, organizate, regsite i prelucrate n mod adecvat pentru utilizarea lor ca informaie. O astfel de activitate este legat n informatic de noiunea de baz de date. Organizarea datelor n vederea prelucrrii pe calculator este o activitate tot aa de important ca i realizarea programelor. Aceste dou componente ale unui sistem informatic, datele i programele, se gsesc ntr-o strns interdependen. Un program, orict de elaborat i rafinat ar fi, nu va produce rezultatele scontate dac va lucra cu o baz de date depit sau prost organizat. Similar, o structur de date bine pus la punct nu va putea suplini carenele programului care o prelucreaz. 1.2.2 Sistemul tradiional, bazat pe fiiere

Sistemele bazate pe fiiere au constituit o ncercare de nceput de a computeriza sistemul clasic de ndosariere manual. Sistemul bazat pe fiiere este o colecie de programe aplicaie, care efectueaz servicii pentru utilizatorii finali (servicii de tipul producerea de rapoarte). Fiecare program i definete i gestioneaz propriile date. Altfel spus, ntr-o organizaie, n loc s existe un depozit centralizat cu datele operaionale, fiecare departament i stocheaz i controleaz propriile date. De exemplu, departamentul Contabilitate stocheaz detalii referitoare la salariul fiecrui angajat, i anume: SalariuPersonal (NumrMarc, Nume, Prenume, NumrAsigurare, NumrSecie) Adresa, DataNaterii, Salariu,

Departamentul Personal stocheaz deasemenea detalii despre angajai: Personal (NumrMarc, Nume, Prenume, Adresa, NumrTelefon, Funcie, DataNaterii, NumrAsigurare, NumrSecie) Se observ c exist o frecvent dublare a datelor n aceste departamente, fapt adevrat pentru toate sistemele bazate pe fiiere. Legat de terminologia utilizat n aceste sisteme, trebuie menionat c un fiier este un set de nregistrri care conin date ntre care exist anumite relaii logice. Fiecare nregistrare conine un set de unul sau mai multe cmpuri ntre care exist legturi logice, fiecare cmp reprezentnd o anumit caracteristic a obiectului modelat. Limitrile sistemelor bazate pe fiiere: a. separarea i izolarea datelor b. dublarea datelor c. dependena de date d. incompatibilitatea fiierelor e. interogarea fix a programelor aplicaie, proliferarea programelor aplicaie Separarea i izolarea datelor are ca efect faptul c, pentru anumite aplicaii, este necesar prelucrarea i sincronizarea a dou sau mai multe fiiere. Dublarea datelor implic dou dezavantaje: 1. risipa de spaiu de stocare 2. posibila alterare a integritii datelor: de exemplu, dac un angajat i schimb adresa sau este promovat ntr-o funcie superioar, cu o cretere corespunztoare de salariu i aceast schimbare este anunat numai la Personal, nu i la Contabilitate. Cum pentru cei de la Personal nu exist o modalitate automat de a reactualiza datele din fiierele de la Contabilitate, este foarte probabil apariia unor neconcordane.

Dependena de date implic modificarea tuturor programelor de aplicaie n cazul modificrii tipului sau dimensiunii unui cmp de date, activitate ce necesit mult timp i este supus apariiei erorilor. Legat de incompatibilitatea fiierelor, trebuie subliniat c, deoarece structura fiierelor este ncorporat n programele aplicaie, ea este dependent de limbajul n care sunt scrise acestea. De exemplu, structura unui fiier generat de un program scris n COBOL poate fi diferit de cea a unuia genearat de un program scris n limbaj C. Incompatibilitatea fiierelor face dificil prelucrarea lor simultan, pentru extragerea de rapoarte de date aflate n fiiere diferite. Interogarea fix a programelor aplicaie a fost generat de faptul c sistemele bazate pe fiiere sunt n mare msur dependente de programatorul de aplicaii. Interogrile sau rapoartele necesare trebuie s fie scise de ctre acesta. Din acest motiv au aprut dou situaii: ori tipurile de interogri sau rapoarte care puteau fi realizate erau fixe i nu exista nici un fel de facilitate de a realiza interogri neplanificate ori aprea o proliferare a fiierelor i programelor de aplicaie la nivelul fiecrei organizaii Evident, n ambele cazuri consecinele erau inacceptabile i era necesar alt soluie. 1.2.3 Tratarea prin baze de date Toate limitrile tratrii bazate pe fiiere se datoreaz urmtorilor doi factori: 1) Definiia datelor este ncorporat n programele aplicaie, n loc de a fi stocat separat i independent 2) Nu exist un control al accesului i manipulrii datelor, n afar de cel impus de ctre programele aplicaie Pentru a face mai eficient depozitarea datelor, era necesar o nou tratare. Aa au aprut bazele de date i sistemele de gestionare a bazelor de date (SGBD). Baza de date o colecie partajat de date elementare sau structurate, ntre care exist relaii logice, proiectat pentru a satisface nevoile informaionale ale unei organizaii.

Pentru a nelege conceptul de baz de date, s analizm detaliat definiia dat mai sus. Baza de date este un depozit de date unic, care este definit o singur dat i este utilizabil simultan de mai muli utilizatori. n loc de a exista fiiere separate cu date redundante, toate datele sunt integrate, cu o dublare minim. Baza de date nu mai este deinut de un singur departament, ci constituie acum o resurs comun, partajat. Baza de date conine nu numai datele operaionale, ci i o descriere a acestora. Din acest motiv ea este definit i ca o colecie autodescris de nregistrri integrate. Natura autodescriptiv a bazelor de date este cea care produce independena program date. 1.3 Utilitatea i avantajul bazelor de date

Caracteristica principal a aplicaiilor de baze de date const n faptul c accentul este pus pe operaiile de memorare i regsire efectuate asupra unui volum mare de date i mai puin asupra operaiilor de prelucrare a acestora. Principala operaie care apare n aplicaiile de baze de date este regsirea datelor n scopul obinerii de informaii din baza de date. Acesta este sensul existenei oricrei baze de date. O baz de date este creat pentru a fi interogat.

Alturi de operaia de regsire, apar mai mult sau mai puin frecvenat, operaii de memorare pentru introducerea de noi date n baza de date, tergere pentru datele devenite inutile i de actualizare a unor date deja existente n baza de date. Organizarea datelor ntr-o baz de date constituie o CENTRALIZARE a acestora. Aceasta implic existena unui administrator al bazei de date (o persoan sau grup de persoane cu atribuii bine definite n actualizarea i ntreinerea bazei de date). Centralizarea datelor ntr-o baz de date prezint avantajele: 1. Reducerea redundanei datelor memorate. n cazul sistemelor bazate pe fiiere, este posibil ca aceleai date s apar de mai multe ori n fiiere diferite, aparinnd unor aplicaii diferite risip a spaiului de memorie. 2. Evitarea inconsistenei datelor memorate: atunci cnd exist mai multe copii ale aceleiai date este posibil ca prin actualizarea numai a unora dintre ele, s avem valori diferite pentru una i aceeai dat. Aceasta atrage dup sine inconsistena bazei de date. 3. Posibilitatea partajrii datelor, se refer nu numai la posibilitatea utilizrii n comun a datelor de ctre mai muli utilizatori, ci i la posibilitatea de a dezvolta aplicaii noi folosind datele deja existente n baza de date. 4. Posibilitatea aplicrii restriciilor de securitate: existnd controlul centralizat al datelor, se pot introduce verificri de autorizare a accesului la date. Se pot impune restricii diferite pentru fiecare tip de acces (regsire, actualizare, tergere), pentru fiecare tip de dat i la nivelul fiecrui utilizator. 5. Posibilitatea introducerii unor proceduri de validare a datelor n cazul operaiilor de actualizare, pentru a asigura cerina ca baza de date s conin date corecte. 1.4 Independena datelor

Independena datelor nseamn c exist o delimitare strict ntre reprezentarea fizic a datelor i imaginea pe care o are utilizatorul asupra acestor date. Modul concret n care este realizat memorarea i organizarea datelor este invizibil pentru utilizator. Acesta trebuie s fie preocupat numai de problema concret pe care o are de rezolvat i pe care o modeleaz ntr-un anumit fel. El lucreaz la nivelul bazei de date cu acest model propriu. Detaliile de implementare rmn n sarcina sistemului. Problema independenei datelor prezint 2 aspecte: 1. independena fizic a datelor 2. independena logic a datelor 1. Independena fizic a datelor este o msur a imunitii datelor fa de modificrile care pot s apar n structura fizic de memorare a datelor. O modificare a acestei structuri nu va afecta aplicaia i reciproc, modificri ale aplicaiei vor lsa nealterat structura fizic a datelor. Structura fizic a datelor este determinant pentru strategiile de acces folosite pentru regsirea datelor. O aplicaie care este independent de structura fizic a datelor nu conine nici o referire la dispozitivele de memorare folosite sau la strategiile de acces la date. Din punct de vedere al aplicaiei, datele sunt entiti cu nume. Orice referire la date n cadrul aplicaiei se face prin aceste nume. Detaliile legate de dispozitivele de memorare sau strategiile de acces nici nu trebuie s fie cunoscute de utilizator. 2. Independena logic a datelor se refer la imunitatea sistemului propriu al fiecrui utilizator fa de modificrile n structura logic global a bazei de date. Independena logic permite adugarea de noi entiti logice (cmpuri sau nregistrri) la structura bazei de date i/sau modificarea relaiilor existente ntre ele, ceea ce asigur dezvoltarea bazei de date fr a afecta utilizatorii deja existeni. Este nerezolvabil

problema eliminrii de entiti logice din baza de date, ntruct orice operaie de acest gen se repercuteaz asupra utilizatorilor care fac referire la entitatea eliminat. Observaie: Independena logic este mult mai greu de asigurat dect cea fizic. 1.5 Obiectivele fundamentale ale unei baze de date

1. Centralizarea datelor permite: Suprimarea redundanei Asigurarea unicitii nregistrrii Controlul centralizat asupra datelor 2. Independena ntre date i program. Baza de date, ca imagine a unei anumite realiti, trebuie actualizat permanent. Acest lucru nu trebuie s afecteze programele aplicaie. Pentru aceasta trebuie ca fiecare program s aib o viziune proprie asupra bazei de date. 3. Realizarea de legturi ntre entitile de date, necesare pentru exploatarea eficient a sistemului informatic. Ex. 4. Integritatea datelor asigur fiabilitatea i coerena bazei de date. Pentru aceasta trebuie definite restricii de integritate cum ar fi: Apartenena la o list de valori sau la un interval Apartenena la un anumit format Reguli de coeren cu alte date Aceste reguli trebuie s respecte att aspectele statice, ct i cele dinamice. De exemplu, dup o actualizare de cretere a salariului, nivelul acestuia trebuie s fie mai mare dect cel precedent. 5. Securitatea datelor. Baza de date trebuie s fie protejat mpotriva unei distrugeri logice (anomalii de actualizare) sau fizice. Pentru aceasta, exist instrumente care permit: Crearea unor puncte de repriz = salvarea din timp n timp a unor copii coerente ale bazei de date Gestiunea unui jurnal de tranzacii = lista operaiilor realizate asupra bazei de date dup ultimul punct de repriz Dac apare o anomalie care ar putea distruge baza de date, pe baza copiei de la ultima repriz i a jurnalului de tranzacii se poate reface baza de date n forma iniial. 6. Confidenialitatea datelor este asigurat prin proceduri de: Identificare a utilizatorilor prin nume sau cod Autentificarea prin parole Autorizarea accesului difereniat prin drepturi de creare, consultare, modificare sau tergere pentru anumite sectoare de date 7. Partajarea datelor permite nlnuirea tranzaciilor solicitate simultan pe aceeai nregistrare din baza de date, prin blocarea cererilor n ateptare i deservirea ulterioar a acestora. 1.6 SGBD Sistemul de Gestiune a Bazelor de Date (SGBD)

un sistem de programe care permite utilizatorului definirea, crearea i ntreinerea bazei de date precum i accesul controlat la aceasta.

Deci SGBD const n elemente de software care interacioneaz cu programele aplicaie ale utilizatorului i cu baza de date.

1.6.1

Faciliti oferite de SGBD

De obicei, un SGBD ofer urmtoarele faciliti: Permite utilizatorilor s defineasc baza de date, de obicei printr-un limbaj de definire a datelor (Data Definition Language DDL). DDL permite utilizatorului specificarea tipurilor de date i a structurilor Permite inserarea, reactualizarea, tergerea i extragerea datelor din baza de date, de obicei printr-un limbaj de manipulare a datelor (Data Manipulation Language DML). Ofer accesul controlat la baza de date. De exemplu, poate furniza: o Un sistem de securitate, care previne accesarea bazei de date de ctre utilizatori neautorizai o Un sistem de integritate, care menine concordana datelor stocate o Un sistem de control al concurenei, care permite accesul partajat la baza de date o Un sistem de control al refacerii, care restaureaz baza de date dup o defeciune hardware sau software o Un catalog accesibil utilizatorilor, care conine descrieri ale datelor din baza de date Ofer un anumit nivel de securitate. Modurile de vizualizare pot fi realizate astfel nct s nu includ datele care nu trebuie cunoscute de anumii utilizatori Ofer un mecanism de personalizare a aspectului bazei de date Pot prezenta o imagine coerent, neschimbat a structurii bazei de date, chiar dac baza a fost modificat Aceast analiz este general. Nivelul real de funcionalitate difer de la produs la produs. De ex, s-ar putea ca un SGBD pentru un PC s nu accepte accesul partajat concurent, ci s aib numai un control limitat al securitii, integritii i refacerii. 1.6.2 Componentele mediului SGBD

Se pot identifica 5 componente principale ale mediului SGBD: hardware, software, date, proceduri i persoane. Date Hardware Software Punte
Fig. 1.1 Mediul SGBD

Proceduri Om

Persoane

Main

Hardware Pentru a funciona, SGBD i aplicaiile au nevoie de hardware. Elementele specifice de hardware depind de cerinele organizaiei i de sistemul SGBD utilizat, i poate fi de la un PC sau un singur mainframe, pn la o ntreag reea de calculatoare.

Fig. 1.2 Exemplu de configuraie hardware

Software Componenta software cuprinde programele SGBD i programele de aplicaie, mpreun cu sistemul de operare i soft-ul de reea dac SGBD este utilizat n reea. Datele Sunt probabil cea mai important component a unui mediu SGBD. Datele acioneaz ca o punte ntre componentele main i cele umane. Baza de date conine att datele operaionale ct i meta-datele (datele despre date). Procedurile Se refer la instruciunile i regulile care guverneaz proiectarea i utilizarea bazei de date. Persoanele Se pot identifica patru tipuri distincte de persoane implicate n SGBD: Administratorii de date i de baze de date Proiectanii de baze de date Programatorii de aplicaii Utilizatorii finali