Sunteți pe pagina 1din 6

Lucrarea de laborator nr.

Tema: Introducerea datelor, redactarea şi formatarea tabelelor unei BD.


Relaţii între tabele

Scopul lucrării:
 însuşirea introducerii datelor;
 să poată edita datele din tabele
 să poată redacta şi formata tabelele;
 să cunoască destinaţia cheii şi a relaţiei.
 să cunoască tipurile de relaţii şi regulile de integritate a datelor.
 să cunoască şi să poată aplica tehnologiile de creare a relaţiilor.

Noţiuni teoretice
1 Operaţii asupra înregistrărilor dintr-o tabelă
Operaţiile asupra datelor tabelului se realizează în modul Datasheet, prin îndeplinirea
paşilor:
Pasul 1. În fereastra Database, în lista Objects, se activează eticheta Tables.
Pasul 2. Se selectează tabelul necesar.
Pasul 3. Se activează butonul Open.
Remarcă: Pentru a deschide tabelul în modul Datasheet se execută un dublu-click pe
numele tabelului.

În rezultat, apare fereastra din figura 1, care este similară cu o foaie de date, reprezintînd
o modalitate simplă de afişare a datelor în rînduri şi coloane.

Buton Record
Selector

Butoane de navigare
Record Navigation

Fig. 1. Fereastra Datasheet


Fiecare înregistrare are un buton Record Selector (Selectorul înregistrării) în stînga sa.
Înregistrarea curentă este indicată de un pointer de înregistrare în forma unui triunghi .
Ultimul rînd al unei foi de date este un rînd liber, avînd un asterisc în butonul Record
Selector. Acest rînd este prevăzut pentru a adăuga o înregistrare nouă în tabel. În partea de jos a
ferestrei se află bara Record Navigation prezentată în figura 2.
Următoarea înregistrare Număr total de înregistrări
Prima înregistrare Îregistrare nouă

Înregistrare curentă
Precedentă înregistrare Ultima înregistrare

Fig. 2. Bara Record Navigation

1
OBSERVAŢIE:
Trebuie de avut în vedere, că unele cîmpuri la adăugarea noilor înregistrări au deja date. Aceste
sunt cîmpurile de tipul AutoNumber şi cîmpurile, care au definite prin proprietatea Default
Value. Aceste valori pot fi modificate.

Pasul 4. Se introduc datelor în tabel.


 Pentru a introduce date se plasează cursorul pe primul cîmp şi se introduce
o valoare. În timp ce se efectuează această operaţie, pointerul de înregistrare se
transformă într-un creion .
 Pentru deplasarea în cîmpul următor se acţionează tasta Tab.
 La acţionarea tastei Tab în ultimul cîmp cursorul trece la o înregistrare
nouă.
Pasul 5. Se închide tabelul executînd comanda Close din meniul File.
Remarcă: Access salvează automat înregistrarea completată de îndată ce cursorul trece la o
altă înregistrare sau la închiderea tabelului.

Redactarea datelor
 Pentru a şterge una sau mai multe înregistrări se selectează înregistrarea
sau înregistrările şi se activează comanda Delete din meniul Edit. Ştergerea trebuie
confirmată într-o casetă de dialog.
 Pentru a modificarea conţinutului unei înregistrări se plasează cursorul în
cîmpul respectiv şi se modifică valorile existente cu alte valori noi.
 Pentru înlocuirea automată a valorilor dintr-un cîmp din mai multe
înregistrări se utilizează caseta de dialog Replace in Field. Caseta Replace in Field se
afişează prin opţiunea Replace din meniul Edit.
 Pentru a copia un bloc de date se selectează înregistrările şi se utilizează
memoria Clipboard.
Remarcă: Dimensiunile şi caracteristicile bloculu-destinaţie trebuie să corespundă întocmai
dimensiunilor şi caracteristicilor blocului-sursă.

Modificări ce nu afectează structura fundamentală


 Pentru a reamplasa un cîmp îl marcăm, apoi, ţinînd apăsat butonul stîng al
mouse-ului, îl deplasăm în poziţia dorită şi eliberăm butonul.
 Pentru a obţine o consecutivitate a înregistrărilor, diferită de cea existentă,
putem efectua o sortare (în ordine crescătoare sau descrescătoare) după valorile unui
cîmp al tabelului, alegem opţiunea Sort al meniul Record.
 Pentru a modifica lăţimii coloanei unui cîmp, în cazul cînd lăţimea unui
cîmp nu corespunde lungimii datelor pe care le conţine, alegem opţiunea Row al
meniul Record.
 Pentru a vizualiza toate cîmpurile se foloseşte bara de derulare orizontală
sau îngheţarea afişării cîmpurilor. Pentru a îngheţa coloanele, se selectează coloana
sau coloanele şi din meniu Format se alege opţiunea Freeze Column. Pentru
„dezgheţarea” coloanelor se alege opţiunea Unfreeze All Columns.
 Prin formatarea tabelului in modul Datasheet se subînţelege modificarea
fonturilor; mărimii şi colorii caracterelor. Modificarea fonturilor se aplică (indiferent
de selectare) întregului tabel, alegem opţiunea Font al meniului Format.
 Pentru a aplica formatarea celulelor selectăm din meniul Format opţiunea
Datasheet. În fereastra de dialog Datasheet Formatting se modifică culoarea
fundalului şi a liniilor de demarcaţie, se aplică efecte celulelor, se ascund/afişează
linii tabelului.
Remarcă: Modificările efectuate în modul Datasheet View, ele nu afectează ordinea şi
caracteristicile cîmpurilor stabilite în modul Design View.

2
Modificările descrise îşi pierd actualitatea, la o nouă deschidere a tabelului, dacă tabelul nu
se salvează cu opţiunea Save din meniul File,

Însărcinările practice:
Editarea conţinutului unei celule se face ca şi în cazul introducerea datelor. Pentru
ştergerea conţinutului unei celule se poate apăsa tasta Backspace, iar pentru ştergerea unui
caracter se pune punctul de inserţie şi se acţionează tasta Delete. Deplasarea în interiorul celulei
se face cu tastele direcţionale:
 - un caracter la dreapta End – la sfîrşitul rîndului
 - un caracter la stînga Home – la începutul rîndului
Ctrl +  - un cuvînt la dreapta Ctrl+End - la sfîrşitul celulei
Ctrl + - un cuvînt la stînga Ctrl+Home – la începutul celulei
Selectarea cîmpului se face prin poziţionarea mouse-ului pe chenarul din stînga a celulei
(apare în formă de "") şi după aceasta se execută clic. Cîmpul selectat se colorează în negru.
Selectarea înregistrării se face printr-un clic pe bordură. Mai multe înregistrări pot fi selectate
printr-o serie de clic-uri consecutive pe bordura înregistrărilor vizate, ţinînd apăsată tasta Ctrl.
Schimbînd tasta Ctrl cu Shift putem selecta înregistrări în grup continuu. Pentru a selecta toate
înregistrările facem Ctrl+A (Edit/Select All Records).

1. Introduceţi datele pentru tabelul “Catalogul auto” ( 10 înregistrări ).


Nr. Puterea Cutia de Cheltuieli Anul
Codul Denumirea Căptu Model
Culoare de motoru transmi- Preţ uzină de produ Diverse
model model şeala special
uşi -lui sie transport cerii
1 AUDI roşu 2 246 automat piele 2 000,00 60,00 2001 No Italia
2 FORD negru 4 463 manual piele 12 000,00 70,00 2000 No Franţa
3 MERCEDES metalic 2 550 automat piele 23 000,00 80,00 1999 No Franţa
4 JEEP metalic 4 250 manual stofa 12 000,00 30,00 1998 No Germania
5 TOYOTA roşu 4 300 automat stofa 1 400,00 40,00 2001 Yes Rusia
6 VOLVO negru 4 550 manual catifea 5 000,00 70,00 2000 Yes Franţa
7 RENAULT negru 4 250 automat catifea 200 000,00 50,00 1998 No Italia
8 CITROEN verde 2 543 automat stofa 10 000,00 80,00 1999 Yes Germania
9 MAZDA metalic 2 250 automat piele 3 400,00 50,00 2000 No Italia
10 BMW negru 4 300 manual piele 10 000,00 20,00 1995 No
2. Selectaţi o parte a conţinutului celulei unui cîmp. Deplasaţi-vă la începutul
conţinutului unui cîmp, iar apoi la sfîrşitul conţinutului.
3. Selectaţi celula unui cîmp. Copiaţi în Clipboard conţinutul coloanei. Ştergeţi
conţinutul coloanei. Restabiliţi informaţia în celulă.
4. Selectaţi un grup continuu de înregistrări. Transferaţi înregistrările în zona Clipboard
prin decupare. Restabiliţi înregistrările decupate.
5. Selectaţi toate înregistrările. Decupaţi-le în zona Clipboard. Restabiliţi înregistrările
din zona tampon.
6. Formataţi tabelul “Catalogul auto” schimbînd fontul, dimensiunea fontului, culoarea
caracterului, culoarea fundalului, culoarea liniilor de demarcare, mărimea coloanelor.
7. Ascundeţi coloana Codul model. Restabiliţi coloana ascunsă.
8. Îngheţaţi coloana Preţul uzină. Controlaţi efectul îngheţării. Dezgheţaţi coloana.
9. Vizionaţi tabelul “Catalogul auto” în regimul Preview.
10. Introduceţi datele pentru tabelul “Registrul clienţilor” (10 înregistrări).
Cod-client Adresare Nume Prenume Localitatea Adresa Telefon
1 Dna DARII DANA Bălţi Boris Glavan, 21 56780
2 Dna CLIPII STELA Chişinău 31 August, 66 45365
3 Dra STELEA DANA Bălţi Boris Glavan, 14 54630
4 Dn SUCIU DINU Cahul Viilor, 54 22435
5 Dră FALA VIORICA Orhei Suceava, 45 66750
6 Dna ALBU RENATA Edineţ Suceava, 56 33425
7 Dn NEGRU DORIN Orhei 31 August, 32 22340
8 Dna JALBA ZINA Chişinău Malinovschi, 25 65443
9 Dn LUNGU VITALIE Bălţi Suceava, 68 64530
10 Dn GROSU GICU Ungheni Suceava, 12 22431
11 Dn CIUBIDA GHENA Bălţi Boris Glavan, 54 54362
12 Dna BOBOC DINA Ungheni Ştefan cel Mare, 101 55342

3
2 Definirea relaţiilor dintre tabele
O proiectare eficientă a unei baze de date presupune separarea datelor în mai multe
tabele. Tabelele vor fi legate prin intermediul relaţiilor.
Relaţiile între tabele se definesc pe baza valorilor unui cîmp dintr-un tabel utilizat drept
cheie primară şi valorilor aceluiaşi cîmp dintr-un alt tabel, unde este utilizat drept cheie externă.
Access impune existenţa aceluiaşi tip de date pentru cîmpurile care participă la o relaţie. În cazul
cîmpului de tip Number proprietatea Field Size a celor două cîmpuri trebuie să fie identică.
Relaţia dintre cîmpurile de tip Text trebuie, să folosească cîmpuri de aceeaşi lungime.
Relaţiile pot fi de următoarele tipuri:
1. Relaţia unu la unu (one-to-one): unei înregistrări dintr-un tabel îi corespunde o
singură înregistrare în alt tabel. Această situaţie se întîlneşte rar. Două tabele unite printr-o
relaţie unu la unu sunt similare, în practică, cu un tabel care cuprinde cîmpurile din ambele
tabele. Relaţia unu la unu poate fi utilă pentru:
 tabelele cu foarte multe cîmpuri
 stocarea unor date suplimentare
 asigurarea securităţii datelor, în cazul în care cîmpurile din cel de-al doilea tabel vor
fi făcute disponibile numai pentru anumite persoane.
2. Relaţia unu la mulţi (one-to-many): unei înregistrări dintr-un tabel îi corespund
mai multe înregistrări în alt tabel. Această relaţie constituie tipul cel mai răspîndit de relaţii.
Tabelul din partea "unu" a relaţiei trebuie să aibă o cheie primară, iar tabelul din partea
"mulţi" trebuie să conţină un cîmp similar, care să indice înregistrarea la care este legat.
Pentru definirea relaţiilor dintre tabele se execută următorii paşi:
Pasul 1. În fereastra Database, din meniul Tools se activează comanda Relationships.
Pasul 2. Prin fereastra Show Table se adaugă tabelele necesare în fereastra Relationships, apoi
se închide fereastra Show Table. (figura 3)

Notă: Pentru a exclude un tabel se foloseşte


comanda Hide Table a meniului Relationships, iar
pentru a adăuga – Show Tabel sau activarea
butonului din bara cu instrumente.

Fig. 3. Interfaţa de definire a relaţiilor


Pasul 3. Se activează comanda Edit Relationship... din meniul Relationships.
Pasul 4. În caseta Edit Relationships se activează butonul Create. (figura 5)
Pasul 5. În caseta Create New prezentată în figura 4 se precizează tabele şi cîmpurile implicate
în relaţie.

Fig. 4. Caseta Create New Fig. 5. Caseta Edit Relationships

4
OBSERVAŢIE:
În caseta Relationship Type (figura 5) sînt prezentate tipurile de legătură care pot exista
între două tabele:
One-To-One – unu la unu (1:1);
One-To-Many – unu la mai mulţi (1:n).
Dacă în această casetă este afişat mesajul Indeterminate, înseamnă că tipul de
relaţie nu poate fi determinat, din cauza ne utilizării chei primare.

Pasul 6. Se stabilesc regulile de integritate a datelor Enforce Referential Integrity. (figura 5)


Datele sunt integre dacă cheia externă conţine valori a cheii primare.
OBSERVAŢIE:
La marcarea opţiunii Enforce Referential Integrity se stabileşte integritatea datelor şi se
activează opţiunile Cascade Update Related Fields şi Cascade Delete Related Record.
La marcarea opţiunii Cascade Update Related Fields se vor modifica valorile cheii
externe odată cu modificarea cheii primare.
La marcarea opţiunii Cascade Delete Related Record se vor ştergere înregistrările
tabelului secundar ce corespund înregistrării din tabelul principal odată cu ştergerea acestea.
Remarcă: Pentru menţinerea integrităţii datelor, trebuie să se introducă datele în tabelul
principal şi apoi în cel secundar.

Pasul 7. Se activează butonul Create (figura 5), care va închide caseta de dialog Edit
Relationships şi va afişa 1 în dreptul cheii primare şi  în dreptul cheii externe pe linia de
legătură între cele două tabele. (figura 6)

Notă: Pentru a edita o relaţie se selectează


opţiunea Edit Relationship... din meniul
Relationships, iar pentru a şterge o relaţie, se
selectează opţiunea Delete din meniul Edit.

Fig. 6. Fereastra Relationships


Remarcă: Pentru a edita sau şterge o relaţie, se execută clic-dreapta pe linia care reprezintă
relaţia în fereastra Relationships şi se selectează Edit Relationship... , respectiv Delete.

Pasul 8. Se salvează relaţia şi se închide fereastra Relationships.

Însărcinările practice:
În exemplul nostru, integritatea referenţială a relaţiei dintre Clienţi şi Tranzacţii înseamnă
că fiecare înregistrare din Tranzacţii trebuie să corespundă unei înregistrări din Clienţi, altfel
spus nu putem adăuga în tabelul Tranzacţii comenzi ale unor clienţi inexistenţi. Dacă se încearcă
o astfel de adăugare, se va afişa mesajul:
You cant add or change a record because a related record is required in table <name>
De asemenea, nu putem şterge din tabel clienţi ce au făcut cel puţin o comandă. Orice
operaţie de editare, adăugare sau ştergere care ar putea compromite integritatea este blocată cu
mesajul:
The record cannot be deleted or changed because table <name> includes related records.

5
Însărcinările practice:
1. Proiectaţi tabelul “Registrul Tranzacţiilor” conform următorului tabel:
Numele cîmpului Tipul cîmpului Descrierea
Cod tranzactiei AutoNumber Codul tranzacţiei
Cod_model Number Codul modelului procurat
Cod-client Number Codul clientului care procură modelul
Data-tranz Date/Time Data cînd a fost comandat
Data-livr Date/Time Data executării comenzii
Cant Number Numărul de automobile comandate
Alte note Memo Comentarii, observaţii, note.

2. Pentru fiecare cîmp definiţi proprietăţile:


Numele cîmpului Denumirea proprietăţilor cîmpurilor
Cod_model Field Size: Long Integer
Caption: Denumirea modelului
Cod-client Field Size: Long Integer
Caption: Numele clientului
Cant Field Size: Byte
Decimal Places – Auto
Caption: Cantitatea
Default Value: 1
Data-tranz Format: Short Date
Caption: Data tranzacţiei
Default Value: Date()
Validation Rule: >= Date()
Validation Text: Acest cîmp conţine numai data curentă
Data-livr Format: Long Date
Caption: Data livrării
3. Definiţi pentru cîmpul Cod tranzactiei cheia primară.
4. Salvaţi tabelul creat sub numele de „Registrul tranzactiilor”.
5. Definiţi o relaţie unu la mai mulţi pentru tabelele “Catalogul auto” şi “Registrul
tranzactiilor”, cîmpul de legătura fiind Codul model.
6. Definiţi o relaţie unu la mai mulţi pentru tabelele “Registrul clienţilor” şi “Registrul
tranzactiilor”, cîmpul de legătura fiind Codul client.
7. Introduceţi datele în tabelul “Registrul tranzactiilor” luînd în consideraţie data
definită.
8. Închideţi tabelele şi BD.
9. Ieşiţi din mediul Access 2000.

Întrebări de control:
1. În care regim de tabel se actualizează datele?
2. Cum se adaugă o înregistrare nouă?
3. Cum se modifică lăţimea coloanelor?
4. Formatarea coloanei acţionează asupra formatării tabelului?
5. Pentru ce se aplică îngheţarea coloanelor?
6. Ce tip de relaţie este utilizat în Access?
7. Ce tip de date trebuie să aibă cheia primară şi cea externă în tabele „Registrul
clienţilor” şi “Registrul tranzactiilor”?
8. Cînd nu se creează o relaţie între tabele?
9. Cum se şterge relaţia între tabele?

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