Sunteți pe pagina 1din 14

BAZE DE DATE

Indiferent daca este vorba de înregistrari de asigurari sau înregistrari medicale, de colectii de biblioteci
sau de manevre militare, categorii de produse sau furnizori, costuri sau cheltuieli, pastrarea evidentei
datelor este una dintre cele mai uzuale aplicatii informatice. Fiecare companie sau firma trebuie sa
colecteze anumite date. Introducerea a mii de înregistrari nu foloseste la nimic daca nu aveti posibilitatea sa
manipulati datele si sa analizati înregistrarile din diverse perspective. Închipuiti-va cum ar arata un
recensamânt al populatiei doar ca un simplu tabel de date pe care îl tipariti sub forma unui document imens
ascuns între doua coperti care s-ar deschide doar în fata unui soarece de biblioteca!?
Vreti un exemplu de baza de date clasic? Cartile de telefon. Ce credeti ca face operatoarea de la
capatul firului, când ati format 931? Consulta baza de date si apoi cu un simplu Enter porneste un robot
care va comunica numarul de telefon cautat.
Pare simplu, nu? Va spun sincer ca NU!!

O baza de date este o colectie de informatii referitoare la unul sau mai multe grupuri de articole sau
de indivizi. Fiecare baza de date poseda caracteristici care va permit sa manipulati înregistrarile în doua
moduri principale:
? prin sortare
? prin interogare
Când sortati o baza de date, o faceti pentru a o organiza într-o anumita ordine dupa continutul unui
câmp. De exemplu puteti organiza baza de date dupa preturile descrescatoare sau în ordine alfabetica. O
interogare a unei baze de date analizeaza o baza de date si returneaza înregistrarile care îndeplinesc
anumite criterii. Astfel, puteti sa vedeti de câte ori ati consultat un anume pacient în ultimul an si ce
diagnosticuri i-ati pus. Sau ce produse ati achizitionat de la un anumit furnizor. Sau puteti tipari un raport cu
echipamentele pe care le-ati distribuit saptamâna trecuta. Exemple sunt infinit de multe. Fiecare domeniu
ofera o diversitate pe care numai lucrul cotidian o poate scoate la iveala.

Sfat: când vreti sa porniti în alcatuirea unei baze de date referiti-va întotdeauna la un subiect real de
care v-ati lovit în lucrul de zi cu zi. Atunci veti gasi si dificultatile, dar si rezolvarile lor.

Programele simple de baze de date va permit sa lucrati cu o singura lista (tabel) de informatii la un
moment dat: un set de câmpuri (coloane) si de înregistrari (rânduri). Aceste programe da baze de date sunt
deseori denumite „fisiere simple” Programele mai complexe va permit sa grupati mai multe liste la un loc si
sa stabiliti relatii între ele, creând un tip de baza de date numita baza de date relationala.
Într-un fisier simplu, o singura lista reprezinta întreaga baza de date. Într-o baza de date relationala,
fiecare lista este stocata într-un tabel distinct (ex: într-un tabel sunt pacientii, în altul afectiunile, în altul
consultatiile oferite etc). Dar intr-un tabel puteti folosi datele din alt tabel. De exemplu, în tabelul pacientilor,
atunci când veti completa câmpul afectiunilor, acestea vor apare ca o lista derulanta gata scrisa si deci nu
va fi nevoie sa le tastati din nou.
Bineînteles, cu totii am avut de-a face cu formulare. Va amintiti, desigur, chestionarul pe care mi l-ati
trimis prin e-mail. Un formular e mai simplu de completat, are un aspect placut si cere raspunsuri la subiecte
clare. Formularele sunt foarte utile. Atât pentru introducerea datelor, cât si pentru vizualizarea lor. E o
placere sa lucrezi cu ele.

Astazi vom învata cum se construieste o baza de date utilizând programul Microsoft Access. Membru al
familiei Microsoft Office Professional, acesta este un program performant de baze de date. Poate face fata
unui mediu de afaceri cât de complex: industrie, comert, sanatate, turism, economie, învatamânt,
transporturi etc. Se regasesc în portofoliul sau baze de date gata facute. Împartite pe categorii: Business ori
Personal. Cu subiecte diverse: Liste postale (Mailing List), Liste de angajati (Employees), Produse
(Products), Comenzi (Orders), Plati (Payments), Furnizori (Supplies), Adrese (Addresses) etc. Instructorul
dvs. va va arata optiunile si mai ales va va învata ca ele sunt foarte utile.
Din pacate, toate aceste baze de date contin câmpuri care oglindesc conceptul economic american.
Însa, cu douatrei smecherii putem scapa de acest handicap, iar baza de date poate fi gata destul de
repede. Daca însa aveti nevoie de o baza de date personalizata, smecheriile nu mai sunt de folos!
Pentru exercitiul de astazi am ales o baza de date medicala. Si asta din mai multe motive: este usor de
înteles si de urmarit, relatiile dintre obiecte sunt logice, iar înregistrarile propriu-zise, ma astept sa le faceti
chiar dvs.!
Totul începe cu un plan. Sa ne imaginam o baza de date simpla care sa cuprinda informatii despre
pacientii înscrisi la un medic de familie. Sa presupunem ca medicul ar trebui sa cunoasca urmatoarele:
Nume, Prenume, CNP, Nr. Asigurare, Adresa, Telefon, Afectiuni cronice, Alergii, Antecedente personale
(sunt sigur ca mai sunt necesare si alte informatii, dar haideti sa ne oprim aici).
Datele vor fi înscrise într-un tabel (pe care-l vom denumi Pacienti ) ale carui câmpuri (coloane) vor fi
chiar denumirile de mai sus. Prima coloana o vom denumi ID Pacienti (Identificator Pacienti), un fel de
numar curent (Auto Number). Deocamdata nu întrebati de ce, instructorul dvs. o sa va lamureasca atunci
când trebuie. Sa mai precizam ca primele sase câmpuri mentionate trebuie completate individual, chiar si
numai pentru simplul motiv ca CNP este unic! Dar când va trebui sa completam Afectiunile cronice sau
Alergiile ar fi tare placut daca am reusi totul doar cu un click! O solutie ar fi urmatoarea: sa facem un tabel
separat, pe care sa-l denumim Afectiuni si care sa aiba doua coloane: ID Afectiuni (Auto Number) si Nume
Afectiune (unde se vor înscrie toate afectiunile comune). Nu va fi chiar comod sa completam aceasta ultima
coloana, dar cu siguranta va fi foarte comod pe viitor. Si-n plus, ar avea si asistenta ce face vreo doua
saptamâni! Haideti sa facem acelasi lucru si cu tabelul Alergii . Cred ca oricum sunt ceva mai putine.
La o consultatie, medicul (asistenta) trece constiincios într-un catastif, probabil, urmatoarele: Data,
Nume, Prenume, CNP, Diagnostic, Trimitere, Tratament si or mai fi si altele, dar ne oprim aici. Vom face
un tabel care sa contina câmpurile mentionate si-i vom da denumirea Consultatii .
Observam câmpurile aldine (Nume, Prenume, CNP,) care sunt identice cu cele din tabelul Pacienti .
Ar fi bine daca le-am putea lua de acolo!! Ar fi comod si mai ales nu s-ar strecura nici o greseala la
completare.
Diagnosticul echivaleaza de cele mai multe ori cu o afectiune. Asadar, decidem sa luam datele pentru
Diagnostic din tabelul Afectiuni , câmpul Nume Afectiune.
Trimiterile au ca directie diferitele specialitati medicale: ORL, Endocrine etc. Facem si un tabel
Trimiteri , similar cu tabelele Afectiuni si Alergii . Incet, încet, baza de date capata contur.
O schema banala a planului pe care l-am descris si a prezumtivei baze de date arata cam asa:

Start, Programs, Microsoft Access ? apare fereastra principala a programului cu bara de meniuri
specifica mediului Windows. Se deschide o baza de date noua: File, New, Blank Database ? apare fereastra
prin care programul cere denumirea bazei de date si directorul în care va fi creata, fig.1. Se tasteaza, de
exemplu, Sanitas 4 iunie, apoi Create.
Va apare fereastra principala a bazei de date ( Sanitas 4 iunie: Database), fig.2, sus. În coloana din
stânga sunt puse la dispozitie urmatoarele optiuni: Tables – Tabele; Queries – Interogari; Forms –
Formulare; Reports – Rapoarte ..... Selectam Tables: apar modalitatile de realizare ale unui tabel. Daca vreti
sa apelati la o baza de date cu tabele prefabricate, atunci alegeti Create table by using wizard. Daca nu,
alegeti Create table in Design view. Începeti sa completati numele câmpurilor tabelului, apoi salvati tabelul
(Afectiuni ), acceptati cheia primara propusa de program si începeti sa completati câmpurile tabelului cu
numele afectiunilor, fig.2. Mai târziu, daca doriti, le puteti sorta alfabetic.
Fig.2. Realizarea unui tabel într-o baza de date
Trecem la alcatuirea tabelului Pacienti . Procedam în mod similar, dar ne oprim la câmpul Afectiuni
cronice, stabilind tipul de date (Data type) al câmpului prin alegerea optiunii Lookup Wizard, ceea ce
înseamna ca datele vor fi cautate undeva. Unde? În coloana Nume afectiune din tabelul Afectiuni . Trebuie
doar sa urmariti succesiunea etapelor din fig.3.
Fig.3. Etapele realizarii legaturii relationale între doua câmpuri din tabele diferite: câmpul Afectiuni cronice
din tabelul Pacienti preia datele din câmpul Nume afectiune
Repetati aceeasi pasi pentru urmatorul câmp, Alergii, indicând programului sa caute în coloana Nume
alergie din tabelul Alergii . Nu uitati de planul pe baza caruia se dezvolta baza de date! Instructorul dvs. va
va spune cum se traduce multimea de atribute care pot fi utilizate pentru a caracteriza un câmp de date.
E momentul însa sa lasam ceva timp pentru a fixa ideile si a întelege informatiile primite. Între timp,
fiecare dintre dvs. va repeta exercitiul si va completa în tabelul Pacienti datele personale. Va asigur ca
datele nu vor fi nicaieri folosite. Iar daca nu aveti încredere, completati ce vreti dvs. Sa aveti însa grija sa nu
începeti CNP-ul cu cifra 3!!
Continuam prin realizarea tabelului Consultatii : procedam în mod analog ca la tabelul Pacienti . Veti
învata mai întâi cum sa înscrieti data consultatiei. Ne oprim la câmpul Nume, indicând la tipul de date al
câmpului (Data type) optiunea Lookup wizard, cu referire la câmpul Nume din tabelul Pacienti , ca în fig.4.

Fig.4 . Lookup wizard pentru câmpul de date Nume

Idem, pentru câmpul Prenume. Bine, dar pot fi doi Popescu!! Chiar doi Popescu Dan! Ce e de facut?
Salvarea vine de la CNP, care e unic pentru fiecare dintre pacienti. In acelasi timp, datorita unor neatentii,
se poate atribui un CNP altui pacient. Devine clar ca se pot strecura greseli de completare, chiar daca se
acorda toata atentia. Instructorul dvs. va va arata ce e de facut.
Facem apoi un Lokup Wizard pentru Diagnostic si Trimitere. Daca aveti deja dureri de cap la
completarea câmpurilor Nume Afectiuni si Specialitatea din tabelele Afectiuni si respectiv Trimiteri , apelati
la colegii medici.
Incredibil, dar baza de date pe care ne-am propus-o e aproape gata. Sa recapitulam: avem pâna acum
cinci tabele care apar în fereastra principala a bazei de date, ca în fig.5. Ca sa vedem relatiile dintre ele,
apelam instrumentul Relationships. În fig.5. sus, vedem relatiile tabelului Consultatii cu alte tabele din baza
de date.
Aspectul tabelelor este însa destul de anost.. Va trebui sa facem ceva în acest sens. Salvarea vine de
la ... formulare. Vom transforma tabelele Pacienti si Consultatii în formulare. Datele vor fi mai usor de
înscris, iar pacientii noi le vor completa la prima vizita, încât asistenta sa le poata prelua la sfârsitul zilei
pentru a împrospata baza de date.

Fig.5. Relatiile dintre diferitele tabele si principalele doua tabele ale bazei de date în care s-au facut primele
înregistrari

Formularele se obtin repede daca avem deja tabelul: pur si simplu, transformam un tabel într-un
formular. Ba mai mult, avem si posibilitatea de a selecta pentru formular doar acele câmpuri care prezinta
interes. Formularele reprezinta partea vizuala a unei baze de date, iar tabelele pe cea care contine efectiv
înregistrarile acesteia. Let’s go!
Din fereastra principala a bazei de date Sanitas 4 iunie selectati obiectul Forms, apoi creati formularul
cu optiunea Create form by using wizard. Decidem apoi sa folosim datele din tabelul Pacienti ; în fereastra
de dialog sunt desfasurate toate câmpurile pe care le avem la dispozitie (Available FieldsI).
Daca dorim numai anumite câmpuri, le selectam si apoi click pe >. Daca dorim ca toate câmpurile sa le
introducem în formular, atunci facem click pe >>; câmpurile selectate apar în coloana Selected Fields. Ne
hotarâm pentru un formular pe coloane (Columnar) si pentru stilul Standard de prezentare.
Acceptam denumirea formularului propusa de program, adica Pacienti si Finish. Odata cu ultima
comanda, apare si formularul cu pricina. Etapele descrise pot fi urmarite cu usurinta pe fig.6. Dupa
prelucrarea sa în modul Design view, în care se aliniaza casutele si titlurile si dupa eventuala modificare a
atributelor unor câmpuri – instructorul dvs. va va arata cum - formularul e gata de completare si tiparire.
Procedam la fel cu formularul Consultatii , alegând de asemenea toata câmpurile: Data, Nume,
Prenume, CNP, Diagnostic, Trimitere, Tratament. Baza de date are acum cinci tabele, doua formulare si
legaturile dintre ele.
Sortarea, cautarea si selectarea înregistrarilor
În aceasta parte, veti învata despre sortarea înregistrarilor (în ordine alfabetica, de exemplu), precum si
despre metodele de cautare ale anumitor înregistrari individuale.
Deschideti tabelul Pacienti , faceti click dreapta pe coloana Nume, apoi alegeti una dintre optiunile
Ascending sau Descending, fig.7. !! La parasirea formularului, daca salvati noua ordine, atunci ea va
ramâne în vigoare si la urmatoarea deschidere a formularului !! Faceti acelasi exercitiu pe coloana Data din
tabelul Consultatii si vedeti ce se întâmpla.

Fig.7. Sortarea simpla dupa criteriul alfabetic


Am vrea sa stim câti Ionescu sunt pe lista pacientilor. Simplu: selectam cu mouse-ul primul Ionescu
care ne iese în cale din coloana Nume, apoi Records, Filter, Filter by selection si apar toti Ionestii! Apoi îi pot
ordona alfabetic dupa prenume. Începe sa devina interesant. Deschideti formularul Pacienti si aplicati
aceeasi procedura. Veti observa ca formularul nu mai are decât doua înregistrari: normal, atâtia Ionesti
avem astazi!
Sortarea dupa un singur câmp este o sortare simpla. Dar se pot aplica sortari multi-nivel. De exemplu
sortarea alfabetica nu numai pentru nume, ci si pentru prenume. Selectati cele doua coloane din tabelul
Pacienti , apoi Records, Sort, Ascending. O baza de date poate include mii de înregistrari. Vrem sa gasim
consultatiile doar dintr-o anumita zi. Deschidem tabelul Consultatii , apoi Edit, Find, completam câmpul
Find what (de ex. 17-05-2005), stabilim unde gasim ceea ce cautam, adica Look In (Consultatii Table) si
imediat apar si rezultatele. Apoi defilam cu ajutorul butonului Find Next..

Fig.8. Instrumentul de cautare a unei înregistrari în baza de date


Rapoarte
Vizualizarea cautarilor sau a sortarilor este totusi un element simplu de analiza a unei baze de
date. Ar fi interesanta generarea unor rapoarte selective care pot fi ulterior listate, transmise prin e-mail
sau difuzate pe Internet. Crearea rapoartelor se aseamana cu cea a formularelor. Din fereastra
principala a bazei de date se alege Reports, apoi Create report by using wizard, se alege apoi tabelul
dorit (ex. Consultatii ) se selecteaza câmpurile necesare, se stabileste ordinea de tiparire a câmpurilor,
apoi eventuala sortare dupa diverse câmpuri (ex. Data si Nume), macheta de prezentare (Tabular),
stilul (Soft Gray, de exemplu) si ... Finish. Urmariti etapele din fig.9 si 10.
Fig.9 Crearea raportului
Mai departe ...
Programul Access pune la îndemâna utilizatorului si alte instrumente puternice de lucru: interogarea si
analiza stadiului unei baze de date, rapoarte multi-tabel, panouri de comutare si ecrane de prezentare,
butoane, automatizare cu macrocomenzi. Pentru a evita greselile sau relele intentii, baza de date poate
contine restrictii la vizualizare sau scriere. Adica, un alt utilizator poate doar sa adauge înregistrari, fara a
putea sa le vada pe cele dinainte. Sau poate doar numai sa consulte baza de date, dar fara a putea
modifica nimic. Instructorul dvs. va va arata cum se face. Apoi va va prezenta aceeasi baza de date
prelucrata, cu elemente de personalizare si componente care sa fluidizeze traficul înregistrarilor.

În aceasta sesiune ati facut cunostinta cu programul Access si cu bazele de date. Daca veti parcurge în
fata calculatorului toti pasii pe care i-ati urmat de-a lungul acestui început veti dori sa stiti mai multe, sa
realizati propria baza de date si mai ales sa stiti ce sa cereti profesionistilor care programeaza baze de date,
atunci când veti avea nevoie. Întrucât veti întâmpina si multe dificultati, este util sa cautati raspunsurile în
manuale. Iata vreo doua titluri potrivite:
1. 1. Mike Gunderloy, Susan Sabs, Access 2003 pentru începatori, Ed. ALL, Buc., 2004
2. 2. John V. Peterson, Baze de date pentru începatori, Ed. ALL, Buc., 2004

Tema ...
Sa concepeti si sa realizati o baza de date care sa aiba ca subiect o colectie de informatii din
domeniul dvs. de activitate. Sa realizati apoi minim doua formulare si macar un raport. Sa stiti sa
cautati date si sa le sortati. SUCCES!