Sunteți pe pagina 1din 9

2.1 Elementele componente a unei baze de date O baz de date este un mod de memorare a datelor ntr-o form organizat.

Principalele componente ale unei baze de date: Tabele Interogri Formulare Rapoarte Comenzi Macro Module

Fereastra Database v pune la dispoziie o metod simpl i coerent de gestionare a obiectelor care fac parte din baza dumneavoastr de date. Selectai eticheta corespunztoare tipului de obiecte care v intereseaz n partea de sus a ferestrei, ca urmare, toate obiectele de tipul respectiv vor fi prezentate n ordine alfabetic. Dac executai clic pe butonul Design (Proiectare) obiectul selectat curent va fi deschis n modul de afiare Design n vederea modificrilor. Dac executai clic pe butonul Open (Deschidere) obiectul va fi deschis pentru utilizare normal. Dac executai clic pe butonul New (Nou), va fi creat un obiect nou de tipul respectiv. Tabelele: reprezint obiecte din cadrul bazei de date care stocheaz datele. Un tabel este constituit din cmpuri, care sunt coloanele, crora li se atribuie cte un nume, un tip de date i o dimensiune bine precizat i nregistrri care sunt rndurile. Se pot aduga i mai trziu cmpuri dar dac s-au creat interogri, formulare sau rapoarte care folosesc datele din tabel s-ar putea s fie nevoie s le reproiectai i pe acestea. Puin planificarea poate duce la beneficii substaniale. Interogrile: sunt destinate gsirii i afirii anumitor date din tabele ntr-o anumit ordine, de asemenea pot combina date din tabele diferite i permit operrii asupra acestora. Access permite s editai datele afiate ntr-o nregistrare. Aceste modificri vor fi fcute i n tabelele de baz. Formularele: sunt ferestre pentru introducerea, afiarea i editarea datelor pe ecran. Ele pot fi sub forma unei foi de calcul sau pot afia cte o nregistrare sub forma unui sistem de cartele index care pot fi prezentate n orice ordine.

Formularele pot conine i subformulare pentru a afia date asociate, de asemenea pot conine butoane pentru a deschide alte formulare sau pentru a tipri rapoarte. Formularul reprezint interfaa utilizator a bazei dumneavoastr de date. Rapoartele: sunt folosite pentru operaii de ieire, datele fiind dirijate de obicei ctre o imprimant. Dac dorii s selectai doar unele date n vederea includerii n raport trebuie s creai mai nti o interogare i s fundamentai raportul pe rezultatele interogrii. Comenzi Macro: reprezint o secven de aciuni care trebuie repetat la cererea utilizatorului. Aceast secven este programat prin alegerea dintr-o list derulant de aciuni disponibile, iar introducerea detaliilor pentru operaia respectiv se face n partea de jos a ecranului. Comenzile Macro sunt asociate adeseori unui buton din cadrul unui formular astfel nct atunci cnd executai clic pe butonul respectiv aciunile respective sunt ndeplinite. Comenzile macro din Access trebuie create direct de utilizator. Modulele: sunt recipiente pentru procedurile, subrutinele i funciile Visual Basic, folosite n cadrul bazei de date pentru operaii de calcul i diverse opiuni astfel nct este necesar o oarecare experien de programare pentru scrierea lor. 2.2 Proiectarea unei baze de date Nereuita proiectrii este echivalent cu proiectarea nereuitei Proiectarea reprezint procesul de transformare a cerinelor de date din lumea real ntr-o structur de baz de date care const n relaiile dintre tabele i cmpuri. Prima etap n proiectarea unei baze de date const n definirea obiectivelor pe care vrei s le realizai: care este scopul acestei baze de date? ce categorii de date trebuie stocate? ct de mari sunt aceste tipuri de date i ce dimensiuni vor avea elementele lor componente? ce fel de rapoarte sunt necesare? ci utilizatori i cte amplasamente de reea vor folosi baza de date?

Dac srii peste faza de planificare, v putei atepta s v confruntai mcar cu o parte din urmtoarele probleme: Dac schimbai numele unui cmp, va trebui s modificai, de asemenea toate interogrile, formularele, rapoartele, comenzile macro i modulele care folosesc numele cmpului respectiv. Atunci cnd schimbai tipul de dat al unui cmp, va fi nevoie s modificai formatul de reprezentare a datelor n interogri, formulare i rapoarte, precum i declaraiile de variabile din cadrul modulelor.

Modificarea dimensiunii unui cmp poate duce la invalidarea relaiilor cu tabelele asociate sau la situaia n care spaiul de ecran alocat n formulare i rapoarte este necorespunztor. Modificarea relaiilor dintre tabele poate determina efecte neateptate asupra interogrilor. Bineneles c aceste efecte se vor manifesta n formularele sau rapoartele bazate pe interogrile respective. Nepotrivirile dintre datele stocate n pri diferite ale bazei de date pot crea incertitudini n ceea ce privete varianta corect. n cazul cel mai defavorabil, s-ar putea ca problemele mai subtile s rmn neobservate luni de zile, pn n momentul n care nite modificri efectuate ntr-o anumit parte a bazei de date determin apariia unor efecte colaterale nedorite n celelalte pri.

n practic, n timpul dezvoltrii unui proiect vor fi necesare ntotdeauna unele modificri ale formei iniiale a proiectului. Totui, pe msur ce ctigai mai mult experien, vei reui din ce n ce mai bine s v planificai eficient de la nceput. 2.3 Crearea tabelelor Tabelele reprezint obiectele din cadrul bazei de date care stocheaz datele. Un tabel este constituit din cmpuri, care sunt coloane crora li se atribuie cte un nume, fiecare avnd un tip de date i o dimensiune bine precizat. Aceast abordare structurat a datelor asigur bazelor de date puterea i viteza de care au nevoie. Pentru crearea unui tabel trebuie s stabilim mai nti structura sa, dup aceea s introducem nregistrri. Selectnd butonul <New> care se afl n dreapta ferestrei bazei de date se deschide fereastra de selecie.

Aceast fereastr v permite s alegei modul de generare a unui nou tabel. Alegem opiunea Design View care ne va deschide fereastra pentru proiectarea structurii unui tabel.

Dup deschiderea ferestrei Proiectare tabel pentru a defini structura unui tabel trebuie s introducem numele cmpurilor, s alegem tipul de date pentru fiecare cmp din tabel i eventual putem scrie o descriere a fiecrui cmp. Tipurile de date ale unui cmp se pot alege dintr-o list derulant care se deschide n coloana Data Type:

Text: List derulant : tipuri de date majoritatea ale cmpurilor cmpurilor vor fi de Nume tipul text. Pe lng cmpuri nume i adres, cmpurile text trebuie Proprietile utilizate, de cmpurilor asemenea, pentru numerele care nu au funcie matematic (de exemplu: folosirea unor cmpuri text pentru numerele de telefon va permite utilizatorilor s includ spaii, liniue i paranteze n cadrul cmpului). Dimensiunea prestabilit a unui cmp text este de 50 de caractere, dar putei alege orice dimensiune de la 1 la 255. Access nu aloc iniial dimensiunea maxim, obinnd astfel performane mai bune prin alocarea dinamic a spaiului de stocare care poate avea dimensiuni mai mici.

/ Memo: dac limita de 255 de caractere este insuficient pentru un anumit cmp, 64KB (kilooctei) ar trebui s fie de ajuns. Aceast limit nseamn c putei stoca aproximativ 16 pagini de text scris la un rnd pentru fiecare nregistrare. Cmpurile memo constau numai din text. Pot fi incluse secvene salt la nceput de rnd/salt la rnd nou, dar nu se accept opiuni de formatare a textului ca scrierea cu caractere aldine a unei pri dintr-un cmp sau indentarea unui paragraf.
Numeric: tipul (Number) include mai multe tipuri care difer prin modul de stocare i viteza de rspuns. Tipul <Byte> (Octet) accept numai valori ntregi pozitive pn la 255, tipul <Integer> (ntreg) acoper domeniul numerelor ntregi de la 32768 la 32768, iar tipul <Long Integer> (ntreg Lung) numerele ntregi pn dincolo de limitele de plus/minus 2 miliarde. Spaiul de stocare pentru un numr Long Integer este de patru ori mai mare dect cel pentru un octet. Tipurile n virgul mobil: tipul <Single> acoper domeniul numerelor fracionare cu pn la apte cifre semnificative, n timp ce <Double> mrete precizia pn la 14 cifre semnificative. Tipul <ReplicationID> (IdentificatorMultiplicare) asigur un identificator unic global pentru bazele de date n cazul crora trebuie realizat sincronizarea unor mari cantiti de date suplimentare, de la mai multe situri.

Dat calendaristic/Or: permite introducerea datei i a orei ntr-un anume format care trebuie stabilit n rubrica de proprieti ale acestui tip de cmp. Opiunea Short Date este suficient n majoritatea situaiilor.

/ /

Valut (Currency): acoper valorile (n dolari, lei, etc.) ntregi pn la 15 cifre i valori zecimale pn la sutimi. Este mai lent dect tipurile de numere ntregi sau n virgul mobil.

/ Numr cu incrementare automat (AutoNumber): folosii un astfel de numr secvenial pentru a avea numere unice ale nregistrrilor. Numerele cu incrementare automat sunt atribuite chiar n momentul n care ncepei s adugai o nregistrare nou. Pe de alt parte dac renunai la adugarea unei nregistrri, numrul cu incrementare automat este srit i nu va mai fi atribuit mai trziu. n cazul tergerii unei nregistrri existente, nu exist nici o posibilitate de creare a unei alte nregistrri cu acelai numr. Datorit acestor particulariti de proiectare, este mai sigur s folosii tipul numr cu incrementare automat ca baz pentru relaiile cu alte tabele.
Da/Nu (Yes/No): stocheaz numai valori Adevrat / Fals. Poate fi afiat n una din formele True / False, Yes/No, sau On/Off (Activat/Dezactivat). Dac avei nevoie s selectai manual unele nregistrri, acesta se poate prezenta sub forma unei casete de validare. Obiect OLE: este destinat pstrrii datelor provenite de la alte programe, care s-au nregistrat ele nsele ca servere OLE n Windows (documente de tip text, seturi de foi de calcul, ilustraii, sunete). Program wizard de cutare (Lookup Wizard): reprezint o metod convenabil de creare a unui cmp care ndeplinete funcia de cutare ntr-un alt tabel. De obicei, tabelul de cutare are dou cmpuri Cmp1 i Cmp2, programul de cutare creeaz un cmp care stocheaz valoarea pentru Cmp1, dar afieaz Cmp2 ntr-o list combinat pentru referire i selectare mai uoar. n partea de jos a ferestrei Proiectare tabel, avei posibilitatea s precizai mai multe proprieti pentru fiecare cmp. Principale proprieti sunt: Field Size depinde de tipul cmpului. Format - afecteaz modul n care sunt afiate datele. Input Mask (Masca de intrare) controleaz modul de introducere a datelor n cadrul cmpului. Caption (Titlu) este folosit de Access pentru a afia titlurile numelor de cmp n modul de afiare Datasheet (Foaie de date), n acest caz acest nume poate conine i spaii. Suplimentar aceast valoare este utilizat ca etichet a unui control legat de acest cmp, din cadrul unui formular nou. Dac proprietatea Caption este necompletat, chiar numele cmpului va fi folosit ca titlu. Default Value reprezint valoarea iniial, oferit la adugarea unei noi nregistrri. Validation Rule regul de validare Validation Text dac datele introduse nu respect regula de validare, textul din Validation Text va fi afiat ntr-o caset de mesaje.

/ / /

Required subliniaz faptul c un cmp nu trebuie lsat necompletat, are dou valori Yes/No. Este util pentru cmpurile cheie strin. Allow Zero Length o valoare nul (nu au fost introduse date) nu reprezint acelai lucru cu un ir de lungime zero (un ir fr caractere). Indexed indecii asigur mecanismul de regsire rapid a datelor. Indexul cheie primar prevede cte un pointer unic ctre fiecare nregistrare i reprezint ordinea de afiare prestabilit pentru tabele n Access. Opiunea No Duplicates (Fr duplicate) asigur performane excelente, opiunea Duplicates OK nu are aceleai performane ca i un index unic, dar poate fi totui util. Lookup (Cutare) orice cmp accept o etichet nou Lookup n cadrul proprietilor sale. Aceast etichet definete tipul de control care va reprezenta cmpul respectiv n modul de afiare Datasheet i n noile formulare. Funcie de tipul de date al cmpului putem avea urmtoarele controale: Check Box, Text Box, Combo (list combinat), List Box (caset pentru list)

Dup definirea structurii unui tabel nainte de a nchide fereastra de proiectare tabel, acesta trebuie salvat cu un anumit nume. Access v permite s folosii nume cu o lungime de pn la 64 de caractere, inclusiv spaii nglobate. Nu uitai c numele mai scurte, fr spaii, pot fi indicate mai uor dac va fi nevoie s scriei aceste nume n Visual Basic. Nu se face distincie ntre literele mari i mici, totui acestea se stocheaz aa cum se introduc. n anumite condiii, Access v cere s alegei o surs de date, toate tabelele i interogrile fiind prezentate mpreun. Dac toate numele de tabele ncep cu tbl i numele de interogri cu int, atunci distincia va fi foarte clar. Este de preferat ca numele obiectelor s fie precedate de cteva litere care s fac posibil cunoaterea fiecrui tip de obiect: numele unui tabel s nceap cu tbl, numele unei interogri s nceap cu int, numele unui formular s nceap cu frm. 2.4 Relaiile dintre tabele Este posibil s constatm c unele cmpuri se repet, n acest caz aceste cmpuri trebuie s devin un al doilea tabel legat de primul. O proiectare eficient a unei baze de date implic separarea datelor n mai multe tabele, n scopul minimizrii spaiului de stocare, mbuntirii performanelor i creterii preciziei. Datele izolate trebuie legate mpreun, din nou, prin intermediul relaiilor. Relaiile dintre tabele se formeaz prin precizarea unei legturi dintre un cmp (sau o combinaie de cmpuri) , dintr-un tabel i cmpurile corespunztoare din alt tabel. Relaiile pot fi de mai multe tipuri: 1. Relaii de la unu la mai muli: este cea mai cunoscut i util relaie. Tabelul din partea unu a relaiei trebuie s conin un cmp numit cheie primar . Scopul cheii primare este asigurarea unicitii fiecrei nregistrri. Tabelul din partea mai muli trebuie s conin un cmp numit cheie strin care leag nregistrarea cu

cheia primar a altui tabel. Cheia strin trebuie s fie de acelai tip de dat i s aib aceeai dimensiune ca i cheia primar. De exemplu, dac proiectm o baz de date pentru stocarea informaiilor referitoare la o colecie de CD-uri, am putea avea n final tipurile urmtoare de cmpuri:

[ [ [ [ [ [ [

CodCD TitluCD DataLansrii NumePiesa1 DurataPiesa1 NumePiesa2 DurataPiesa2


cmpuri multiple

Se observ apariia cmpurilor multiple pentru denumirea i durata piesei. De cte ori trebuie s repetm aceste cmpuri? De 20 de ori va fi suficient? Chiar i aa, de unde vom ti n ce cmp s cutm pentru a gsi un anumit cntec (o anumit pies) ? Ori de cte ori vom vedea c denumirile cmpurilor se repet n acest fel, nseamn c aceste cmpuri trebuie s devin un al doilea tabel, legat de primul. Primul va avea cte o poziie pentru fiecare CD, iar al doilea, cte una pentru fiecare pies. Aceast soluie permite introducerea unui numr orict de mare sau orict de mic de piese, cte avem nevoie pentru fiecare CD. Acest exemplu ilustreaz o relaie tipic de unu la mai muli (one_to_many). Aspect ce poate fi reprezentat sub forma unor diagrame de forma urmtoare:

tblEvidentaCD CODCD TITLUCD DataLansarii

unu

tblPieseCD CodCD NrPiesa Mai muli NumePiesa Durata/min

CodCD reprezint cmpul cheie primar n tabelul tblEvidentaCD. n ceea ce privete tabelul tblPieseCD, cmpul CodCD este cheie strin, servind la identificarea albumului cruia i aparine o pies i n mod sigur nu este unic. Dac un album are 16 piese, vor exista 16 nregistrri n tabelul tblPieseCD care au acelai CodCD. 2. Relaia de la mai muli la mai muli: avem unele situaii care nu se potrivesc cu o relaie simpl de la unu la mai muli. Soluia const n a crea un tabel intermediar care sparge relaia de la mai muli la mai muli ntr-o pereche de relaii de la unu la mai muli.

De exemplu, o facultate ar trebui s se in evidena tuturor studenilor nscrii, precum i a tuturor cursurilor oferite de facultate. Care este relaia dintre studeni i cursuri? Un student este nscris la mai multe cursuri, dar un curs este inut pentru mai muli studeni. Aceasta este o relaie de la mai muli la mai muli (many_to_many). Soluia const n crearea unui tabel intermediar care sparge relaia de la mai muli la mai muli ntr-o pereche de relaii de la unu la mai muli. n cazul exemplului cu studenii i cursurile tabelul intermediar ar putea fi denumit nscrieri. Tabelul nscrieri cuprinde numai dou cmpuri IdentificatorStudent i IdentificatorCurs. De fiecare dat cnd un student se nscrie la un curs, apare cte o nregistrare n tabelul nscrieri. Aceasta determin existena unei relaii de la unu la mai muli ntre tabelele Studeni i nscrieri i tot a unei relaii de la unu la mai muli ntre tabelele Cursuri i nscrieri.

TabelulStudeni
U N U

Tabelulnscrier i

M A I M U L I U N U

TabelulCursur i IDENTIFICAT ORCURS DeumireCurs Descriere

IDENTIFICATO RSTUDENT NumeDeFamilie Prenume

M A I M U L I

IdentificatorS tudent IdentificatoC urs

3. Relaia unu la unu: dou tabele unite printr-o relaie unu la unu sunt similare, n practic, cu un tabel care cuprinde cmpurile din ambele tabele. Relaia poate fi util pentru: structuri foarte mari (> de 255 de cmpuri), asigurarea securitii datelor; creterea eficienei. Pentru a crea o relaie n Access, selectai fereastra Database i alegei opiunea Relationship (Relaii) din meniul Tools. Tabelele i interogrile pot fi adugate n fereastra Relationship prin intermediul ferestrei Show Tables. Putei crea o relaie prin selectarea unui cmp din tabelul primar i tragerea acestuia peste cmpul corespunztor din tabelul asociat. Pentru o relaie de al unu la mai muli, tabelul asociat este tabelul din partea mai muli a relaiei. Access rspunde prin deschiderea unei ferestre n care sunt confirmate detaliile relaiei. Exemplu: n fereastra Relationship se aduc tabele tblEvidentaCD i tblPieseCD ntre care se dorete generarea unei relaii. Selectnd cmpul CodCD din tblEvidentaCD i trgndul peste cmpul CodCD din tabelul tblPieseCD, Access va deschide o fereastr pentru confirmarea detaliilor seleciei:

n aceast fereastr sunt prezentate cmpurile implicate n relaia dintre tabele/interogri i tipul relaie (One-To-Many).

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