Documente Academic
Documente Profesional
Documente Cultură
Generalitati
O baza de date este o colectie de informatii care a
fost organizata intr-un mod anume pentru a usura
manevrarea datelor.
Prezentarea datelor sub forma de tabela unica (ca in
Excel de exemplu) are o serie de dezavantaje:
repetarea unor
informatii in mai multe inregistrari, lucru care poate conduce la
risipa de spatiu, risc
de inconsistenta a datelor, gestiune dificila
structura rigida,
dificil de adaptat unor situatii noi
risc de alterare a informatiilor
Sa luam ca exemplu o baza de date ce contine persoane
cu diferite profesii si din diferite orase. Dupa
cum
observam in figura urmatoare din exemplul facut la laboratorul legat
de Excel, campurile Profesie,
Nume Localitate, Judet si Prefix
Telefonic se pot repeta conducand la dezavantajele enumerate mai sus.
Majoritatea aplicatiilor
Access folosesc si interogari
pentru filtrarea, sortarea sau combinarea datelor.
Relatiile
definesc legaturi existente intre tabelele
dintr-o baza de date.
Toate obiectele care
formeaza aplicatia sunt stocate intr-un obiect baza de date
care este un fisier unic cu
extensia .mdb.
Tabelele
Un tabel constituie
elementul fundamental al unei baze de date deoarece el contine toate
datele. Tabelele
in Access seamana foarte mult cu foile de calcul
tabelar.
O intrare a bazei de date
ocupa un rand intr-un tabel reprezentand o inregistrare.
Fiecare tip de informatie
este introdus in propria lui coloana:
campul. La intersectia unui camp cu un
rand se afla informatia
corespunzatoare inregistrarii respective –
celula.
Crearea
tabelelor in modul Design
Acest mod este cel mai
potrivit pentru proiectarea structurii tabelului.
Baza de date
FurnicaIon.mdb cuprinde 3 tabele: Persoane, Profesii, Localitati (am
schimbat putin
structura tabelelor fata de exemplul enuntat la
inceputul laboratorului):
Faceti dublu click pe primul camp
“Create table in Design View”. Ca urmare apare o
fereastra ca mai jos:
Relationarea
tabelelor sau corelatii intre tabele
O corelatie (relationship)
este o asociere (legatura) intre doua campuri similare, aflate in
tabele diferite
(poate exista o corelatie intre doua tabele care
partajeaza aceleasi date.
De exemplu in tabelul
Localitati din baza de date se atribuie fiecarai localitati un numar
(identificator),
atunci se va folosi acel numar si pentru a
identifica localitatea in care locuieste o persoana din tabelul
Persoane.
O relatie intre doua
tabele functioneaza pe baza concordantei datelor din campuri cheie –
de obicei un
camp cu acelasi nume in ambele tabele. Campurile prin
intermediul carora se creeaza legatura reprezinta
cheia primara
(primary key) dintr-un tabel (care furnizeaza un identificator
unic pentru fiecare
inregistrare) si o cheie straina (foreign key)
in al doilea tabel (un camp dintr-un tabel care refera cheia
primara
din alt tabel).
Exista 3 tipuri de
corelatii. Cele mai folosite sunt:
Corelatia 1-n
(one-to-many relationship)
(cea mai folosita) – o inregistrare din tabelul A poate avea
0, 1 sau mai multe inregistrari corespondente in tabelul B, in timp
ce fiecarei inregistrari din tabelul
B ii corespunde cel mult o
inregistrare din tabelul A.
Corelatia n-m
(many-to-many relationship)
in care o inregistrare din tabelul A poate avea 0, 1 au mai
multe
inregistrari corespondente in tabelul A. Acest tip de relatie este
posibil numai prin definirea
unui al treilea tabel (numit tabel de
jonctiune) a carui cheie primara consta din doua campuri –
cheile
straine ale tabelelor A si B.
Pentru a
crea o legatura intre tabele se procedeaza astfel:
1. se deschide fereastra Relationships
selectand din meniul Tools, Relationships.
2. se deschide fereastra Show
Table ca in
imaginea de mai jos:
De aici se aduc toate tabelele intre
care se vor crea legaturi prin selectare si actionarea butonului Add
dupa care fereastra se inchide (Close).
3. Se stabilesc campurile care se
leaga si se trage cu mouseul de la cheia primara la cheia straina
corespunzatoare. Pentru fiecare legatura va aparea figura:
Introducerea
datelor intr-un formular
Interogari
Interogarile (Queries)
sunt de fapt intrebari pe care le punem bazei de date. Selectam
Queries-> Create
Query in Desgn View.
Trebuie sa apara o imagine ca mai jos:
Vom face mai intai o
interogare prin care sa vedem ce persoane locuiesc in Bucuresti.
Adaugam toate
tabelele. Apoi se adauga campurile Nume, Prenume,
AnNastere din tabelul Persoane, campul
NumeProfesie din tabelul
Profesii si campul NumeLocalitate din tabelul Localitati (prin dublu
click pe
campul din tabelul respectiv sau tragand cu mouseul campul
din tabel in dreptul campului Field din
interogare). Sub
NumeLocalitate in dreptul randului Criteria scriem "Bucuresti".
Inchidem fereastra, suntem
intrebati daca vrem sa o salvam si o vom salva cu numele
QueryBucuresti.
Ca sa vizualizam
interogarea facem dublu click pe QueryBucuresti.
Rapoarte
Rapoartele
reprezintao modalitate de a vizualiza informatiile din tabele sau
interogari inr-o maniera
sugestiva in functie de cerintele noastre.
Saluam ca
exemplu Crearea unui raport pentru QuerySanatate. Selectam
Reports->Create report by
using wizard. Selectam QuerySanatate
astfel:
Tema
Se va realiza o alta baza de date cu 3 tabele.
Scenariul este urmatorul: intr-o multinationala angajatii
companiei
calatoresc in strainatate. Presupunem ca presedintele multinationalei
doreste sa faca o baza de
date cu persoanele (si datele despre ele)
care calatoresc, despre companiile care au emis biletele,
destinatia
etc.
Etape:
1. Proiectarea tabelelor (un numar
cat mai mare de tabele)
Un prim tabel ar fi PERSOANE care sa
contina urmatoarele campuri: Nume, Prenume, An nastere,
Cetatenie,
Telefon, Email etc.
Deoarece o persoana poate calatori de
mai multe ori, aceasta poate cumpara bilete de la companii diferite.
Deci am putea adauga 2 tabele, unul referitor la bilete si unul care
contine date despre companiile care
emit bilete.
Al doilea tabel denumit COMPANII ar
putea contine campurile Nume Companie, Telefon, Orasul, Tara
de unde
se emite biletul etc.
Cel de al treilea tabel denumit BILETE
va contine campurile Pret, Destinatie, Data etc.
2. Relationarile
3. Introducerea datelor cu
ajutorul formularelor.
Asociati fiecarui tabel un formular si
introduceti 5 inregistrari in tabelul PERSOANE, cel putin 3
inregistrari in tabelul COMPANII (de ex Tarom, Air France, KLM,
NorthWest, Blue Air) si cel putin 10
inregistrari in tabelul BILETE
(o persoana cu cel putin 2 bilete).
ATENTIE
la ordinea introducerii datelor in tabele! Primele tabele care se vor
popula vor fi PERSOANE
si COMPANII (nu conteaza ordinea) si dupa
aceea BILETE. De ce? Pentru ca pentru a completa tabelul
BILETE avem
nevoie de date din tabelele PERSOANE si COMPANII.
Creati in
mod similar o interogare cu aceleasi campuri dar penru pret<500.