Sunteți pe pagina 1din 18

CURS

7-8
Baze de date: concepte generale. Aplicaia Access: noiuni primare

Sumar

Concepte generale privind bazele de date Proiectarea bazelor de date Primii pai n lucrul cu baze de date Crearea tabelelor Reguli de normalizare i relaionare Lucrare aplicativ propus spre rezolvare

Baze de date: concepte generale. Aplicaia Access: noiuni primare

1. Concepte generale privind bazele de date


1.1 Ce este o baz de date?
Evoluia diferitelor metode i tehnici de organizare a datelor, pe suporturi de memorie extern, a fost determinat de necesitatea de a avea un acces ct mai uor la un volum ct mai mare de date. Datele stocate i prelucrate sunt foarte complexe cu foarte multe interdependene, lucru care a fcut necesar apariia bazelor de date. n sensul larg, o baz de date [engl.: database] este o colecie de date corelate din punct de vedere logic, care reflect un anumit aspect al lumii reale i este destinat unui anumit grup de utilizatori. n acest sens, bazele de date pot fi create i meninute manual (un exemplu ar fi fiele de eviden a crilor dintr-o bibliotec, aa cum erau folosite cu ani n urm) sau computerizat aa cum sunt majoritatea bazelor de date n momentul de fa. O definiie ntr-un sens mai restrns a unei baze de date este urmtoarea: O baz de date este o colecie de date centralizate, creat i meninut computerizat, n scopul prelucrrii datelor n contextul unui set de aplicaii. Prelucrarea datelor se refer la operaiile de introducere, tergere, actualizare i interogare a datelor. Orice baz de date are urmtoarele proprieti implicite: Baza de date este o colecie logic coerent de date ce are cel puin un neles. Baza de date este destinat, construit i populat de date despre un domeniu bine precizat. Ea are un grup de utilizatori i se adreseaz unui anumit grup de aplicaii O baz de date reprezint cteva aspecte ale lumii reale crend orizontul propriu. Schimbrile orizontului sunt reflectate n baza de date. Fa de vechile metode de nregistrare a datelor privind diferite activiti pe fie (documente scrise) sau chiar n fiiere pe disc, sistemele de baze de date ofer avantaje considerabile, ceea ce explic extinsa utilizare a acestora. Cteva dintre avantajele oferite sunt: Controlul centralizat al datelor, putnd fi desemnat o persoan ca responsabil cu administrarea bazei de date. Vitez mare de regsire i actualizare a informaiilor. Sunt compacte: volumul ocupat de sistemele de baze de date este mult mai redus dect documentele scrise. Flexibilitatea ce const n posibilitatea modificrii structurii bazei de date fr a fi necesar modificarea programelor de aplicaie Redundan sczut a datelor memorate, care se obine prin partajarea datelor ntre mai muli utilizatori i aplicaii. n sistemele de baze de date, mai multe aplicaii pot folosi date comune, memorate o singur dat. De exemplu, o aplicaie pentru gestionarea personalului dintr-o universitate i o aplicaie pentru gestionarea rezultatelor la examene din aceeai universitate care folosete o singur baz de date, pot folosi aceleai informaii referitoare la structurarea facultilor. Posibilitatea introducerii standardelor privind modul de stocare a datelor, ceea ce permite interschimbarea datelor ntre organizaii Meninerea integritii datelor prin politica de securitate (drepturi de acces difereniate n funcie de rolul utilizatorilor), prin gestionarea tranzaciilor i prin refacerea datelor n caz de funcionare defectuoas a diferitelor componente hardware sau software. Independena datelor fa de suportul hardware utilizat. Sistemul de gestiunea a bazelor de date ofer o vizualizare a datelor, care nu se modific atunci cnd se schimb suportul de memorare fizic, ceea ce asigur imunitatea structurii bazei de date i a aplicaiilor la modificri ale sistemului hardware utilizat.

Baze de date: concepte generale. Aplicaia Access: noiuni primare

1.2 Cum stocheaz Access datele?


n Access trebuie creat mai nti un fiier baz de date. Acesta stocheaz tot ceea ce se creeaz pentru baza de date nu numai datele, dar i interogrile, formularele, rapoartele i indexurile personalizate. Esena fiecrei baze de date const n tabelele sale. Un tabel seamn mult cu o foaie de calcul tabelar; datele sunt aranjate pe coloane i rnduri. Figura urmtoare prezint un tabel de date (sau, pe scurt, un tabel).
Fiecare coloan este un cmp

Fiecare rnd este o nregistrare

Access stocheaz fiecare intrare din baza de date (de exemplu, fiecare angajat) n propriul su rnd, numit nregistrare. Fiecare nregistrare este un set de informaii despre un anumit lucru n acest caz, despre un angajat. De exemplu, toate informaiile despre Dan Ion, inclusiv, funcia, data ncadrrii i salariul de ncadrare, formeaz o singur nregistrare (vezi figura anterioar). Fiecare tip de detaliu este pstrat n propria sa coloan: un cmp. De exemplu, id ang este un cmp. La intersecia dintre o coloan de cmp i un rnd de nregistrare se gsete o informaie din acea nregistrare; aceasta se numete celul.

1.3 Sisteme de gestiune a bazelor de date


Sistemul de gestiune a bazelor de date (SGBD) reprezint sistemul de programe care permite construirea bazelor de date, stocarea i prelucrarea de informaii sub form de nregistrri n bazele de date i dezvoltarea de aplicaii privind bazele de date, permind astfel accesul utilizatorului. Orice sistem de gestionare a bazelor de date conine: limbajul de descriere a datelor (LDD), care permite descrierea structurii bazei de date, a componenei, a relaiilor dintre componente, a drepturilor de acces al utilizatorilor la baze de date (BD); limbajul de cereri (LC) este limbajul n care se scriu programele pentru realizarea prelucrrii datelor; limbajul de prelucrare a datelor (LPD), care permite operaii asupra BD, cum ar fi ncrcarea BD, inserarea, tergerea, cutarea sau modificarea unui element, realizarea de statistici. Un SGBD trebuie s asigure urmtoarele funcii: definirea crearea bazei de date; introducerea (adugarea) datelor n baza de date; modificarea unor date deja existente n baza de date; tergerea datelor din baza de date; consultarea bazei de date interogare/extragerea datelor. n plus un SGBD mai asigur i alte servicii: suport pentru limbaj de programare; interfa ct mai atractiv pentru comunicare cu utilizatorul; tehnici avansate de memorare, organizare, accesare a datelor din baza de date; utilitare ncorporate: sistem de gestiune a fiierelor, liste, tabele etc.; help pentru ajutarea utilizatorului n lucrul cu baza de date.

Baze de date: concepte generale. Aplicaia Access: noiuni primare

Microsoft Access este unul din cele mai cunoscute sisteme de gestiune a bazelor de date relaionale pe platforme de calculatoare personale. Microsoft Access dispune de un sistem de control al bazei de date (database engine) i o interfa grafic pentru interaciunea cu utilizatorul. Aplicaiile de baze de date n MS Access se pot dezvolta cu mult uurin datorit generatoarelor de aplicaii (wizards) care permit proiectarea vizual a bazelor de date, a formularelor (forms) pentru interfeele grafice i a rapoartelor (reports). MS Access este folosit n special pentru aplicaii personale sau pentru mici afaceri i licena acestuia se cumpr odat cu cumprarea licenei produsului Microsoft Office. Acest sistem este cel folosit de noi n capitolele urmtoare.

2. Proiectarea bazelor de date


2.1 Primii pai n proiectarea structurii bazelor de date
Proiectarea unei baze de date const din proiectarea logic i fizice a acesteia, pentru a corespunde cerinelor utilizatorilor pentru un anumit set de aplicaii. n general, vom considera c proiectarea corect a unei baze de date trebuie s parcurg urmtoarele etape: Analiza cererilor i strngerea de informaii referitoare la aplicaie. Proiectarea conceptual a bazei de date. Alegerea unui sistem de gestiune al bazelor de date. Proiectarea logic a bazei de date. Proiectarea fizic a bazei de date. Implementarea bazei de date i a aplicaiei. nainte de a se proiecta efectiv o baz de date, este necesar s se cunoasc ce rezultate se ateapt potenialii utilizatori s obin de la baza de date respectiv i documentarea asupra informaiilor ce sunt disponibile pentru aceasta. De asemenea, este necesar i definirea ct mai exact a aplicaiei (De ex.: aplicaie de gestiune a stocurilor, a crilor ntr-o bibliotec, aplicaie contabil, aplicaie folosit la salarizare, aplicaie referitoare la gestiunea studenilor, a profesorilor, a cursurilor, a notelor dintr-o instituie de nvmnt etc.). Avnd cerinele formulate precis i concis se poate trece la elaborarea schemei conceptuale utiliznd un model de nivel nalt. Schema conceptual reprezint o descriere concis a datelor utilizatorului, incluznd descrierea detaliat a tipurilor de date, a relaiilor i restriciilor acestora. Deoarece pn la acest moment nu se includ detalii de implementare, rezultatele pot fi comunicate utilizatorilor, chiar dac sunt nespecializai n domeniu, i analizate de acetia pentru eliminarea eventualelor conflicte care pot aprea. Urmtoarea etap este cea de construcie a bazei de date innd cont de detaliile actuale, cu ajutorul unui sistem de gestiune a bazelor de date (SGBD). Aceast etap nglobeaz etapele de alegere a unui SGBD, de proiectarea logic a bazei de date i cea de proiectarea fizic a bazei de date. Alegerea SGBD se face n funcie de complexitatea aplicaiei, de capacitatea de stocare a datelor, de posibilitatea refacerii datelor, de numrul de utilizatori care vor folosi aplicaia, dar i de costurile de achiziie ale sistemului, de costurile de ntreinere etc. Urmtoarea faz, cea de proiectare logic poate fi realizat n dou sub-faze: transpunerea schemei conceptuale n modelul de date al sistemului SGBD ales, dar independent de sistemul de gestiune propriu-zis, sau rafinarea schemei conceptuale i a schemelor externe obinute anterior, astfel nct s se utilizeze mai multe din facilitile oferite de sistemul SGBD ales (modul de generare a cheilor primare, definirea constrngerilor, etc.). Aceste dou sub-faze se pot realiza mpreun, folosind unul din instrumentele de proiectare oferite de sistemul SGBD ales. Proiectarea fizic a bazei de date reprezint procesul de alegere a structurilor de memorare i de acces la fiierele bazei de date, pentru a obine performane ct mai bune pentru aplicaia proiectat. Ca parametri generali de alegere a opiunilor proiectului fizic al unei baze de date
4

Baze de date: concepte generale. Aplicaia Access: noiuni primare

relaionale se pot enumera: timpul de rspuns, utilizarea spaiului de memorare, capacitatea tranzacional. Deciziile de proiectare fizic se pot lua numai dup o analiz a aplicaiilor care se vor executa i n principal, a interogrilor i tranzaciilor pe care acestea le vor lansa. n urma analizei se pot sintetiza informaii care s dea imaginea de ansamblu a utilizrii atributelor relaiilor bazei de date: care atribute sunt actualizate cel mai frecvent, care atribute sunt folosite cel mai frecvent n selecii ale interogrilor, etc. Aceste informaii se folosesc pentru stabilirea indecilor secundari ai relaiilor. Ultima etap este cea de implementare efectiv a bazei de date i a aplicaiei. Aici se creeaz pe baza modelului definit obiectele bazei de date, se populeaz cu date baza de date, se verific constrngerile, se creeaz interfeele cu utilizatorul i rapoartele necesare cu datele extrase din baza de date. Exemplu: Pe parcursul acestor capitole vom proiecta i realiza o aplicaie simplificat pentru gestiunea informaiilor referitoare la notele obinute de studenii dintr-o universitate la anumite materii. Baza de date se va numi Universitate. Pe parcursul acestui capitol aceasta va fi rafinat la modelul entitate-relaie, un model conceptual de nivel nalt. Acest model asigur perceperea de ctre utilizatori fr s prezinte detaliile de stocare a datelor pstrate n calculator. n faza preliminar, dup analiza cerinelor se cunosc urmtoarele informaii: aceast universitate are n componen mai multe faculti. Fiecare facultate avnd asociat un cod, o denumire, o adres. studenii au stocate n baza de date informaiile personale ale fiecruia (cnp, nume, prenume, iniiala tatlui, data naterii etc), dar i informaii legate de starea actual a lor (specializarea la care se afl, facultatea de care aparine etc.) n aceast baz de date stocm i materiile studiate n facultile din acea universitate. Se consider materii diferite acele materii care au aceeai denumire, dar profesor diferit. vom stoca i notele obinute de fiecare student la materia la care a fost evaluat prin examen.

2.2 Modelul entitate-relaie


Modelul entitate-relaie este cel mai utilizat model conceptual de nivel nalt, care reprezint schema conceptual a bazei de date cu ajutorul entitilor i a relaiilor dintre acestea. Elementele de baz folosite n cadrul acestui model sunt conceptele de entitate i cel de relaie. O entitate este un obiect al lumii reale, cu o existen independent i poate reprezenta un obiect fizic, o activitate, un concept. O entitate este un obiect cu existen fizic, de exemplu: persoan particular, automobil, companie, activitate, curs universitar. Orice entitate are o serie de proprieti numite atribute, ce descriu entitatea respectiv. Cu toate c nu reprezint acelai lucru, pentru denumirea de entitate se mai folosete i denumirea de tabel al bazei de date, iar pentru atribute cmpurile tabelului. Scurte definiii a noiunilor pe care le-am folosit i le vom folosi n continuare sunt : Tabel (entitate) este o colecie de informaii logice relaionale tratat ca o unitate. nregistrare (n-uplu). O tabel este compus din nregistrri sau rnduri. Fiecare nregistrare este tratat ca o simpl unitate. Fiecare nregistrare este legat de nregistrri ale altei tabele. Cmp (atribut). nregistrrile sunt constituite din cmpuri (coloane). Un cmp este o particul atomic a bazei de date ce reprezint cea mai mic cantitate de informaie care poate fi manipulat. Toate nregistrrile dintr-o tabel au aceleai cmpuri. De exemplu, pentru baza de date Universitate pe care dorim s o crem, o entitate reprezint o Facultate cu atributele CodFacultate, Denumire, Adresa, NumeDecan. O alt entitate ar fi Materii, descrise de atributele CodMaterie, Denumire, An, NumeProfesor. Atributelor li se asociaz valori care au ca scop identificarea entitii. Aceast atribuire de valori pentru fiecare atribut formeaz o nregistrare a tabelului respectiv.
5

Baze de date: concepte generale. Aplicaia Access: noiuni primare

Unele atribute (cmpuri) pot fi divizate n mai multe pri cu semnificaie independent. Un astfel de atribut este un atribut complex. Un exemplu este cel al atributului Adres care poate fi divizat in mai multe atribute: Oras, CodPostal, Strad, Numar, Bloc etc sau al atributului NumeDecan care poate fi divizat n Nume i Prenume. Atributele care nu sunt compuse se numesc atribute atomice. Valoarea atributelor complexe se formeaz prin concatenarea valorilor atributelor atomice. Multe atribute au valoare unic pentru o entitate particular i sunt numite atribute cu o singur valoare. De exemplu CNP-ul unei persoane. Exist atribute ce pot lua mai multe valori dintr-un set dat, cum ar fi gradele didactice ale profesorilor universitari, culorile etc. Aceste atribute sunt atribute cu mai multe valori. Atributele derivate sunt atributele ce se pot determina din alte atribute, cum ar fi vrsta unei persoane se poate calcula din data curent minus data naterii persoanei respective. n anumite situaii, o entitate poate s nu aib valori pentru toate atributele asociate ei, n acest caz folosindu-se o valoare special numit atributul null. Un exemplu ar fi lipsa din atributul Adres a numelui blocului sau a scrii, etc. Exemplu: Revenind la exemplu nostru, s ne definim toate entitile din baza de date Universitate. Entitile ar putea fi urmtoarele : Facultate cu atributele: CodFac, Denumire, Adresa, NumeDecan Student cu atributele: CodStud, Specializare, An, Media, Bursa DatePersonale cu atributele: CNP, Nume, Init, Prenume, DataNast, LocNast, Adresa Materii cu atributele: CodMat, Denumire, An, NumeProf Nota cu atributele Nota, DataEx

3. Primii pai n lucrul cu baze de date


3.1 Lansarea n Microsoft Access execuie a aplicaiei

Lansarea n execuie a programului Microsoft Access se poate face: 1. Prin succesiunea: clic pe butonul Start Programs Microsoft Access (Microsoft Office).

2. Dublu clic pe pictograma de pe Desktop, asociat programului Ms. Access. 3. Din bara Start Run msaccess.exe (prin editare), urmat de activarea butonului OK. 4. Program Files Microsoft Office Office msaccess.exe.

Baze de date: concepte generale. Aplicaia Access: noiuni primare

La rularea programului Microsoft Access, va aprea pe ecran fereastra din figura de mai jos care pune la dispoziie urmtoarele opiuni: 1. Crearea unei baze de date fr coninut; 2. Crearea unei baze de date cu ajutorul aplicaiei Database Wizard. Fereastra de baz a aplicaiei Access are acelai aspect general folosit n celelalte aplicaii Office i conine urmtoarele elemente:

Bara de titlu (Title bar): conine numele aplicaiei cu care se lucreaz (Microsoft Access) precum i cele trei butoane "soft" descrise mai jos: - Minimize (minimizare) transform fereastra ntr-un obiect pe bara de task-uri - Restore (revenire) permite revenirea ferestrei la dimensiunea iniial - Close (nchidere) nchide fereastra (nchide folderul, respectiv aplicaia) Bara de meniuri (Menu bar): conine urmtoarele meniuri File (fiier), Edit (editare), View (vizualizare), Insert (inserare), Tools (instrumente), Window (fereastr) i Help (ajutor). Bara (trusa) cu instrumente Database (Database Tool bar): cuprinde butoane pentru execuia rapid a unor aciuni: crearea ( ) i deschiderea ( ) bazelor de date, salvarea ( ) , tiprirea ( ), previzualizarea ( ) obiectelor din baza de date. De asemenea, aa cum eram obinuii din aplicaiile Microsoft, avem butoane pentru lucrul cu text: Spelling care face verificarea gramatical ( ), Cut (taie ), Copy (copiaz ), Paste (lipete), Undo (anulare ). Tot pe bara Database avem butoane specifice aplicaiei care realizeaz sarcini imediate pentru utilizatorii care doresc s realizeze la repezeal componentele unei aplicaii: adugarea unui nou obiect, crearea rapid a unui formular, stabilirea unor relaii permanente. Fereastra Database: conine, la rndui ei, urmtoarele elemente: - Bara de titlu: conine numele bazei de date deschise precum i cele trei butoane "soft": Minimize, Restore i Close;

Baze de date: concepte generale. Aplicaia Access: noiuni primare

- Bara de obiecte: este situat n partea stng a ferestrei i are dou butoane: Objects i Groups. Pentru a actualiza coninutul ferestrei Database, putei executa clic pe orice obiect din bara. Pentru a vedea toate tabelele din baza de date, executai clic pe butonul Objects, situat n partea de sus a barei de obiecte, apoi executai clic pe Tables; pentru a vedea toate formularele trebuie s executai clic pe Forms, i aa mai departe. Dac executai clic pe butonul Groups, Access va afia o list cu grupurile definite de utilizator; - Bara de meniu a ferestrei Database are urmtoarele opiuni: Open ( Design ( New ( Delete ( Large Icons ( Small Icons ( List ( ) deschide un obiect n modul de afiare curent; ) deschide un obiect n mod de proiectare structur; ) creeaz un nou obiect; ) terge un obiect; ) afieaz obiectele sub forma unor pictograme mari; ) afieaz obiectele sub forma unor pictograme mai mici;

) reprezint modul de afiare prestabilit, afieaz o list cu obiectele;

Details ( ) listeaz pentru fiecare obiect mai multe informaii: descriere, data la care a fost creat, data ultimei modificri i tipul obiectului. Bara de stare (Status bar): aa cum spune i numele su, ea indic starea n care ne gsim la un moment dat. De exemplu, dac deschidem un tabel n mod proiectare ( apare textul Design View. F6=Switch panes. F1=Help. ), n partea stng

3.2 Crearea unei baze de date nou


Exist dou posibiliti de creare a bazelor de date: a) crearea unei baze de date vide, n care construirea obiectelor se face de la zero; b) crearea unei baze de date folosind Database Wizard. Pentru a construi o baz de date nou se execut urmtoarele operaii: 1. n fereastra principal se selecteaz Blank Access database i se activeaz butonul OK. 2. n caseta de dialog cu titlul File New Database se execut urmtorii pai: - se selecteaz lista Save in. n urma acestei operaii apare lista unitilor de disc disponibile i a elementelor de pe Desktop. - se selecteaz unitatea de disc unde va fi salvata noua baz de date. n interiorul ferestrei va aprea o list cu directoarele (folderele) disponibile. - se selecteaz folderul unde va fi stocat baza de date; - se introduce numele bazei de date n lista File Name; - se activeaz butonul Create.

Baze de date: concepte generale. Aplicaia Access: noiuni primare

O baz de date nou se mai poate crea i folosind meniul sistem Access, alegnd opiunea New din meniul File, urmat de introducerea numelui corespunztor bazei de date ce urmeaz a fi creat. Crearea unei baze de date folosind asistenii Database Wizard este mult mai simpl i rapid dar prezint dezavantajul de a nu fi aa de flexibil. Un vrjitor este un instrument complex (program specializat) cu ajutorul cruia se realizeaz n mod automat o baz de date sau anumite obiecte (tabele, formulare, rapoarte, interogri, pagini web pentru prezentarea datelor) lund n considerare preferinele utilizatorului. Vrjitorul prezint o serie de casete de dialog pentru fiecare etapa. La fiecare pas utilizatorul trebuie s aleag o serie de opiuni din grupul de opiuni posibile pentru a trece la urmtorul pas. Database Wizard creeaz o aplicaie la cheie, genernd toate tabelele, formularele i rapoartele necesare pentru realizarea unei anumite funcii. Vrjitorul ofer posibilitatea de a alege din mai multe baze de date predefinite, destinate fie utilizrii n scop personal, fie utilizrii n cadrul unei firme. Pentru a vedea lista acestor baze de date selectai opiunea New din meniul File i apoi executai clic pe categoria Databases din fereastra de dialog New.

3.3 Deschiderea unei baze de date existente


Pentru deschiderea unei baze de date deja existente se acioneaz meniul New opiunea Open,

, sau, direct din butonul din bara de butoane. Se va deschide o fereastr de tipul Open n care se va cuta pe o anumit locaie baza de date ce se dorete a fi deschis.

3.4 nchiderea unei baze de date i ieirea din aplicaie


Pentru a nchide o baz de date, fr a nchide i aplicaia Access ce este necesar pentru utilizri ulterioare, se utilizeaz comanda File Close, sau, se apas butonul existent n colul dreapta sus a bazei de date . Pentru ieirea din aplicaie se acioneaz butonul Close din fereastra aplicaiei, sau opiunea File Exit.

4. Crearea tabelelor
Access organizeaz o baz de date n felul urmtor: Fiierul de baze de date (Access Database file) este fiierul principal care cuprinde pe lng datele cuprinse n tabele i obiecte: interogri pentru analiza datelor, formulare pentru interaciunea cu datele, rapoarte pentru tiprirea rezultatelor, macro i module pentru extinderea funcionalitii aplicaiilor i pagini web. Fiierul este salvat cu extensia .mdb (ex. Universitate.mdb). Tabelul (Table) este o colecie de date specifice unui anumit subiect, stocate pe linii i coloane. n baza de date pot exista mai multe tabele. (ex.: Facultate, Studenti, DatePersonale, Materii, Note).
9

Baze de date: concepte generale. Aplicaia Access: noiuni primare

Cmpul (Field) reprezint o coloan n cadrul tabelului, i este cea mai mic unitate de date din cadrul bazei de date. (ex.: numele i prenumele studentului). Tipul de date (Datatype) este o proprietate a fiecrui cmp. O coloan poate stoca doar date de un anumit tip, de ex. cmpul data_nasterii va conine doar date calendaristice iar cmpul nume va conine doar tipul text). Valoarea (Value) reprezint valoarea introdus ntr-un cmp. De exemplu, n cmpul Nume, de tip text, se poate stoca valoarea Ionescu.

4.1 Crearea structurii tabelelor


Crearea structurii tabelelor se refer la definirea cmpurilor (coloanelor) tabelelor i, dup cum se observ n fereastra Database , acest lucru se poate face n trei moduri: 1. Utiliznd fereastra de proiectare - CREATE TABLE IN DESIGN VIEW 2. Prin introducerea datelor - CREATE TABLE BY ENTERING DATA 3. Utiliznd instrumentul Wizard - CREATE TABLE BY USING WIZARD Modul cel mai eficient de creare a tabelelor l reprezint utilizarea ferestrei de proiectare, motiv pentru care se vor prezenta mai nti pe scurt celelalte dou moduri. Crearea unei tabele utiliznd instrumentul wizard permite adugarea unor cmpuri standard ce exist deja n cadrul bibliotecilor de tabele standard. De exemplu dac se dorete realizarea unei tabele cu Studenti (Customers) utilizndu-se instrumentul wizard, se pot selecta anumite cmpuri standard pentru aceast tabel precum i relaiile pe care acestea le au cu alte tabele. Nu se recomand aceast modalitate deoarece cmpurile din cadrul tabelelor standard au fost create pentru sistemul de lucru anglo-saxon care n unele privine nu corespunde cu sistemul romnesc. Utilizarea celui de-al doilea mod de creare a tabelelor Create Table by Entering Data reprezint o form rapid de a introduce datele. Ea nu poate fi aplicat eficient n cadrul realizrii de aplicaii complexe. Revenind la primul mod de creare al unei tabele prin realizarea unui dublu-clic pe Create Table In Design View pe ecranul monitorului va aprea fereastra Table. n aceast fereastr se definesc numele cmpurilor Field Name, tipul de date Data Type i opional o descriere a cmpului respectiv Description. n Access exist dou modaliti de vizualizare a tabelelor: Datasheet View ( ): permite introducerea de date (articole) n tabel. Design View ( ): este modul de vizualizare n care se definete structura tabelului bazei de date (modul care permite introducerea cmpurilor cu tipul de data asociat i descrierea corespunztoare). Pentru a comuta ntre modurile Datasheet View i Design View, se executa clic pe butonul din colul stnga-sus al ferestrei aplicaiei Microsoft Access.

10

Baze de date: concepte generale. Aplicaia Access: noiuni primare

4.2 Caracteristicile cmpurilor


Numele: Microsoft Access permite ca numele de cmp s fie format din mai multe cuvinte, de exemplu Nume student. n versiunile mai vechi de Access denumirea unui astfel de cmp ar fi putut fi scris cu simbolul underscore (_) adic Nume_student. Numele cmpului poate fi stabilit dup dorin, ns se recomand alegerea unui nume scurt care s indice rolul cmpului respectiv. Tipul de date: este o caracteristic ce stabilete modul n care datele sunt nregistrate pe suportul de memorare i modul n care acestea sunt interpretate i prelucrate. De exemplu, dac avem un cmp de tip date/time vom putea introduce n acest cmp doar date calendaristice, iar operaiile pe care Access le poate efectua asupra informaiilor stocate n acest cmp sunt specifice tipului de date date/time. n continuare prezentm tipurile de date disponibile pentru cmpurile Access: Text Majoritatea cmpurilor folosite n baza de date sunt de tipul text. Pe lng cmpurile care au tipul evident text, cum ar fi: Nume, Adresa, cmpurile text se mai pot folosi i pentru numerele care nu au funcie matematic. De exemplu, se folosesc cmpurile text pentru stocarea numerelor de telefon, a codului potal etc. Dimensiunea prestabilit a unui cmp text n Access este de 50 caractere, dar putem alege orice dimensiunea ntre 1 i 255. Memo Dimensiunea unui cmp de tipul Memo este de 64KB (kilooctei), asta nsemnnd c putem stoca aproximativ 16 pagini de text scris la un rnd pentru fiecare nregistrare. Cmpurile memo constau numai din text. Pot fi incluse secvene de salt la nceput de rnd sau salt la rnd nou, dar nu se accept opiuni de formatare a textului sau indentarea unui paragraf. Numr Tipul numr (Number) include mai multe tipuri care difer prin modul de stocare i viteza de rspuns. Acestea sunt: a) tipul Byte (Octet), care accept numai valori ntregi pozitive pn la 255 b) tipul Integer (ntreg), care acoper domeniul numerelor ntregi de la -32768 la 32768 c) tipul Long Integer (ntreg lung), care reprezint numerele ntregi pn dincolo de limitele de plus i minus 2 miliarde d) tipul Single, care acoper domeniul numerelor fracionare cu pn la 7 cifre semnificative e) tipul Double, care acoper domeniul numerelor fracionare cu pn la 14 cifre semnificative f) tipul ReplicationID (IdentificatorDuplicare), care este reprezentat pe 16 octei i a fost creat cu scopul de a asigura un identificator unic global (GUID: Globally Unique Identifier) pentru bazele de date n cazul crora trebuie realizat sincronizarea unor mari cantiti de date suplimentare. Dat calendaristic/Or Microsoft Access stocheaz intern datele calendaristice sub forma unor numere n virgul mobil pe 8 octei, ora fiind reprezentat ca o fraciune dintr-o zi. n general este suficient n majoritatea situaiilor opiunea Short Date (Forma scurt a datei), dei s-ar putea s dorim ca anul s fie reprezentat pe formatul de 4 cifre. Valut Tipul valut (Currency) acoper valorile n dolari ntregi pn la 15 cifre i valorile zecimale pn la sutimi de cent. Ca reprezentare intern, tipul valut este un numr n virgul fix. Acest format asigur o precizie sporit calculelor financiare, dar este mai lent dect tipurile de numere ntregi sau n virgul mobil.

11

Baze de date: concepte generale. Aplicaia Access: noiuni primare

Numr cu incrementare automat n Microsoft Access, datele de tip numr cu incrementare automat (AutoNumber) pot fi secveniale sau aleatoare. Microsoft Access permite stabilirea dimensiunii unui numr cu incrementare automat, prestabilit fiind ntreg lung. Numerele cu incrementare automat sunt atribuite chiar n momentul n care ncepem s adugm o nregistrare nou. n cazul tergerii unei nregistrri existente, nu exist nici o posibilitate de creare a unei alte nregistrri cu acelai numr. Da/Nu Tipul Da/Nu (Yes/No) stocheaz numai valori true sau false (adevrat sau fals). O astfel de valoare poate fi afiat n una din formele True/False, Yes/No sau On/Off. Obiect OLE Tipul de cmp OLE este destinat pstrrii datelor provenite de la alte programe, care s-au nregistrat ele nsele ca servere OLE n Windows. Aceasta permite bazei de date s stocheze documentele create de programe de prelucrare a textelor, seturi de foi de calcul, ilustraii, sunete, videoclipuri, etc. Program wizard de cutare Programul wizard de cutare (Lookup Wizard) nu este ctui de puin un alt tip de cmp. El reprezint o metod convenabil de crearea a unui cmp care ndeplinete funcia de cutare ntrun alt tabel.

4.3 Proprietile cmpurilor


a) Dimensiunea cmpului (Field size): n aceast zon se introduce numrul maxim de caractere permis pentru cmpul respectiv, n funcie de tipul de date al acestuia. Putem crea un cmp de tip text cu dimensiune fix introducnd n celula Field Size valoarea corespunztoare lungimii fixe dorite (un numr de la 1 la 255). n mod prestabilit Access creeaz un cmp de tip text care poate cuprinde 50 de caractere. b) Formatul n care sunt afiate datele (Format): n Access fiecare tip de date are mai multe opiuni predefinite de afiare. De exemplu, o dat de tip dat/or poate fi afiat n mai multe forme. c) Numrul de zecimale (Decimal places): n cadrul acestei proprieti se stabilete numrul de zecimale ce pot fi atribuite unui cmp. d) Formatul de introducere (Input Mask): se refer la impunerea unui anumit format pentru toate datele incluse n cadrul acestui cmp. O masc de intrare este folosit ntr-un cmp pentru a formata informaia i a controla ce valori pot fi introduse. e) Eticheta (Caption): permite specificarea unui anumit nume atribuit cmpului, nume care va fi afiat n cadrul rapoartelor, formularelor, tabelelor. f) Valoare automat (Default value): este valoarea atribuit automat atunci cnd utilizatorul nu introduce nici o valoare n acel cmp. g) Regulile de validare (Validation rule): testeaz prin intermediul unui criteriu (expresie Access) valorile introduse n cmpurile bazei de date i nu las introducerea de date care nu respect acel criteriu. De exemplu, regula >0 permite doar introducerea numerelor pozitive, iar >= 10 AND <100 permite introducerea numerelor cuprinse ntre 10 i 99. h) Text de validare (Validation TEXT): Conine textul care va aprea pe ecran n cazul n care valoarea introdus n cmp nu respect criteriul impus de regula de validare. i) Cerine (Required): se stabilete dac prin introducerea unei nregistrri n cadrul tabelei este obligatorie i completarea respectivului cmp. j) Indexare (Indexed): dintr-o list derulant se poate alege ntre un index care admite valori duplicat sau unul care cere ca fiecare valoare a cmpului s fie unic.

12

Baze de date: concepte generale. Aplicaia Access: noiuni primare

5. Reguli de normalizare i relaionare


5.1 Normalizarea bazelor de date. Formele normale
Cnd o baz de date sufer din cauza proastei organizri a tabelelor, experii spun c nu este normalizat. Exist reguli care guverneaz modul n care o baz de date relaional ar trebui s stocheze tabelele sale; acestea sunt regulile normalizrii datelor. Normalizarea datelor este un proces care face tabelele ct se poate de eficiente i de compacte pentru a elimina posibilitatea unor confuzii i erori. n fond, unul din obiectivele procesului de normalizare este asigurarea faptului c tabela posed o bun construcie asigurnd posibiliti de modificare cu eliminarea anomaliilor care pot aprea. 1. Forma normal de ordin 1 (FN1) Forma normal de ordin 1 este considerat ca fiind parte a definiiei formale a unei tabele. Ea nu permite atribute cu mai multe valori, atribute compuse sau combinaii ale lor. Aceasta stabilete ca domeniul atributelor trebuie s includ numai valori atomice i valoarea oricrui atribut ntr-un nuplu este o valoare unic n domeniul atributului respectiv. Deci, FN1 nu permite un set de valori, un nuplu de valori sau o combinaie a acestora ca valoare a unui atribut pentru un nuplu. Cu alte cuvinte, FN1 nu permite tabele n tabele sau tabele ca atribute ale nuplurilor. Valorile permise de FN1 sunt atomice sau indivizibile, pentru un domeniu specificat de valori. Exemplu: Considerm c n tabela Materii (CodMat, Denumire, An, NumeProf), unde cheia primar este CodMat este introdus o nregistrare de tipul: CodMat 1 Denumire Informatica An 1 NumeProf M. Olteanu, O. Vlad, A. Pavel

Aceast nregistrare reprezint o disciplin care este predat de trei profesori diferii. Acest nuplu (nregistrare) nu ndeplinete FN1, deoarece la atributul NumeProfesor nu sunt valori atomice, ci un set de valori. Pentru a rezolva aceast problem vom introduce mai multe nregistrri, care vor ndeplini cerinele FN1, considernd trei materii diferite astfel: CodMat 1 2 3 Denumire Informatica Informatica Informatica An 1 1 1 NumeProf M. Olteanu O. Vlad A. Pavel

2. Forma normal de ordin 2 (FN2) A doua form normal impune ca fiecare atribut (coloan) s fie dependent de fiecare parte a cheii principale. Mai exact, o tabel ndeplinete FN2 dac ndeplinete FN1 i conine numai atribute care dau informaii despre cheia tabelei. Exemplu: Considernd c n tabela Materii (CodMaterie, Denumire, An, NumeProfesor), unde cheia primar este CodMaterie, ar mai exista i alte cmpuri cum ar fi: Nume Student, Nota, Data Examinrii. Acea structur nu ar fi proiectat bine, nendeplinind FN2. Pentru a soluiona aceast problem trebuie mprit acea tabel n mai multe, astfel: Student (CodStud, Nume, .) Materii (CodMat, Denumire, An, NumeProf), Note (Nota, Data, CodStud, CodMat)
13

Baze de date: concepte generale. Aplicaia Access: noiuni primare

3. Forma normal de ordin 3 (FN3) Pentru a ajunge la a treia form normal, tabelul trebuie s fie deja n prima i a doua form normal. Pentru a fi n a treia form normal, trebuie ca toate cmpurile non-primare s depind numai de cmpurile primare. Dei nu face parte n mod riguros din normalizare, de obicei nu este recomandabil s includei cmpuri care pot fi derivate din alte cmpuri situate n acelai tabel sau n tabelele aflate n relaie. Exemplu: S considerm baza de date Universitate, mai exact tabela DatePersonale, care are structura: DatePersonale (CodStudent, CNP, Nume, Init, Prenume, DataNast, LocNast, Tata, Mama, Adresa) Nu are rost s stocm un alt cmp numit Vrsta, care se poate calcula din data naterii.

5.2 Indeci i chei


Uneori ntr-o tabel exist foarte multe date, de aceea se recomand ierarhizarea datelor din tabel, pentru a putea fi regsite ct mai uor. De aceea, pentru anumite tabele se recomand construirea indecilor. Cu ajutorul unui index datele din tabel se pot regsi foarte uor (de exemplu, se poate construi un index care s ordoneze date din tabel n ordine cresctoare a anilor de vechime). Orice tabel trebuie s aib definit o cheie. Cheia unei tabele reprezint un ansamblu minim de atribute care identific o nregistrare dintr-o tabel. Cheia poate fi format dintr-un singur atribut (cheie simpl), sau din mai multe atribute (cheia compus). Determinarea cheii necesit cunoaterea semnificaiilor atributelor din tabel. La un moment dat ntr-o tabel pot exista mai multe atribute cu proprietatea c pot identifica o nregistrare, aceste combinaii se numesc chei candidate. Dintre aceste chei candidate se alege o combinaie care se folosete efectiv. Aceast combinaie folosit se numete cheie primar. Aceast cheie primar va identifica n mod unic o nregistrare din tabel (nregistrarea respectiv nu poate fi nul). Dac ntr-o tabel un atribut sau un ansamblu de atribute ia valori n acelai domeniu ca i cheia primar a unei tabele, atunci acest ansamblu de atribute se numete cheie extern. Crearea unei chei primare se face din meniul Edit Primary Key, sau click dreapta i accesarea opiunii . Apelarea acestei funcii trebuie fcut dup selectarea cmpului sau cmpurilor ce se doresc a fi cheia primar a tabelei. Crearea unui index se realizeaz tot n fereastra n care se adaug noi atribute tabelei. Pentru a aduga un index unui cmp, va trebui selectat cmpul respectiv i apoi n partea de proprieti a acestui atribut, n dreptul cmpului Indexed, se alege opiunea Yes. Dac opiunea aleas ulterior va fi Yes (Duplicates ok), atunci se face o indexare dup acel cmp fr nici o restricie de introducere date. Dac, ns, opiunea aleas va fi Yes (no Duplicates), atunci n cmpul respectiv nu se pot introduce dou nregistrri cu aceeai valoare.

14

Baze de date: concepte generale. Aplicaia Access: noiuni primare

5.3 Relaii ntre tabele


1. Tipuri de relaii O baz de date este format din mai multe tabele cu diferite legturi. Tipurile de legturi dintre dou tabele pot fi urmtoarele: a) Legtura de tip unu la unu (1:1) cnd unei nregistrri dintr-o tabel (tabel denumit n acest caz tabel printe) i corespunde o singur nregistrare n cealalt tabel (tabel recunoscut n acest caz ca fiind tabel fiu). Pentru a stabili o astfel de legtur, cmpul din tabela printe va trebui determinat ca fiind cheie primar, iar, cel din tabela fiu ca fiind cheie extern reprezentnd index unic fr admitere de duplicate. De reinut este faptul c, cele dou cmpuri dup care se face legtura trebuie s fie de acelai tip. Aceast relaie unu-la-unu este foarte rar folosit n lumea real. Cel mai des, ea este folosit pentru a reduce numrul de atribute dintr-o entitate, pentru a nu depi numrul maxim de cmpuri asociate pentru o tabel, acesta fiind de circa 255. Se mai poate folosi i n cazul n care dorim desprirea elementelor fixe, a informaiilor care se modific mai rar fa de cele care se modific destul de des. Un exemplu ar fi la aplicaia pe care o proiectm noi, mprirea informaiilor despre studeni n dou entiti: informaiile personale fiind stocate n tabelul DatePersonale i informaiile care se modific de la an la an n tabela Studenti. Pentru a realiza efectiv aceast relaie trebuie introdus atributul CodStud i n tabela StudPersonal. Astfel cele dou se transform astfel: Student cu atributele: CodStud, Specializare, An, Media, Bursa DatePersonale cu atributele: CodStudent, CNP, Nume, Init, Prenume, DataNast, LocNast, Adresa n acest caz am determinat cheia primar n tabela Student (CodStud), iar cheia extern index unic fr admitere duplicate n tabela DatePersonale (CodStudent). Informaiile stocate aa sunt i mai uor de manipulat. b) Legtura de tip unu la mai multe (1:n) cnd unei nregistrri dintr-o tabel (tabel denumit n acest caz tabel printe) i corespund mai multe nregistrri n cealalt tabel (tabel recunoscut n acest caz ca fiind tabel fiu). Pentru a stabili o astfel de legtur, cmpul din tabela printe va trebui determinat ca fiind cheie primar, iar, cel din tabela fiu ca fiind cheie extern reprezentnd index multiplu cu posibilitate de admitere duplicate. De reinut este faptul c, cele dou cmpuri dup care se face legtura trebuie s fie de acelai tip. Un exemplu al acestui tip de relaie din cadrul aplicaiei pe care o proiectm noi este c ntr-o facultate sunt mai muli studeni, i se precizeaz c un student aparine unei singure faculti din cadrul aceleiai universiti. Pentru a realiza efectiv aceast relaie trebuie introdus atributul CodFac i n tabela Studenti. Astfel cele dou se transform astfel: Facultate cu atributele: CodFac, Denumire, Adresa, NumeDecan Student cu atributele: CodStud, CodFac, Specializare, An, Media, Bursa n acest caz am determinat cheia primar n tabela Facultate (CodFac), iar cheia extern index multiplu cu admitere duplicate n tabela Student (CodFac). Observaie: Dac se aduga atributul CodStud n tabela Facultate, se pstrau date redundante n aceast tabel, adic pentru fiecare student al facultii trebuiau pstrate informaii
15

Baze de date: concepte generale. Aplicaia Access: noiuni primare

referitoare la facultate: denumirea ei, adresa, numele decanului, etc. c) Legtura de tipul mai multe la mai multe (m:n) cnd mai multor nregistrri dintr-o tabel i corespund mai multe nregistrri din cealalt tabel. Acest tip de relaie este foarte des ntlnit, dar nu poate fi implementat n bazele de date relaionale. De fapt, pentru modelarea acestei relaii se folosete o relaie suplimentar, de tip unu-la-mai-multe pentru fiecare din relaiile iniiale. Un exemplu al acestui tip de relaie din cadrul aplicaia pe care o proiectm noi este c un student particip la mai multe materii, cursuri, iar o materie este frecventat de mai muli studeni. Pentru a soluiona aceast problem am introdus o tabel suplimetar numit Nota, care va face legtura ntre tabelele Materii i Studen. Tabelele iniiale se modific astfel: Student cu atributele: CodStud, CodFac, Specializare, An, Media, Bursa Materii cu atributele: CodMat, Denumire, An, NumeProf Nota cu atributele: CodStud, CodMat, Nota, DataEx Prin introducerea atributului DataEx n tabela Note s-a soluionat problema care apare atunci cnd un student trebuie s fie examinat de mai multe ori pn la promovarea materiei respective. 2. Crearea efectiv a unei relaii Pentru a crea efectiv o relaie va trebui apelat funcia Relationships din meniul Tools, sau direct prin accesarea butonului . Pe ecran va aprea fereastra Show Table, din care vor trebui alese tabelele ntre care se dorete stabilirea legturilor. Pentru crearea unei relaii se va folosi mouse-ul dup principiul drag and drop ntre cmpurile dup care se va stabili relaia ntre tabelele dorite. Un clic pe relaie va deschide o fereastr de tip Edit Relationships:

n care se vor vizualiza tabelele relaionate, cmpurile de legtur, tipul relaiei, si, nu, n ultimul rnd posibilitatea de a stabili restricii de integritate: a) Enforce Referential Integrity deschide posibilitatea definirii unor posibiliti de adugare, respectiv tergere a nregistrrilor ntr-o relaie. O simpl accesare a acestei opiuni determin apariia semnelor 1 i n vizualizarea relaiilor. b) Cascade Update Related Fields permite activarea opiunii de modificare n cascad, n ntreaga relaie, dup cmpul de relaionare din tabela de nivel printe. c) Cascade Delete Related Recors permite activarea opiunii de tergere n cascad, n ntreaga relaie, dup nregistrrile din tabela de nivel printe. n urma celor relatate mai sus n cazul nostru am ajuns la urmtoarea relaie:

16

Baze de date: concepte generale. Aplicaia Access: noiuni primare

6. Lucrare aplicativ propus spre rezolvare


Se va proiecta o baz de date pentru evidena angajailor unei societi comerciale. Pentru dezvoltare se va folosi aplicaia Access, iar fiierul de gestiune va purta numele Eviden angajati.mdb. Baza de date va conine tabelele descrise mai jos: Funcii Cod fct Functia Studii Angajai Id ang Nume Prenume Functia Data ang Sal incad
1:n

1:n

1:1

Date pers Id ang CI Data nast Adresa

Copii ang Cod ang Prenume Alocatie

Angajati Nume cmp Id ang Nume Prenume Functia Data incad Sal incad Tip/dimensiune Numeric ntreg Text 20 Text 40 Text 3 Dat calendaristic Numeric ntreg Index/cheie Restricii primar Cheie primar Index cu Se gsete n lista duplicate <ING, DIR, MCT, MST, ECO, INF> >=600

Date personale Nume cmp Id ang CI Data nast Tip/dimensiune Numeric ntreg Text 8 Dat calendaristic Index/cheie primar Index unic
17

Restricii Se gsete n lista codurilor angajailor din tabela Angajai

Baze de date: concepte generale. Aplicaia Access: noiuni primare

Adresa

Memo

Se creaz un ablon Loc, str., nr., ap., tel., jud., e-mail:

Functii Nume cmp Cod fct Functia Studii Tip/dimensiune Text 3 Text 15 Text 10 Index/cheie primar Cheie primar Restricii

Se gsete n lista <PRIMARE, MEDII, SUPERIOARE>

Copii angajati Nume cmp Cod ang Prenume Alocatie Tip/dimensiune Numeric ntreg Text 40 Numeric ntreg Index/cheie Restricii primar Index cu Se gsete n lista duplicate codurilor angajaior din tabela Angajai Valoarea implicit va fi 40

Rezultatul la care trebuie s se ajung este indicat mai jos:

18

S-ar putea să vă placă și