Baza de date este un ansamblu structurat de date coerente, fr redundan inutil,
astfel nct acestea pot fi prelucrate eficient de mai muli utilizatori ntr-un mod concurent. Baza de date este o colecie de date pe rsistente, care sunt folosite de ctre sistemele de aplicaii ale unei anumite ntreprinderi. Datele din baza de date persist deoarece, dup ce au fost acceptate de ctre sistemul de gestiune pentru introducerea n baza de date, ele pot fi terse din baz numai printr-o cerere explicit adresat sistemului de gestiune. Aici, termenul de ntreprindere este un cuvnt generic, utilizat pentru a desemna orice organizaie independent, de natur tehnic, comercial, tiinific sau de alt tip. ntreprinderea poate fi, de exemplu, un spital, o banc, o facultate, o fabric, un aeroport etc. Fiecare ntreprindere are regulile proprii de funcionare i conine o mulime de date referitoare la modul su de operare. Datele din baza de date pot fi att integrate, ct i partajate. Noiunea de integrat se refer la faptul c baza de date poate fi considerat ca o unificare a mai multor fiiere, iar prin partajare se nelege c baza de date poate fi partajat concurent ntre diferii utilizatori. Un sistem de gestiune a bazelor de date (SGBD Data Base Management System) este un produs software care asigur interaciunea cu o baz de date, permind definirea, consultarea i actualizarea datelor din baza de date. Toate cererile de acces la baza de date sunt tratate i controlate de ctre SGBD. Organizarea datelor n baze de date constituie o form de centralizare a acestora. Aceasta implic existena unui administrator al bazei de date (DBA Data Base Administrator) care este o persoan sau un grup de persoane ce rspund de ansamblul activitilor (analiz, proiectare, implementare, exploatare, ntreinere etc.) legate de baza de date. Atribuiile unui administrator pot fi grupate n patru mari categorii: atribuii de proiectare, atribuii administrative, atribuii operative i atribuii de coordonare. Dicionarul datelor (catalog de sistem), structurat i administrat ca o baz de date (metabaz de date), contine date despre date, furnizeaz descrierea tuturor obiectelor unei baze de date, starea acestor obiecte, diversele constrngeri de securitate i de integritate etc. Dicionarul poate fi interogat, la fel, ca orice alt baz de date.
Gestiunea bazelor de date
Un sistem de baze de date presupune urmtoarele componente principale, care definesc arhitectura acestuia: baza de date propriu-zis n care se memoreaz datele; sistemul de gestiune a bazei de date, care realizeaz gestionarea i prelucrarea complex a datelor; un dicionar al bazei de date (metabaza de date), ce conine informaii despre date, structura acestora, statistici, documentaie; mijloace hardware (comune sau specializate); reglementri administrative destinate bunei funcionri a sistemului; personalul implicat (utilizatori finali, administratorul datelor, administratorul bazei de date, proiectani, programatori de aplicaii). Se pot identifica patru categorii de persoane implicate n mediul bazelor de date: administratorii de date i baze de date, proiectanii (designeri) de baze de date, programatorii de aplicaii, utilizatorii finali. Administratorul de date (DA) este un manager, nu un tehnician, ce: decide care date trebuie stocate n baza de date; stabilete regulile de ntreinere i de tratare a acestor date dup ce sunt stocate. De exemplu, o regul ar putea fi aceea prin care se stabilesc pentru utilizatori privilegii asupra informaiilor din baza de date, cu alte cuvinte o anumit politic de securitate a datelor. Administratorul bazei de date (DBA) este responsabil cu implementarea deciziilor administratorului de date i cu controlul general al sistemului, la nivel tehnic. El este un profesionist n domeniul IT, care: creeaz baza de date real; implementeaz elementele tehnice de control; este responsabil cu asigurarea funcionrii sistemului la performane adecvate, cu monitorizarea performanelor; furnizeaz diverse servicii tehnice etc. Proiectanii de baze de date pot acoperi att aspectul fizic, ct i cel logic al concepiei. Proiectantul de baze de date care abordeaz direcia logic trebuie s posede o cunoatere complet i amnunit a modelului real de proiectat i a regulilor de funcionare ale acestuia. Practic, acesta proiecteaz conceptual baza de date, iar modelul creat este independent de programele de aplicaii, de limbajele de programare. De asemenea, va proiecta logic baza de date, proiectare care este ndreptat spre un anumit model de date (relaional, orientat obiect, ierarhic etc.). Proiectantul de baze de date fizice preia modelul logic de date i stabilete cum va fi realizat fizic. Acesta trebuie s cunoasc funcionalitile SGBD-ului, avantajele i dezavantajele fiecrei alternative corespunztoare unei implementri. Practic, se face transpunerea modelului logic ntr-un set de tabele supuse unor constrngeri, se selecteaz structuri de stocare i metode de acces specifice, astfel nct s se asigure performane, se iau msuri privind securitatea datelor. Utilizatorii finali sunt cei care acceseaz interactiv baza de date. Aceasta a fost proiectat, implementat, ntreinut pentru a satisface necesitile informaionale ale clienilor. Utilizatorii finali pot fi utilizatori simpli, care nu cunosc nimic despre baza de date, despre SGBD, dar acceseaz baza prin intermediul unor programe de aplicaie. n general, aceast clas de utilizatori alege anumite opiuni din meniul aplicaiei. Exist utilizatori finali sofisticai, care sunt familiarizai cu structura bazei de date. Ei pot utiliza limbaje speciale pentru a exploata posibilitile oferite de baza de date. Programatori de aplicaii sunt responsabili de scrierea programelor aplicaie ce confer funcionalitatea cerut de utilizatorii finali. Programele pot fi scrise n diferite limbaje de programare (C++, PL/SQL, Java etc.). Cerine minimale care se impun unei baze de date: asigurarea unei redundane minime n date; furnizarea n timp util a informaiilor solicitate (timpul de rspuns la o interogare); asigurarea unor costuri minime n prelucrarea i ntreinerea informaiei; capacitatea de a satisface, cu aceleai date, necesiti informaionale ale unui numr mare de utilizatori, posibilitatea de adaptare la cerine noi, rspunsuri la interogri neprevzute iniial (flexibilitate); exploatarea simultan a datelor de ctre mai muli utilizatori (sincronizare); asigurarea securitii datelor prin mecanisme de protecie mpotriva accesului neautorizat (confidenialitate); nglobarea unor faciliti destinate validrii datelor i recuperrii lor n cazul unor deteriorri accidentale, garantarea (att ct este posibil) c datele din baza de date sunt corecte (integritate); posibilitatea de valorificare a eforturilor anterioare i anticiparea nevoilor viitoare (compatibilitate i expandabilitate); permisivitatea, prin ierarhizarea datelor dup criteriul frecvenei acceselor, a unor reorganizri (eventual dinamice) care sporesc performanele bazei.
Fig1 Arhitectura de referin a unui SGBD.
Structura tabelelor bazei de date
Etapele de realizare a unei baze de date Etapa de analiz Proiectarea unei baze de date const din proiectare logic i fizic a acesteia astfel nct s rspund cerinelor utilizatorilor pentru un anumit set de aplicaii specifice. n general, proiectarea corect a unei baze de date parcurge etapele de analiz i programare. Pentru etapa de analiz se recomand parcurgerea pailor: 1. Studierea problemei de rezolvat const din studiul i descrierea activitilor pentru care se va organiza baza de date (cerine i resurse); 2. Proiectarea structurii bazei de date are ca principale activiti alegerea modelului de SGBD, proiectarea funciilor bazei de date, stabilirea intrrilor i ieirilor aplicaiilor; 3. Stabilirea modului de memorare a datelor n memorie (temporare) sau pe disc n baza de date, pentru care trebuie stabilit i structura; 4. Stabilirea algoritmului general de rezolvare a problemei la nivel de schem bloc; 5. Stabilirea structurii meniului principal al aplicaiei acesta trebuie s conin opiuni pentru toate funciunile sistemului informatic care sunt accesibile utilizatorului. 6. mprirea aplicaiei pe programe fiecare program urmrete rezolvarea unei pri a problemei generale.
Etapa de programare n etapa de programare se recomand urmrirea pailor: 1. Elaborarea programelor: realizarea componentelor logice programe/aplicaii ncepnd cu programul monitor (principal), continund cu cele de introducere/actualizare a datelor, cu cele de prelucrare i terminnd cu programele de interogare baza de date i extragere de informaii. 2. Testarea funcionrii corecte a programelor individuale i a sistemului n ansamblu pentru ct mai multe situaii posibile (ideal ar fi testarea n toate situaiile posibile, dar numrul acestora este foarte mare) incluznd n mod obligatoriu i situaiile limit. 3. nlturarea erorilor depistate i reluarea pasului 2. Dac nu mai sunt erori, se continu cu urmtoarea etap.
Punerea n funciune i exploatarea bazei de date 1. ncrcarea i manipularea datelor operaii de actualizare i consultare, ntreinere (dezvoltare) a bazei de date. 2. Elaborarea documentaiei de utilizare care se pred beneficiarului, ct i documentaia tehnic a sistemului (de preferat ca fiecare program s aib cte o fi tehnic, pentru o mai uoar depanare, ntreinere).
Diagrama relatiilor dintre tabele
Structura interfetelor de intrare/iesire
Un SGBD este un ansamblu complex de programe care asigur interfaa ntre o baz de date i utilizatorii acesteia. SGBD este componenta software a unui sistem de baze de date care interacioneaz cu toate celelalte componente ale acestuia asigurnd legtura i interdependena ntre ele. Un SGBD ofer interfeele corespunztoare tuturor categoriilor de utilizatori pentru a facilita legtura acestora cu baza de date. Principalele tipuri de interfee: Interfee pe baz de meniuri care ofer utilizatorilor o list de opiuni (meniuri) pentru formularea interogrilor. Interfee grafice afieaz utilizatorului un set de diagrame, cererile sunt formulate prin manipularea acestor diagrame. De cele mai multe ori interfeele grafice sunt asociate cu meniurile. Interfee bazate pe videoformate se utilizeaz pentru introducerea de noi date, actualizarea bazei de date i cutare. Interfee n limbaj natural accept comenzi scrise n limba englez sau alte limbi de circulaie internaional. Interpretarea cererilor se face pe baza unui set de standard de cuvinte cheie ce sunt interpretate pe baza schemei interne. Interfee specializate pentru cereri repetate (limbaj de comand) sunt destinate unei anumite categorii de utilizatori, de exemplu pentru angajaii unei bnci se implementeaz un mic set de comenzi prescurtate pentru a micora timpul necesar introducerii comenzii. Interfee pentru administrarea bazei de date se utilizeaz pentru comenzile privilegiate utilizate de administratorii bazei de date i se refer la crearea de conturi, parole, setarea parametrilor sistemului, autorizarea intrrii pe un anumit cont, reorganizarea structurii de stocare a datelor din baza de date, accsul la e, nregistrri. Exemple de SGBD: MySQL, Microsoft SQL, Microsoft Access, Visual FoxPro, Oracle.