TUTORIALE TIC COLEGIUL ECONOMIC "DPM" ALBA IULIA Profesor
Simona Dogaru ,
ISBN 978-973-0-31260-7
; Alba Iulia, 2020 ISBN
978-973-0-31261-4 ; Alba Iulia, 2020
|
În acest capitol vom crea structurile de tabele, vom asocia
chei acolo unde cere problema, realizăm validarea datelor ce se vor
introduce şi introducem efectiv date în tabele.
Operaţii care trebuie cunoscute
-
Creare bază de date: Butonul Office→Nou→Bază de date
necompletată. În partea dreaptă alegem folderul de lucru, scriem
numele fişierului şi apăsăm pe butonul Creare.
-
Creare tabelă: deschidem foaia Creare→Tabel, introducem câmpurile şi
salvăm la sfârşit sub un nume.
-
Creare cheie primară: selectăm câmpul, apăsăm click dreapta şi din
meniul contextual alegem Cheie primară sau apăsăm pe
butonul
din
fila Proiectare. Pentru anularea ei se apasă încă
o dată pe comanda
.
-
Validarea valorilor
introduse: selectăm câmpul şi la Regulă de validare introducem condiţia cerută în problemă
Creaţi următoarea tabelă (Uniforma_Elevi) în
care veţi introduce 20 de înregistrări:
Denumire câmp |
Tip de dată |
Dimensiune câmp |
Nr.
matricol |
Numar |
Întreg |
Nume
elev |
Text
|
30 |
Clasa |
Expert
cautare |
9D,
9B, |
Data
nasterii |
Data/Ora |
Dată
medie |
Media
absolvire |
Numar |
Simplă
precizie, 2 zecimale |
Pret
uniforma |
Numar |
Întreg
lung |
Sta
la camin |
Da/Nu |
|
Pentru câmpurile: Media
absolvire şi Preţ uniformă se vor introduce reguli de validare astfel: primul câmp să conţină numai
valori ≥8.27 iar celălalt câmp să conţină valori cuprinse între 150 şi
300 RON. Ele vor fi însoţite de câte un text de validare
corespunzător.
Rezolvare:
Pentru crearea tabelei vom proceda astfel:
1.
Deschidem programul Microsoft
Access. Butonul Office→Nou→Bază de date necompletată.
În partea dreaptă căutăm folderul de lucru, scriem numele fişierului Scoala.accdb şi apăsăm pe butonul Creare.
Observaţie:
Pasul 1 se realizează o singură dată, pentru realizarea
bazei de date. Dacă avem mai multe tabele de creat atunci se vor paşii
începând de la pasul 2.
2.
Din fila Creare
alegem comanda Tabel. Pentru a opera modificări asupra
structurii tabelei vom lucra în modul Vizualizare
(fila Pornire).
Observaţie:
a.
Dacă lucrăm în modul
atunci ultima filă se va numi Foaie de date
(vezi figura).
b.
Dacă lucrăm în modul
atunci ultima filă se va schimba în Proiectare
(vezi figura).
3.
În prima coloană (Nume
câmp) vom introduce pe rând câmpurile cerute de problemă.
4.
În coloana Tip de
date alegem tipurile de date însoţite de condiţiile impuse de
problemă, astfel:
·
Pentru câmpul Nr
matricol vom selecta la Dimensiune câmp subtipul întreg
·
Pentru câmpul Nume
elev vom scrie valoarea 30
·
Pentru câmpul Data
nasterii alegem la Format→Dată medie
·
Pentru câmpul Media
absolvire vom selecta la Dimensiune câmp subtipul simplă precizie, la Format alegem Fix iar la Zecimale scriem 2.
·
Pentru câmpul Pret
uniforma vom selecta la Dimensiune câmp subtipul întreg lung
5.
Pentru câmpul Clasa vom alege
Expert căutare unde avem două opţiuni:
-
Doresc ca coloană de
căutare să caute valorile într-un tabel sau într-o
interogare
-
Voi scrie valorile
pe care le doresc
Cum valorile cerute nu se regăsesc nicăieri, o vom
crea noi, aşa că vom bifa a doua opţiune şi apăsăm pe Next.
-
Introducem valorile cerute de la
tastatură, în Col 1, una sub alta şi apoi apăsăm Următorul şi Terminare.
6.
Ne poziţionăm pe câmpul Media absolvire şi dăm click în caseta corespunzătoare Regulii de validare şi scriem >=8.27.
7.
La Text de validare
vom scrie mesajul:” Se accepta numai valori mai mari( sau
egale) decat 8.27”
8.
Pentru câmpul Pret
uniforma introducem condiţia ca în figura de mai jos:
9.
Salvăm tabela sub numele Uniforma_elevi.
10.
Pentru a introduce
înregistrările în tabelă deschidem fila Proiectare→Vizualizare
şi
introducem valorile respectând condiţiile, acolo unde e cazul.
Creaţi următoarea tabelă (Angajati) în care
veţi introduce 20 de înregistrări iar CNP-ul este cheie primară:
Denumire câmp |
Tip de dată |
Dimensiune câmp |
CNP |
Numar |
Dublă
precizie |
Nume
angajat |
Text
|
30 |
Adresa |
Text
|
50 |
Data
nasterii |
Data/Ora |
Dată
medie |
Limba
1 |
Expert
cautare |
Franceza,
Engleza, Germana |
Limba
2 |
Expert
cautare |
Italiană,
Spaniola, Olandeza |
Rezolvare:
Pentru crearea tabelei vom proceda ca şi la aplicaţia 1,
astfel:
1.
Vom salva fişierul sub numele firma.accdb iar tabela sub numele de Angajati.
Apoi vom parcurge aceiaşi paşi care se potrivesc cu problema curentă.
2.
Pentru
a crea câmpul CNP , cheie primară, îl
vom selecta , apăsăm click dreapta şi din meniul contextual alegem Cheie primară sau apăsăm pe comanda
din fila Proiectare.
3.
Pentru ca acest câmp să reţină
exact 13 cifre vom alege la Format opţiunea Fix iar la Zecimale selectăm valoarea 0.
Observaţie:
Câmpurile
care sunt cheie primară acceptă numai valori unice. Dacă se introduc
dubluri veţi genera eroare.
În tabela de la aplicaţia 2 dorim să
introducem şi câmpul cu numele Salariu (Numeric, simplă precizie) ,
după câmpul Nume angajat.
Rezolvare:
Vom modifica structura tabelei astfel:
-
Lucrăm în modul de Proiectare
-
Selectăm câmpul Adresa,
dăm click dreapta şi alegem Inserare rânduri sau din
fila Proiectare alegem comanda Inserare
rânduri
-
În rândul nou creat scriem
denumirea noului câmp – Salariu de tip număr
şi dimensiune simplă precizie.
Vom realiza o evidenţă informatizată a stocurilor unui
magazin de jucării. Marfa cumpărată de la furnizori se va regăsi în
facturile de intrare. Acesteia îi vom aplica un adaos comercial şi apoi
o vindem clienţilor, vânzare ce se va regăsi în facturile de ieşire.
Rezolvare:
Vom crea tabelele având structurile de mai jos. Cheile
primare sunt boldate. Se vor parcurge paşii prezentaţi la problema 1 şi
2.
Tabela Intrari
Denumire câmp |
Tip de dată |
Dimensiune câmp |
nr_factura_intrare |
Numar |
Intreg |
Data_factura |
Data/Ora |
Dta
medie |
Cantitate |
Numar |
Simpla
precizie, 2 zecimale |
Pret_unitar |
Numar |
Simpla
precizie, 2 zecimale |
Unitate_masura |
Text |
5 |
IdProdus
|
Numar |
Intreg |
IdCumparator |
Numar |
Intreg |
Tabela Iesiri
Denumire câmp |
Tip de dată |
Dimensiune câmp |
nr_factura_iesire |
Numar |
Intreg |
Data_factura |
Data/Ora |
Dta
medie |
Cantitate |
Numar |
Simpla precizie, 2 zecimale |
Pret_unitar |
Numar |
Simpla precizie, 2 zecimale |
Unitate_masura |
Text |
5 |
IdProdus
|
Numar |
Intreg |
IdCumparator |
Numar |
Intreg |
Tabela Produse
Denumire câmp |
Tip de dată |
Dimensiune câmp |
IdProdus |
Numar |
Intreg |
denumire |
Text |
30 |
Tabela Cumparatori
Denumire câmp |
Tip de dată |
Dimensiune câmp |
IdCumparator |
Numar |
Intreg |
Nume
cumparator |
Text |
20 |
Telefon |
Text |
10 |
Adresa
|
text |
50 |
Ordonarea/Filtrarea datelor din tabele
În acest capitol vom realiza o filtrare a datelor
cuprinse în tabele; le vom ordona normal
sau prin ataşarea de indecşi.
Operaţii care
trebuie cunoscute
-
Ordonarea datelor
după un câmp: Poziţionăm cursorul
pe câmp, apăsăm click dreapta şi alegem Sortare ascendentă
sau Sortare descendentă
-
Filtrarea datelor
după o condiţie: Poziţionăm
cursorul într-o celulă în care apare condiţia, activăm fila Pornire,
grupul Sortare şi filtrare, comanda Selecţie şi din listă alegem cerinţa .
Sau apăsăm pe săgeata din dreapta numelui câmpului
şi selectăm valoarea cerută iar restul le debifăm.
-
Eliminarea unui
filtru: Poziţionăm cursorul într-o
celulă şi alegem comanda Filtrare din grupul de mai
sus. Apoi bifăm în căsuţa Selectare totală.
-
Ataşarea unui index:
Trecem în modul Vizualizare structură tabel
, alegem comanda Indexuri şi
stabilim câmpul/câmpurile ce formează indexul.
Indexarea realizează o ordonare rapidă a înregistrărilor în
funcţie de valorile unui câmp sau a unui grup de câmpuri. Căutarea se
face mai rapid într-o tabelă indexată. Cheia primară este un index.
Tipul indexului îl stabilim cu ajutorul proprietăţii Indexat în modul Design
View, şi el poate fi:
-
Da (Cu dubluri) : valorile din câmp nu trebuie să fie unice
-
Da (Fără dubluri) : valorile trebuie să fie unice
-
Nu : tabelul din cadrul bazei de date nu este ordonat
În tabela din exerciţiile
anterioare (Uniforma_Elevi) cu structura de mai jos,
realizaţi ordonarea alfabetică după câmpul Nume elev.
Denumire câmp |
Tip de dată |
Dimensiune câmp |
Nr.
matricol |
Numar |
Întreg |
Nume
elev |
Text
|
30 |
Clasa |
Expert
cautare |
9D,
9B, |
Data
nasterii |
Data/Ora |
Dată
medie |
Media
absolvire |
Numar |
Simplă
precizie, 2 zecimale |
Pret
uniforma |
Numar |
Întreg
lung |
Sta
la camin |
Da/Nu |
|
Rezolvare:
1.
Poziţionăm cursorul pe săgeata
din dreapta câmpului Nume elev, şi alegem Sortare
de la A la Z sau invers, în funcţie de cum cere
problema.
Sau putem
alege din fila Pornire, grupul Sortare
şi filtrare, comanda
2.
Pentru a renunţa la ordonare dăm
click dreapta în coloana sortată şi alegem opţiunea Ştergere totală
sortări
.
In tabela precedentă, să se filtreze înregistrările astfel
încât să fie afişaţi numai elevii ce stau la cămin.
Rezolvare:
1.
Poziţionăm cursorul într-o
celulă în care avem valoarea DA (adică este bifată căsuţa).
2.
Din comanda Selecţie
din grupul Sortare şi filtrare al filei Pornire
vom alege opţiunea Selectat. (vezi figura)
3.
Vor fi afişate numai
înregistrările care îndeplinesc condiţia de filtrare, adică cele egale
cu valoarea celulei în care am dat click la pasul 1.
4.
Pentru a reveni la forma
iniţială apăsăm pe comanda Filtrare
.
În fereastra de dialog vom bifa Selectare totală. Sau
apăsăm pe săgeata din dreapta câmpului şi alegem aceeaşi oopţiune.
În tabela precedentă, să se filtreze înregistrările astfel
încât să fie afişaţi toţi elevii în afară de cei care au plătit câte
300 lei pe uniformă.
Rezolvare:
1.
Trebuie
realizată o filtrare complexă. Procedăm astfel: derulăm lista din
dreapta câmpului Preţ uniformă→Filtre numerice→Nu este
egal cu.
2.
În caseta de dialog scriem
valoarea cerută : 300 . Vor fi afişate numai înregistrările ce
îndeplinesc condiţia.
3.
Pentru a vedea cum s-ar scrie
condiţia apăsăm pe Complex→Filtrare/sortare complexă
În partea de jos a ecranului o să apară editată
condiţia.
4.
Renunţăm la filtru ca la pasul 4
de la problema anterioară.
În tabela precedentă, să se filtreze înregistrările astfel
încât să fie afişaţi numai elevii din clasa 9B şi care au media de
absolvire egală cu 10.
Rezolvare:
Vom aplica filtrarea de două ori:
-
prima dată de la câmpul Clasa→Filtre text→Este egal cu şi în caseta de dialog
scriem valoarea : 9B
-
a doua oară la câmpul Media absolvire→Filtre numeric→Este egal cu şi scriem
valoarea 10
-
priviţi cum se scrie condiţia
folosind Complex→Filtrare/sortare complexă
În tabela (Angajati ) realizaţi ordonarea
descrescătoare după câmpul Salar prin adăugarea unui
index.
Denumire câmp |
Tip de dată |
Dimensiune câmp |
Nume
angajat |
Text
|
30 |
Salar |
Numar
|
Intreg
|
Adresa |
Text
|
50 |
Data
nasterii |
Data/Ora |
Dată
medie |
Limba
1 |
Expert
cautare |
Franceza,
Engleza, Germana |
Limba
2 |
Expert
cautare |
Italiană,
Spaniola, Olandeza |
Rezolvare:
1.
Deschidem tabela în modul Vizualizare proiect.
2.
Din fila Proiectare
alegem comanda Indexuri
.
3.
În prima coloană stabilim un nume pentru index.
4.
În coloana Nume câmp
selectăm din listă câmpul după care se face ordonarea (Salar).
5.
În coloana Ordinea
de sortare selectăm Descendentă.
6.
Cele trei opţiuni Primar,
Unic şi Ignorare Null le lăsăm cu valorile
implicite.
7.
Închidem fereastra de Indexuri şi salvăm.
În acelaşi tabel introduceţi un index format din două
câmpuri, Salar şi Nume angajat. Adică
ordonăm întâi după salariu descrescător iar pentru salariaţii care au
acelaşi salariu să apară ordonaţi alfabetic.
Rezolvare:
1.
Deschidem tabela în modul Vizualizare proiect.
2.
Din fila Proiectare
alegem comanda Indexuri
.
3.
În prima coloană stabilim un nume pentru index.
4.
În coloana Nume câmp
selectăm din listă câmpul după care se face prima ordonare Salar
şi apoi dedesubt alegem câmpul Nume angajat.
5.
În coloana Ordinea
de sortare selectăm Descendentă şi apoi
Ascendentă.
6.
Închidem fereastra de Indexuri şi salvăm.