You are on page 1of 43

1.2.

Conceptele de Dat i Fiier


Apariia i dezvoltarea rapid a bazelor de date se datoreaz unei multitudini de factori de natur tehnic i socioeconomic. Creterea necesarului i implicit a consumului de informaie a avut ca prim rezultat creterea cantitii de informaie stocat pe suporturi de memorare extern i optimizarea tehnicilor de stocare i regsire a informaiei. Chiar de la primele aplicaii informatice realizate cu ajutorul calculatorului s-a pus problema utilizrii unor tehnici eficiente de organizare, stocare i regsire a datelor. O informaie codificat i stocat pe un suport de memorare reprezint ceea ce numim dat. Din punctul de vedere al prelucrrii de calculator, n cadrul aplicaiilor, datele se definesc cu ajutorul unui nume (identificator), a atributelor pe care le are i de o valoare. Rezolvarea problemelor concrete cu ajutorul calculatorului presupune definirea unui algoritm adecvat pentru rezolvarea fiecrei probleme. Un algoritm este definit ca fiind o succesiune finit, corect definit i fr ambiguiti de operaii elementare care se aplic asupra unei mulimi de date de intrare pentru a se obine un rezultat. Algoritmul trebuie sa conduc la acelai rezultat de fiecare dat cnd se aplic asupra aceleai mulimi de date de intrare. Calculatorul prelucreaz doar date reprezentate cu ajutorului unui cod binar, motiv pentru care datele sunt din punctul de vedere al calculatorului iruri de cifre binare, de bii. Semnificaia irurilor de bii depinde de codul pentru codificarea informaiei, de modul de utilizare a acesteia de ctre programator n cadrul aplicaiei informatice i de limbajul de programare folosit. Fiecare limbaj de programare are reguli specifice pentru definirea i utilizarea datelor. Organizarea datelor reprezint procesul de identificare, definire, evaluare, structurare i memorare a informaiilor, n cadrul unui sistem informaional. Prin organizarea datelor se realizeaz gruparea datelor n colecii de date omogene, se stabilesc care sunt relaiilor dintre date, dintre elementele coleciilor i dintre colecii, precum i modul de stocare a datelor pe suportul fizic de memorare. Datele pot fi clasificate n funcie de modul de alocare al memoriei, astfel existnd date de tip static i date de tip dinamic. La datele de tip static, memoria este alocat la nceputul execuiei programului, rmnnd ocupat de respectivele date pe ntreaga durat a execuiei, pe cnd la datele de tip dinamic memoria este alocat n momentul execuiei programului, existnd instruciuni care permit alocarea memoriei atunci cnd datele sunt necesare i alte instruciuni care permit eliberarea respectivei zone de memorie n momentul n care datele nu mai sunt necesare. Datele trebuie privite sub dou aspecte: fizic i logic. Din punct de vedere fizic, n cazul stocrii i prelucrrii cu ajutorul calculatorului datele sunt iruri de bii. Din punct de vedere logic, datele au o anumit semnificaie i sunt de mai mult tipuri, funcie de semnificaia lor. Datele pot fi simple (elementare), respectiv compuse (structurate). Datele simple (elementare) sunt date independente unele de altele din punctul de vedere fizic, adic al reprezentrii pe suportul de memorare, chiar dac din punct de vedere logic exist interdependene. Tipul de dat precizeaz care sunt valorile datei. Dac pe parcursul procesului de prelucrare data pstreaz aceeai valoare este numit dat constant. Pentru datele constante se utilizeaz ca identificator valoarea acestora. Dac valorile datei sunt modificate n timpul procesului de prelucrare datele se numesc date variabile sau variabile. n mod uzual pentru date elementare se folosesc ca tipuri de dat: - tipul numeric include numerele ntregi, reale si complexe avnd diferite reprezentri (virgul fix, virgul mobil, precizie simpl, precizie dubl, etc.). Asupra lor se pot realiza operaii de adunare, scdere, nmulire, mprire etc.; - tipul logic (boolean) utilizat pentru reprezentarea valorilor logice Adevrat, respective Fals cu ajutorul unor valori numerice, asupra acestora putndu-se efectua operaii logice precum negaia, conjuncia, disjuncia; - tipul caracter (text, string) permite reprezentarea unor succesiuni de caractere folosind mulimi de simboluri alfanumerice, reprezentarea pe suporturile de memorare utiliznd codul ASCII. Asupra acestora se pot defini operaii de cutare, concatenare, ordonare; - tipul dat calendaristic, timp (Date, Time, DateTime) reprezentarea intern a acestora fcndu-se de regul cu ajutorul unor valori numerice. Datele compuse numite i structuri de date sunt colecii (mulimi) de date elementare ntre care exist relaii structurale, omogene din punct de vedere al descrierii i al prelucrrii. Componentele unei structuri formeaz un ntreg astfel nct prelucrarea se poate face att la nivelul structurii de date ct i la nivelul fiecrei componente, care poart numele de cmp. Majoritatea limbajelor de programare opereaz cu dou categorii de structuri: structuri interne i structuri externe.

Structurile de date interne se refer la modul de amplasare n memoria intern a datelor elementare aparinnd unei colecii. n aceast categorie sunt incluse structurile de tip tablou (masiv), nregistrare (articol), mulime, lista i arbore. Structurile externe se refer la modul de memorare a datelor pe suporturi de memorare extern. Din aceast categorie fac parte fiierele i bazele de date. Datele, vzute iniial ca iruri de caractere, care reproduceau caracteristicile unor obiecte, fenomene, fapte, evenimente, respectiv concepte din lumea real, datorit factorului de repetare au fost organizate n structuri care poart numele de fiier. Fiierul este o structur care grupeaz date dintr-un anumit domeniu care au anumite caracteristici comune. Fiierele pot fi cu organizare definit, respectiv nedefinit. Accesul la datele ce formeaz fiierul depinde de structura ce definete fiierul, adic de organizarea datelor i de suportul de memorare. Exist doi parametrii ce msoar performanele accesului la date: cantitatea de date transferat i timpul de rspuns. Suportul de memorare poate fi adresabil sau nu, poate fi reutilizabil sau nu, poate fi magnetic, optic sau de alt natur. Accesul la date poate fi secvenial sau direct. Accesul direct este permis doar de suporturile de memorare adresabile, adic acele suporturi de memorare care permit accesul direct pe baza unei adrese la o anumit zon de pe suportul de memorare, numit locaie sau bloc. Principiile de organizare a fiierelor i tehnicile de regsire a datelor stocate n fiiere reprezint o transpunere n cadrul aplicaiilor informatice a tehnicilor utilizate n sisteme de prelucrare manual a informaiei. Fiierul fiind o colecie de date trebuie considerat ca avnd dou structuri distincte suprapuse, i anume, o structur fizic i una logic, cea logic fiind dat de semnificaia datelor. Din punct de vedere fizic fiierul este o colecie finit de nregistrri fizice, iar din punctul de vedere al semnificaiei, o colecie de nregistrri logice, numite i articole. Fiierul ocup un anumit spaiu pe suportul de memorare extern, spaiul alocat putnd fi continuu sau nu. Componentele sistemului de operare gestioneaz n mod transparent alocarea fizic pe suportul de memorare extern precum i accesul la fiiere. Din punctual de vedere al sistemului de operare fiierul are un nume i eventual o extensie de fiier, are asociat o mulime de atribute care depind de sistemul de operare (Read Only, Hidden, System, Archive, etc); informaii privind momentul crerii, al ultimei modificri, al ultimei accesri, privind dimensiunea ca numr de octei etc. Extensia ofer sistemului de operare informaii privind coninutul fiierului. Din punctul de vederea al aplicaiilor fiierul are un coninut informaional, un anumit mod de organizare, permite unul sau mai multe moduri de acces etc. Datele ntr-un fiier sunt structurate n nregistrri. Organizarea nregistrrilor ntr-un fiier poate fi privit att ca organizare logic ct i ca organizare fizic. Din punctul de vedere al organizrii fizice datele ce formeaz fiierul sunt structurate n nregistrri fizice. Organizarea fizic reprezint o organizare intern care depinde de resursele fizice ale calculatorului i este supus rigorilor sistemului de operare. nregistrarea fizic reprezint numrul de octei care se transfer ntre memoria intern a calculatorului i suportul de memorare extern (scriere), respectiv de pe suportul extern n memorie (citire). Pentru optimizarea transferului se folosesc zone de memorie numite zone tampon, sau buffer, prin intermediul crora se transfer mai multe nregistrri fizice vecine cu nregistrarea de care este nevoie. Din punct de vedere al organizrii logice datele coninute ntr-un fiier sunt structurate n nregistrri logice. n principiu, un fiier conine acelai tip de nregistrri logice, dispuse ntr-o anumit ordine. Mulimea nregistrrilor logice coninute ntr-un fiier reprezint o mrime finit i caracterizeaz, n mod direct, mrimea oricrui fiier. Din punct de vedere al utilizatorului, nregistrarea logic reprezint i unitatea de acces la datele coninute ntr-un fiier. Organizarea logic a nregistrrilor n fiier, ca mod de organizare extern a datelor, este impus de natura aplicaiilor i cerinele de prelucrare. Datele coninute ntr-o nregistrare logic caracterizeaz o entitate informaional, se refer la o clas de obiecte, fenomene, procese etc., n timp ce datele ce formeaz o nregistrare fizic caracterizeaz o unitate de stocare fizic pe suportul de memorie a calculatorului. Utilizatorul opereaz cu concepte, privind organizarea datelor, la nivel logic, n vreme ce sistemul de operare stocheaz i manipuleaz datele, pe suportul de memorie, numai la nivel de nregistrare fizic. n funcie de natura i complexitatea datelor, lungimea unei nregistrri logice poate s corespund sau nu cu lungimea unei nregistrri fizice. O nregistrare fizic poate s conin mai multe nregistrri logice, respective o nregistrare logic poate fi stocat n mai multe nregistrri fizice.

1.3. De ce baze de date?


Totalitate informaiilor care definesc i menin n funciune un sistem real formeaz sistemul informaional al sistemului real, iar n cadrul sistemului informaional putem delimita sistemul informatic, care reprezint acea parte a sistemului informaional n care informaia este stocat i procesat cu ajutorul tehnicii de calcul. Sistemele informatice pot fi realizate fie cu ajutorul unor aplicaii care utilizeaz fiiere independente sau integrate, fie cu ajutorul unor aplicaii care acceseaz o structur complex numit baz de date. Baza de date are mijloace proprii pentru crearea i evoluia n timp a structurii. Organizarea datelor n fiiere aparinnd fiecrei aplicaii reprezint o metod rigid care are mai multe dezavantaje pentru utilizatori. Cel mai mare dezavantaj este acela c modificrile n structura unui fiier oblig la modificarea tuturor programelor care utilizeaz fiierul a crui structur a fost modificat. Din punctul de vedere al utilizatorului sistemele bazate pe fiiere reprezint un progres extraordinar fa de sistemele manuale, totui acestea fiind dependente de programele de aplicaie, orice interogare necesit scrierea unui program i integrarea acestuia n sistemul implementat, obinerea de noi informaii spontan fiind practic imposibil. Realizarea sistemelor informatice cu ajutorul aplicaiilor independente presupune ca fiecare astfel de aplicaie s defineasc i s ntrein propriile structuri de date organizate de regul n fiiere. n acest caz are loc separarea i izolarea datelor, precum i legarea acestora de fiecare aplicaie. Datorit modului de abordare descentralizat are loc o cretere a redundanei datelor, adic datele vor fi multiplicate necontrolat. Redundana reprezint o proprietate a unei colecii de date care se refer la faptul c unele componente ale coleciei de date sunt memorate de mai multe ori pe suportul de memorare. Multiplicarea datelor implic costuri suplimentare i n plus, crete riscul alterrii integritii datelor, adic apariia de neconcordane. n cazul sistemelor reale complexe creterea redundanei are ca efect apariia de erori frecvente datorate neconcordanei informaiilor memorate n fiiere aparinnd unor aplicaii diferite, rezultnd costuri de actualizare mrite corespunztor. Sistemului informatic are dou componente principale i anume datele i programele, acestea fiind ntr-o strns interdependen. n codul program al fiecrei aplicaii creat ntr-un limbaj de programare clasic se definesc structurile de date, att cele interne ale aplicaiei respective ct i structura logic a fiierelor utilizate de aplicaia respectiv, mpreun cu modul de acces la datele stocate n aceste fiiere. n cazul n care structura logic a unei nregistrri este modificat prin adugarea unui cmp, sau schimbarea dimensiunii unui cmp, toate programele care opereaz cu fiierul a crui structur a fost modificat trebuie actualizate. De asemenea orice modificare a semnificaiei, respectiv a modului de reprezentarea a informaiei respective n sistemul real impune modificarea tuturor aplicaiilor care folosesc informaia respectiv, ceea ce reprezint n cazul sistemelor informatice complexe un efort de programare considerabil, precum i costuri ridicate. Aceast caracteristic a sistemelor bazate pe fiiere este cunoscut sub denumirea de dependen program-date. Deoarece structura fiierului este ncorporat n programele de aplicaie, ea este dependent de limbajul n care sunt scrise programele n este realizat aplicaia respectiv. Atunci cnd datele sunt izolate n fiiere aparinnd unor aplicaii independente, accesarea datelor de care este nevoie la un moment dat se realizeaz cu mare greutate deoarece programatorul trebuie s sincronizeze prelucrarea simultan a tuturor fiierelor aplicaiilor, dificultatea crescnd odat cu numrul de fiiere. Structura fiierelor este ncorporat n programele de aplicaie, fiind dependent de limbajul de programare folosit pentru fiecare aplicaie. Mai mult chiar, fiecare interogare a fondului de date stocate n fiierele independente se realizeaz doar prin intermediul programelor de aplicaie, interogarea fiind dependent de programatorul care a realizat aplicaia i chiar mai mult de limbajul de programare folosit. n sistemele complexe, odat cu creterea necesarului de informaie exist riscul ca satisfacerea necesarului de informaie prin noi programe s nu poat fi realizat ntr-un timp optim. Reducerea timpului alocat analizei precum i proiectrii de noi aplicaii are ca rezultat obinerea de programe inadecvate sau ineficiente pentru ndeplinire cerinelor utilizatorilor, de regul cu o documentaie limitat i greu de ntreinut. n astfel de condiii securitatea datelor devine limitat, iar integritatea datelor est practic imposibil de asigurat. Limitele sistemelor bazate pe fiiere independente se datoreaz urmtorilor doi factori: - definiia datelor este ncorporat n programele de aplicaie, - controlul accesului i cel al manipulrii datelor se realizeaz exclusiv prin intermediul programelor de aplicaie. Pentru a fi eficient un sistem informatic este necesar o nou abordare care s scoat n afara programelor de aplicaie definirea, controlul i manipularea datelor. Aceasta se poate realiza cu ajutorul bazei de date i a sistemului de gestiune a bazelor de date.

2.2. Conceptul de baz de date


Pentru conceptul de baz de date exist un numr foarte mare de definiii, adesea contradictorii, cu att mai mult cu ct conceptul a fost n continu evoluie. Baza de date: - reprezint o colecie partajat de date, ntre care exist relaii logice (i o descriere a acestor date), proiectat pentru a satisface necesitile informaionale ale unei organizaii; - este o colecie de date operaionale folosite de ctre aplicaiile sistem ale unei organizaii; - este un ansamblu structurat de date coerent, fr redundan inutil, astfel nct aceasta pot fi prelucrate eficient de mai muli utilizatori ntr-un mod concurent; - reprezint un ansamblu de date nregistrate pe suporturi accesibile calculatorului pentru a satisface simultan mai muli utilizatori de o manier selectiv i ntr-un timp oportun; - se definete ca un ansamblu de date elementare sau structurate, accesibile unei comuniti de utilizatori. Baza de date este un ansamblu structurat de date legate structural ntre ele, un depozit de date unic definit o singur dat i utilizat simultan de mai muli utilizatori. Baza de date este o resurs comun i partajat. Baza de date conine nu numai date ci i descrierea acestora. Descrierea datelor este cunoscut sub denumirea de dicionar de date (catalog de sistem, sau meta-date) i reprezint date despre date. Prin faptul ca baza de date conine i descrierea datelor se realizeaz independena program - date. Baza de date realizeaz separarea definiiei datelor de programele de aplicaie. Prin aceast abstractizare a datelor devine posibil modificarea definiiei unei date fr a afecta utilizatorii acesteia cu condiia ca semnificaia datei respective, adic definiia extern a acesteia, s rmn aceeai. Ceea ce este important de reinut referitor la conceptul de baz de date este aceea c el nu poate fi definit complet dect dac se au n vedere dou unghiuri de vedere diferite i legtura dintre acestea: - caracteristicile bazei de date din punctul de vedere al utilitii n cadrul sistemului real n care se implementeaz, respectiv locul i rolul bazei de date n cadrul sistemului informaional-decizional, schema extern, nivelul extern (viziunea extern); - caracteristicile tehnice ale bazei de date, respectiv locul i rolul bazei de date n cadrul sistemului de prelucrarea datelor, schema intern, nivelul intern (viziunea intern); - legtura dintre cele dou viziuni, cea extern i cea intern este realizat de schema conceptual (nivelul conceptual), care are rolul de a constitui schema logic a ntregii baze de date, adic reprezint o imagine complet a cerinelor organizaiei privind datele, fiind independent de orice consideraii privind stocarea. Standardizarea n domeniul bazelor de date s-a impus de la nceputul anilor 70 impunndu-se pentru baza de date trei niveluri de abstractizare, adic trei niveluri distincte la care pot fi descrise datele. Aceasta formeaz o arhitectur cu trei niveluri, cuprinznd un nivel extern, unul conceptual i unul intern. Pentru fiecare nivel se definete o schem corespunztoarea a bazei de date. Obiectivul arhitecturii cu trei niveluri este separarea vederii fiecrui utilizator asupra bazei de date de modul n care ea este reprezentat fizic. Viziunea utilizatorului individual se numete vedere extern sau model extern, la nivel extern existnd o mulime de vederi externe, de sub-scheme externe, corespunztoare fiecrui utilizator individual. O vedere extern poate fi considerat ca fiind din punctul de vedere al utilizatorului individual coninutul bazei de date, adic ceea ce vede el din baza de date. Acest nivel descrie acea parte a bazei de date care este relevant pentru fiecare utilizator schema extern fiind format din mulimea de sub-schemelor externe. Schema conceptual este o reprezentare a tuturor informaiilor coninute de baza de date ntr-o form abstract. Ea reprezint o viziune, o vedere a datelor aa cum sunt ele n realitate, fr a ine cont de modul n care vede datele fiecare utilizator. Nivelul conceptual reprezint o vedere general a bazei de date. Acest nivel descrie ce date sunt stocate n baza de date i relaiile dintre acestea. Pentru o baz de date exist o singur schem conceptual. Vederea intern precizeaz modul n care se memoreaz efectiv datele ce formeaz baza de date i este descris de schema intern a bazei de date. Nivelul intern este reprezentarea fizic a bazei de date pe calculator. Acest nivel descrie cum sunt stocate datele n baza de date precum i metodele de acces, criteriile de ordonare i regsire pe baza unor criterii de performan i flexibilitate care asigur performane optime. Pentru baza de date exist o singur schem extern. Pentru a stabili corespondena ntre fiecare schem extern i schema intern, n cadrul bazei de date exist mecanisme care folosesc informaiile din schema conceptual. Fiecare sub-schem extern este o imagine a schemei conceptuale.

Trebuie s se fac distincie ntre descrierea bazei de date, care constituie schema bazei de date i baza de date nsi. Schema bazei de date este definit n cursul procesului de proiectare a bazei de date, modificrile ulterioare fiind nesemnificative. Datele reale din baza de date pot fi modificate frecvent. Mulimea de valori concrete stocate, la un moment dat, se numete instan a bazei de date. Descrierea general a bazei de date se numete schema bazei de date i vizeaz structurile de date, legturile dintre date i regulile care asigur coerena datelor. Pentru o baz de date exist trei tipuri diferite de scheme care sunt n concordan cu nivelurile de abstractizare ale arhitecturii bazei de date.

2.3. Modelarea baze de date


Numim model de date o colecie integrat de concepte, necesare descrierii datelor, a relaiilor dintre date i a constrngerilor asupra datelor dintr-o organizaie. Modelul de date este o reprezentare abstract a obiectelor i a evenimentelor lumii reale i a asocierilor dintre acestea, cu ajutorul cruia se reprezint o organizaie. Un model de date este definit sub trei aspecte, i anume o component structural, care cuprinde regulile de definire a datelor, o component de manipulare datelor, care definete tipurile de operaii permise asupra datelor i o mulime de reguli care garanteaz integritatea i coerena datelor. Pentru modelarea datelor la nivel conceptual i extern se folosesc modele de date bazate pe obiecte i modele de date bazate pe nregistrri, iar la nivel fizic modele de date fizice. Modelele de date bazate pe obiecte utilizeaz conceptele: entitate, atribut i relaie. Cele mai cunoscute tipuri de modele de date bazate pe obiecte sunt modelul Entitate - Relaie, modelul semantic, modelul funcional i modelul orientat spre obiecte. Modelul Entitate Relaie reprezint un model de date conceptual de nivel nalt, neformalizat, care descrie structura bazei de date, precum i tranzaciile de regsire, respectiv de reactualizare asociate. Acest model, permite o reprezentare a unui sistem real, grupnd elementele sistemului real n entiti i asocieri (legturi) ntre entiti. Modelul de date orientat spre obiecte extinde definiia conceptului entitate n sensul c se descrie att starea prin atribute, ct i comportamentul prin aciunile asociate. Obiectul ncapsuleaz starea i comportamentul. Modelarea conceptual presupune realizarea unui model de date pentru informaiile care exist n cadrul unei organizaii independent de detaliile de implementare. Analiza necesitilor informaionale ale unei organizaii presupune identificarea entitilor, a atributelor acestora i a relaiilor dintre entiti. O Entitate (entity) este un obiect care poate fi identificat n mod distinctiv (persoan, loc, concept, activitate, eveniment), care este semnificativ pentru sistemul real, un obiect despre care dorim s nregistrm informaii. Un atribut (attribute) este o proprietate care descrie un aspect oarecare al obiectului pe care dorim s l definim. Entitile similare care pot fi descrise prin aceleai atribute formeaz un tip de entitate (entity type), iar colecia format din toate entitile de acelai tip formeaz o mulime de entiti (entity set). Entitatea este descris de atributele sale relevante. Fiecare atribut reprezint o caracteristic semnificativ, atributele avnd rolul de a defini coninutul unei identiti. Pentru fiecare atribut exist o mulime de valori posibile, poteniale, care formeaz un domeniu de valori. Atributele pot fi simple sau compuse. Atributul simplu are o singur component cu existen independent. Atributul compus este format din mai multe componente, fiecare avnd o existen independent. Prin valori concrete date atributelor ce definesc o entitate se obine o realizare, o apariie, o instan a respectivei entiti. Un atribut poate avea o singur valoare, sau mai multe valori pentru o anumit entitate. Este posibil ca valoarea unui atribut s fie derivabil din valoarea unui alt atribut sau din valorile mai multor atribute ale respectivei entiti sau ale altor entiti. Numim cheie candidat atributul sau mulimea de atribute ale unei entiti care identific n mod unic apariiile individuale ale unui tip de entitate. Un tip de entitate poate avea mai multe chei candidat. Pe baza unor consideraii privind pricind caracterul unic, precum i de structura cheilor candidat din mulimea de chei candidat se alege o cheie candidat care va fi numit cheie primar, iar celelalte vor fi numire chei alternative. O cheie candidat format din mai multe atribute va fi numit cheie compus. Numim tip de relaie o asociere semnificativ ntre tipuri de entiti. Un tip de relaie are asociat o anumit funcie. Fiecare prezen unic identificabil a unui tip de relaie se numete relaie. Numim relaie (relationship) o asociere, o comunicare, o coresponden ntre dou sau mai entiti. Relaia exprim raportul existent ntre respectivele entiti i exist doar dac entitile exist. O valoare a unei relaii este o comunicare ntre valorile entitilor pe care le leag. Entitile implicate ntr-o anumit relaie se numesc participani n relaie. O relaie n care o anumit entitate particip mai mult dect o dat avnd roluri diferite se numete relaie recursiv. O relaie este caracterizat prin gradul relaiei, care exprim numrul de entiti participante. Din punctul de vedere al numrului de mulimi de entiti

participante entitile pot fi binare, respectiv multiple. Asocierile binare sunt de trei tipuri dup numrul elementelor din fiecare dintre cele dou mulimi puse n coresponden: - asocierea unul - la - unul (one-to-one);

asocierea unul la - mai multe (one-to-many) i mai multe la - unul (many-to-one);

asocierea mai multe la - mai multe (many-to-many)

. Constrngerile care pot fi impuse entitilor participante ntr-o relaie trebuie s reflecte restriciile asupra relaiilor, aa cum sunt ele n sistemul real. Exist dou tipuri de constrngeri asupra relaiilor, numire constrngeri de cardinalitate i constrngeri de participare. Regulile care definesc cardinalitatea sunt numite reguli de afaceri. Toate regulile de afaceri din sistemul real trebuie identificate i reprezentate n modelul de date. Prin constrngerile de participare se stabilete Atunci cnd existena unei entiti depinde de o alt entitate de care este legat printr-o relaie spunem c exist o constrngere de participare. Constrngerea de participare poate fi total (obligatorie) atunci cnd existena unei entiti necesit existena unei entiti asociate printr-o relaie, respectiv constrngere de participare este parial (opional) atunci cnd constrngerea nu condiioneaz cnd existena entitii. Baza de date este o transpunere fizic, n calculator, a modelului de date, care conine entitile, atributele ce definesc entitile i relaiile dintre entiti.

2.4. Obiectivele datelor n baze de date


Datele reprezint suportul real pentru informaia necesar subsistemului de decizie. Datele sunt stocate n structuri complexe numite baze de date. Utilizarea bazelor de date n cadrul sistemelor informatice are urmtoarele obiective fundamentale din punctul de vedere al datelor: 1. Independena fizic reprezint obiectivul esenial, i anume, realizarea independenei structurilor de stocare n raport cu structurile de date din sistemul real. n baza de date mulimea de date se definete fr a ine cont de forma datelor n sistemul real, lund n considerare doar accesul rapid la date cu performane prestabilite. Aceasta se realizeaz prin asigurarea independenei fizice a datelor fa de programele de aplicaie, adic orice modificare organizrii interne a datelor i a structurilor de nregistrare nu va afecta programele de aplicaie. 2. Independena logic presupune c fiecare utilizator, respectiv grup de utilizatori are o sub-schem extern particular proprie fr a afecta schema general a bazei de date. Fiecare grup poate s cunoasc doar o parte a semanticii datelor, s vad doar o submulime a datelor i numai n forma de care are nevoie. Schema conceptual a bazei de date fiind o sintez a schemelor externe nu va fi afectat de evoluia n timp a unei sub-scheme particulare, fiecare grup de utilizatori putnd s-i modifice propria sub-schem fr a afecta schema conceptual. 3. Manipularea datelor direct de ctre utilizatorul final face ca datele s fie vzute de utilizatori independent de implementarea datelor n baza de date i pot manipula datele cu ajutorul unor limbaje ne-procedurale foarte apropiate de limbajul natural. Utilizatorul poate obine informaii din baza de date fr s cunoasc n ntregime organizarea complex a bazei de date. Realizarea acestui obiectiv are ca 6

rezultat mbuntirea accesibilitii datelor i a capacitii de rspuns. Utilizatorul va putea accesa baza de date cel mai adesea prin intermediul unei interfee prietenoase n asociere cu un limbaj ne-procedural, care permit un dialog simplu i eficient pentru actualizarea i exploatarea bazei de date. Utilizatorii nu cunosc structura ntregii baze de date, dar pot, prin utilizarea un limbaj apropiat de limbajul natural s acceseze procedurile de actualizare, interogare i afiarea datelor din baza de date. Sistemul informaional are o mult mai mare funcionalitate potenial deoarece prin utilizarea unor instrumente adecvate devine posibil interogarea ad-hoc a coleciei de date de ctre utilizatorul final, consumatorul de informaie, eliminndu-se astfel intermediarul, adic personalul calificat care are menirea de a crea aplicaia informatic. 4. Asigurarea unei redundane minime i controlate a datelor este al doilea obiectiv major al organizrii datelor n baze de date. Aceasta nseamn c se urmrete pe ct posibil ca fiecare dat s apar numai o singur dat n baza de date, indiferent de numrul de utilizatori care o acceseaz . Duplicarea datelor se pstreaz doar pentru a asigura coerena bazei de date, redundana, trebuie redus la minim i meninut sub control. Redundana minim se asigur prin tehnicile de proiectare a bazei de date. 5. Creterea cantitii de informaii disponibile prin stocarea n baza de date a datelor generate de un departament al unei organizaii devine posibil accesarea lor de toi membrii organizaiei. Prin utilizarea bazei de date, aceasta fiind o colecie unic de date mpreun cu legturile logice existente ntre date, utilizatorul poate obine toate datele legate logic de o anumit dat pe care acesta o folosete. Prin integrarea datelor devine posibil accesul la date pentru toi membrii unei organizaii pentru care o anumit date este semnificativ. 6. Coerena i integritatea datelor coerena datelor se realizeaz prin verificarea tuturor dependenelor existente ntre date n sistemul real. Consistena datelor este asigurat prin faptul c actualizarea datelor va fi perceput de fiecare utilizator al bazei de date nu doar de utilizatorii care au realizat actualizarea n plus datorit unicitii datei stocate n baza de date orice actualizare a valorii sale trebuie efectuat o singur date, iar noua valoare va fi disponibil instantaneu pentru toi utilizatorii. Integritatea datelor se refer la validarea i coerena datelor stocate i se realizeaz prin unicitatea datelor, precum i prin validarea datelor introduse sau actualizate n baza de date. Informaia trebuie s satisfac constrngeri statice sau dinamice, locale sau generale. 7. Administrarea i controlul centralizat al datelor administrarea datelor presupune definirea structurii datelor i a modului de stocare a datelor. Administrarea este centralizat i permite o organizare coerent i eficace a informaiei. Fiecare utilizator are propriile cerine care pot intra n conflict cu ale altor utilizatori. Administrarea centralizat are rolul de a optimiza performanele pentru organizaie luat n ansamblu. 8. Partajabilitatea datelor permite ca datele s fie partajate ntre membrii unei organizaii fiecare utilizator va accesa datele ca i cum ar fi singur, fr a ti c n acelai timp un alt utilizator va accesa pentru a le modifica. Prin mecanisme proprii de control baza de date va permite accesul concurent la date meninndu-se n acelai timp coerena datelor. Acest obiectiv face posibil dezvoltarea de noi aplicaii ce necesit poate chiar extinderea, respectiv modificarea aplicaiilor aflate deja n funciune. 9. Securitatea datelor baza de date trebuie s fie protejat pentru distrugeri logice prin actualizri eronate, respectiv distrugeri fizice. Securitatea va fi asigurat prin mecanisme proprii care permit refacerea bazei de date n cazul apariiei unei erori. Prevenirea distrugerii accidentale a datelor, oblig la instituirea unui set de proceduri de autorizare, dar i de confirmare a operaiilor de tergere, adugare, precum i realizarea unor copii de siguran, a unor jurnale de urmrire a actualizrilor i proceduri de refacere a bazei de date, de restaurare a acesteia, n caz de incidente. 10. Confidenialitatea datelor - datele vor fi protejate de accesul neautorizat. Baza de date are mecanisme proprii care permit identificarea i autentificarea utilizatorilor, precum i accesul autorizat i difereniat. Accesul depinde de date i de utilizatori.

Sisteme de gestiune a bazelor de date


n cadrul oricrei organizaii este necesar ca resursa de date s fie bine definit i documentat, bine organizat i controlat, partajabil i relevant pentru deciziile luate n cadrul organizaiei.

Sistemul de Gestiune al Bazei de Date (SGBD) reprezint un pachet de programe specializat pentru definirea, crearea, ntreinerea i accesul controlat la baza de date. Obiectivul principal al unui SGBD este de a separa datele de programele de aplicaie. SGBD constituie o interfa ntre utilizatori i baza de date i const din programe care interacioneaz cu programele de aplicaie ale utilizatorului i cu baza de date. Un SGBD are o structur complex i include module program specializate pentru a ndeplini anumite funciuni: - gestionarea bazei de date; - definirea datelor (descrierea datelor); - manipularea datelor (actualizare i interogarea bazei de date); - controlul i securitatea datelor (controlul integritii, accesul concurenial i securitatea datelor); - utilitare. SGBD trebuie s asigure trecerea de la un nivel de abstractizare la altul, adic s poat interpreta comenzile exprimate n termen de schem extern, pentru a le transpune prin intermediul schemei conceptuale n operaii de intrareieire la nivel fizic. SGBD gestioneaz la nivel conceptual un dicionar de date. Modulele program de gestiune a bazei de date realizeaz accesul fizic la date n conformitate cu cerinele exprimate printr-o comand. Modulele program de definirea datelor permit traducerea unui limbaj specializat care realizeaz descrierea naturii datelor i a legturii logice dintre date la nivel global conform schemei conceptuale, precum i schemelor externe specifice fiecrei aplicaii program externe. Modulele program de manipulare a datelor permit utilizatorilor prin intermediul unui limbaj specializat s gseasc, s insereze, s modifice, respectiv s elimine datele din baza de date. Modulele program pentru controlul i securitate datelor au rolul de a asigura confidenialitate a i integritatea datelor, precum i rezolvarea problemelor de concuren. Modulele program utilitare permit ntreinerea, manipularea exploatarea corect i facil a bazei de date. Sistemele SGBD evolueaz continuu i trebuie s se extind pentru a rezolva eficient noile cerine ale utilizatorilor. Istoria sistemelor de gestiune a bazelor de date delimiteaz trei generaii care sunt caracterizate de modelele logice folosite: - sisteme de tip ierarhic i de tip reea, - sisteme relaionale; - sisteme avansate, care se reper la sistemele orientate obiect, la cele deductive, multimedia, active, etc. SGBD de tip ierarhic (hierarchical database) i reea (network database) reprezint din punct de vedere istoric primele generaii de SGBD. n modelele ierarhice i reea datele sunt reprezentate la nivel de articol prin legturi ierarhice de tip arbore, respectiv de tip graf. Structurile de date corespunztoare acestor modele pot fi descrise la nivel logic cu ajutorul unei structur de date abstract numit diagram. Diagrama este n acest caz un graf orientat prin care se reprezint tipuri de entiti i legturile funcionale dintre acestea. Sistemele de gestiune a bazelor de date bazate pe modelul de date reea, respectiv cel ierarhic, poart numele de sisteme navigaionale i au fost dezvoltate n perioada 1960-1970. A doua generaie de SGBD o reprezint modelul relaional care trateaz entitile ca relaii. Sistemele de Gestiunea Bazelor de Date Relaionale sunt caracterizate de structuri de date simple i intuitive, de operatori care se aplic relaiilor pentru a defini, cuta, i reactualiza datele. Bazele de date relaionale asigur independena complet a descrierii logice a datelor n termeni de relaii i n descrierea fizic a datelor n termen de fiiere. n prezent exist cteva sute de sisteme SGBD relaionale pentru toate tipurile de calculatoare. Modelul relaional asigur o independen complet n ceea ce privete descrierea logic i fizic a datelor. n plus SGBD relaionale pun includ limbaje specializate pentru descrierea i manipularea datelor. Modelul relaional are capaciti limitate de modelarea datelor. SGBD relaionale nu folosesc obiecte complexe i dinamice, nu realizeaz gestiunea distribuit a datelor i nici gestiunea de cunotine. Conceptul de programare orientat obiect sau programarea calculatoarelor cu ajutorul obiectelor utilizeaz conceptele de obiect i clas de obiecte. Obiectul este definit de o mulime de proprieti numite atribute i are un anumit comportament care n cazul obiectelor folosite n programare se concretizeaz prin metode, care sunt programe care se execut n mod automat atunci cnd n mediul extern sau cel extern al obiectului apare un anumit eveniment. Numim obiect o entitate unic identificabil, care conine att atributele care definesc starea unui obiect din lumea real, ct i aciunile asociate acestuia. Obiectele de acelai tip formeaz o clas de obiecte care reprezint o generalizare a noiunii de tip de dat. Clasa include definiia datelor i a metodelor. Conform principiului ncapsulrii datelor, datele clasei sunt vizibile doar metodelor clasei, iar conform principiului motenirii sau al derivrii o clas poate fi definit folosind o clas existent. Conceptul de ncapsulare presupune c un obiect conine att structura de date, ct i mulimea de operaii care pot fi utilizate pentru al manipula. Ascunderea informaiilor semnific separarea aspectelor externe ale unui obiect de detaliile sale interne, care sunt ascunse de lumea exterioar. n acest mod, detaliile interne ale unui obiect pot fi modificate fr a afecta aplicaiile care l utilizeaz cu condiia ca detaliile externe s rmn neschimbate. Includerea tehnicilor de programare orientat obiect n domeniul bazelor da date a condus la apariia Sistemelor de Gestiune a Bazelor de Date Orientate Obiect, care realizeaz o modelare superioar a informaiei lund n considerare aspectele

dinamice i integrarea descrierii structurale i comportamentale. Prin utilizarea principiului programrii orientate obiect n domeniul bazelor da date relaionale a aprut Sistemele de Gestiune a Bazelor de Date Relaionale Orientate Obiect. O relaia este o mulime de nregistrri ce reprezint fapte. Cunotinele sunt aseriuni generale i abstracte asupra faptelor. Pe baza cunotinelor se deduc fapte noi prin deducie plecnd de la fapte cunoscute. Pentru a rezolva problema gestiunii de cunotine au aprut bazele de date deductive, care utiliznd programarea logic gestioneaz cunotine relativ la baze de date. Un Sistem de Baze de Date Deductiv posed un limbaj de definire a datelor care permite definirea structuri predicatelor sub form de relaii i constrngeri de integritate asociate, un limbaj de manipulare a datelor care permite pe lng actualizarea datelor i formularea de cereri, un limbaj de reguli de deducie care s permit construirea predicatelor derivate. Sistemele distribuite reprezint calculatoare interconectate printr-o reea de comunicaie utilizate pentru un scop global. Gestionarea datelor aflate pe calculatoare diferite, eterogene din punctul de vedere al sistemului de operare folosit se realizeaz cu ajutorul unei baze de date distribuite. Bazele de date distribuite sunt sisteme de baze de date cooperante care sunt rezidente pe calculatoare diferite i situate n locuri n locaii diferite. Sistemul de gestiune al unei baze de date distribuite face posibil accesul programelor de aplicaie la date rezidente pe mai multe calculatoare fr ca localizarea datelor s fie cunoscut. Bazele de date distribuite folosesc ca instrument principal pentru prelucrarea datelor distribuite modelul relaional. Integrarea mai multor baze de date autonome i eterogene conform unei scheme globale cu scopul de a realiza accesul uniform i integrat la fiecare din bazele de date componente a condus al conceptul de sistem multibaz de date. Avantajul major al acestui model const n faptul c printr-o singur interogare pot fi accesate date din mai multe baze de date fr a afecta aplicaiile care manipuleaz datele din fiecare baz de date component a sistemului integrat. Fiecare baz de date din sistemul integrat poate folosi propriile limbaje de interogare. Bazele de date permit stocarea unei cantiti foarte mari de informaie, care poate fi folosit n mod pentru elaborarea deciziilor operative, dar i a celor strategice. Pentru elaborarea deciziilor operative se folosesc date aferente activitii curente, date aferente unei perioade scurte de timp. Acestea sunt generate i preluate n sistem n mod dinamic pentru optimizarea procesului de decizie. Prelucrarea acestor date se realizeaz n pe baza unor scenarii de tip procesarea de tranzacii n timp real (OLTP On Line Transaction Processing). Necesitatea analizrii unor cantiti foarte mari de date a condus la conceptul de magazie de date (Data Warehouse), care utilizeaz pentru atingerea acestui scop scenarii de tip procesare analitic n timp real (OLAP On Line Analytical Processing). Baza de date analitic permite realizarea de interogri multidimensionale instantanee, fr a fi necesar ca acestea sa fie definite anterior. Magazia de date este proiectat pentru a facilita analiza multidimensional a datelor i reprezint un sistem care include informaii despre o organizaie structurate n mai multe baze de date, numite n acest caz rafturi de date (Data Marts). Data Warehouse reprezint o baz de date proiectat pentru a facilita analiza datelor fiind orientat spre dimensiuni. Structurile de date multidimensionale sunt vizualizate cel mai bine sub forma unor cuburi de date i a unor cuburi n cadrul cuburilor. Fiecare fa a unui cub reprezint o dimensiune. Bazele de date multidimensionale reprezint o modalitate compact pentru vizualizarea i manipularea elementelor de date care pot avea multe inter-relaii.

Funciunile sistemului de gestiune al bazei de date


Sistemul de gestiune al bazei de date (SGBD) reprezint o interfa ntre utilizatori i baza de date, care permite crearea, actualizarea i consultarea bazei de date. n 1982 E.F. Codd a enunat opt servicii list completat ulterior cu nc dou servicii pe care trebuie s le furnizeze un SGBD complet: 1. Stocarea, regsirea i reactualizarea datelor reprezint funcia fundamental a unui SGBD. SGDB trebuie sa ascund fa de utilizator detaliile privind implementarea fizic intern. 2. Un catalog sistem accesibil utilizatorului. SGBD va asigura utilizatorului i a SGBD la un catalog sistem integrat (dicionar de date - Data Dictionary) care va conine date despre scheme, utilizatori, aplicaii i reprezint un depozit de informaii care descrie datele din baza de date, date despre date. Catalogul sistem conine descrierea i localizarea datelor, denumirile, tipurile i dimensiunile articolelor de date, denumirile relaiilor, constrngerile de integritate asupra datelor, numele utilizatorilor autorizai care au acces la date, schemele externe, conceptuale i interne, precum i transpunerile dintre ele, statistica utilizrii. Catalogul sistem permite ca informaiile despre date s fie colectate i gestionate central, permite ca definiia datelor s fie accesibil tuturor posibililor utilizatori, comunicarea fiind simplificat deoarece de sensul exact al datelor este stocat. 3. Asigurarea tranzaciilor. Tranzacia reprezint o mulime de aciuni, realizate de un utilizator sau un program de aplicaie prin care se acceseaz sau se modific coninutul bazei de date. Dac o tranzacie eueaz n timpul execuiei baza de date va intra ntr-o stare de incoeren, motiv pentru care este necesar ca baza de date baza de date s fie readus n stare de coeren care a precedat lansarea n execuie a tranzacia. Acesta se realizeaz printr-un mecanism propriu al SGBD care este capabil s anuleze modificrile efectuate asupra bazei de date de tranzacia euat, care nu a fost efectuat n ntregime ci doar parial.

4. Servicii de control concurente. SGBD trebuie s furnizeze un mecanism care s garanteze c baza de date este corect reactualizat atunci cnd mai muli utilizatori efectueaz simultan tranzacii asupra bazei de date. Interogarea concurent trebuie sa fie capabil s asigure simultan tuturor utilizatorilor aceeai informaie, chiar i n cazul reactualizrii datelor i s garanteze c nu vor avea loc interferene atunci cnd mai muli utilizator acceseaz baza de date. 5. Servicii de reconstituire. SGBD trebuie s furnizeze un mecanism propriu de reconstituire a bazei de date n cazul deteriorrii datorit unei cauze interne sau externe. 6. Servicii de autorizare. SGBD trebuie s furnizeze un mecanism prin care s garanteze c doar utilizatorii autorizai pot accesa datele. Termenul de securitate se refer la protecia bazei de date mpotriva accesului ne-autorizat intenionat sau accidental. Fiecare utilizator trebuie sa acceseze doar datele care i sunt necesare i pentru care are definit accesul autorizat. 7. Suport pentru comunicarea datelor. SGBD trebuie sa poat fi integrat ntr-un pachet de programe de comunicaie din care va primi cereri sub form de mesaje i va rspunde n acelai mod. 8. Servicii de integritate. SGBD trebuie sa furnizeze mijloace care s asigure c att datele din baza de date, ct i modificrii acestora respect anumite reguli. Integritatea bazei de date se refer la corectitudinea i coerena datelor stocate i se exprim n termeni de constrngeri, care reprezint reguli de coeren pe care baza de date trebuie s le respecte. 9. Servicii pentru promovarea independenei de date. SGBD trebuie s permit ca programele de aplicaie s fie independente de structura real a bazei de date. Pentru realizarea acestui obiectiv se utilizeaz mecanisme de vizualizare, sau sub-scheme externe. 10. Servicii utilitare. Serviciile utilitare asigur suport pentru administrare efectiv a bazei de date. Prin acestea se asigur suport pentru importul i exportul de date, faciliti de monitorizare, analiz statistic, reorganizarea datelor, realocarea spaiului, eliminarea informaiei perimate etc.

Componentele unui mediu SGBD


Un mediu SGBD este un sistem informatic care folosete baze de date. n structura unui astfel de sistem n se pot delimita cinci componente principale: hardware, software, date, proceduri i persoane. 1. Hardware. Reprezint suportul fizic pentru SGBD i poate fi format de un singur calculator personal, un calculator mainframe, sau chiar o reea de calculatoare. Elementele specifice de hardware depind de cerinele organizaiei i de SGBD utilizat. Fiecare SGBD impune cerine minimale pentru echipamentele fizice necesare funcionrii optime. 2. Software. Componenta software include programele ce formeaz SGBD, programele de aplicaie, sistemul de operare local i atunci cnd este cazul software de reea. Programele de aplicaie se realizeaz folosind limbaje de programare de generaia treia sau chiar a patra, ele nu fac parte din SGBD, dar acceseaz baza de date prin intermediul SGBD. Programele de aplicaie nu au rolul de a gestiona datele ci doar de a prezenta informaia n termeni specifici aplicaiei prin intermediul unei interfee. 3. Date. Reprezint cea mai important component a unui mediu SGBD i include att meta-datele ct i datele propriuzise. 4. Proceduri. Procedurile includ regulile care guverneaz proiectarea i utilizarea bazei de date. Activitatea utilizatorilor sistemului i a personalul care administreaz baza de date se desfoar conform unor proceduri documentate privind modul de folosire i funcionare a sistemului. Aceste instruciuni se refer la deschiderea i nchiderea unei sesiuni de lucru, utilizarea unor faciliti SGBD i a programelor de aplicaie, activarea i dezactivarea SGBD, arhivarea datelor, utilizarea copiilor de siguran, tratarea defeciunilor hardware, respectiv software, refacerea bazei de date n caz de incident, modificarea i reorganizarea bazei de date. 5. Persoane. n mediul SGBD se identific patru tipuri distincte de persoane implicate: administratorii, proiectanii, programatorii de aplicaie i utilizatorii finali. - Baza de date reprezint o resurs n cadrul organizaiei care este gestionat de doi administratori: administratorul de date i de administratorul bazei de date. Administratorul de date (Data Administrator) gestioneaz resursele de date, fiind responsabil de proiectarea conceptual i logic a bazei de date, de planificarea bazei de date, de realizarea i ntreinerea standardelor, a politicilor i a procedurilor bazei de date. Este persoana sau grupul de persoane responsabil de dezvoltarea bazei de date n direcia susinerii obiectivelor generale ale organizaiei, fiind un foarte bun

10

cunosctor al organizaiei. El determin cerinele organizaiei privind datele, rspunde de proiectarea conceptual i logic a bazei de date, dezvolt modelul general de date conform cu progresul din domeniul tehnologiei informaiei i al afacerilor, creeaz standarde de colectarea datelor, stabilete necesitile i protecia privind accesul la date, gestioneaz dicionarul de date i rspunde de asigurarea unei documentaii complete care va include modelul de date, standardele, politicile, procedurile, utilizarea dicionarului de date i controlul asupra utilizatorilor finali. Administratorul bazei de date (Database Administrator) este persoana sau grupul de persoane responsabil de proiectarea, implementarea i realizarea fizic a bazei de date, de securitatea i controlul integritii, de ntreinerea ntregului sistem. El monitorizeaz performanele sistemului i reorganizarea baze de date, atunci cnd este cazul, definete constrngerile de securitate i integritate, rspunde de selectarea SGBD i de implementarea proiectului de baz de date, de instruirea utilizatorilor i de realizarea copiilor de siguran. Este persoana care trebuie sa cunoasc foarte bine SGBD folosit precum i mediul sistemelor de operare. - Proiectanii bazei de date sunt persoanele implicate n proiectarea logic i cea fizic a bazei de date. Proiectarea conceptual i logic presupune identificarea entitilor, a relaiilor dintre entiti, a constrngerilor asupra datelor ce vor fi stocate n baza de date. Proiectantul de baz de date conceptuale i logice trebuie sa cunoasc amnunit i complet toate datele din cadrul organizaiei, precum i a regulilor interne i externe conform crora funcioneaz organizaia. Aceste reguli descriu principalele caracteristici ale datelor aa cum sunt ele n cadrul organizaiei respective. n etapa de proiectare a bazei de date proiectantul va implica toi presupuii utilizatori. Proiectarea conceptual este independent de detaliile privind implementarea, iar proiectarea logic este presupune utilizarea unui model de date. Proiectantul de baz de date fizice preia modelul logic de date i l implementeaz folosind un anumit SGBD, el alege strategia de stocare adecvat innd cont de modul de utilizare. - Programatorii de aplicaie realizeaz i implementeaz programele de aplicaie care confer funcionalitatea cerut de utilizatorii finali. Programele de aplicaie se realizeaz n conformitate cu documentaia elaborat n etapa de proiectare. Fiecare program de aplicaie este realizat fie cu ajutorul unu limbaj extern sau cu unul propriu SGBD i efectueaz o anumit operaie asupra bazei de date: extragere, inserare, reactualizare i tergere de date. - Utilizatorii finali reprezint clienii bazei de date i pot fi grupai n dou categorii: utilizatori simpli i utilizatori specialiti. Utilizatorii simpli nu percep baza de date i nici SGBD ci doar acceseaz baza de date prin intermediul programelor de aplicaie. Utilizatorii specialiti cunosc structura bazei de date i facilitile oferite de SGBD. Ei sunt capabil s efectueze instantaneu interogri ale bazei de date, pentru aceasta folosind fie un limbaj extern, fie unul intern al SGBD pentru a efectua anumite operaii asupra bazei de date, fiind capabili s realizeze chiar propriile programe de aplicaie.

Limbaje pentru baze de date


n limbajele de programare clasice declaraiile de date i instruciunile executabile aparin limbajului respectiv. Limbajele de programare sunt grupate n generaii de limbaje. Limbajele de programare clasice sunt incluse n generaia a treia de limbaje (3GL 3 Generation Language) fiind limbaje de programare procedurale. Generaia a patra de limbaje de programare (4GL) reprezint limbaje de programare ne-procedurale i au fost create pentru a mrii productivitatea n programarea calculatoarelor folosind instrumente de tip generator (de formulare, de rapoarte, de structuri de interogare, de grafice, de aplicaii) care permit ca n mod interactiv fr a scrie cod program s fie generate n mod automat programe complexe. Limbajele procedurale precizeaz ce date sunt necesare i cum trebuie s fie obinut rezultatul unei aciuni tratnd nregistrrile n mod individual, iar cele neprocedurale precizeaz doar ce trebuie obinut, opernd asupra unor mulimi de nregistrri. n sistemele de gestiune a bazelor de date funciile de declarare, de manipulare i de control al datelor sunt realizate cu ajutorul unor limbaje diferite. Acestea sunt numite sub-limbaje de date deoarece includ doar facilitii specifice funciei pe care o au. Ele pot fi ncorporate ntr-un limbaj gazd de nivel nalt. SGBD asigur suport pentru utilizarea n mod interactiv a acestor limbaje proprii. Limbajul pentru definirea datelor (LDD Data Description Language) este un limbaj specific pentru fiecare SGBD fiind utilizat pentru a specifica schema bazei de date. Este un limbaj descriptiv care permite administratorului bazei de date, respectiv utilizatorului final sa descrie i s defineasc entitile din baza de date precum i relaiile existente ntre entiti, adic s defineasc o schem sau s o modifice. Nu include faciliti pentru manipularea datelor. Prin compilarea instruciunilor limbajului de definirea datelor se obin tabele, care vor fi incluse n catalogul sistem (dicionar de date, sau director de date) i care descriu datele, relaiile, strategiile de acces la date, criteriile de confidenialitate i de validare a datelor. Teoretic pot fi identificate limbaje de definire a datelor aferente fiecrei scheme din arhitectura bazei de date: intern, conceptual i extern.

11

Limbajul pentru manipularea datelor (LMD Data Manipulation Language) este un limbaj care asigur un set de procedee ce permit operaiile de baz pentru manipularea datelor din baza de date. Operaiile executate n cadrul bazei de date presupun existena unui limbaj specializat n care comenzile se exprim prin fraze ce descriu aciuni asupra bazei de date. Manipulrile de date se efectueaz la cele trei niveluri extern, conceptual i intern. O comand va preciza operaia, criteriul de selecie, modul de acces i forma de editare. Operaia poate fi de calcul aritmetic sau logic, deschidere-nchidere, cutare, extragere, adugare, tergere, reactualizare i chiar de editare. Cele mai importante comenzi sunt cele de regsire. Limbajele de manipulare a datelor sunt de dou tipuri: procedurale i neprocedurale (declarative). Setul de instruciuni din cadrul limbajului de manipulare a datelor responsabil de regsirea datelor de numete limbaj de interogare. Limbajul pentru controlul datelor (LCD Data Control Language) este un limbaj specific care include comenzi pentru asigurarea confidenialitii i integritii datelor, pentru salvarea informaiei cu scopul meninerii integritii bazei de date i chiar pentru rezolvarea problemelor de acces concurenial la date.

Proiectarea bazei de date


Sistemul informaional cuprinde totalitatea resurselor care permit colectarea, administrarea, controlul i propagarea informaiilor n cadrul unei organizaii. Datele reprezint o resurs important din cadrul organizaiei i trebuie gestionat similar celorlalte resurse. Sistemul informatic poate fi realizat cu ajutorul unei baze de date i reprezint cea mai important component a sistemului informaional din cadrul organizaiei, baza de date fiind o component fundamental a sistemului informaional. Sistemul informaional evolueaz n timp, parcurge anumite etape, are un ciclu de via. Etapele din ciclul de via al unui sistem informaional sunt: planificarea, colectarea i analiza cerinelor, proiectarea, realizarea prototipului, implementarea, testarea i ntreinerea operaional. n practic, ns, aceste etape nu sunt rigide. Pot exista ntreptrunderi importante i proiectul poate repeta unele etape nainte de a trece la altele. Aceste etape sunt parcurse i n cazul sistemelor ce folosesc baze de date. n fiecrei etap a ciclului de via sunt desfurate anumite activiti. 1. Planificarea bazei de date, este prima etap a ciclului de via i include activitile care permit realizarea eficient a etapelor din ciclul de via. Planificarea bazei de date trebuie s fie integrat n strategia general a organizaiei stabilind prin aceasta care sunt cerinele informaionale viitoare ale organizaiei pentru a susine planurile de afaceri i scopul organizaiei. Pentru a susine planificarea bazei de date se va realiza un model general de date, care va include datele importante, relaiile dintre acestea, precum i legtura cu componentele funcionale ale organizaiei. n aceast etap vor fi dezvoltate de standarde pentru modul de colectare a datelor i de specificare a formatelor, pentru documentaia necesar, fiind stabilite modalitile de realizare a proiectrii i implementrii. Utilizarea standardelor asigur suport pentru controlul calitii. Cerinele organizaiei cu privire la date fi documentate corespunztor. 2. Definirea sistemului este a etapa n care se identific scopul i limitele noului sistem, inclusiv domeniile de aplicaie i grupurile de utilizatori. La definirea noului sistem va fi precizat n mod necesar i modul n care se va realiza interfaa cu celelalte componente ale sistemului informaional din cadrul organizaiei. 3. Colectarea i analiza cerinelor (Analiza) este etapa de cea mai mare importan n care, folosind diferite metode i tehnici adecvate, vor fi colectate i analizate cerinele informaionale ale organizaiei cu privire baza data. Informaiile necesare proiectrii bazei de date vor fi colectate folosind metoda interviului individual, metoda interviului de grup, metoda chestionarelor, observarea organizaiei n funciune, examinarea documentelor din cadrul organizaiei, toate asociate cu experiena anterioar a echipei de analiz. Fr o analiz adecvat nu se va putea determina ceea ce utilizatorul dorete de la noul sistem, infrastructura tehnic n cadrul creia se va implementa, respectiv care sunt constrngerile impuse datele. O analiz inadecvat, la un moment ulterior, poate fi foarte costisitoare sau poate conduce chiar la ncetarea proiectului. O cerin reprezint o caracteristic care trebuie inclus n noul sistem. Informaiile colectare pentru fiecare domeniu de aplicaie i grup de utilizatori se vor concretiza sun forma unui set de documente care descriu activitile i sub-activitile din diferite puncte de vedere i va include documentaia folosit i elaborat, detaliile privind tranzaciile, precum ordinea de prioritate a cerinelor. Cantitate de date colectat depinde de politica organizaiei i de aria de cuprindere a noului sistem. Colectarea i analiza cerinelor reprezint etapa preliminar a proiectrii conceptuale a bazei de date. Pentru structurarea cerinelor se folosesc tehnici speciale de specificare a cerinelor cum sunt analiza i proiectarea structurat, diagramele de flux de date, proiectarea asistat de calculator. 4. Proiectarea bazei de date (Design-ul) este procesul de realizare a proiectului de baz de date care va trata toate operaiile i obiectivele organizaiei, este etapa n care se va realiza proiectare conceptual, logic i fizic a bazei de date. Se va realiza reprezentarea datelor i a relaiilor dintre ele conform specificaiilor stabilite n etapa de analiz, va fi elaborat un model de date care va fi capabil s accepte efectuarea tuturor tipurilor de tranzacii necesare asupra datelor, se va realiza o structurare adecvat pentru realizarea cerinelor inclusiv cele privind performanele noului sistem i a sistemului informaional n ansamblu. Modelul de date este optim atunci cnd este simplu, expresiv, extensibil,

12

nonredundant, permite validarea structural, permite partajarea datelor, asigur integritatea datelor i ofer posibilitatea unei reprezentri schematice. Unul din scopurile principale a procesului de design este stabilirea de scheme pe baza creia se poate construi baza de date. Proiectarea se poate realiza folosind o metod de tip de jos n sus, de sus n jos, din interior spre exterior, respectiv strategia compus care combin primele dou metode. Metoda de proiectare de jos n sus se folosete n cazul bazelor de date simple i ncepe de la nivelul fundamental al atributelor ce definesc entitile car sunt grupate n relaii care reprezint tipuri de entiti i asociaii ale acestora, dup care prin procesul numit normalizare se identific atributele necesare i dependena funcional a acestora. Strategia de proiectare de tip de sus n jos se folosete pentru baze de date complexe i ncepe cu realizarea unor modele de date care conin entiti i relaii relevante, dup care prin rafinri succesive de sus n jos se identific toate entitile i relaiile existente ntre acestea. Tratarea de tip din interior spre exterior este folosete proiectarea de jos n sus pentru entitile principale, care apoi se extinde pentru a cuprinde toate entitile i relaiile. Sub-etapa de proiectare fizic a bazei de date presupune cunoaterea SGBD care va fi utilizat, motiv pentru pe baza cerinelor curente i viitoare ale organizaiei va fi alea cel mai potrivit SGBD. Alegerea SGBD poate fi considerat o etap din ciclul de via a sistemului informatic, care se poate parcurge n orice faz, dar nainte de proiectarea fizic. n aceast etapa se vor elabora n mod obligatoriu i toate documentaiile aferente. 5. Realizarea prototipului este etapa n care se construiete un model de lucru, care nu are toate caracteristicile cerute i nu acoper ntreaga funcionalitate. Scopul crerii prototipului este de a oferi utilizatorilor posibilitatea de a utiliza un sistem apropiat de cel real pentru identifica caracteristicile incluse deja, de a le verifica cu scopul de a clarifica cerinele utilizatorilor. 6. Implementarea este etapa care include realizarea fizic a bazei de date prin utilizarea limbajului de definire a datelor al SGBD i implementarea programelor de aplicaie realizate n limbajul ales de echipa de proiectare. Tranzaciile din baza de date vor fi efectuate cu ajutorul limbajului de manipularea datelor. n aceast etap pot fi folosite instrumentele de tip interactiv ale SGBD pentru definirea i accesarea datelor. Transferarea datelor din vechiul sistem are o foarte mare importan pentru reducerea timpului necesar pentru implementare. Acest transfer face ca datele preluate s fie corecte chiar dac este necesar conversia datelor n formatul cerul de noul sistem. n etapa de implementare vechiul sistem i noul sistem funcioneaz n paralel, iar echipa de implementare poate reduce semnificativ efortul utilizatorilor prin preluarea datelor pentru noul sistem din vechil sistem cu ajutorul unor proceduri automate. 7. Testarea este etapa n care vor fi detectate eventualele erori ale nolui sistem. Exist un numr de practici pentru asigurarea calitii, pe care le putem aplica proiectului, dar cea mai bun este testarea. Testarea trebuie fcut conform unui plan de testare bine pus la punct, care este esenial att pentru sistem ct i pentru verificarea reaciei utilizatorului. Baza acestui plan trebuie s fie documentarea obinut n timpul etapei de analizare a cerinelor. Acest plan de testare trebuie s defineasc nu doar exact ceea ce trebuie verificat ci i ce rezultate trebuie generate de noul sistem inclusiv de programele de aplicaie. Testarea poate fi fcut de sus n jos, de jos n sus, pe fir, sau la suprasolicitare. Testarea de de sus n jos permite testare la nivel de subsistem i permite detectarea erorilor n fazele iniiale ele proiectului. Testarea de jos n sus pleac de la fiecare modul individual. Testarea pe fir este folosit pentru testarea sistemelor care funcioneaz n timp real, testndu-se rspunsul sistemului la fiecare eveniment. Testele la suprasolicitare au menirea de a testa componentele sistemului n toate situaiile posibile. 8. ntreinerea operaional reprezint procesul de monitorizare i ntreinere a noului sistem. Sunt monitorizate performanele sistemului i se ncorporeaz noi cerine atunci cnd este cazul. Este etapa care se ntinde pe ntreaga durat de via a sistemului. Monitorizarea presupune urmrireqa sistematic a performanelor i nregistrarea eventualelor anomali de funcionare.

Regulile lui E. F. Codd


n anul 1985, E.F. Codd a publicat un set de 13 reguli de fidelitate pe baza crora se apreciaz dac un sistem de gestiune de baze de date poate fi considerat relaional. Majoritatea sistemelor de gestiune de baze de date considerate ca fiind de tip relaional nu respect absolut toate regulile definite de Codd, mai mult, n prezent, lista este reformulat i cuprinde 100 de regulii. Regula 0 regula gestionrii datelor: Un SGBD considerat ca fiind relaional trebuie s fie capabil s gestioneze o baz de date prin posibilitile sale relaionale. Aceasta nseamn c SGBD nu va folosi pentru definirea i manipularea datelor operaii care nu sunt de tip relaional. Practic, majoritatea implementrile existente de SGBD nu respect aceast regul. Regula 1 regula reprezentrii datelor: ntr-o baz de date relaional, informaia este reprezentat explicit la nivel logic sub forma unor tabele ce poart numele de relaii. Este regula cea mai important i conform lui E.F. Codd i n cazul n care un SGBD care nu respect aceast regul, nu poate fi considerat relaional. Referirea la nivelul logic precizeaz c elemente de construcii logice, cum sunt indeci, nu au obligatoriu o reprezentare sub form de tabele. Regula 2 regula accesului garantat la date: Fiecare valoare de dat (valoare atomic) dintr-o baz de date trebuie s poat fi adresat n mod logic printr-o combinaie format din numele relaiei, valoarea cheii primare i

13

numele atributului. Se poate regsi orice valoare aparinnd oricrui atribut al unei relaii, dac sunt specificate numele relaiei, numele atributului i valoarea cheii primare. Regula 3 regula reprezentrii informaiei necunoscute (tratarea sistematic a valorilor null): Un sistem relaional trebuie s permit utilizatorului definirea unui tip de date numit null pentru reprezentarea unei informaii necunoscute la momentul respectiv indiferent de tipul de dat. ntr-un SGBD relaional trebuie s putem face diferena ntre valoarea zero, un ir vid de caractere i o valoare necunoscut. Regula 4 regula dicionarelor de date (catalog dinamic on-line, bazat pe modelul relaional): Asupra descrierii bazelor de date (informaii relative la relaii, vizualizri, indeci, etc) trebuie s se poat aplica aceleai operaii ca i asupra datelor din baza de date. Descrierea bazei de date este reprezentat la nivel logic sub forma unor tabele care pot fi accesate n acelai mod ca i datele efective. Regula 5 regula limbajului de interogare (sub-limbaje de date cuprinztoare): Trebuie s existe cel puin un limbaj care s permit: (1) definirea datelor, (2) definirea vizualizrilor, (3) manipularea datelor (interactiv sau prin intermediul programului), (4) constrngerile de integritate, (5) autorizarea, (6) limitele tranzaciilor (nceput, execuie, reluare). n general, toate implementrile SQL respect aceast regul. Limbajul permite utilizatorilor s defineasc relaii i vizualizri, s regseasc informaia i s o poat actualiza, s verifice i s corecteze datele de intrare etc. Regula 6 regula de reactualizare a vizualizrii: Toate vizualizrile care sunt teoretic reactualizabile pot fi reactualizate de sistem. Un SGBD trebuie s poat determina dac o vizualizare poate fi actualizat i s stocheze rezultatul interogrii ntr-un dicionar de tipul unui catalog de sistem. Trebuie s existe un mecanism prin care s se poat determina dac anumite vizualizri pot fi actualizate sau nu. Majoritatea implementrilor SQL stabilesc aceasta, n funcie de variantele instruciunii de selecie utilizate. Regula 7 regula limbajului de nivel nalt (operaiile de inserare, reactualizare i tergere de nivel nalt): Regulile de manipulare asupra unei relaii luat ca ntreg sunt valabile att pentru operaiile de regsire a datelor, ct i asupra operaiilor de inserare, actualizare i tergere a datelor. Un SGBD relaional nu trebuie s oblige utilizatorul s caute ntr-o relaie, tuplu cu tuplu, pentru a regsi informaia dorit. Operaiile de manipulare a datelor pot fi aplicate att n mod interactiv ct i prin program, ntr-un limbaj gazd. Regula 8 regula independenei fizice a datelor: Programele de aplicaie i activitile utilizatorilor nu depind de modul de stocare a datelor sau de modul de acces la date. ntr-un SGBD relaional trebuie s se separe aspectul fizic al datelor (stocare sau acces la date) de aspectul logic al datelor. Regula 9 regula independenei logice a datelor: Programele de aplicaie i activitile utilizatorilor trebuie s fie transparente la modificrile de orice tip efectuate asupra datelor. Orice modificare efectuat asupra unei relaii, nu trebuie s afecteze operaiile de manipulare a datelor, programele de aplicaie i mecanismele de interogare direct nu sunt afectate de modificrile fcute asupra datelor. Regula 10 regula independenei datelor din punct de vedere al integritii: Constrngerile de integritate specifice unei baze de date relaionale nu vor fi definite programele de aplicaie ci de sub-limbajul relaional de date, urmnd a fi memorate n catalogul sistem. (Regulile de integritate trebuie s fie definite ntr-un sub-limbaj relaional, nu n programul de aplicaie). Limbajul SQL permite definirea de restricii privind integritatea datelor i stocarea lor n catalogul de sistem prin aceasta asigurndu-se controlul centralizat asupra constrngerilor. Regula 11 regula independenei datelor din punct de vedere al distribuirii: Sub-limbajul de manipulare a datelor trebuie s permit utilizarea acelorai programe de aplicaie i interogri (s fie invariante din punct de vedere logic)pentru a accesa date centralizate sau distribuite (Distribuirea datelor pe mai multe calculatoare dintr-o reea de comunicaii de date, nu trebuie s afecteze programele de aplicaie i interogrile, dac i ori de cte ori datele sunt centralizate sau distribuite fizic). Independena de distribuie presupune ca un program de aplicaie care acceseaz sistemul SGBD pe un singur calculator trebuie s funcioneze fr modificri i ntr-o reea chiar dac datele sunt mutate de pe un calculator pe altul, utilizatorul percepnd datele fr a cunoate locul n care sunt stocate. Programele de aplicaie trebuie s funcioneze fr modific i ntr-o reea, chiar dac datele sunt transferate de pe un calculator pe altul. Regula 12 regula versiunii procedurale a SGBD (nonsubversiune): Orice component procedural a unui SGBD trebuie s respecte aceleai reguli de integritate ca i componenta relaional (orice limbaj de nivel inferior trebuie s respecte aceleai reguli de integritate exprimate n limbajul relaional de nivel nalt). Cele 13 reguli pot fi grupate n cinci domenii de funcionalitate: - reguli fundamentale (regula 0 i regula 12); - reguli structurale (regula 1 i regula 6); - reguli de integritate (regula 3 i regula 10); - reguli de manipulare a datelor (regula 2, regula 4, regula 5, regula 7); - reguli privind independena de date (regula 8, regula 9 i regula 11). Un SGBD este minimal relaional dac datele din cadrul bazei de date sunt reprezentate prin valori n tabele, nu exist pointeri observabili de ctre utilizatori, iar sistemul suport operatorii relaionali de proiecie, selecie i compunere natural, fr limitri impuse din considerente interne.

14

Un SGBD este complet relaional dac este minimal relaional i, n plus, sistemul suport restriciile de integritate de baz (unicitatea cheii primare, constrngerile de referin, integritatea entitii) i precum i toate operaiile de baz ale algebrei relaionale. Un SGBD relaional ndeplinete funciile unui SGBD, cu anumite particulariti care decurg din concepia de organizare a datelor, respectiv din modelul relaional. Fiecare SGBD relaional implementeaz modelul relaional ntr-o manier proprie care l difereniaz de restul sistemelor relaionale. Caracterizarea unui SGBD relaional se poate realiza la nivelul clasei de SGBD relaionale, n sensul caracterizrii globale, unitare n raport cu celelalte tipuri de SGBD, sau la nivelul unui SGBD relaional individual n sensul caracterizrii particularitilor sale, n raport cu alte SGBD de tip relaional. Realizarea funciilor unui SGBD relaional se face cu ajutorul unor instrumentele i mecanisme de lucru specifice de tip relaional, care le separ de sistemele considerate ca fiind nerelaionale: - un limbaj relaional pentru descrierea datelor la nivel fizic, logic i conceptual; - un limbaj relaional pentru manipularea datelor; - mecanisme pentru controlul integritii semantice a datelor; - mecanisme pentru optimizarea cererilor de date; - mecanisme pentru asigurarea coerenei datelor n condiiile accesului la date; - utilitare pentru generarea de formulare i rapoarte, utilitare pentru generarea de aplicaii, utilitare pentru generarea unor statistici referitoare la starea i activitatea bazei de date, etc.

Forme normale
Un obiectiv important a proiectrii unei baze de date de tip relaional l reprezint gruparea atributelor n relaii astfel nct redundana datelor s fie minim. Relaiile care conin date redundante pot crea probleme, denumite anomalii de reactualizare, care clasificate n: - anomalii de tergere constau n faptul c anumite date care urmeaz s fie terse, fac parte din tupluri n care se gsesc i alte date care mai sunt necesare n continuare, ori tergerea fcndu-se la nivelul tuplului, acestea se pierd; - anomalii de inserare (adugare) constau n faptul c anumite date care urmeaz s fie adugate fac parte din tupluri incomplete (pentru care nu se cunosc toate datele), ceea ce face ca acestea s nu poat fi adugate; - anomalii de modificare rezult din faptul c este dificil de modificat o valoare a unui atribut atunci cnd ea apare n mai multe tupluri ale relaiei. Spunem c un atribut B al unei relaii R depinde funcional de un alt atribut A, atunci cnd fiecrei valori a atributului A i corespunde exact o anumit valoare atributului B (AB). Dependena funcional este o proprietate a semnificaiei sau a semanticii atributelor. Semantica indic modul n care atributele sunt legate unele de altele i specific dependenele funcionale ale acestora. Dependena funcional este specificat ca o constrngere ntre atribute. Dac atributul B depinde funcional de atributul A, spunem c atributul A este determinatul atributului B. Spunem c o dependen funcional este total sau complet dac cele dou atribute au o dependen funcional n ambele sensuri (AB i BA). Pentru trei atribute A, B i C, n care AB i BC spunem c C este dependent tranzitiv de A prin intermediul atributului B, dac avem i AC. n acest caz spunem c exist o dependen tranzitiv. Eliminarea acestor anomalii se realizeaz cu ajutorul operaiei numite normalizare, care este o tehnic formal care se bazeaz pe cheile primare, respectiv cheile candidat ale relaiilor i pe dependenele funcionale. Tehnica include o mulime de reguli care pot fi utilizate pentru testarea relaiilor individuale. Dac o anumit cerin nu este ndeplinit pentru o anumit relaie, atunci relaia n cauz va fi descompus n relaii care satisfac n mod individual cerinele normalizrii. Normalizarea presupune parcurgerea unei succesiuni de pai, fiecare pas corespunznd unei forme normale. Prin parcurgerea etapelor de normalizare relaiile devin progresiv mai restrictive ca format i mai puin vulnerabile la anomaliile de actualizare. Procesul de normalizare a relaiilor se realizeaz n mai muli pai, ncepnd cu forma normal unu (1NF) i ajungnd la forma normal cinci (5NF). Pentru modelul relaional doar prima form normal (1NF) este de importan critic, celelalte forme normale fiind opionale. Pentru a nltura aceste anomalii, E.F. Codd a stabilit iniial trei forme normale pentru relaii i a introdus procesul de normalizare care se bazeaz pe noiunea de dependen funcional ca relaie ntre atributele unei entiti care are un caracter invariant. Teoria normalizrii se ocup cu mbuntirea succesiv a schemei conceptuale, fiind satisfcute, n acelai timp, urmtoarele condiii: - conservarea datelor, adic n schema conceptual final s existe toate datele din cadrul schemei iniiale; - conservarea dependenelor dintre date, adic s se pstreze tipurile de relaii dintre entiti; - descompunerea minimal a relaiilor iniiale, adic n schema conceptual final nici o relaie nu trebuie s fie coninut ntr-alta. O relaie este n forma normal unu (1NF), dac i numai dac toate atributele ei conin numai valori atomice, adic o sigur valoare i numai una. n plus, un tuplu nu trebuie s conin atribute sau grupuri de atribute repetitive. Este forma de baz a relaiilor, care figureaz ca cerin minimal la majoritatea sistemelor de gestiune a bazelor de date de tip relaional.

15

O relaie este n a doua form normal (2NF), dac este n forma normal unu i oricare dintre atributele noncheie este dependent funcional complet de cheia primar a relaiei. O relaie este n a treia form normal (3NF), dac se gsete n forma normal doi i toate atributele non-cheie sunt dependente tranzitiv de cheia primar. n afara primelor trei forme normale au fost introduse i formele normale: forma normal Boyce Codd (BCNF), a patra form normal (4NF) i a cincia form normal (5NF) care conduc la diminuarea redundanei n baza de date. Trecerea de la forma 3FN la 4FN i 5FN se face opernd asupra cheilor compuse ntre ale cror atribute apar relaii care genereaz dependene ce nu sunt funcionale, numite dependene multi-valoare. O relaie este n forma normal Boyce Codd (BCNF), dac fiecare determinant este o cheie candidat. A patra form normal (4NF) elimin redundanele datorate relaiilor de tip n:m, adic a dependenelor multiple. A cincia form normal (5NF) elimin dependenele multiple de tip ciclic, avnd ca rezultat o descompunerea a relaiilor de tip uniune fr pierderi, din relaiile rezultate n urma descompunerii putnd fi reconstituit relaia iniial. Dependena de tip uniune fr pierderi este o proprietate a operaiei de descompunere, care garanteaz c nu sunt introduse linii false atunci cnd relaiile rezultare n urma descompunerii sunt reunite printr-o operaie de uniune natural.

Operatorii modelului relaional


Operatorii modelului relaional definesc operaiile care pot fi efectuate asupra relaiilor, pentru realizarea funciilor de prelucrare asupra datelor din baza de date. Modelul relaional folosete operatori relaie din algebra relaional i calculul relaional. Algebra relaional i calculul relaional sunt limbaje formale utilizate pentru bazele de date relaionale ca suport pentru limbajul de manipulare a datelor, de nivel nalt. Algebra relaional a fost introdus de E.F. Codd n 1971 ca o mulime de operaii formale n care operanii i rezultatul sunt relaii i care acioneaz asupra uneia sau a mai multor relaii pentru a defini o nou relaie, fr a modifica relaiile iniiale. Cei cinci operatorii fundamentali ai algebrei relaionale sunt fie operatori folosii pentru operaiile de regsire: selecia (sau restricia), proiecia, produsul cartezian, reuniunea i diferena, i ali trei operatori pentru operaiile de uniune, intersecie i mprire, adic operatori tradiionali pe mulimi (UNION, INTERSECT, PRODUCT, DIFFERENCE) i operatori relaionali speciali (PROJECT, SELECT, JOIN, DIVISION). Operatorii de selecie i proiecie sunt unari, opernd asupra unei singure relaii, iar ceilali sunt operatori binari, acionnd asupra unei perechi de relaii. n algebra relaional se specific n mod explicit o anumit ordine pentru evaluarea oricrei expresii, ceea ce implic o anumit strategie de evaluare a interogrii bazei de date. n calculul relaional o interogare precizeaz ce va fi extras din baza de date fr a se preciza modul de evaluare a unei interogri. Calculul relaional este o adaptare a calculului predicatelor din logica simbolic aplicat pentru interogarea bazelor de date. n logica simbolic, un predicat este o funcie de mai multe variabile, care are o valoare de adevr. nlocuind variabile cu valori se obine o expresie numit propoziie, care poate fi adevrat sau fals. Variabilele iau valori dintr-un domeniu dat. Calculul relaional se prezint sub dou forme: orientat spre tupluri i orientat spre domenii. Pe baza unor predicate iniiale, prin aplicarea unor operatori ai calculului cu predicate (conjuncia, disfuncia, negaia, cuantificatorul existenial i cuantificatorul universal) se pot defini noi predicate, noi relaii. J.D. Ullmann a demonstrat echivalena dintre algebra relaional i calculul relaional. Motiv pentru care orice relaie posibil de definit n algebra relaional poate fi definit i n cadrul calculului relaional, i reciproc.

Integritatea relaional
Constrngerile de domeniu sunt restricii care se aplic asupra mulimi de valori permise pentru atributele relaiilor. Regulile de integritate sunt constrngeri sau restricii ce se aplic tuturor instanelor din baza de date, adic aseriuni pe care datele coninute n baza trebuie s le satisfac i prin care se asigur corectitudinea datelor. Se face distincie ntre regulile structurale, care sunt inerente modelrii datelor i regulile de funcionare (comportament), care sunt specifice unei aplicaii particulare. Exist trei tipuri de constrngeri structurale (de cheie, de referin, de entitate) ce constituie mulimea minimal de reguli de integritate pe care trebuie s le respecte un SGBD relaional i care sunt definite n raport cu noiunea de cheie a unei relaii. Integritatea entitilor impune ca ntr-o relaie de baz (care corespunde unei entiti n schema conceptual) nici un atribut al unei chei primare nu poate fi null. Conform reguli de integritate refereniale dac o relaie are o cheie extern atunci orice valoare a cheii externe va coincide cu valoarea unei chei candidat a unui tuplu n relaia de baz a acesteia sau este o valoare null. Sunt formulate trei reguli de integritate structural: - unicitatea cheii: cheia primar trebuie s fie unic i minimal; - integritatea entitii: atributele cheii primare trebuie s fie diferite de valoarea null; - integritatea referirii: o cheie extern trebuie ori s fie null n ntregime, ori s corespund la o valoare a cheii primare asociate.

16

17

CAP.3. MICROSOFT ACCESS 3.1. Noiuni generale privind bazele de date ACCESS
Sistemul de gestiune a bazelor de date (SGBD) Microsoft Access face parte din pachetul de aplicaii Microsoft Office exploatabil sub sistemele de operare Windows 2000 i Windows XP. Microsoft Access are caracteristicile specifice unui sistem de gestiune a bazelor de date relaionale; care reprezint totodat un instrument complex de dezvoltare a aplicaiilor de baze de date. Microsoft Access include facilitile oferite de sistemul de operare Microsoft Windows; n plus, permite i faciliti de tipul drag and drop. Microsoft Access este compatibil cu tehnicile de legare i ncapsulare din tehnologia OLE Microsoft. Caracteristicile definitorii ale SGBD Access sunt urmtoarele: 1. Posibilitatea crerii unei baze de date care poate fi utilizat de ctre un utilizator sau mai muli utilizatori n mod partajat; 2. Interogarea bazei de date se poate realiza n mod grafic prin interfaa QBE (Query By Example), sau prin limbajul SQL (Standard Query Language); 3. Automatizarea unor activiti/aciuni prin macro-comenzi sau prin aplicai program n limbajul VBA; 4. Realizarea importului/exportului de date ctre alte aplicaii ale pachetului Microsoft Office sau alte SGBD de tip relaional; 5. Interfaa utilizator este uor de folosit i respect principiile de utilizare caracteristice tuturor aplicaiilor pachetului MS Office; 6. Asisten n dezvoltarea aplicaiilor i utilizarea bazei de date; 7. Existena componentei Help i a facilitilor de ajutor de tip contextual; 8. Instrumente de lucru interactiv pe baze model de tip Wizard pentru a ajuta utilizatorii n dezvoltarea de aplicaii; O baz de date ACCESS este baz de date relaional orientat spre obiecte, o colecie de informaii memorate ntr-un fiier avnd extensia .MDB sau .MDE, coninnd diferitele obiecte. Prin utilizarea formatului .MDE pentru baza de date ACCESS devine imposibil modificarea obiectelor bazei de date i este ascuns codul program Visual Basic. Obiecte pe care le poate conine o baz de date ACCESS sunt:

Tabelele
Tabelele conin datele propriu-zise corespunztoare entitilor din baza de date, organizate sub forma unei matrice n care coloane reprezint atribute (cmpuri), iar liniile apariiile, realizrile entitii (nregistrri). O nregistrare este o linie dintr-un tabel, n care fiecare cmp conine o valoare concret dintr-un domeniu de valori i conine informaii care identific o anumit realizare concret a entitii; persoan, loc sau obiect. Un cmp este o informaie individual din componena unei nregistrri, iar fiecare coloan din tabelul Access reprezint un cmp diferit. O baz de date Microsoft Access poate cuprinde cel mult 32.768 de tabele, dintre care 254 pot fi deschise simultan, dac exist suficiente resurse disponibile. Tabelele unei baze de date au unul sau mai multe cmpuri ce identific n mod unic fiecare nregistrare din acel tabel i formeaz cheia primar pentru tabela respectiv. Cmpurile din tabele ACCESS sunt definite ca fiind de un anumit tip de dat cu care se va ncrca fiecare cmp: - AutoNumber nu poate fi modificat manual. Dei este incrementat secvenial n mod implicit, se poate stabili i o incrementare aleatoare; - Text este destinat informaiei de tip ir de caractere (maxim 255 caractere); - Lookup permite stocarea unei valori, dar afieaz textul ce nsoete valoarea respectiv. Acest tip de cmp poate fi legat de fapt de un alt tabel sau interogare, de unde i extrage informaiile pe care le afieaz sub forma unui combo box; - Number are mai multe sub-tipuri, determinate de proprietatea field size: - Byte cu interval valoric ntre 0 i 255; - Integer cu interval valoric ntre32.768 i 32.767; - Long Integer cu interval valoric ntre 2.147.483.648 i 2.147.483.647; Single cu interval valoric ntre3,4*10 i 3,4*10 ;
308 38 38

- Double cu interval valoric ntre1,797*10 i 1,797*10 ; - Decimal cu interval valoric ntre 22337203685477.5808 i 922337203685477.5808; - Memo este utilizat pentru text de lungime ce poate depi 255 de caractere; - Obiecte OLE este tot un cmp pentru obiecte predefinite; - Date/Time conine informaii de dat calendaristic i/sau timp; - Yes/No conine date de tip logic una din cele dou stri: yes/no, on/off, true/false.

308

18

Interogrile Interogrile sunt obiecte virtuale de tip tabel, adic vizualizri, care nu au corespondent fizic, fiind definite cu ajutorul tabelelor definite deja n baza de date. Tabelele virtuale definite cu ajutorul interogrilor permit efectuarea: seleciilor i sortrilor n tabele; calculelor simple i analizelor ncruciate; aciunilor (adugarea, tergerea, actualizarea nregistrrilor); operaiilor SQL.

Formularele
Formularele interogare. sunt obiecte folosite pentru a consulta sau actualiza datele dintr-un tabel sau o structur de

Rapoartele
Rapoartele sunt obiecte folosite pentru a sintetiza datele stocate ntr-o tabela real sau virtual i a oferi un rezultat tiprit al informaiilor din baza de date un raport ACCES, de la cea mai simpl list a unui tabel pn la rapoartele cele mai complexe ce conin regrupri de nregistrri i calcule.

Paginile de prezentare
Paginile de prezentare reprezint obiecte specifice ACCESS care permit afiarea ntr-un format accesibil care permite transmiterea rapid a datelor prin Internet sau Intranet.

Macro-urile
Macro-comenzile ACCESS reprezint o modalitate optim de acces la date, care permit automatizarea mai multor sarcini folosind un limbaj specific. Pentru a rezolva o sarcin mai complex se poate construi un macro (format dintr-o mulime de aciuni) sau o procedur (format dintr-o succesiune de instruciuni n Visual Basic).

Modulele
Modulele program conin o parte a codului VBA al aplicaiei, i anume declaraiile de variabile i constante, funciile i procedurile globale ale ntregii aplicaii. VBA reprezint un mediu de programare orientat obiect. Structura unui obiect: Un obiect este o entitate autonom ce prezint caracteristici (proprieti: mrime, culoare, valoare etc.) i comportamente (metode) proprii. Unele obiecte au o reprezentare vizual (Formular, Raport, etc.) n timp ce altele nu sunt accesibile dect n cod VBA (DBEngine, Container etc.) Marea majoritate a obiectelor vizuale au posibilitatea de a reaciona la evenimente (deschidere, actualizare etc.). Programarea VBA permite declanarea evenimentelor, comportamentelor specifice asupra obiectelor prin intermediul codului program: metode, proceduri i funcii. Astfel VBA permite o mare flexibilitate de funcionare i o ntreinere mai uoar. Evenimentul reprezint aciunea utilizatorului sau a sistemului asupra unui obiect ceea ce declaneaz execuia codului program corespunztor. Metoda const n codul program predefinit ce se raporteaz la un tip de obiect i care se execut n momentul apariiei unui eveniment. Procedura este alctuit dintr-un set de instruciuni (un modul program) ce nu returneaz nici o valoare ci execut o anumit aciune. Funcia const dintr-un set de instruciuni (un modul program) care n urma execuiei returneaz o valoare de un anumit tip.

19

OBIECT COMPORTAMENTE
COD DATE

CARACTERISTICI
LISTA DE EVENIMENTE

METODE (PREDEFINITE)

PROPRIETI

PROCEDURI I FUNCII

3.2. Tipuri de fiiere n ACCESS


Micrsosoft Access folosete mai multe tipuri de fiiere: fiierul .MDB este fiierul Database/Baz de date propriu-zis. Aici se regsete ntreg coninutul bazei de date, i anume, datele (Tabele), legturi (Relations/Relaii), interfaa vizual (Formulare i Rapoarte) i codul (Interogri, Macro-uri i Module); fiierul .ADP este un proiect Access ce permite crearea unei aplicaii client-server cu SQL Server 2000. fiierul .MDE este un fiier ce poate fi generat pornind de la un fiier .MDB i care nu mai permite utilizatorului nici s modifice formularele i rapoartele nici s vad codul. fiierul .MDW (system.mdw) este o baz de date Work Group ce stocheaz informaiile de siguran despre utilizatori i grupe, la fel ca i despre opiunile Access. fiierul .MDA este o baz de date Biblioteca/Library i poate avea un cod ce poate fi pus la dispoziia altor baze de date, la fel ca i complemente pentru a extinde posibilitile ACCESS. fiierul .LBD conine informaii despre securizarea fiierului i este administrat automat de Access.

3.3. Lucru cu ACCESS


Ca majoritatea programelor Windows, Access poate fi lansat n execuie prin navigarea meniului butonului Start. Pentru a porni, click pe butonul Start > meniul All Programs >meniul MS Office > Microsoft Access . Meniul MS Office este artat mai jos.

Access se deschide pe ecran:

20

Bara de instrumente Access

Panoul cu sarcini

Utilizarea barei meniu Bara meniu este similara celorlalte programe Microsoft Office. Ea conine meniurile: File - cu opiunile New, Open, Close, Save i Print care sunt folosite pentru aciuni asupra fiierelor baze de date i asupra coninutului acestr fiiere. Acest meniu conine i opiunea Exit pentru ncheierea unei sesiuni de lucru Access. Edit - Cut, Copy, Paste, Delete View - Vizualizarea diferitelor obiecte datatabase (tables, queries, forms, reports) Insert - Inserarea unui nou tabel, interogare, formular, raport (Insert a new Table, Query, Form, Report, etc.) Tools - Conine o varietate de instrumente pentru verificare spelling, crearea de relaii intre tabele, realizarea de analize i diferite utiliti asupra coninutului unei baze de date. Window - Switch ntre bazele de date deschise. Help - Obinerea care activeaz un ansamblu de ferestre help n Access. Meniul File. 1. Se deschide opiunea File. 2. Se executa click pe comanda Open, punctele de suspensie indica faptul ca selectarea comenzii va determina deschiderea unei casete de dialog care va solicita informaii suplimentare. 3. se deschide caseta de dialog Open. Aici putei selecta directorul care conine fiierul pe care dorii s-l deschidei, dup care putei selecta fiierul. Executai click pe Cancel (revocare) pentru a nchide caseta de dialog fr a deschide un fiier. Meniul View 1. Executai click pe opiunea View dine bara de meniuri. Se deschide meniul View. 2. Executai click pe intrarea Database Objects (obiecte de tip baza de date). Este afiat un sub-meniu, n care sunt enumerate comenzi suplimentare; executai click pe oricare dintre aceste comenzi, pentru a o selecta. 3. Apsai tasta ESC de pe tastatura sau executai click oriunde n afara meniului deschis. Procednd astfel, nchidei meniul fr a selecta ceva.

21

3.3. Aplicaii practice n ACCESS


Crearea bazelor de date i a tabelelor Modul de vizualizare Design View introducerea cmpurilor cu tipul de dat asociat i descrierea corespunztoare (modul n care se definete structura tabelelor din baza de date). Utilizatorul poate crea o baza de date nou (fie fr nregistrri - de tip blank, fie cu cteva tabele create interactiv cu database wizard), sau poate s deschid o baza de date existent. n general, la nceputul unui proiect, trebuie creat o baz de date nou, de tip blank. Dup ce este creat o baz de date, aceasta se deschide utiliznd opiunea Open existing database pentru a redeschide baza de date creat anterior. Observaie - Dac este creat o baza de date i dup aceea creai o alta folosind acelai nume, noua baza se va suprascrie peste cea veche. 1. Daca nu este afiat panoul cu sarcini New File, deschidei meniul File i selectai New. 2. n zona New din caseta de dialog New File, executai click pe legtura Blank database (baza de date vid). 3. se deschide caseta de dialog File New Databases. Parcurgei calea de acces pn la directorul n care dorii s salvai noua baz de date. 4. n cmpul File name (nume de fiier) tastai un nume descriptiv pentru noua baz de date. 5. executai click pe butonul Create. 6. Access creeaz o noua baza de date i afieaz fereastra bazei de date: Bara de instrumente Tables

Butonul Tables

Bara de instrumente Objects

Fereastra bazei de date

Crearea tabelelor 1. Dup ce ai creat sau deschis baza de date pentru care dorii s creai un table executai click pe optiunea Tables de pe bara Objects din fereastra bazei de date 2. Executai dublu-click pe opiunea Create table in Design view (reprezint modul cel mai eficient de creare a tabelelor) sau click pe butonul Design situate in bara de instrumente Tables. Crearea unei tabele utiliznd instrumentul wizard permite adugarea unor cmpuri predefinite ce se afla n cadrul bibliotecilor de tabele standard ACCESS. Nu se recomand aceasta modalitate deoarece cmpurile din cadrul tabelelor standard au fost create pentru sistemul de lucru anglo-saxon. Create table by entering data, permite crearea tabelelor prin introducerea de date i reprezint o forma rapida de a introduce datele. Ea poate fi aplicata eficient n cadrul realizrii unei aplicaii complexe. 3. n fereastra design se deschide un tabel gol, coninnd coloanele Field Name (Nume cmp), Data Type (Tip de date) i Description (descriere). n coloana Field Name se tasteaz un nume pentru primul cmp, dup care apsai tasta Tab. La definirea cmpurilor unui tabel, este important s se foloseasc nume de cmpuri sugestive, care s ofere un neles clar al datelor coninute.

22

Numele cmpurilor n Access poate avea lungimea de pn la 64 caractere; este recomandat s nu fie folosite spaii, n locul acestora, pentru desprirea cuvintelor folosindu-se caracterul liniu de subliniere (underscore). 4. Pentru a schimba tipul de date prestabilit, Text, cu altul, executai click pe sgeata n jos din cmpul Data Type, i selectati un nou tip de dat din lista care apare pe ecran. Dup care apsai tasta Tab. 5. Opional tastai o descriere de cmp n coloana description. Acest text apare pe bara de stare a ferestrei Table atunci cnd introducei date i acest cmp este selectat. 6. Repetai pentru a continua s adugai cmpuri. 7. Pentru salvarea tabelului, deschidei meniul File si selectai Save. 8. Se deschide caseta de dialog Save As. Tastai un nume pentru table si executai click pe OK. 9. acces pa solicita s stabilii o cheie primar. 10. tabelul este salvat. Pentru a nchide fereastra tabelului i a reveni n fereastra bazei de date, executai click pe butonul Close.

Vizualizarea structurii unei tabele n fereastra Design


11. Executai click pe tabelul pe care dorii s-l deschidei, pentru a-l selecta. 12. Executai click pe butonul Design situate n bara cu instrumente din fereastra bazei de date. 13. Tabelul este deschis n fereastra Design i v permite s efectuai modificri n structura bazei de date: - Adugarea i tergerea unui nou cmp - Adugarea unei descrieri a cmpului - Schimbarea unui nume de cmp - Schimbarea tipului de date pentru un cmp - Stabilirea dimensiunii unui cmp de text/numeric - Stabilirea cheii principale(executai click pe butonul Primary Key situate n bara de instrumente Standard din fereastra principal a programului Access sau click dreapta i Primary key. Editarea structurii tabelelor din baza de date Fie tabela angajat cu urmtoarea structur:

Afiarea proprietilor unui cmp 1. Executai click pe un cmp pentru a-i vizualiza proprietile; 2. Fereastra de proprieti aflat la baza ferestrei afieaz diverse proprieti pentru cmpul selectat n fereastra de structur. 3. executai click pe un alt cmp pentru ai vizualiza proprietile 4. se observa c proprietile difer n funcie de tipul de cmp. Pe lng proprietile comune, cmpurile au o mulime de proprieti asociate care pot fi afiate i modificate. La orice modificare executat asupra bazei de

23

date, trebuie s salvai baza de date. n acest scop, executai click pe butonul Save situat n bara cu instrumente Standard a programului Access. 5. n cazul n care dorim s adugm un nou cmp se deschide tabelul in vederea Design 6. ne poziionm cu cursorul pe cmpul naintea cruia dorim s inserm o nou linie i din meniului asociat evenimentului click dreapta sau meniu Insert > Rows (bara de instrumente Standard a programului Access). 7. apoi se introduce cmpul, tipul de date, descrierea (opional) i stabilirea proprietilor pentru respectivul cmp: Utilizarea formatului de afiare 1. n fereastra proprieti click pe cmpul Format . 2. apare pe ecran o sgeat n jos, n dreapta cmpului 3. executai click pe sgeata n jos i selectai din lista afiat pe ecran formatul pe care dorii s-l utilizai. 4. dup selecia formatului executai click pe butonul Save (bara Standard), pentru a salva modificarea n tabel.

Utilizarea unei mti de intrare Validarea datelor folosind mtile de intrare deoarece mtile de intrare necesit introducerea unui anumit numr de caractere. 1. dup selecia tabelului (angajat) n fereastra Design executai click in cmpul cruia dorii s-i aplicai o masc de intrare; 2. n fereastra de proprieti, executai click n cmpul Input Mask (masca de intrare). La dreapta cmpului apare un buton pe care se afla puncte de suspensie; 3. executai click pe punctele de suspensie; 4. Access va solicita s salvai baza de date nainte de a continua. Executai click pe YES; 5. Access lanseaz n execuie Input Mask Wizard; primul ecran afieaz o lista de mti de intrare disponibile. Selectai masca de intrare pe care dorii sa o aplicai acestui cmp. Daca selectam Edit list este posibil crearea unei noi intrri, utiliznd sistemul de asistenta al programul Access pentru instruciuni specifice; 6. pentru a testa masca tasai o valoare n caseta de text Try It. Dac suntei mulumit de ceea ce ai obinut, executai click pe Next pentru a continua. 7. Apare pe ecran urmtoarea fereastr a aplicaie expert. n lista Placeholder character (caracter de nlocuire), executai click pe caracterul care dorii sa fie afiat de Access ca marcaj de rezervare in masca de intrare. Caracterul de nlocuire sunt acele care apar n foaia de date atunci cnd introducei date n cmpul de intrare. 8. executai click Next. 9. Input Mask Wizard permite salvarea modificrii cu sau fr simbolurile utilizate in masca de intrare. Selectai opiunea dorit i executai click pe Next. 10. executai click Finish. 11. noua masc de intrare este adugat la foaia de proprieti:

12. salvam (Save) 13. ne comutam la fereastra Datasheet 14. toate intrrile vide din acest cmp conin masca de intrare. Realizarea unui format personalizat 1. click cmpul Format 2. se tasteaz operatorul >

24

3. click Save. n urma introducerii operatorului > toate caracterele introduce vor fi transformate automat n majuscule. Datele existente vor fi i ele afectate de aceasta modificare. Introducerea unei valori prestabilite Daca introducei frecvent aceeai valoare ntr-un cmp, putei defini o valoare prestabilita, datele existente nu sunt afectate de aceasta modificare. Doar noile nregistrri vor fi utiliza valoarea prestabilit. Valoarea prestabilit poate fi oricnd modificat. 1. pentru a introduce o valoare prestabilit executai click pe cmpul Default Value (Valoarea prestabilita) 2. se tasteaz valoarea prestabilit nscris ntre ghilimele. 3. valoare prestabilita este inclusa n structura tabelei baza de date 4. click Save.

Reguli de validare Regulile de validare testeaz conform criteriului furnizat sub forma unei expresii Access, valoarea introdus ntr-un cmp. 1. n fereastra de proprieti click n cmpul Validation Rule. 2. executai click pe punctele de suspensie 3. apare ce ecran fereastra Expression Builder i aici construii interactiv regula de validare folosind operatori, identificatori, funcii i constante. 4. Ok 5. expresia este adugat la lista de proprieti:

6. Save. Textul de validare(Validation Text) reprezint textul care va aprea n cazul in care valoarea introdus nu respecta criteriul impus de regula de validare. Cmpuri care nu pot fi null

25

Pentru anumite cmpuri dorim s ne asigurm c se vor introduce date. Introducerea unei valori pentru un cmp este impus prin activarea proprietii Required pentru cmpul respectiv, astfel c utilizatorul va fi obligat s specifice o valoare. 1. n foaia de proprieti click n cmpul Required (obligatoriu). 2. click sgeat n jos i selectai Yes (imaginea de mai sus) 3. acest cmp necesit acum o intrare. 4. Save Indexarea dup un cmp Dac la definirea structurii unei tabele nu se specific pentru un cmp anume c reprezint cheie primar, ACCESS include n structura tabelei un cmp cu numele ID care reprezint numrul de nregistrare i care va fi desemnat de sistem ca fiind cheie primar. Tabela poate avea mai multe chei alternante, sau cmpuri care reprezint chei de indexe. Aceste sunt necesare pentru a accelera optimiza interogarea bazei de date. Deoarece indexarea cmpurilor crete timpul necesar pentru operaiile de actualizare, este necesar ca numrul de indeci s fie minim. Cnd se specific un cmp ca fiind cheie de index se poate preciza c respectivul cmp conine o intrare unica (adic nu conine valori duplicat) sau sunt permise valori duplicat. Lucru util pentru cmpurile care conin valori care ar trebui sa fie unice. Dac ncercai s introducei o noua nregistrare cu o valoare care se repet ntr-un cmp indexat care nu accepta dubluri, vei vedea pe ecran un mesaj de eroare. 1. click campul Indexed 2. click sageata n jos i din lista care apare pe ecran executai Click Yes (Duplicates OK) sau No (No Duplicates). 3. Save. Pentru a stabili care este cheia principal se selecteaz cmpul dup care se selecteaz butonul primary key .

Selectarea unei valori dintr-o lista predefinita de valori n cazul n care pentru un cmp exit o list de valori prestabilite se poate asocia lista respectiv cmpului i astfel la introducerea datelor valoarea va fi selectat din list. Ordonarea elementelor listei nu se realizeaz automat, fiind sarcina utilizatorului. 1. Se deschide fereastra Design View de definire a structurii tabelei; 2. Se selecteaz cmpul; 3. n seciunea Field Properties se selecteaz opiunea Lookup; 4. n lista ascuns Display Control, se selecteaz Combo Box; 5. n Row Source Type, se selecteaz Value List; 6. n Row Source, se introduc valorile separate prin virgula.

Introducerea datelor n tabele


Modul de vizualizare Datasheet View permite introducerea de date n tabel. 1. Dup de ai deschis baza de date care conine tabelul pe care dorii s-l deschidei, executai click pe opiunea Tables din bara Objects pentru a afia tabelele disponibile in respective baza de date. 2. Executai click pe butonul Open situate n bara cu instrumente din fereastra bazei de date, sau dublu-click mouse. 3. Tabelul se deschide n vederea Datasheet. Dac ai introdus nregistrri n tabel, acestea sunt vizibile n caz contrar, tabelul este vid. 4. n aceast fereastr, cmpurile (coloanele) apar ca i cap de tabel n partea superioara a ferestrei, iar imediat sub ele se completeaz nregistrrile propriu-zise ale tabelului. n partea de jos a ecranului observai numrul afiat de nregistrri coninute de tabel. Pentru un tabel vid apare afiat doar o singur linie goal. 5. Pentru a aduga nregistrri n tabel (liniile tabelei reprezint date propriu-zise), se tasteaz simplu valorile corespunztoare fiecrui cmp n parte. Pentru deplasarea printre cmpurile unei nregistrri se folosete tasta Tab, iar pentru deplasarea printre nregistrrile tabelului tastele sgeat sus i jos. 6. Salvarea datelor introduse se face automat la nchiderea ferestrei. 7. Pentru a naviga printre nregistrrile tabelului se folosete bara navigation bar din partea inferioara a ecranului:

8. Pentru a modifica datele existente, se navigheaz pe nregistrarea dorita, se deplaseaz n cmpurile de interes i se modifica valorile existente cu alte valori noi. 9. Pentru a terge o nregistrare se navigheaz pe nregistrarea de interes i apoi se folosete fie comanda Delete din meniul Edit, fie aceeai comand Delete din meniul asociat evenimentului click dreapta mouse.

26

10. Pentru a aduga o nou nregistrare, executai click pe butonul New Record (bara de navigare) a ferestrei tabelului sau click dreapta New record. Cnd se apas tasta Tab, dup ce ai completat ultimul cmp al liniei curente, Access salveaz nregistrarea din acea linie i creeaz o nregistrare nou i goal, pregtit pentru a primi noi nregistrri. Fixarea coloanelor Dac o tabl are multe coloane, astfel nct nu le putem vedea pe toate n fereastra de vizualizare. n acest caz se poate fixa coloana de care avem nevoie, astfel nct aceasta s rmn pe ecran. 1. selectarea coloanei pe dorii s o fixai. 2. se deschide meniul Format > Freeze Columns. 3. coloana este fixat. n momentul in care am fixat coloana, Access o mut pe primul luc n fereastra de vizualizare. 4. pentru a anula, deschidei meniul Format > Unfreeze All Columns. Ascunderea coloanelor O modalitate simpl de a va concentra pe anumite cmpuri din tabel este ascunderea coloanelor, care nu sunt relevante pentru ceea ce lucrai n acel moment. 1. executai click pe coloana pe care dorii sa o ascundeti. 2. deschidei meniul Format i selectai Hide Columns 3. coloana este ascunsa. Pentru a afia din nou coloana ascuns, deschidei meniul Format > Unhide Columns 4. se deschide caseta de dialog Unhide Columns, afind coloanele din tabel. Fiecare coloana este nsoit de o caseta de validare. Coloanele nsoite de o caseta de validare sunt ascunse. Executai click pentru a o bifa i a afia coloana. 5. Close. 6. coloanele ascunse vor fi afiate. Redimensionarea coloanelor Toate coloanele unui tabel au aceeai mrime. Totui, le putem re-dimensiona n funcie de necesiti. 1. plasai cursorul mouse pe marginea din dreapta a coloanei pe care dorii s o redimensionai. Cursorul mouse-ului i sugernd poziionare pe marginea coloanei. 2. executai click pe marginea coloanei i dup fixare innd butonul mouse apsat deplasai mutai marginea spre stnga, respectiv dreapta, pentru a micora, respectiv mri coloana. 3. coloana este redimensionat. 4. pentru a redimensiona liniile se procedeaz similar. Rearanjarea coloanelor Schimbarea structurii tabelului propriu-zisa nu este afectata de schimbarea ordinii coloanelor n fereastra de vizualizare. 1. selectai coloana pe care dorii s o mutai; 2. tragei coloana n noua poziie. In timp ce tragei, se afieaz o linie vertical; 3. cnd linia vertical a ajuns n poziia dorit, eliberai butonul mouse; 4. coloana este mutat. tergerea unei nregistrri O tergere nu poate fi anulata, adic nregistrarea tears nu poate fi refcut. 1. selectai nregistrarea pe care dorii sa o tergei 2. deschidei meniul Edit i selectai Delete Records 3. Access v solicit s confirmai tergerea. Executai click pe Yes 4. nregistrarea este tears. Copierea unei nregistrri 1. selectai nregistrarea pe care dorii sa o copiai 2. deschidei meniul Edit i selectai Copy 3. executai click n linia goal de la baza tabelului 4. deschidei meniul Edit i selectai Paste Append 5. nregistrarea copiat este scris i poate fi editat funcie de necesiti. Procedeul poate fi utilizat i pentru a muta o nregistrare dintr-un loc n altul, dar n loc s utilizai Edit > Copy utilizai Edit > Cut. Sortarea nregistrrilor n fereastra Datasheet

27

1. executai click n cmpul sau coloana dup care dorii sa se realizeze sortarea; 2. executai click pe butonul Sort Ascending/Sort Descending; 3. nregistrarea a fost sortat. Daca dorii s avei posibilitatea de a reveni la ordinea iniial, includei n structura tabelului un cmp de tip Autonumber, care numeroteaz n mod automat nregistrrile din tabel. Dup aceea putei sorta nregistrrile din tabel dup acest cmp, pentru a reveni la ordinea iniial. Pentru sortare se poate utiliza comenzile din meniul Records > Sort > Sort Ascending sau Sort Descending. Regsirea datelor i nlocuirea datelor 1. executai click pe coloana sau cmpul dup care dorii s efectuai cutarea; 2. deschidei meniul Edit i selectai Fiind; 3. caseta de dialog Find and Replace se deschide, afind rubrica fiind. n cmpul Find What tastai valoare de cutat i atunci cnd este cazul noua valoare pentru nlocuire; 4. opional pentru a cuta n tabel, executai click pe sgeata n jos de lng cmpul Look in i selectai numele de tabel care apare pe ecran. 5. executai click pe sgeata n jos de lng cmpul Match i selectai Whole Field, Any Part of Field sau Start of Field; 6. executai click pe butonul Find Next; 7. Access localizeaz i selecteaz nregistrarea care conine prima intrare care corespunde datelor cutate. Dac nu este nregistrarea de dcare este nevoie, executai click pe butonul Find Next pentru a gsi urmtoarea apariie a valorii cutate. Se repet operaia de care ori este necesar. 8. Access anuna cnd nu mai gsesc alte apariii. Executai click pe OK. Pentru a nchide caseta de dialog Find and Replace, executai click Cancel. Formatarea coninutului ferestrei Datasheet 1. deschidem meniul Format > Datasheet 2. apare pe ecran caseta de dialog Datasheet Formatting 3. selectati Flat (plat), Raised (reliefat) sau Sunken (adancit) din zona Cell Effect pentru a preciza cum ar trebui s arate celulele din tabel; 4. pentru a aplica o culoare de fundal tabelului, executai click sageata in jos de lng cmpul Background Color i selectai o culoare din lista care apare pe ecran. 5. pentru a schimba culoarea liniilor de grila din tabel, executai click pe sgeata n jos de lng cmpul Gridline Color i selectai o culoare din lista care apare pe ecran. 6. pentru a schimba stilul de linie al chenarului tabelei, al liniilor de grila sau al sublinierii titlului de coloan, selectai articolul de schimbat din lista derulanta din partea stng, din zona Border and Line Styles 7. executai click sgeata n jos de lng cmp situate n extremitatea dreapta n zona Border and Line Styles i selectai un stil de linie pentru chenarul tabelei, liniile de grila, respectiv sublinierea titlurilor de coloan. 8. Zona Sample din caseta de dialog Datasheet Formatting afieaz o imagine n care putei vedea schimbrile nainte de aplicarea acestora. Daca suntei mulumit de noul aspect al tabelei, executai click pe OK; 9. inversarea ordinii coloanelor - pentru a inverse ordinea coloanelor, selectai butonul de opiune Right-to-left al casetei de dialog Datasheet Formatting 10. tabelul este formatat cu elementele selectate. Pentru exemplificri folosim o baz de date numit Aprovizionare care are patru tabele cu urmtoarea structur: Furnizor Denumire Semnificaie Tip cmp Codfz Codul furnizorului Number(Long Integer) PK Denfz Denumirea furnizorului Text(50) Adrs Adresa furnizorului Text(50) Codf Codul fiscal al furnizorului Number(Long Integer) Banca Banca unde are deschis cont Text(30) furnizorul Cont Numarul contului in banca Text(24) Factura Denumire cmp

Semnificaie

Tip

28

Nrfact Datafact Codfz Linie_factura Denumire cmp Nrlinie Nrfact Codp Cant Produs Denumire cmp Codp Denp Um Pretu

Numarul facturii Data la care a fost emisa factura Codul furnizorului

Number(Long Integer) PK Date/Time Text(50) FK

Semnificaie Numar linie factura Numarul facturii Codul produsului Cantitatea intrata

Tip Number(Long Integer) PK Number(Long Integer) FK Number(Long Integer) FK Number(Long Integer)

Semnificaie Codul produsului Denumirea produsului Unitatea de masura Pretul unitar

Tip Number(Long Integer) PK Text(50) Number(Long Integer) Number(Long Integer)

Crearea de relatii ntre tabele(Relationships) Din punct de vedere al momentului crerii relaiilor, exista 2 tipuri de relaii ntre tabelele unei baze de date Access i anume: 1. Relaii permanente care se stabilesc dup definirea tabelelor i sunt considerate de modelul relaional ca fcnd parte din structura bazei de date. Acestea se realizeaz de obicei prin corespondentele cheie primar cheie extern i sunt memorate n baza de date. 2. Relaii temporare se stabilesc ntre tabele cu ocazia definirii unor cereri de interogare, nefiind nregistrate n structura bazei de date. n baza de date nu este obligatoriu ca ntre tabele s existe relaii. Relaiile care se pot stabili ntre tabele sunt de 3 tipuri: unu la unu (one to one); unu la mai muli (one to many); mai muli la mai muli (many to many). Dup definirea mai multor tabele n baza de date, acestea pot fi relaionate pe baza cmpurilor comune. O relaie funcioneaz pe baza unor cmpuri comune ale tabelelor, astfel nct s se poat proiecta pe baza lor structuri de interogare, formulare i rapoarte care s extrag date din tabelele bazei de date. n majoritatea cazurilor, aceste cmpuri comune sunt: cheia primara a unui tabel (primary key care furnizeaz o identificare unic a fiecrei nregistrri din tabelul respectiv) i cheia externa (foreign key) a unui alt tabel. Explicitarea acestei relaii in Access se face prin intermediul ferestrei Relationships. Access va utiliza aceasta informaie atunci cnd va proiecta rapoarte, formulare si structuri de interogare care vor avea folosi mai multe tabele. Se urmeaz paii de mai jos pentru crearea relaiei ntre doua tabele: n fereastra bazei de date meniul Tools > Relationships sau de pe bara de instrumente Standard butonul :

sau
1. se deschide caseta de dialog Show Table, cu rubrica Tables in prim-plan. Executai click pe primul tabel pentru care dorii sa stabilii o relaie pentru a fi selectat; 2. executai click pe butonul Add; Daca adugai din greeala un tabel n fereastra Relationships, l putei terge din fereastra executnd click dreapta pe fereastra tabelului si selectand Hide Table din meniul rapid care este afiat. 3. pe ecran este afiata o fereastra reprezentnd tabelul (tabelele) adaugate:

29

4. dup ce tabelele au fost selectate click pe butonul Close; 5. pentru a stabili legtura dintre doua tabele se trage (drag) cmpul primary key al tabelului printe (furnizor n acest caz), i se elibereaz peste (drop) acelai cmp din tabelul copil (factura in acest caz); 6. se deschide caseta de dialog Edit Relationships, unde se pot stabili opiuni privind funcionarea relaiei pe care a-i stabilit-o. Verificai sa fie enumerate drept cmpuri legate cmpurile corecte. 7. Select Enforce Referential Integrity

Aceasta opiune are o aciune de constrngere astfel nct o nregistrare din tabelul furnizor nu poate fi creat fr a avea un client valid in codfz, iar Access va preveni de asemenea utilizatorul n momentul n care ar dori s tearg o nregistrare din tabelul furnizor care are nregistrari relaionate n tabelul factura. - Atunci cnd opiunea Update Related Fields este bifat, orice schimbare in tabela primara va determina modificarea automata a valorilor corespunztoare din nregistrrile relaionate. - Atunci cnd opiunea Cascade Delete Related Records este bifat, tergerea unei nregistrri din tabela printe va determina tergerea automata a tuturor nregistrrilor corespondente din tabelul relaionat. 8. Click pe Create i salvai relaia. Ecranul Relationships va reapare astfel:

Simbolul "1" indic partea "One" a relaiei i simbolul infinit indic partea "Many" a relaiei. Pentru a terge o relaie vom da click pe linia creat pentru a o selecta i apoi se apas tasta Delete de pe tastatur. 9. executai click pe butonul Save ca sa salvai relaia. 10. executai click pe butonul Close din fereastra Relationships, ca s o nchidei. Utilizarea sub-foilor de date Atunci cnd sunt legate dou tabele avem posibilitatea ca n fereastra de vizualizare a tabelei printe s activm o subfereastr prin intermediu creia putei consulta nregistrarea fiic cu care este legat. Datele din sub-foaie pot fi editate.

30

Dac ai configurat relaia impunnd integritatea referenial, modificrile vor fi efectuate i salvate n tabelul original, legat. 1. se deschide tabel printe, se d click pe semnul plus de lng nregistrarea a crei sub-foaie de date dorii s o vedei.

2. datele din tabelul corelat cu acesta sunt afiate. Pentru a ascunde sub-foaia de date, se execut click pe semnul minus de lng nregistrare.

3. sub-foaia de date este ascuns. Structuri de interogare (Query) O interogare (query) este o definiie unei tabele virtuale care folosete date din tabele reale. Aceast structur include cmpuri din tabele legate, criteriile de selecie, ordinea de sortare. Structura unei interogri indic datele care se vor extrage, Microsoft Access oferind urmtoarele posibiliti: selectarea anumitor cmpuri semnificative din nregistrrile unei tabele; selectarea nregistrrilor care satisfac anumite criterii; sortarea nregistrrilor ntr-o ordine precizat de utilizator; interogarea mai multor tabele; o interogare permite combinarea nregistrrilor din mai multe tabele i afiarea rezultatului ntr-un singur tabel virtual; interogarea altor baze de date existente n sisteme de gestiune a bazelor de date cum sunt FoxPro, Paradox, dBase, Btrieve, Microsoft SQL Server; crearea de cmpuri pentru afiarea rezultatelor unor calcule; crearea de rapoarte, formulare sau alte interogri. Rolul fundamental al structurilor de interogare (Queries) este acela de a accesa i afia date din tabele. Interogrile pot accesa un tabel sau mai multe tabele. Fereastra de definire a structurii de interogare Query Design view are dou seciuni principale. n seciunea superioar va afia tabelul (tabelele) folosit(e) de interogare mpreun cu cmpurile respective disponibile, iar seciunea inferioar este o gril care va conine acele cmpuri selectate pentru a fi afiate. Fiecare cmp are cteva opiuni asociate: Field - Numele cmpului din tabel Table - Tabelul din care provine cmpul selectat Sort - Ordinea de sortare n cadrul cmpului (Ascending, Descending sau Not Sorted) Show - Se bifeaz sau nu dup cum se dorete sau nu afiarea cmpului respectiv ca rezultat al rulrii interogrii. Criteria - Indic criteriul dup care sunt filtrate nregistrrile - criteriul se specific n cmpul (cmpurile) n care se aplic filtrarea valorilor respective. Odat construit, o structur de interogare poate fi surs de nregistrri pentru crearea unui formular sau a unui raport. Interogrile afieaz datele coninute n cel mult 16 tabele. Cu ajutorul lor se poate indica modul n care s fie prezentate datele, alegnd tabelele care conin interogarea i cel mult 255 de cmpuri ale acestora. n Access se pot crea urmtoarele tipuri de interogri: interogri de selecie, interogri de aciune, interogri ncruciate, interogri parametrice. Interogrile de selecie extrag informaii din unul sau mai multe tabele i le afieaz sub form de list. Ele permit i modificarea rezultatului afiat, modificare ce va fi vzut i n tabelul surs. De asemenea, permit i folosirea de parametri, cum este reuniunea de cmpuri din tabele ntre care nu exist nici o legtur. Interogrile uni-tabel sunt utilizate pentru vizualizri de date dintr-un tabel, care: afieaz doar anumite cmpuri (coloane); sorteaz nregistrrile ntr-o ordine particular;

31

efectueaz calcule folosind expresii de anumite tipuri; filtreaz nregistrrile folosind anumite criterii; Realizarea de interogri asupra mai multor tabele folosind relaiile stabilite ntre tabele pentru a manipula astfel datele care satisfac cerinele interogrii. Interogrile de aciune creeaz un nou tabel n baza de date sau realizeaz modificri majore ale unui tabel existent. n general, toate interogrile de aciune pot fi realizate pe baza unei interogri de selecie. Ele permit adugarea, modificarea sau tergerea de nregistrri ntr-un tabel. Exist patru tipuri de interogri de aciune: interogri de generare a unui nou tabel din datele coninute n setul de rezultate al interogrii; interogri de adugare a noi nregistrri ntr-un tabel; interogri de tergere a unor nregistrri dintr-un tabel; interogri de actualizare a unor nregistrri dintr-un tabel, conform cu o condiie ce trebuie ndeplinit. Aciunile acestora sunt ireversibile asupra datelor din tabelele surs, iar n cazul ultimelor trei dintre ele, trebuie urmrit pstrarea integritii refereniale atunci cnd prin intermediul lor se acioneaz asupra mai multor tabele legate. Interogrile ncruciate centralizeaz n formatul unei foi de calcul tabelar datele din unul sau mai multe tabele. Datele rezultate dup execuia unei astfel de interogri sunt prezentate ntr-un format potrivit pentru analiza datelor i crearea de grafice. Interogrile parametrice nu sunt un tip special de interogri, o funcie parametru putnd fi folosit pentru toate celelalte interogri prezentate mai sus; ele folosesc n mod repetat o interogare, efectund modificri n criteriile de selecie. Crearea manual a interogrilor se realizeaz prin intermediul utilitarului Query Design care folosete o interfaa grafic de tip Query by Example (QBE). Aceasta permite utilizatorilor s gseasc i s afieze informaiile de care au nevoie. Alegerea tipului de interogare se face selectnd opiunea corespunztoare din meniul Query. Pentru a crea o nou structur de interogare n modul Query Design, se vor parcurge urmtorii pai: 1. selectarea tabelelor din care se doresc a fi afiate/prelucrate datele; 2. selectarea cmpurilor care se vor transforma n coloanele tabelului virtual rezultat al interogrii; 3. stabilirea criteriilor de selecie i a cmpurilor asupra crora vor fi aplicate; se poate apela la un singur criteriu de selecie sau la mai multe criterii, aplicate fie unor cmpuri diferite, fie formnd un criteriu compus aplicat aceluiai cmp; 4. stabilirea parametrilor de selecie. Parametrii funcioneaz pentru interogri asemntor criteriilor de selecie, cu deosebirea c la fiecare execuie trebuie specificat valoarea parametrului n funcie de care se va realiza selecia; 5. stabilirea tipului de sortare a datelor afiate ca rezultat i a cmpurilor asupra crora va aciona; 6. specificarea expresiilor de calcul pentru cmpurile care sunt rezultatul unor operaii executate asupra unora dintre cmpurile deja existente. Acest lucru se poate face fie prin scrierea direct a formulei, fie prin apelarea constructorul de expresii un utilitar inclus n ACCESS; 7. alegerea tipului de interogare prin selectarea din meniul Query a uneia dintre opiunile: de selecie, ncruciat, de generare a unui tabel, de adugare ntr-un tabel, de tergere dintr-un tabel, de actualizare a unui tabel. n funcie de opiunea aleas, Access modific designul interogrii i cere informaii suplimentare astfel: pentru generarea unui tabel numele tabelului ce urmeaz a fi creat; pentru adugarea ntr-un tabel numele tabelului ce urmeaz a fi ncrcat cu date, precum i cmpurile destinaie; pentru actualizare condiiile de actualizare i valoarea la care se dorete actualizarea; pentru tergere numele tabelului din care se va terge i condiia de tergere. Pentru a rula interogarea avem la dispoziie butonul din bara de instrumente pe care este desenat semnul exclamrii de culoare roie sau, n mod echivalent, putem folosi opiunea Run a meniului Query. Formulare ACCES

Formularele (formele) sunt machete (ferestre) folosite pentru consultarea i reactualizarea datelor. Formularul are ca destinai ecranul, dar poate fi tiprit i la imprimant. Este folosit pentru un acces aleator la nregistrri. Spre deosebire de rapoarte, dac se tiprete un formular la imprimant apar i culorile de fundal, mpreun cu butoanele de comand, casetele de text i alte controale. Formularul se definete pentru un tabel real sau virtual.
n funcie de modul de afiare, sunt disponibile urmtoarele tipuri de formulare: - Single form afieaz doar nregistrarea curent; - Continuous form permite vizualizarea mai multor nregistrri; - Datasheet form afieaz datele sub form de linii i coloane, la fel ca o foaie de calcul tabelar; Chart form afieaz datele sub form grafic.

32

Formularele din Access creeaz interfaa utilizatorului cu tabelele. Ele permit realizarea unor obiective ce nu pot fi ndeplinite prin lucrul n mod direct cu tabelele. Prin intermediul lor se poate opere direct asupra datelor fie dintr-un tabel. Formularele sunt compuse din obiecte de control, care sunt o colecie de elemente specifice de proiectare destinate fie afirii datelor.

Crearea formularelor
ACCESS ofer urmtoarele metode de realizarea a formularelor: Design View permite crearea manual a formularelor. Utilizatorului i se pune la dispoziie un tabel liber i caseta cu instrumente Toolbox; Form Wizard genereaz un formular pe baza cmpurilor selectate din unul sau mai multe tabele sau interogri; AutoForm: Columnar creeaz un formular n care fiecare cmp apare pe o linie separat avnd n stnga numele, fiecare nregistrare reprezentnd un nou tabel; AutoForm: Tabular creeaz un formular n care numele cmpurilor apare o singur dat n captul de sus al formularului, iar nregistrarea datelor se face pe linie; AutoForm: Datasheet creeaz un formular n care datele sunt afiate sub forma foilor de calcul tabelar; AutoForm: PivotTable creeaz un formular n care sunt afiate date calculate vezi punctul 9 pentru mai multe detalii; AutoForm: PivotChart creeaz un formular n care sunt afiate sub form grafic date calculate; Chart Wizard creeaz un formular n care datele sunt afiate sub forma unui grafic; Pivot Table Wizard creeaz un formular n care sunt afiate datele calculate; programul folosete aplicaia Microsoft Excel pentru a crea tabelul pivot, n timp ce n Microsoft Access se creeaz formularul n care acesta va fi inclus. Sunt numite astfel pentru c li se poate schimba n mod dinamic aranjarea astfel nct s analizeze datele selectate n diverse moduri. Crearea manual a formularelor cu Design View realizeaz n mod interactiv folosind o surs de date (tabel real sau virtual) care va conine date pentru care se definete formularul folosind o fereastr, de definire formular (form), n care vor fi inserate diverse tipuri de obiecte. Lista obiectelor ce pot fi inserate n formular este pus la dispoziia utilizatorului prin intermediul grupului de butoane Toolbox. n formularele Access se pot insera trei tipuri de obiecte de control: 1. obiecte de control asociate sunt obiecte ataate unui cmp din sursa de date a formularului, ele afind i actualiznd valorile datelor cmpului asociat din nregistrarea curent. Toate obiectele de acest fel sunt nsoite de etichete ce afieaz titlul cmpului cruia i sunt ataate; 2. obiecte de control neasociate sunt obiecte care afieaz datele independente de sursa de date a formularului; ele pot sau nu s fie nsoite de etichete; 3. obiecte de control calculate sunt obiecte ce folosesc expresiile calculate, ca surs de date. Principalele obiecte de control vizibile pe caseta Toolbox sunt: - caseta de text Text Box creeaz o caset ce afieaz i permite editarea datelor de tip text; - caseta de list List Box creeaz o caset ce cuprinde o list derulant de opiuni; - caseta combinat Combo Box creeaz o caset combinat for-mat dintr-o caset de text editabil i o caset de list. Poate avea ca surs chiar un alt tabel dect sursa de date; - caset de validare Check Box creeaz o caset de validare care comut ntre strile on i off; - buton comutator Toggle Button creeaz un buton cu dou stri on/off, corespunztoare strilor - yes (-1), respectiv no (0); - buton de opiune Option Button creeaz un buton rotund cu un comportament identic cu cel al unui buton comutator; - grup de opiune Option Group creeaz o caset n care se pot plasa butoane comutatoare, de opiune sau casete de validare. n cadrul unui astfel de grup poate fi activ un singur obiect de control; - buton de comand Command Button creeaz un buton care la selectare comut un eveniment ce execut o macroinstruciune sau o procedur VBA; - etichet Label creeaz o caset ce conine un text; - submachet Subform ataeaz unei machete o sub-machet deja existent. Pentru a crea manual un formular se parcurg urmtorii pai: 1. stabilirea surselor de date care pot fi unul sau mai multe tabele/interogri; 2. stabilirea tipului de formular dorit, n funcie de forma de afiare; 3. alegerea obiectelor de control necesare i configurarea lor conform cu necesitile de afiare i editare n cadrul formularului; 4. configurarea zonelor de antet i de subsol att la nivelul ntregului raport ct i la nivelul fiecrei pagini; 5. crearea unui sub-formular dac este necesar; 6. adugarea sub-formularului i crearea legturilor cu formularul de origine.

33

Rapoarte ACCES

Raportul este formatul extern, final, de prezentare a informaiilor extrase din baza de date n form tiprit. Raportul constituie cea mai bun modalitate de a tipri informaiile extrase din baza de date. n ACCESS exist ase tipuri de rapoarte de baz: 1. rapoartele cu o singur coloan afieaz pentru fiecare nregistrri din sursa de date toate cmpurile plasate unul sub altul; 2. rapoartele dispuse pe linii furnizeaz cte o coloan pentru fiecare cmp al sursei de date, plasnd valoarea fiecrui cmp al nregistrrii pe linii plasate sub capul de coloan. Dac exist mai multe coloane i nu ncap pe o pagin, se tipresc mai multe pagini suplimentare, n ordine pn la epuizarea numrului de coloane; apoi, se tiprete urmtorul grup de nregistrri; 3. rapoartele multi-coloan se obin din rapoartele cu o singur coloan, prin divizarea paginii n mai multe coloane asemntor tipririi ziarelor; 4. rapoartele cu grupare/totalizare sunt similare rapoartelor create de alte aplicaii de gestiune a bazelor de date. Ele nsumeaz datele pe grupuri de nregistrri i adaug la sfritul raportului informaii statistice de tip total general; 5. etichetele pentru coresponden constituie un tip deosebit de raport multicoloan, proiectat pentru a tipri n mod grupat nume i adrese sau alte informaii provenite din mai multe cmpuri; 6. rapoartele neasociate conin subrapoarte care au la baz surse de date nelegate, cum ar fi tabele sau interogri. Primele patru tipuri de rapoarte utilizeaz ca surs de date o tabel sau o structur de interogare. Ele se numesc rapoarte asociate sursei de date. Raportul principal al unui raport neasociat nu este legat la o tabel sau structur de interogare. ns subrapoartele coninute ntr-un raport neasociat trebuie s fie asociate unei surse de date. Raportul parcurge secvenial nregistrrile sursei de date, tabel real sau virtual, pentru a tipriri datele oferind posibilitatea de a insera totaluri, subtotaluri i rezumate, de a grupa datele pe un numr de pn la 10 niveluri diferite i subrapoarte imbricate pe maxim trei niveluri. Raportul nu permite editarea i modificarea datelor. Machetele de raport pot fi stocate pe disc pentru a fi tiprite ulterior. Raportul este structurat pe urmtoarele seciuni: Report Header zon rezervat nceputului de raport; Page Header zon rezervat nceputului de pagin; Detail zon rezervat pentru descrierea linilor curente (de detaliu) din cadrul raportului, putnd fi grupate 10 nivele; Page Footer zon rezervat pentru sfritul de pagin; Report Footer zon rezervat sfritului de raport. Crearea rapoartelor Modul de generare a unui raport prin folosirea programelor Wizard este asemntor cu cel prin care se genereaz formularele folosind ReportWizard: - Opiunine AutoReport realizeaz un raport ntr-un singur pas, limitrile constau dint posibilitatea selectrii datelor dintr-o singur surs. - Opiunea Design View permite construirea manual a unui raport. Prin selectarea acestei opiuni se va deschide o fereastr de proiectare raport i instrumentele de lucru. Crearea unui nou raport este asemntoare cu cea de creare a formularelor, trecnd prin aceleai etape i folosind aceleai obiecte de control. Spre deosebire de formulare, rapoartele au mai multe posibiliti de sortare, grupare i calculare a datelor. Access permite manipularea rapoartelor prin programele de aplicaie, ns nu i crearea acestora. Pot fi modificate proprietile obiectelor de control din cadrul unui raport astfel nct s fie actualizat n mod dinamic.

34

CAP.5. LIMBAJUL SQL 5.2. Prezenate limbaj SQL


Limbajul SQL (Structured Query Language sau limbajul structurat de interogri) este un limbaj de interogri i gestionare a bazelor de date relaionale. Access folosete SQL ca limbaj de interogare. n momentul crerii unei interogri n modul de interogare Design, Access construiete n paralel instruciunile SQL echivalente. De altfel, majoritatea proprietilor interogrilor n modul de interogare Design prezint clauze echivalente i opiuni accesibile n limbajul SQL. Exemplu: Dechidei o interogare n modul Design View:

Facei clic pe opiunea Mode SQL al icoanei View

Se va obine instruciunea SQL corespunztoare interogrii

Observaie: Aceast operaie este foarte interesant n special pentru cei nefamiliarizai cu limbajul SQL: se poate crea interogarea n Access i recupera instruciunea SQL astfel generat pentru a o include n codul VBA.

Anumite interogri SQL, numite interogri specifice limbajului SQL, nu pot fi create n grila de generare a interogrilor, ci trebuie s fie scrise direct n modul SQL. Este vorba de: - interogrile directe ce permit operarea direct cu tabele n server, - interogrile definiii de date ce permite crearea, tergerea sau modificarea structurilor tabelelor, - interogrile Union ce permit regruparea cmpurilor de dou tabele (sau mai multe) n acelai cmp rezultat din interogare. Aceste interogri sunt foarte utile n fuzionarea nregistrrilor ce provin din tabele diferite.

35

5.2. Limbajul SQL I VBA


Interogrile SQL se integreaz perfect n VBA i pot fi utilizate pornind de la metodele diverselor obiecte: - metoda OpenRecordset a obiectelor DataBase i Connection, - metoda CreateQueryDef a obiectelor DataBase i Connection, - metoda Execute a obiectelor Command i Connection, etc. Interogrile SQL sunt de asemenea foarte des utilizate n formulare: - proprietatea RecordSource a unui formular sau raport, - proprietatea RowSource a unei liste derulante, etc. Majoritatea acestor proprieti pot fi modificate de codul VBA. Avantajele utilizrii instruciunii SQL n VBA sunt urmtoarele: Viteza de execuie: o instruciune Select este mai rapid dect parcurgerea secvenial a unui tabel. Performan mai bun: n modul client/server, interogrile sunt compilate de SGBD care le optimizeaz performaele. ntreinere mai uoar: codul de instruciuni SQL este mai scurt, deci mai uor de citit, dect echivalentul su n VBA. Standardizare: limbajul SQL este standardul de interogare al bazelor de date relaionale.

5.3. Descrierea limbajului SQL


INSTRUCIUNEA SELECT SELECT este cea mai folosit instruciune, corespunznd interogrii Selection din Access. Permite extragerea cmpurilor unui ansamblu de nregistrri ce corespund unor criterii. Sintax:
SELECT [ALL |DISTINCT <list de cmpuri> FROM <list de tabele> [WHERE ...] [GROUP BY...] [HAVING...] [ORDER BY] ALL Distinct

Sunt luate n considerare toate nregistrrile ce corespund criteriilor. Sunt omise toate nregistrrile pentru care cmpurile selectate conin date n dublu exemplar. List de cmpuri selectate, separate de virgule Indic faptul c toate cmpurile tabelului/tabelelor specifcat(e) sunt selectate. Indic numele ce trebuie folosite drept antete de coloan n locul numelor coloanelor originale din tabel. Numele tabelului sau tabelelor ce conin datele care trebuie extrase.

<list de cmpuri> *

Alias1, alias2

<list de tabele>

CLAUZA FROM Aceasta specific tabelele sau interogrile din care sunt extrase datele. Sintax:
FROM table 1 [LEFT|RIGHT|INNER JOIN table2 ON TABLE1.camp1 <operator de comparare> TABLE2.cmp2 [LEFT|RIGHT| INNER] LEFT JOIN

Aceti operatori permit definirea tipului de imbricare ntre tabele. Se folosete pentru a crea o imbricare extern de

36

stnga. Rezultatul acesteia cuprinde toate nregistrrile provenite din primul tabel (cel din stnga: <tabel1>) i pe acelea pentru care exist o valoare corespunztoare n al doilea tabel (cel din dreapta: <tabel2>).
RIGHT JOIN

Se folosete pentru a crea o imbricare extern de dreapta. Rezultatul acesteia cuprinde toate nregistrrile provenite din al doilea tabel (cel din dreapta: <tabel2>) i pe acelea pentru care nu exist valoare corespunztoare n primul tabel (cel din stnga: <tabel1>). Se folosete pentru a crea o imbricare ce nu cuprinde dect nregistrrile n care datele cmpurilor sunt identice. Toi operatorii de comparare relaional ce sunt utilizai (=, <, >, < =, > =).

INNER JOIN

<operator de comparare>

Exemple: Select Clients.Cli_societate, Commandes.Cde_DateCde From Clients INNER JOIN Commandes ON Clients.Cli_CodeCli =Commandes.Cde_CodeCli

List de comenzi lansate de societate. n primul exemplu, sunt selectai doar clienii care au facut deja comenzi.
Select Clients.Cli_societate, Commandes.Cde_DateCde From Clients LEFT JOIN Commandes ON Clients.Cli_CodeCli =Commandes.Cde_CodeCli

n al doilea exemplu, sunt selectai toi clienii. CLAUZA WHERE Permite filtrarea nregistrrilor dup anumite criterii. Condiiile clauzei WHERE se exprim cu ajutorul operatorilor urmtori: - operatori de comparare: =, <, >, < =, > =, Is [Not] Null, [Not] In, Between. - operatori logici: And, Or, Not. Exemplu:
SELECT * From Produse WHERE [Prod_Pret] = 500000 SELECT * From Produse WHERE [Prod_Pret] BETWEEN 100000 AND 200000 SELECT * FROM Clienti WHERE [Cli_plata] In (`France, `Italia, `Spania)

CLAUZA GROUP BY Clauza GROUP BY corespunde Totalului interogrilor Access (numite Regrupri n versiunile anterioare). Permite regruparea datelor ntr-unul sau mai multe cmpuri. n principal, clauza este folosit pentru executarea funciilor de agregare SQL, ca i Sum (sum), Count (calcul), Avg (medie). Exemple: Aceast interogare returneaz numrul comenzilor lansate de client.
SELECT Clienti.Cli_Societate, Count(Comenzi.Cde_DateCde AS NbComenzi FROM Clienti LEFT JOIN Comenzi ON Clienti.Cli_CodeCli = Comenzi.Cde_CodeCli GROUP BY Clienti.Cli_Societate

Aceast interogare returneaz totalul fiecrei comenzi.


SELECT Comenzi.Cde_NumCde, Sum([Cde_Pret]*[Cde_Buc] AS TotalCde FROM Comenzi

37

INNER JOIN [Detalii Comenzi] ON Comenzi.Cde_NumCde = [Detalii Comenzi].Cde_NumCde GROUP BY Comenzi.Cde_NumCde

CLAUZA HAVING Specific nregistrrile regrupate ce trebuie afiate ntr-o instruciune SELECT dotat cu o clauz GROUP BY. Odat ce regruparea este efectuat se afieaz lista de cmpuri a clauzei GROUP BY i sunt selectate doar nregistrrile care respect condiia specificat n clauza HAVING. Exemplu: Aceast interogare extrage comenzile ale cror total este mai mare de 2 000 000.
SELECT Comenzi.Cde_NumCde, Sum([Cde_Pret]*[Cde_Buc] AS TotalCde, Commandes.Cde_DateCde FROM Comenzi INNER JOIN [Detalii Comenzi] ON Comenzi.Cde_NumCde = [Detalii Comenzi].Cde_NumCde GROUP BY Comenzi.Cde_NumCde, Comenzi.Cde_DateCde HAVING (Sum(Cde_Pret*Cde_Buc)> 2 000 000)

CLAUZA ORDER BY Aceast clauz determin sortarea (aranjarea n ordine cresctoare sau descresctoare), nregistrrile rezult dintr-o interogare n funcie de cmpul/cmpurile specificat(e). Sintax:
[ORDER BY camp1 [ASC|DESC][, camp2 [ASC|DESC]][,. . . ]] ASC DESC

Ordine cresctoare. Ordine descresctoare.

Exemplu:
SELECT Clienti.Cli_Soc, Count(Comenzi.Cde_DateCde) AS NbComenzi FROM Clienti LEFT JOIN Comenzi ON Clienti.Cli_CodeCli =Comenzi.Cde_CodeCli GROUP BY Clienti.Cli_Soc ORDER BY Count (Comenzi.Cde_DateCde) DESC

Instruciunea UPDATE Corespunde unei interogri de actualizare care modific valorile cmpurilor ntr-un tabel specificat, pentru nregistrrile ce corespund criteriului dat (facultativ). Sintax:
UPDATE table SET cmp1=valoarenou1,[cmp2=valoarenou2] ... [WHERE criteriu]

Observaie: Dac nu se specific nici o clauz WHERE, toate nregistrrile sunt actualizate. Exemple: Aceast interogare modific codul rii din toate nregistrrile tabelului Clieni.
UPDATE Clients SET Clients.Cli_Pays = RO

Aceast interogare modific n tabelul Clieni codul de ar al nregistrrilor clienilor al cror ora este Timioara.
UPDATE Clients SET Clients.Cli_Pays = RO Where Clienti.Cli_oras =Timisoara

INSTRUCIUNEA DELETE Corespunde unei interogri DELETE ce terge nregistrrile din tabelul menionat n clauza FROM, dup criteriile date (facultativ). Sintax:
DELETE FROM tabel [Where criteriu]

Observaie: Dac nu este specificat nici o caluz WHERE, toate nregistrrile sunt terse.

38

Exemplu: Aceast interogare terge comezile de dinainte de 1997.


DELETE Comenzi.Cde_DateCde FROM Comenzi WHERE (( Comenzi.Cde_DateCde) < #1/1/1997#)

INSTRUCIUNEA INSERT INTO Instruciunea SQL INSERT INTO corespunde unei interogri Add care adaug nregistrri ntr-un tabel. Sintaxa: Interogare Add de adugare a unei singure nregistrri :
INSERT INTO <TabelDestinatie>[( cmp1 [, cmp2 [ ...] ] ) ] VALUES ( valoare1 [, valoare2 [, ...]])

Observaie: Trebuie s existe tot attea valori cte coloane de valorificat, de acelai tip i n aceeai ordine. Interogare Add cu una sau mai multe nregistrri:
INSERT INTO <TabelDestinatie>[( cmp1 [, cmp2 [ ...] ] ) ] SELECT [<TabelSursa>.]cmp1 [, cmp2 [,...] ] FROM <lista de tabele>

Observaie: Instruciunea SELECT trebuie s returneze attea valori n aceeai ordine i de acelai tip ctre coloanele de valorificat (cmpul instruciunii INSERT). Exemple: Adugarea unei nregistrri n tabelul Clieni
INSERT INTO Clienti (Cli_CodCli, Cli_societate, Cli_oras, Cli_plata) VALUES( `Mirton`, `Editura Mirton`, `Timisoara~, `RO`)

Adugarea unei nregistrri din tabelul Prospecte n tabelul Clieni.


INSERT INTO Clienti SELECT Prospecte.* FROM Prospecte

ALTE INSTRUCIUNI Interogare Creaz o interogare imbricat. TRANSFORM UNION Creaz o interogare ce fuzioneaz rezultatele a dou sau mai multe tabele sau interogri.

Crearea i gestiunea de tabele Creaz un nou tabel. CREATE TABLE CREATE INDEX ALTER TABLE DROP TABLE DROP INDEX Creaz un nou index pentru un tabel existent. Modific structura unui tabel. terge tabelul din baza de date. terge indexul unui tabel.

Crearea i gestiunea utilizatorilor i a grupurilor Creaz unul sau mai muli utilizatori. CREATE USER ADD USER DROP USER CREATE GROUP Adaug unul sau mai muli utilizatori existeni utilizatori grupului de

terge unul sau mai muli utilizatori. Creaz una sau mai multe grupe de utilizatori.

39

DROP GROUP GRANT REVOKE

terge una sau mai multe grupe de utilizatori. Ofer privilegii specifice unui utilizator sau a unui grup de utilizatori existent. Retrage privilegiile specifice ale unui utilizator sau a unui grup de utilizatori existent.

GLOSAR DE TERMENI
Dat Organizarea datelor o informaie codificat i stocat pe un suport de memorare. Din punctul de vedere al prelucrrii de calculator, n cadrul aplicaiilor, datele se definesc cu ajutorul unui nume (identificator), a atributelor pe care le are i de o valoare. reprezint procesul de identificare, definire, evaluare, structurare i memorare a informaiilor, n cadrul unui sistem informaional. Prin organizarea datelor se realizeaz gruparea datelor n colecii de date omogene, se stabilesc care sunt relaiilor dintre date, dintre elementele coleciilor i dintre colecii, precum i modul de stocare a datelor pe suportul fizic de memorare. este o structur care grupeaz date dintr-un anumit domeniu care au anumite caracteristici comune. Din punct de vedere fizic fiierul este o colecie finit de nregistrri fizice, iar din punctul de vedere al semnificaiei, o colecie de nregistrri logice, numite i articole. Din punctual de vedere al sistemului de operare fiierul are un nume i eventual o extensie de fiier. reprezint o proprietate a unei colecii de date care se refer la faptul c unele componente ale coleciei de date sunt memorate de mai multe ori pe suportul de memorare. Creterea redundanei are ca efect apariia de erori frecvente datorate neconcordanei informaiilor memorate n fiiere aparinnd unor aplicaii diferite, rezultnd costuri de actualizare mrite corespunztor. este un ansamblu structurat de date legate structural ntre ele, un depozit de date unic definit o singur dat i utilizat simultan de mai muli utilizatori. Baza de date este o resurs comun i partajat. Baza de date conine nu numai date ci i descrierea acestora. este o colecie integrat de concepte, necesare descrierii datelor, a relaiilor dintre date i a constrngerilor asupra datelor dintr-o organizaie, o reprezentare abstract a obiectelor i a evenimentelor lumii reale i a asocierilor dintre acestea, cu ajutorul cruia se reprezint o organizaie.

Fiierul

Redundana datelor

Baza de date

Modelul de date

Modelul Entitate Relaie Cheie candidat Cheie primar Chei alternative Cheie compus Relaie (relationship) Sistemul de Gestiune al Bazei de Date (SGBD) Administratorul de date

reprezint un model de date conceptual de nivel nalt, neformalizat, care descrie structura bazei de date, precum i tranzaciile de regsire, respectiv de reactualizare asociate. Acest model, permite o reprezentare a unui sistem real, grupnd elementele sistemului real n entiti i asocieri (legturi) ntre entiti. este atributul sau mulimea de atribute ale unei entiti care identific n mod unic apariiile individuale ale unui tip de entitate. Un tip de entitate poate avea mai multe chei candidat. din mulimea de chei candidat se alege un singur care va fi numit cheie primar. se numesc celelalte chei candidat, rmase nealese. este o cheie candidat format din mai multe atribute. este o asociere, o comunicare, o coresponden ntre dou sau mai entiti. Relaia exprim raportul existent ntre respectivele entiti i exist doar dac entitile exist. reprezint un pachet de programe specializat pentru definirea, crearea, ntreinerea i accesul controlat la baza de date. gestioneaz resursele de date, fiind responsabil de proiectarea conceptual i logic

40

(Data Administrator) Administratorul bazei de date (Database Administrator) Proiectanii bazei de date

a bazei de date, de planificarea bazei de date, de realizarea i ntreinerea standardelor, a politicilor i a procedurilor bazei de date. este persoana sau grupul de persoane responsabil de proiectarea, implementarea i realizarea fizic a bazei de date, de securitatea i controlul integritii, de ntreinerea ntregului sistem. sunt persoanele implicate n proiectarea logic i cea fizic a bazei de date. Proiectarea conceptual i logic presupune identificarea entitilor, a relaiilor dintre entiti, a constrngerilor asupra datelor ce vor fi stocate n baza de date. este un limbaj specific pentru fiecare SGBD fiind utilizat pentru a specifica schema bazei de date. Este un limbaj descriptiv care permite administratorului bazei de date, respectiv utilizatorului final sa descrie i s defineasc entitile din baza de date precum i relaiile existente ntre entiti, adic s defineasc o schem sau s o modifice. este un limbaj care asigur un set de procedee ce permit operaiile de baz pentru manipularea datelor din baza de date. Operaiile executate n cadrul bazei de date presupun existena unui limbaj specializat n care comenzile se exprim prin fraze ce descriu aciuni asupra bazei de date. este un limbaj specific care include comenzi pentru asigurarea confidenialitii i integritii datelor, pentru salvarea informaiei cu scopul meninerii integritii bazei de date i chiar pentru rezolvarea problemelor de acces concurenial la date. conin datele propriu-zise corespunztoare entitilor din baza de date, organizate sub forma unei matrice n care coloane reprezint atribute (cmpuri), iar liniile apariiile, realizrile entitii (nregistrri). este o linie dintr-un tabel, n care fiecare cmp conine o valoare concret dintr-un domeniu de valori i conine informaii care identific o anumit realizare concret a entitii; persoan, loc sau obiect este o informaie individual din componena unei nregistrri, iar fiecare coloan din tabelul Access reprezint un cmp diferit. sunt obiecte virtuale de tip tabel, adic vizualizri, care nu au corespondent fizic, fiind definite cu ajutorul tabelelor definite deja n baza de date. sunt obiecte folosite pentru a consulta sau actualiza datele dintr-un tabel sau o structur de interogare.

Limbajul pentru definirea datelor (LDD Data Description Language) Limbajul pentru manipularea datelor (LMD Data Manipulation Language) Limbajul pentru controlul datelor (LCD Data Control Language) Tabelele

nregistrarea

Cmpul Interogrile

Formularele

Rapoartele

Paginile de prezentare Macro-urile

sunt obiecte folosite pentru a sintetiza datele stocate ntr-o tabela real sau virtual i a oferi un rezultat tiprit al informaiilor din baza de date un raport ACCES, de la cea mai simpl list a unui tabel pn la rapoartele cele mai complexe ce conin regrupri de nregistrri i calcule. reprezint obiecte specifice ACCESS care permit afiarea ntr-un format accesibil care permite transmiterea rapid a datelor prin Internet sau Intranet. reprezint o modalitate optim de acces la date, care permit automatizarea mai multor sarcini folosind un limbaj specific. Pentru a rezolva o sarcin mai complex se poate construi un macro (format dintr-o mulime de aciuni) sau o procedur (format dintr-o succesiune de instruciuni n Visual Basic).

Modulele

conin o parte a codului VBA al aplicaiei, i anume declaraiile de variabile i constante, funciile i procedurile globale ale ntregii aplicaii. VBA reprezint un mediu de programare orientat obiect.
reprezint aciunea utilizatorului sau a sistemului asupra unui obiect ceea ce declaneaz execuia codului program corespunztor. const n codul program predefinit ce se raporteaz la un tip de obiect i care se

Evenimentul

Metoda

41

Procedura Funcia Visual Basic Application (VBA) Access IDE (Integrated Development Environment) Limbajul SQL (Structured Query Language) Instruciunea SELECT

execut n momentul apariiei unui eveniment. este alctuit dintr-un set de instruciuni (un modul program) ce nu returneaz nici o valoare ci execut o anumit aciune. const dintr-un set de instruciuni (un modul program) care n urma execuiei returneaz o valoare de un anumit tip. este un limbaj de programare orientat obiect, dezvoltat de Microsoft folosind limbajul Visual BASIC adaptat la cerinele specifice ale sistemelor de gestiune de baze de date. este mediul n care se poate crea, modifica i testa codul VBA.

este un limbaj de interogri i gestionare a bazelor de date relaionale.

Clauza (SELECT) Clauza WHERE (SELECT) Clauza GROUP BY (SELECT) Clauza HAVING (SELECT)

este cea mai folosit instruciune, corespunznd interogrii Selection din Access. Permite extragerea cmpurilor unui ansamblu de nregistrri ce corespund unor criterii. FROM specific tabelele sau interogrile din care sunt extrase datele. permite filtrarea nregistrrilor dup anumite criterii. este folosit pentru executarea funciilor de agregare SQL, ca i Sum (sum), Count (calcul), Avg (medie). specific nregistrrile regrupate ce trebuie afiate ntr-o instruciune SELECT dotat cu o clauz GROUP BY. Odat ce regruparea este efectuat se afieaz lista de cmpuri a clauzei GROUP BY i sunt selectate doar nregistrrile care respect condiia specificat n clauza HAVING. determin sortarea (aranjarea n ordine cresctoare sau descresctoare), nregistrrile rezult dintr-o interogare n funcie de cmpul/cmpurile specificat(e). corespunde unei interogri de actualizare care modific valorile cmpurilor ntr-un tabel specificat, pentru nregistrrile ce corespund criteriului dat (facultativ).

Clauza ORDER BY (SELECT) Instruciunea UPDATE Instruciunea DELETE Instruciunea INSERT INTO OLE (Object Linking and Embedding) sau OLE Automation Bibliotec de obiecte DDE (Dynamic Data Exchange)

corespunde unei interogri DELETE ce terge nregistrrile din tabelul menionat n clauza FROM, dup criteriile date (facultativ). corespunde unei interogri ADD care adaug nregistrri ntr-un tabel.
este tehnologia care permite manipularea obiectelor unei alte aplicaii, direct din Access sau din VBA Access.

un fiier prevzut de obicei cu o extensie .olb, furniznd informaii ce permit maipularea obiectelor puse la dispoziia utilizatorului de un server. Se poate folosi Exploratorul de obiecte pentru a examina coninutul unei biblioteci de obiecte. este un protocol de schimb dinamic de date ntre dou aplicaii Windows, una denumit Clinei sau Destinaie, cealalt denumit Server sau Surs. Legtura este ntrerupt dac una dintre cele dou aplicaii este nchis.

42

BIBLIOGRAFIE
1. T.Connolly, C.Beg, A.Strachan, Baze de date proiectare, implementare, gesionare, Ed. Teora, Bucureti, 2001; 2. S.Biriescu, Baze de date n mediul Acces, Ed. Mirton, Timioara, 2006; 3. D.Dnia, C.Margea, D.Mogoanu, A.Popovici, Baze de date n mediul Acces, Editura Mirton, Timioara, 2001; 4. I.Despi, G.Petrov, R.Reisz, A.Stepan, Teoria general a bazelor de date, Ed. Mirton, Timioara, 2000; 5. C.Fehily, SQL visual quickstart guide, Ed. All, Bucureti, 2004; 6. V. Florescu, P.Nstase, F.Berbec, Baze de date fundamente teoretice i practice, Ed. Infomega, Bucureti, 2002; 7. C.Giulvezan, G.Mircea, Baze de date. Teorie i practic. Acces i VBA, Ed.Universitii de Vest, Timioara, 2006; 8. M.J.Hernandez, Proiectarea bazelor de date, Ed. Tora,Bucureti, 2003; 9. L.Hurbean, Baze de date. Concepte teoretice i abordare practic n Microsoft Access, Ed. Mirton, Timioara, 2006; 10. F. Ionescu, Baze de date relaionale i aplicaii, Ed. Tehnic, Bucureti, 2004; 11. M.Lupulescu, M.Muntean, C.Giulvezan, FoxPro de la iniiere la performan, Ed. de Vest, Timioara, 1994; 12. M.Miloescu, Baze de date n Visual FoxPro, Ed. Teora, Bucureti, 2003; 13. G.Mircea, Access 2002. Tehnici de programare n VBA, Ed. Mirton, Timioara, 2003 14. M.Muntean, Note de curs Baze de date, 2007-2008; 222 15. M.Muntean, Baze de date n sisteme informatice economice, Ed. Mirton, Timioara, 2002; 16. P.Nstase .a. Baze de date Microsoft Access 2000, Ed. Teora, Bucureti, 1999; 17. J.V.Petersen, Baze de date pentru nceptori, Ed. All, Bucureti, 2002; 18. I.Popescu, Modelarea bazelor de date, ed. Tehnic, Bucureti, 2001; 19. R.Smith, D.Sussman, Programare n ACCESS 97 VBA, pentru nceptori, Ed. Tora, Bucureti, 1999; 20. M.Velicanu, I.Lungu, M.Muntean, Dezvoltarea aplicaiilor cu Visual FoxPro, Ed. All, Bucureti, 2001; 21. ***, Microsoft Visual Basic 6.0 ghidul programatorului, Ed. Teora, Bucureti, 1999.

43