Documente Academic
Documente Profesional
Documente Cultură
Avem mai multe obiecte: STUDENTI, GRUPE, CURSURI pe care le vom modela prin
tabele. Putem adauga obiectul ORAR pentru a gestiona orarul universitatii respective.
Vom crea tabelele in modul Design.Ca urmare apare o fereastra ca mai jos:
In zona Field Name se stabilesc denumirile campurilor tabelului iar in Data Type tipul de
camp, prin alegere dintr-o lista derulanta atasata. In partea de jos e ferestrei sunt vizibile
o serie de proprietati ale campurilor pe care utilizatorul le poate modifica.
De exemplu:
Field size: determina numarul maxim de caractere ce pot fi stocate intr-un camp
Format: determina modul in care Access va afisa articolul
Input Mask: determina masca care se va suprapune datelor introduse, de exemplu
la campul IntervalOrar putem scrie masca ##.##/-##.##, astfel un camp
IntervalOrar corect este si 10.00-12.00
Caption: da titlul care apare pentru campul respectiv in formulare
Primul tabel pe care il vom crea va fi STUDENTI care are in structura sa 6 campuri.
Urmatorul camp este Nume. El va fi de tip Text. La Field Size scriem 25 de caractere,
lungimea maxima pe care o va ocupa. Tot asa se defineste si campul Prenume.
Campul CNP va fi de tip Text cu Field Size = 13 deoarece acest camp are 13 cifre.
Ultimul camp IdGrupa va fi evident de tip Number (cheie straina) deoarece trebuie sa fie
corelat cu un camp Autonumber cheie primara din alt tabel. Tabelul se salveaza cu
numele STUDENTI.
Urmatorul tabel GRUPE are 4 campuri: Primul camp IdGrupa va fi Autonumber cheie
primara. Campul Grupa (Ex 112C) contine si litere si cifre si va fi de tip Text cu maxim 5
caractere deci selectam Text, Field Size = 5.
Cel de al patrulea tabel, ORAR are 4 campuri. Trebuie sa decideti singuri asupra tipurilor
de date pentru toate campurile acestui tabel. Ce trebuie mentionat, este ca campul Ziua va
avea maxim 8 caractere iar IntervalOrar maxim 11 caractere cu Input Mask = ##.##-
##.##. De exemplu 12.00-15.00 va fi o inregistrare corecta pentru campul IntervalOrar.
Tabelul se salveaza cu numele ORAR.
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 GRUPE din baza de date se atribuie fiecarai grupe un numar
(identificator), atunci se va folosi acel numar si pentru a identifica grupa in care este un
student din tabelul STUDENTI.
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).
Un student poate participa la mai multe cursuri iar un curs poate fi audiat de mai multi
studenti. Se observa astfel ca intre obiectele STUDENTI si CURSURI avem o relatie mai
multi la mai multi (“many-to-many”). O astfel de relatie se modeleaza printr-un obiect
intermediar si doua relatii unul la mai multi (one-to-many). Acest obiect il reprezinta
grupele. Astfel o grupa contine mai multi studenti iar un student nu poate face parte decat
dintr-o singura grupa (avem relatia one-to-many). Deasemenea o grupa poate audia mai
multe cursuri dar in general (si in cazul exemplului nostru) un curs nu este predat decat la
o singura grupa.
De aici se aduc tabelele intre care se vor crea legaturi (toate tabelele) prin selectare si
actionarea butonului Add dupa care fereastra se inchide (Close).
Se pot crea formulare pornind de la zero sau cu ajutorul unui vrajitor (Wizard). Cu ultima
metoda se lucreaza mai usor. De altfel se poate crea un formular cu ajutorul unui vrajitor
iar apoi sa particularizam structura formularului dupa cum vrem noi.
Se vor crea 4 formulare asociate celor 4 tabele (Forms -> Create Form by using Wizard).
Va aparea:
In lista derulanta Tables/Queries se selecteaza cate un tabel (din cele 4) din care se pot
alege campuri disponibile pentru formularul respectiv. In zona Available Fields apar
campurile care se trec in formular cu butoanele > (pentru un camp) si >> (pentru toate
campurile simultan). Se da click pe Finish si formularul este gata. Procedati similar cu
celelalte formulare. In final ar trebui a aveti:
Se vor introduce mai intai 5 inregistrari in formularul Grupe care trebuie completat
primul deoarece datele vor fi necesare in formularul Studenti si Cursuri.
Mai jos sunt prezentate niste exemple de date, este la latitudinea dumeavoastra ce
introduceti in formulare. Cheile primare de mai jos nu incep de la 1, sa nu va sperie acest
lucru, cheile sunt Autonumber si sunt generate automat de calculator:
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 care sa ne dea orarul. Adaugam tabelele Cursuri, Grupe,
Orar. Apoi se adauga campurile Grupa, Facultate din tabelul Grupe, campurile Ziua,
IntervalOrar din tabelul Orar si campul NumeCurs din tabelul Cursuri (prin dublu click
pe campul din tabelul respectiv sau tragand cu mouseul campul din tabel in dreptul
campului Field din interogare).
Inchidem fereastra, suntem intrebati daca vrem sa o salvam si o vom salva cu numele
QueryOrar.
Facem apoi o interogare prin care sa aflam orarul unei persoane introduse anterior in
Studenti. Adaugam tabelele Cursuri, Grupe, Orar, Studenti. Adaugam aceleasi campuri ca
la interogarea anterioara si in plus campurile Nume si Prenume din tabelul Studenti. Sub
nume si prenume in dreptul randului Criteria scriem numele si prenumele studentului al
carui orar dorim sa-l aflam. Inchidem fereastra si salvam cu numele QueryOrarStudent.
Realizati in mod similar o interogare care sa contina Grupa, Facultate din tabelul Grupe si
Nume, Prenume din tabelul Studenti. Salvati cu numele QueryGrupe.
Rapoarte
Tema
Se va realiza o baza de date pentru un magazin al unei ‘‘cooperative’’, adica exista mai
multe persoane si fiecare persoana fabrica mai multe produse. Dupa cum se observa un
fabricant produce mai multe produse; daca am realiza o baza de date in Excel (tabela
unica), se observa ca numele fabricantului (si alte date personale) se vor repeta de atatea
ori cate produse are fabricantul. Pentru a elimina redundanta datelor, singurul tabel care
ar exista in Excel va trebui descompus in mai multe tabele.
Mai jos este dat tabelul din Excel care trebuie descompus in mai multe tabele in Access: