Documente Academic
Documente Profesional
Documente Cultură
1 Crearea tabelelor..........................................................................................................2
1.1 Crearea unei tabele..............................................................................................2
1.2 Crearea unei tabele în modul Design View.........................................................5
1.3 Crearea unei tabele cu o aplicaţie vrăjitor.........................................................10
1.4 Introducerea datelor în tabele............................................................................13
1.4.1 Câmpuri de tip numeric.............................................................................14
1.4.2 Definirea unor casete tip listă şi listă combinată pentru introducerea
datelor 15
1.4.3 Introducerea datelor de tip boolean...........................................................19
1.4.4 Introducerea şi afişarea datelor de tipul Date / Time.................................20
1.4.5 Definirea valorii implicite a unui câmp.....................................................21
1.5 Definirea cheii primare a tabelei........................................................................21
1.6 Meniurile unei tabele.........................................................................................23
1.7 Sortarea şi filtrarea liniilor unei tabele..............................................................26
1.7.1 Sortarea liniilor unei tabele........................................................................26
1.7.2 Filtrarea liniilor unei tabele.......................................................................28
1.8 Adăugarea, modificarea şi ştergerea datelor din tabele....................................30
1.9 Modificarea structurii unei tabele......................................................................32
1.9.1 Adăugarea unei coloane prin modificarea definiţiei tabelei......................32
1.9.2 Adăugarea unei coloane prin modificarea tabelei cu date.........................34
1.9.3 Stergerea unei coloane...............................................................................35
1.9.4 Modificarea tipului datelor unei coloane...................................................36
1.10 Formatarea tabelelor..........................................................................................36
1.11 Probleme propuse..............................................................................................38
1.12 Intrebări de control............................................................................................40
1
1 Crearea tabelelor
1.1 Crearea unei tabele
Crearea unei tabele se face în două etape:
1. etapa de definire a tabelei: pentru fiecare coloană a tabelei se precizează numele
coloanei şi tipul datelor din coloană,
2. etapa de umplere a tabelei cu date.
Instrucţiunea SQL de creare a unei tabele are forma
Constrângere Semnificaţie
NOT NULL Coloana nu poate conţine o valoare NULL
UNIQUE Valoarea este unică în coloană
PRIMARY KEY Coloana este cheie primară
FOREIGN KEY Coloana este o cheie externă
Tabelul 1. Constrângerile coloanelor unei tabele.
Cheia primară a unei tabele identifică unic liniile tabelei. Ea conţine totdeauna o valoare
unică şi nu poate conţine valoarea NULL. Orice tabelă poate avea o singură cheie
primară.
Cheia externă a unei tabele indică o cheie primară din altă tabelă.
In baza de date există atât descrierea tabelei (schema), numele coloanelor, tipurile de date
din coloane şi constrângerile, cât şi tabela cu date.
După cum vom vedea mai jos, fiecărei etape de creare a tabelei îi corespunde o vedere:
etapei de proiectare, în care descriem tabela, îi corespunde vederea Design View,
etapei de umplere cu date a tabelei îi corespund vederile Datasheet View şi Form
View.
Pentru a crea o tabelă într-o bază de date se procedează astfel:
1. se crează o nouă bază de date dacă este cazul, sau se deschide o bază de date
existentă. Pentru aceasta în fereastra Task Pane din dreapta ecranului se afişază
fereastra New File ca în Figura 1,
2
Figura 1. Ferestra New File.
2. în secţiunea Open a file, clic pe numele bazei de date ce trebuie deschisă, care afişază
fereastra Database din Figura 2,
3
Figura 2. Fereastra Database pentru selectarea unei operaţii cu baza de date.
3. în partea stângă a ferestrei Database este meniul Objects cu opţiunile pentru
operaţiile cu baza de date; clic pe opţiunea Tables ce afişază în partea dreaptă
opţiunile pentru crearea unei tabele din Tabelul 2.
Opţiune Semnificaţie
Create table in Design view Definirea unei tabele
Create table by using wizard Crearea unei tabele cu aplicaţia vrăjitor
Create table by entering data Crearea uneu tabele prin introducerea datelor
Tabelul 2. Opţiuni de creare a unei tabele.
Alternativ, clic pe butonul New din bara de instrumente a ferestrei Database, sau pe
meniul Insert Table, care afişază caseta New Table din Figura 3, cu aceleaşi opţiuni;
se alege opţiunea dorită.
4
Figura 3. Caseta New Table.
5
Figura 4. Caseta Table pentru definirea unei tabele.
In stânga liniei curente apare cursorul , care poate fi deplasat de la o linie la alta cu
tastele săgeţi.
Fereastra Table conţine o tabelă cu trei coloane; fiecare linie a tabelei defineşte un câmp
(coloană, atribut) al tabelei de date:
1. Field Name va conţine numele coloanelor tabelei,
2. Data Type va conţine tipul datelor coloanelor,
3. Description va conţine o descriere a datelor din coloane.
Menţionăm că, pentru indicaţii asupra câmpurilor unei tabele selectăm câmpul cu clic şi
apăsăm tasta F1, vezi bara de stare a aplicaţiei din Figura 4.
Pentru a exemplificare vom defini o tabelă ANGAJATI cu definiţia de mai jos, a
angajaţilor unei intreprinderi
ANGAJATI
6
Fiecare coloană (atribut, câmp) a tabelei se defineşte într-o linie a tabelei din fereastra
Table. Trecerea de la un câmp la altul se face cu tasta Tab sau cu tastele săgeţi, şi .
Atunci când cursorul se află în câmpul Data Type, se afişază lista din Figura 5, din care
se alege tipul dorit:
Text conţine cel mult 50 caractere,
Memo conţine text de orice lungime,
Number conţine numere,
Date/Time conţine date calendaristice sau timp,
Currency descrie câmpuri ce conţin valori băneşti,
AutoNumber generează automat numere consecutive la fiecare linie,
Yes/No conţine o valoare de tip Boolean, adevărat sau fals, etc.
7
Figura 6. Definirea tipului unei coloane a tabelei.
Menţionăm că, la alegerea tipului câmpului în coloana Data Type, în partea de jos a
ferestrei se afişază caseta Field Properties din Figura 6:
secţiunea General afişază proprietăţile generale, dimensiunea câmpului, etc.,
secţiunea Lookup specifică opţiunile de afişare a datelor, la cele mai multe tipuri
de date opţiunea text. Opţiunile de afişare corespund domeniului datelor.
Câteva din proprietăţile generale sunt următoarele:
Field Size specifică lungimea maximă a câmpului,
Format dă formatul de afişare a datelor introduse, vezi Figura 6. Formatele
predefinite, disponibile pentru fiecare tip de câmp, vor fi prezentate în continuare.
Există posibilitatea de a defini propriile formate de afişare, după cum se va arăta
într-o lucrare următoare,
Input Mask permite definirea unei măşti de introducere a datelor,
Caption este titlul câmpului, vezi Figura 6. Dacă această proprietate primeşte o
valoare, ea este afişată ca nume al câmpului la afişarea tabelei cu date, în vederea
Datasheet. In caz contrar numele câmpului este cel din definiţia tabelei,
.Default Value permite specificarea valorii implicite a câmpului. După cum se
vede în Figura 6, valoarea implicită a unui câmp numeric este 0,
Validation Rule permite definirea unei reguli de validare pentru a preveni
introducerea de date eronate în tabelă,
Validation Text permite definirea unui mesaj de eroare afişat la introducerea unei
valori incorecte (când proprietatea Validation Rule nu este satisfăcută),
.Required, dacă are valoarea Yes, câmpul nu poate fi lăsat gol.
In cazul câmpurilor numerice mai apare şi proprietatea
Decimal Places specifică numărul de zecimale. In cazul tipurilor întregi numărul
de zecimale este zero
8
Modul de formatare a datelor unei tabele, (Font, înălţimea şi lăţimea câmpului, etc.), va fi
prezentat ulterior.
In exemplul nostru definiţiile coloanelor tabelei ANGAJATI sunt cele din Figura 7.
9
Figura 10. Tabela ANGAJATI completată cu date.
Deoarece nu am completat proprietatea Caption a câmpurilor tabelei, acestea apar afişate
cu numele lor din definiţia tabelei. Dacă dorim de exemplu ca numele câmpului
Data_angajarii să apară ca Data angajarii (fără _), vom completa proprietatea Caption a
acestui câmp ca Data angajarii.
Navigarea în tabelă se face cu butoanele barei de navigare din partea de jos a tabelei.
Semnificaţia lor este cea din Tabelul 3.
Buton Semnificaţie
Mergi la prima linie
Mergi la linia precedentă
Mergi la linia următoare
Mergi la ultima linie
Crează o nouă linie
Tabelul 3. Butoanele barei de navigare.
In mijlocul barei de navigare este caseta cu numărul liniei curente.
Se poate merge direct la o linie din tabelă cu dublu clic pe caseta cu numărul liniei
curente şi apoi se înscrie în această casetă numărul liniei unde vrem să mergem.
Un alt mod de introducere a datelor în tabele este cu ajutorul unui formular, după cum se
va arăta ulterior.
10
Figura 11. Caseta Table Wizard.
1. se selectează pe rând tabelele dorite din lista Sample Tables şi apoi câmpurile dorite
din aceste tabele din lista Sample Fields; se poate modifica numele câmpului selectat
cu clic pe butonul Rename Field; după selectarea câmpurilor dorite clic pe butonul
Next şi se afişază caseta din Figura 13,
11
Figura 13. Pasul II. Alegerea numelui şi a cheii primare.
3. în caseta din Figura 14 se definesc, dacă este cazul, relaţiile cu alte tabele; clic pe
butonul Next şi se afişază caseta din Figura 15,
12
direct în tabelă, în vederea Datasheet View. Clic pe butonul Finish şi tabela este
creată.
Figura 15. Caseta Table Wizard. Pasul IV alegerea modului de introducere a datelor.
Tabela vidă este afişată în vederea Datasheet View ca în Figura 16.
13
cu un clic pe opţiunea Open a meniului din Tabelul 8a,
cu clic pe butonul al barei de instrumente a ferestrei Database,
cu dublu clic pe icoana tabelei din fereastra Database.
Se introduc apoi datele. Un exemplu de tabelă completată cu date este cel din Figura 18.
AutoNumber
Number
14
Currency
15
exemplificare, vom considera tabela PROIECTE_ANGAJATI de mai jos cu proiectele
unei intreprinderi şi angajaţii ce lucrează la aceste proiecte.
PROIECTE_ANGAJATI
16
a) Combo Box b) List Box
Tabelul 5. Opţiunile zonei Lookup.
Semnificaţia unora dintre ele este arătată în Tabelul 6.
Proprietate Semnificaţie
Display Control Modul de afişare
Row Source Type Tipul sursei de date
Row Source Sursa de date
Tabelul 6. Semnificaţia opţiunilor zonei Lookup.
In cazul nostru, proprietatea Display Control se pune la valoarea Combo Box.
Proprietatea Row Source Type arată tipul sursei de date. In general, sursa de date poate fi
o tabelă, (Table / Query), o listă de valori, (Value List), sau o listă de câmpuri din tabelă,
(Field List). Valoarea proprietăţii se alege din caseta Row Source Type din Figura 23. In
cazul nostru proprietatea Row Source Type se pune la valoarea Value List.
17
Figura 25. Proprietatea Row Source a câmpului SAL_ORA.
La introducerea valorilor în tabelă, caseta apare ca în Figura 26.
18
Figura 28. Aplicaţia Lookup Wizard. Pasul II.
19
modul Check Box, în care se afişază o casetă de validare, care poate fi marcată cu un
clic pentru valoarea True. Figura 30a arată o asemenea coloană cu numele
BooleanField.
Format Denumire
ll/zz/aaaa hh:mm:ss AM / PM General Date
zz-Luna - aa Medium Date
ll/zz/aaaa Short Date
hh:mm:ss AM / PM Long Time
hh:mm AM / PM Medium Time
hh:mm Short Time
Tabelul 7. Formate predefinite de introducere a datelor calendaristice.
In acest tabel ll este luna (1 la 12), zz este ziua (1 la 31), aaaa este anul, hh este ora, mm
este minutul (0 la 59), ss este secunda (0 la 59).
20
Formatele predefinite de afişare a datelor calendaristice (proprietatea Format) sunt cele
din Figura 32.
21
1.5 Definirea cheii primare a tabelei
In general, una sau mai multe dintre coloane constituie cheia primară a tabelei, care
identifică unic liniile tabelei.
Coloana sau coloanele ce reprezintă cheia primară sunt marcate în definiţia tabelei cu
simbolul , ca în Figura 7.
Definiţia unei tabele se salvează cu clic pe opţiunile Save / Save As ale meniului File,
sau pe butonul de închidere al ferestrei, sau pe opţiunea Close a meniului asociat icoanei
ferestrei. Se afişază caseta din Figura 35.
22
Figura 37. Meniu contextual al unui câmp al tabelei.
Cheia primară poate fi compusă din mai multe câmpuri. Aceste câmpuri se selectează cu
tasta Ctrl apăsată.
Odată ce tabela a fost creată, ea este afişată la deschiderea bazei de date, ca în Figura 38,
unde este afişată tabela cu numele Table1.
23
Open, afişază tabela cu date,
Design View, afişază definiţia tabelei,
Print, tipăreşte tabela,
Print Preview, afişază tabela pe ecran,
Cut, mută tabela în Clipboard,
Copy, copiază tabela în Clipboard,
Save As, salvează tabela sub un alt nume,
Export, exportă tabela într-o altă bază de date,
Create Shortcut, crează o comandă rapidă (shortcut) pentru tabelă,
Delete, şterge tabela,
Rename, schimbă numele tabelei.
24
Figura 40. Barele de meniu şi de instrumente Datasheet View.
Meniurile View ale celor două vederi sunt arătate în Tabelul 9. Meniurile contextuale,
afişate la un clic pe bara de titlu a ferestrei în care este afişată definiţia tabelei sau tabela
cu date, sunt cele din Tabelul 10.
25
cu butoanele şi ale barelor de instrumente ale aplicaţiei din Figura 40 şi
Figura 39; la un clic pe săgeata din dreapta butonului se afişază lista din Figura 41 cu
vederile unei tabele.
26
clic pe meniul Records Filter Advanced Filter/Sort, ca în Figura 43,
27
Figura 45. Alegerea câmpurilor de sortat.
opţiunea Ascending / Descending se alege din caseta fiecărei celule a liniei Sort,
clic pe opţiunea Apply Filter/Sort a meniului Filter, sau pe butonul al barei de
instrumente.
Rezultatul sortării este tabela din Figura 46.
28
Pentru a selecta liniile ce conţin un anumit subşir de caractere, se selectează acest subşir
într-o celulă şi se procedează ca mai sus.
Este posibil de a filtra liniile tabelei după criterii mai complicate. Pentru aceasta se
procedează astfel:
se afişază fereastra Filter din Figura 44,
se introduce câmpurile după care se face filtrarea în celulele liniei Field ca în Figura
45,
se alege modul de sortare a liniilor tabelei ca mai sus,
în liniile Criteria şi or din Figura 44 se introduce criteriile de filtare. Creiteriile sunt
expresii booleene, formate din expresii relaţionale şi operatorii booleeni not, and şi
or.
Vrem să afişăm liniile tabelei cu angajaţii cu vârsta cuprinsă între 35 şi 39 de ani. Liniile
afişate vor fi sortate în ordine crescătoare după câmpurile Nume şi Prenume. Condiţia de
filtare va fi
Varsta > 34 and Varsta < 40
Ea se introdusă ca în Figura 47.
29
Menţionăm că, sortarea şi filtrarea datelor, cu specificarea unor criterii în fereastra Filter
se realizează printr-o interogare a bazei de date. Ea se poate salva sub forma unei
interogări cu clic pe butonul sau pe meniul File Save As Query.
30
Figura 50. Meniu contextual al unei linii a tabelei de date.
Inserarea unei linii într-o tabelă se face totdeauna după ultima linie a tabelei. Pentru
inserarea unei linii se procedează astfel:
1. se afişază meniul contextual din Figura 50, cu un clic cu butonul drept în stânga liniei,
2. clic pe opţiunea New Record care poziţionează cursorul după ultima linie a tabelei,
3. se inserează noua linie.
Inserarea unei noi linii se poate face şi cu un clic pe meniul Insert New Record sau
pe butonul New Record, , al barei de instrumente, sau pe butonul New Record, ,
al formularului de introducere a datelor.
In unele cazuri avem nevoie să căutăm şi să înlocuim date în tabele. Acest lucru se face
cu caseta Find and Replace din Figura 51. Se selectează coloana în care se va face
căutarea şi se afişează caseta cu clic pe meniului Edit Find.
31
Search se pot alege opţiunile : All (caută toate câmpurile), Down (caută înainte) şi Up
(caută înapoi).
32
Figura 54. Meniul contextual al unei linii din definiţia unei tabele.
4. un clic pe opţiunea Insert Rows inserează o linie în definiţia tabelei; se completează
linia cu definiţia câmpului, ca în Figura 55,
33
1.9.2 Adăugarea unei coloane prin modificarea tabelei cu date
A doua metodă de inserare a unui câmp este următoarea:
1. în tabela cu date se selectează coloana înaintea căreia se va insera noul câmp,
2. clic pe meniul Insert Column din Figura 58, sau pe opţiunea Insert Column a
meniului contextual al unei coloane din Tabelul 11, care crează o nouă coloana ca în
Figura 59,
34
a) meniul contextual al unei coloane b) meniul Format
Tabelul 11. Meniuri pentru redenumirea unei coloane.
3. se execută clic pe opţiunea Rename Column şi se modifică numele coloanei, în cazul
nostru numele coloanei va fi Prenume,
4. se completează câmpul pentru toate liniile tabelei.
Proiectarea tabelei este automat modificată pentru a include noua coloană.
35
Figura 61. Caseta de mesaj la ştergerea unei linii.
Talela de date devine cea din Figura 53, iar proiectarea ei cea din Figura 52.
36
Formatarea tabelei se face cu caseta Datasheet Formatting din Figura 64. Caseta se
afişază cu clic pe opţiunea Datasheet a meniului contextual al unei tabele din Tabelul 10
sau pe meniul Format Datasheet.
In caseta Datasheet Formatting se aleg stilurile liniilor şi marginilor tabelei, culorile
liniilor si fondului, etc.
37
Figura 65. Caseta Font.
O tabelă poate fi salvată într-un document Word. Pentru aceasta clic pe meniul Tools
Office Links Publish It with Microsoft Word, vezi Figura 66. Se lansează aplicaţia
Word ce crează automat un fişier Word ce conţine tabela, care este apoi salvat în
directorul dorit.
38
valorile Informatica, Suport, Documentare. Câmpul NUME_PRJ poate conţine doar
valorile Web, Clienti, Furnizori, Personal.
PROIECTE
PROIECTE
ID_PRJ NUME_PRJ
100 Web
200 Clienti
300 Furnizori
400 Personal
PROIECTE_ANGAJATI
39
200 1192 Vasilescu Informatica 65 20
200 1351 Filipescu Suport 45 15
300 1348 Popa Informatica 60 20
300 1284 Nicolae Suport 45 14
300 1067 Marinescu Documentare 35 12
400 1095 Gheorghe Informatica 60 15
Câmpurile ID_PRJ, ID_ANG, SAL_ORA şi ORE sunt numerice, celelalte câmpuri sunt
şiruri de caractere. Cheia primară a tabelei PROIECTE este formată din câmpul ID_PRJ.
Cheia primară a tabelei PROIECTE_ANGAJATI este formată din câmpurile ID_PRJ şi
ID_ANG. Câmpul DPT_ANG poate conţine doar valorile Informatica, Suport,
Documentare. Câmpul NUME_PRJ poate conţine doar valorile Web, Clienti, Furnizori.
să se încarce tabela PROIECTE_ANGAJATI; se va defini o casetă tip listă combinată
pentru câmpul DPT_ANG. Tipul câmpului se va lege Text şi proprietatea Display
Control se va alege Combo Box,
să se încarce tabela PROIECTE prin definirea unei casete tip listă combinată pentru
câmpul NUME_PRJ. Tipul câmpului se va alege Lookup Wizard,
se vor filtra liniile tabelei pentru a arăta angajaţii ce au prestat mai mult de 12 ore,
se vor copia tabelele create într-un document Word.
ANGAJATI
Câmpul SALARIU va avea tipul Currency, iar câmpul CASATORIT va avea tipul Yes /
No. Câmpul FUNCTIE poate conţine doar valorile Manager, Muncitor, Inginer.
să se încarce tabela cu date; se va crea o casetă de tip listă combinată pentru coloana
FUNCTIE,
se vor sorta liniile tabelei după valorile câmpului CASATORIT.
4. Să se proiecteze o tabelă cu informaţiile despre studenţii unei grupe. Informaţiile sunt:
codul numeric personal (CNP), nume, prenume, vârsta, an de studii, specialitatea şi
facultatea. Câmpul CNP are 13 cifre, el va fi de tipul Decimal.
pentru câmpurile an de studii, specialitate şi facultate se vor crea casete de tip listă
combinată,
se va umple tabela cu date.
40
3. Care sunt proprietăţile unui câmp?
4. Cum se crează o tabelă în modul Design View?
5. Care sunt tipurile de date ale câmpurilor unei tabele?
6. Cum se defineşte o casetă de tip listă pentru introducerea datelor?
7. Cum se face sortarea liniilor unei tabele?
8. Cum se modifică structura unei tabele?
41