baze de date1 metode utilizate pentru organizarea datelor ...dtiliute/master/baze_de_date.pdf ·...

24
BAZE DE DATE 1 Metode utilizate pentru organizarea datelor În vederea obţinerii informaţiilor necesare luării de decizii corecte omul din societatea modernă se confruntă cu necesitatea prelucrării unui volum imens de date care trebuiesc culese, memorate, organizate, regăsite şi prelucrate în timp util şi cu mijloace adecvate. Utilizarea sistemelor de calcul în vederea realizării dezideratelor mai sus menţionate presupune un anumit mod de organizare a datelor. În acest sens în cele ce urmează sunt prezentate principalele modalităţi de organizare a datelor şi anume: - fişierul: - baza de date. Fişierul – este o organizare a datelor preluată din sistemul manual şi adaptată la cerinţele impuse de utilizarea sistemelor de calcul. Se definesc următoarele concepte: 1. Data elementară, câmp elementar - este o dată care nu mai poate fi descompusă; Exemplu: nume (nume persoană din descrierea unui grup de persoane) 2. Data grupată, câmp grupat – este o grupare logică de date; Exemplu: - adresa: - localitate - strada - număr 3. Înregistrare logică sau articol – o colecţie de date ce descriu un acelaşi obiect; 4. Fişier – un ansamblu de înregistrări logice Un fişier poate fi privit din două puncte de vedere: - nivelul logic = un ansamblu de înregistrări logice; - nivelul fizic = modul în care sunt înregistrate datele pe suportul de memorare. Unitatea de transfer între memoria secundară şi memoria principală este pagina (înregistrare fizică). O pagină poate conţine una sau mai multe înregistrări logice. Nu este exclusă nici situaţia în care o înregistrare logică mare se poate întinde pe mai multe pagini. Limitări ale sistemelor bazate pe fişiere: - datele sunt izolate în fişiere separate - programele de aplicaţie trebuie să realizeze sincronizarea prelucrării a două sau mai multor fişiere; - dependenţa de date - fiecare program de aplicaţie trebuie să descrie datele pe care le utilizează; - formate de fişiere incompatibile - structura fişierelor fiind încorporată în programul de aplicaţie, este dependentă de limbajul în care este scrisă aplicaţia; - redundanţa datelor - aceleaşi date pot apare în fişiere diferite; - accesul concurent la date - nu este asigurat. Eliminarea acestor deficienţe a condus la un nou mod de organizare a datelor şi anume organizarea datelor în baze de date. Baza de date o colecţie partajată de date, care conţine datele propriu-zise, relaţiile logice dintre acestea, precum şi descrierea datelor (structura datelor). O bază de date este proiectată pentru a satisface necesităţile informaţionale ale unei organizaţii. Sistemul de Gestiune a Bazelor de Date (SGBD sau DBMS Data Base Management 1 Material pus la dispozitie de lect. dr. Nicolae Morariu

Upload: others

Post on 31-Aug-2019

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

BAZE DE DATE1

Metode utilizate pentru organizarea datelor

În vederea obţinerii informaţiilor necesare luării de decizii corecte omul din societatea modernă se confruntă cu necesitatea prelucrării unui volum imens de date care trebuiesc culese, memorate, organizate, regăsite şi prelucrate în timp util şi cu mijloace adecvate. Utilizarea sistemelor de calcul în vederea realizării dezideratelor mai sus menţionate presupune un anumit mod de organizare a datelor. În acest sens în cele ce urmează sunt prezentate principalele modalităţi de organizare a datelor şi anume:

- fişierul: - baza de date.

Fişierul – este o organizare a datelor preluată din sistemul manual şi adaptată la cerinţele impuse de utilizarea sistemelor de calcul.

Se definesc următoarele concepte: 1. Data elementară, câmp elementar - este o dată care nu mai poate fi descompusă; Exemplu: nume (nume persoană din descrierea unui grup de persoane) 2. Data grupată, câmp grupat – este o grupare logică de date; Exemplu: - adresa:

- localitate - strada - număr

3. Înregistrare logică sau articol – o colecţie de date ce descriu un acelaşi obiect; 4. Fişier – un ansamblu de înregistrări logice Un fişier poate fi privit din două puncte de vedere:

- nivelul logic = un ansamblu de înregistrări logice; - nivelul fizic = modul în care sunt înregistrate datele pe suportul de memorare.

Unitatea de transfer între memoria secundară şi memoria principală este pagina (înregistrare fizică). O pagină poate conţine una sau mai multe înregistrări logice. Nu este exclusă nici situaţia în care o înregistrare logică mare se poate întinde pe mai multe pagini. Limitări ale sistemelor bazate pe fişiere:

- datele sunt izolate în fişiere separate - programele de aplicaţie trebuie să realizeze sincronizarea prelucrării a două sau mai multor fişiere;

- dependenţa de date - fiecare program de aplicaţie trebuie să descrie datele pe care le utilizează;

- formate de fişiere incompatibile - structura fişierelor fiind încorporată în programul de aplicaţie, este dependentă de limbajul în care este scrisă aplicaţia;

- redundanţa datelor - aceleaşi date pot apare în fişiere diferite; - accesul concurent la date - nu este asigurat.

Eliminarea acestor deficienţe a condus la un nou mod de organizare a datelor şi anume organizarea datelor în baze de date.

Baza de date – o colecţie partajată de date, care conţine datele propriu-zise, relaţiile logice dintre acestea, precum şi descrierea datelor (structura datelor).

O bază de date este proiectată pentru a satisface necesităţile informaţionale ale unei organizaţii.

Sistemul de Gestiune a Bazelor de Date (SGBD sau DBMS Data Base Management 1 Material pus la dispozitie de lect. dr. Nicolae Morariu

Page 2: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

System) – este un sistem de programe care permite definirea, crearea şi întreţinerea bazei de date, precum şi accesul controlat la baza de date. Un SGBD oferă următoarele facilităţi:

- facilităţi de descriere a datelor - prin intermediul unui limbaj de descriere a datelor DDL - Data Description Language, care permite utilizatorului să descrie structurile de date; - facilităţi de manipulare a datelor - prin intermediul unui limbaj de manipulare a datelor DML Data Manipulation Language - care permite utilizatorului să insereze, actualizeze, şteargă şi să extragă date din baza de date; - controlul accesului la baza de date prin: - sistem de securitate - previne accesarea bazei de date de către utilizatori neautorizaţi - sistem de integritate - menţine concordanţa datelor stocate - sistem de control al concurenţei - permite accesul partajat la baza de date - sistem de control al refacerii - recuperare în urma unor defecţiuni hard sau soft - mecanism de vizualizare - un utilizator poate vedea acea parte a bazei de date care îl interesează.

Administratorul bazei de date (DBA – Data Base Administrator) - este o persoană sau un grup de persoane care răspunde de ansamblul activităţilor privind baza de date. Arhitectura unei baze de date Organizarea datelor în baze de date impune adoptarea unei arhitecturi în care pot fi identificate următoarele 3 nivele de abstractizare [DORO98] (3 nivele distincte la care pot fi descrise datele): - Nivelul extern (subschema, vedere)

- Nivelul conceptual (schema conceptuală) - Nivelul intern (baza de date fizică)

Utilizator 1 Utilizator 2 Utilizator n Nivel extern Vedere 1 Vedere 2

Baza de date fizică

Sistemul de Gestiune a Bazei de Date

Vedere n

Nivel intern

Nivel conceptual

Nivelul extern – vederea utilizatorului asupra bazei de date (subschema, schema externă). Fiecare utilizator are o vedere asupra bazei de date care include numai entităţile,

1

Page 3: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

atributele şi relaţiile din lumea reală de care este interesat utilizatorul respectiv. Utilizatori diferiţi pot avea vederi diferite asupra aceloraşi date (ex. Data calendaristică poate fi văzută de un utilizator sub forma an, lună, zi iar de un alt utilizator sub forma zi,lună, an). În vederi pot fi incluse şi date derivate sau calculate din datele stocate în baza de date (ex. vârsta plecând de la data naşterii şi data curentă).

Nivelul conceptual – vederea generală a bazei de date – conţine structura logică a întregii baze de date aşa cum este văzută de administratorul bazei de date (ex. concepte de tipul : Persoane, Produse, Beneficiari, Furnizori etc.)

Nivelul intern – reprezentarea fizică a datelor în baza de date – o colecţie de fişiere conţinând datele, la care se adaugă diverse structuri auxiliare (indecşi, pointeri, tabele de dispersie etc.) pentru asigurarea accesului operativ la date. Transformarea de la nivelul conceptual la nivelul intern şi invers se realizează prin comunicarea dintre SGBD şi sistemul de operare. Orice comunicare între nivele se realizează sub controlul SGBD. Adoptarea arhitecturii pe cele 3 nivele asigură independenţa logică şi fizică a datelor.

Independenţa logică de date – imunitatea schemelor externe (vederilor utilizatorilor) faţă de modificări efectuate în schema conceptuală. Adăugarea sau eliminarea de noi entităţi, atribute sau relaţii trebuie să fie posibilă fără a afecta schemele externe existente.

Independenţa fizică de date – imunitatea schemei conceptuale faţă de modificările efectuate în schema internă. Modificări efectuate în schema internă cum ar fi: utilizarea unor organizări de fişiere diferite, a unor dispozitive diferite de stocare, modificarea de indecşi sau de algoritmi hash trebuie să fie posibilă fără a fi necesară schimbarea schemei conceptuale sau a schemelor externe. Modelul de date relaţional Modelul de date relaţional are la bază teoria matematică a relaţiilor şi a fost propus în 1970 de cercetătorul american E.F. Codd. Acest model stă la baza majorităţii SGBD-urilor comerciale deoarece acestea dispun de limbaje puternice de manipulare a datelor şi simplu de utilizat numite limbaje relaţionale care au la bază două formalisme abstracte din teoria matematică a relaţiilor şi anume:

- algebra relaţională - calculul relaţional

Pentru aceste limbaje s-au realizat interfeţe prietenoase, ceea ce le face accesibile unor categorii largi de utilizatori. Relaţii – definiţie Fie o colecţie de mulţimi D1, D2, … Dn nu neapărat distincte. R este o relaţie pe aceste mulţimi dacă este o mulţime de n-tuple ordonate (d1, d2, …., dn) astfel încât d1 ∈ D1, d2 ∈ D2, …., dn ∈ Dn. D1, D2, …., Dn se numesc domeniile relaţiei R, iar n este gradul relaţiei R. O relaţie R pe mulţimile D1, D2, …., Dn este o submulţime a produsului cartezian D1xD2x….xDn. O relaţie fiind o mulţime de n-tuple rezultă că asupra acestora se pot aplica proprietăţile din teoria mulţimilor dintre care două sunt amintite în continuare: 1. O mulţime fiind o colecţie de elemente fără repetiţie rezultă că într-o relaţie nu pot exista

două n-tuple identice.

2

Page 4: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

2 Ordinea elementelor într-o mulţime fiind nerelevantă rezultă că prin schimbarea ordinii n-tuplelor unei relaţii, relaţia rămâne neschimbată.

Un domeniu este ansamblul de valori admisibile pentru o componentă a unei relaţii. Un domeniu cu nume este un atribut.

Chei O cheie a unei relaţii R este un subset K de atribute ale relaţiei care satisface

proprietăţile: 1) – identifică unic n-tuplele relaţiei 2) – subsetul K este minimal (eliminarea oricărui atribut din K duce la pierderea proprietăţii

1) de identificare unică). Dintre cheile unei relaţii se desemnează o anumită cheie ca fiind primară (celelalte

numindu-se candidate) care va fi folosită de SGBD pentru identificarea unică a n-tuplelor. Cheia primară este comunicată SGBD-ului prin limbajul LDD şi pentru atributele ce compun aceasta cheie se impun restricţiile:

- nu sunt admise valori nedefinite pentru atributele ce compun cheia primară; - nici o valoare a unui atribut ce compune o cheie primară nu poate fi

modificată în cadrul operaţiilor de actualizare. Reprezentarea structurii datelor în cadrul modelului relaţional se realizează prin

schema relaţională care constă din una sau mai multe scheme de relaţie. Exemplu: Facultăţi (Codf, Nume, Adresa)

Specializari (Codf, Cods, Numes) Cadre (Codf, Marca, Nume, Functie) Discipline (Codd, Denumire) Studenti (Nume,Cods, Incadrare, An)

Cursuri (Marca,Codd) Note (Marca,Codd, Nume-stud, Nota)

Se contată că pentru reprezentarea legăturilor între tipurile de entităţi pot fi utilizate două tehnici: 1) propagarea cheilor (pentru relaţiile 1 : 1, 1 : n) – spre exemplu, atributul Codf propriu

tipului de entitate Facultati este preluat în schemele de relaţie Specializari, Cadre, Sali, Administrativ pentru a reprezenta legăturile 1 : n corespunzătoare.

2) crearea unei scheme de relaţie separate (pentru reprezentarea legăturilor m : n) – spre exemplu Note ce are ca atribute cheile celor trei tipuri de entităţi (Cadre, Discipline, Studenti) a căror legătură o reprezintă şi eventual alte atribute (Ex: Nota).

Fiecare schemă de relaţie se poate reprezenta printr-un tabel în care coloanele sunt domeniile (atributele) relaţiei iar liniile (rândurile tabelului) sunt înregistrările corespunzătoare tipului de entitate descris de relaţia respectivă.

O posibilă descriere a bazei de date având schema relaţională de mai sus este: CREATE TABLE Facultati (Codf INTEGER (3) NOT NULL, Nume CHAR (15), Adresa CHAR (20)) CREATE TABLE Specializari (Codf INTEGER (3), Cods CHAR (6) NOT NULL, Numes CHAR (30), …………………………………………. Observaţii:

3

Page 5: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

În modelul relaţional atât tipurile de entităţi cât şi legăturile dintre ele sunt reprezentate prin relaţii. De asemenea orice interogare a bazei de date este definită tot printr-o relaţie.

O bază de date relaţională este o colecţie de relaţii de diverse grade (gradul unei relaţii este dat de numărul de atribute ce definesc relaţia respectivă). SISTEMUL DE GESTIUNE A BAZELOR DE DATE ACCESS

Microsoft Access este un sistem pentru crearea şi utilizarea bazelor de date de complexitate medie pentru calculatoare personale, putând lucra performant cu sute de mii de înregistrări pe un calculator personal sau în cadrul unei reţele de până la 20 utilizatori care lucrează simultan cu baza de date. Programul Access stochează toate componentele unei baze de date într-un singur fişier pe disc cu extensia .mdb.

O bază de date Access poate conţine următoarele componente: - Tabele – stochează datele bazei de date. Fiecare coloană a tabelei este numită câmp şi

fiecare rând al tabelei este numit înregistrare. - Interogări – realizează extragerea unor date din una sau mai multe tabele conform unor

criterii precizate de utilizator în vederea vizualizării şi actualizării datelor din baza de date sau pentru a crea alte tabele în vederea păstrării unui instantaneu al informaţiilor. O interogare nu are date proprii şi operează cu date din tabelele bazei de date.

- Formulare – un formular este o fereastră pentru introducerea sau afişarea şi editarea datelor. Un formular poate conţine subformulare pentru a afişa date asociate unor date din formular şi butoane sau alte obiecte grafice pentru realizarea anumitor acţiuni.

- Rapoarte – sunt utilizate pentru operaţii de ieşire în vederea obţinerii unor situaţii rezultate din prelucrarea unor date din baza de date. Pentru includerea selectivă a unor date într-un raport sau pentru realizarea unui raport care foloseşte date din mai multe tabele va trebui creată mai întâi o interogare şi apoi raportul să fie fundamentat pe rezultatele interogării.

- Comenzi macro – permit realizarea unei secvenţe de acţiuni care poate fi ataşată unui buton.

- Module – stochează proceduri şi funcţii scrise în limbajul Visual Basic pentru tratarea evenimentelor.

Crearea unei baze de date.

Microsoft Access furnizează două metode de creare a unei baze de date. 1. se poate crea o bază de date goală şi apoi se adaugă tabelele, interogările,

formularele, rapoartele şi alte obiecte necesare. 2. se poate crea o bază de date folosind Database Wizard.

Indiferent de metoda prin care se creează baza de date, ea poate fi oricând modificată. Pentru a crea o bază de date goală (fără a folosi un Wizard), se execută clic pe opţiunea Blank Database şi apoi se execută clic pe butonul OK.

4Figura1 Caseta de dialog Microsoft Access

Page 6: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Problemă propusă Să se creeze baza de date FurnizoriClienţi prin fiecare din cele două metode prezentate

mai sus. Crearea şi utilizarea tabelelor Tabela este o colecţie organizată de date despre un anumit subiect, cum ar fi produse, furnizori etc. Folosind o tabelă separată pentru fiecare subiect se elimină duplicarea datelor, asigurându-se astfel utilizarea mai eficientă a spaţiului de stocare şi reducerea erorilor la introducerea datelor. Tabelele sunt organizate în coloane (numite câmpuri) şi linii (numite înregistrări sau articole).

Tipurile de date admise în Microsoft Access, modul lor de folosire şi dimensiunea de memorare sunt prezentate în tabelul T1. T1. Tipuri de date admise într-o bază de date Access Tipul datei Utilizare Spaţiul de memorie necesar

Text Text sau combinaţie de text şi numere, cum

ar fi adresele. De asemenea, numere ce nu

necesită calcule, cum ar fi numerele de

telefon, numerele de partidă sau codurile

poştale.

Până la 255 caractere.

Microsoft Access memorează

numai caracterele introduse în

câmp; nu se memorează

caractere „spaţiu” pentru

poziţiile nefolosite. Pentru a

controla numărul maxim de

caractere ce pot fi introduse se

setează proprietatea FieldSize.

Memo Texte şi numere foarte lungi, cum ar fi notiţe

sau descrieri.

Până la 64,000 caractere.

Number Date numerice folosite pentru calcule

matematice, cu excepţia calculelor ce impun

valori monetare. Pentru a defini un anumit

tip Number setaţi proprietatea FieldSize.

1, 2, 4 sau 8 bytes (16 bytes

numai pentru Replication ID).

Date/Time Date calendaristice şi timpi. 8 bytes.

Currency Valori monetare. Se va folosi tipul de date

Currency pentru a preveni rotunjirea pe

timpul calculelor. Precizia tipului este de 15

cifre la partea întreagă şi 4 cifre la partea

8 bytes.

5

Page 7: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

zecimală.

AutoNumber Numere în secvenţă unică (din 1 în 1) sau

aleatoare care sunt automat inserate atunci

când se adaugă un articol.

4 bytes (16 bytes numai pentru

Replication ID).

Yes/No Câmpuri care vor conţine numai una din

două valori, cum ar fi Yes/No, True/False,

On/Off.

1 bit.

OLE Object Obiecte (cum ar fi documente Microsoft

Word, foi de calcul Microsoft Excel,

imagini, sunete sau alte date binare) create

în alte programe folosind protocolul OLE,

ce pot fi înlănţuite sau încapsulate într-o

tabelă Microsoft Access. Trebuie să se

folosească un cadru de obiect legat într-o

machetă sau raport pentru a afişa obiectul

OLE.

Pâna la 1 GB (limitat de

spaţiul disc).

Lookup

Wizard

Crearea unui câmp care permite alegerea

unei valori dintr-o altă tabelă sau dintr-o

listă de valori folosind o casetă combo.

Alegând această opţiune, se lansează un

Wizard care dirijează crearea listei.

Acelaşi spaţiu ca şi câmpul

cheii primare folosit pentru a

executa examinarea, în mod

obişnuit 4 bytes.

În tabelul T2 sunt prezentate tipurile şi mărimea valorilor numerice ce pot fi memorate în câmpurile de tip Number.

T2. Date de tip Number Valoarea proprietăţii FieldSize

Domeniu Precizie Memorie necesară

Byte 0 la 255 1 byte

Integer -32,768 la 32,767 2 bytes

Long Integer -2,147,483,648 la 2,147,483,647 4 bytes

Single -3.402823E38 la 3.402823E38 7 4 bytes

Double -1.79769313486232E308 la

1.79769313486232E308

15 8 bytes

6

Page 8: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Crearea unei tabele În Microsoft Access există două metode de a creare a unei tabele şi anume:

- se poate crea o tabelă goală (empty) pentru a introduce datele; - se poate crea o tabelă folosind datele existente într-o altă sursă de date.

În Microsoft Access există patru procedee pentru crearea unei tabele goale, astfel: Database Wizard pentru a crea într-o singură operaţie toate tabelele, formularele şi

rapoartele necesare întregii baze de date. Database Wizard creează o nouă bază de date. Acest procedeu nu poate fi folosit pentru a adăuga noi tabele, formulare sau rapoarte într-o bază de date existentă.

Table Wizard pentru a alege câmpurile tabelei dintr-o varietate de tabele predefinite, cum ar fi contacte de afaceri, inventare de casă sau articole medicale.

DataSheet pentru introducerea datelor direct într-o foaie de date (datasheet). La salvarea foii de date Microsoft Access va analiza datele şi automat va atribui tipul de date şi formatul pentru fiecare câmp.

Design pentru a defini toate detaliile tabelei. Indiferent de metoda care se foloseşte pentru crearea unei tabele, se poate utiliza

vederea Design pentru a modifica descrierea tabelei, prin adăugarea de noi câmpuri, stabilirea valorilor implicite sau crearea măştilor de introducere. În figura 5 este reprezentată fereastra Design view pentru crearea unei tabele.

Figura 5 Fereastra Design View a unei tabele

7

Page 9: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Crearea unei tabele folosind vederea Design. Pentru a crea o tabelă folosind vederea Design se execută următoarele operaţii: 1. Se deschide în fereastra Database baza de date în care se creează o nouă tabelă, dacă ea nu

este deja deschisă. Se poate folosi tasta funcţională F11 pentru a comuta în fereastra Database din orice altă fereastră.

2. Se activează eticheta Tables şi apoi, fie se selectează opţiunea Create table in Design view (vezi figura 5), fie se execută clic pe butonul New (vezi figura 6) şi în caseta de dialog New Table, ce apare pe ecran (vezi figura 6), se va selecta opţiunea Design View şi apoi se execută clic pe butonul OK.

3. În fereastra Design View care apare pe ecran (vezi figura 5) se va defini fiecare câmp al tabelei.

4. Înainte de a salva tabela, se va defini o cheie primară prin click dreapta pe numele câmpului corespunzător şi selectare opţiune Primary key. Cheia primară poate fi stabilită şi ulterior.

5. După definirea structurii tabelei, se execută clic pe butonul Save din bara butoanelor Standard sau se selectează opţiunea Save din meniul File şi apoi se va tasta un nume pentru tabelă.

Figura 6 Caseta de dialog New Table având selectată opţiunea Design View

Definirea câmpurilor Pentru a defini câmpuri în Design View se vor executa, în general următoarele operaţii: 1. Pentru adăugarea unui câmp în interiorul unei structuri deja definite, se selectează

linia sub care se va adăuga noul câmp şi apoi se execută clic pe butonul Insert Rows din bara instrumentelor Standard sau se selectează comanda Rows din meniul Insert. Pentru a adăuga câmpul la sfârşitul structurii se execută clic în coloana Field Name a primei linii goale.

2. În coloana Field Name se tastează numele câmpului, respectând regulile Microsoft Access pentru denumirea obiectelor.

3. În coloana Data Type, se execută clic pe săgeată şi se selectează tipul de dată dorit.

8

Page 10: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

4. În coloana Description se poate introduce o descriere a câmpului. 5. În foaia de configurare Field Properties se stabilesc caracteristicile câmpului

(dimensiune, mesaj de introducere, valoarea implicită, formate de afişare etc.). Algoritmul prezentat este valabil pentru următoarele tipuri de câmpuri: Text, Memo,

Number, Curency, Yes/No, Date/Time, AutoNumber. Proprietăţile câmpurilor Fiecare câmp are un set de proprietăţi care se pot folosi pentru a personaliza modul în care datele unui câmp sunt stocate, manipulate sau afişate. Spre exemplu, se poate controla numărul maxim de caractere ce se pot introduce într-un câmp Text stabilind proprietatea FieldSize a acestuia. Proprietăţile care există pentru fiecare câmp depind de tipul de date care a fost selectat pentru câmpul respectiv. Pentru a modifica proprietăţile unui câmp se execută următoarele operaţii: 1. Se deschide tabela în vederea Design. 2. În partea superioară a ferestrei Design se selectează câmpul ale cărei proprietăţi urmează a fi modificate. 3. Se selectează proprietatea a cărei valoare vrem s-o modificăm executând clic în linia din dreapta numelui proprietăţii (în fila General de sub descrierea tabelei). 4. Se repetă operaţiile 2 şi 3 pentru toate proprietăţile ale căror valori vrem să le modificăm. 5. După efectuarea tuturor modificărilor se închide fereastra Design.

În cazul în care pentru un câmp s-a ales tipul Lookup Wizard, atunci se lansează un Wizard prin intermediul căruia putem realiza o listă de examinare care afişează datele dintr-o tabelă (sau interogare) existentă care conţine deja date, sau dintr-o listă de valori prestabilită după cum este ilustrat în imagiea de ecran din figura 7. Acest tip de câmp permite selectarea valorilor dintr-o tabelă sau listă afişată, în loc ca ele să fie tastate.

Figura 7. Casetă de dialog Lookup Wizard pentru crearea unei liste din valorile unei tabele, (interogări), sau liste de valori

9

Page 11: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Problemă propusă. În baza de date FurnizoriClienti se crează următoarele tabele:

PRODUSE (catalog de produse)

Câmp Semnificaţie Tip dată Dimensiune Observaţii Codp Cod produs Number, Integer 4 Cheie primară Denp Denumire produs Text 20 Desp Descriere produs Hyperlink Referă document

corespunzător

STOCURI (stocurile de produse pe depozite)

Câmp Semnificaţie Tip dată Dimensiune Observaţii Codp Cod produs Number, Integer

Lockup Wizard 4 Lockup Wizard cu

tabela PRODUSE CodDep Cod depozit Text 2 Ump Unitate de măsură

produs Lockup Wizard 8 Creare şi utilizare

listă de valori Cant Cantitate Number, Integer 4 Pret Preţ unitar Number,

LongInteger 8

FURNIZORI (catalog de furnizori)

Câmp Semnificaţie Tip dată Dimensiune Observaţii Codf Cod furnizor Number, Integer 4 Cheie primară Denf Denumire furnizor Text 30 Adresaf Adresa furnizor Text 25

OFERTE (oferte de produse de la furnizori)

Câmp Semnificaţie Tip dată Dimensiune Observaţii Codf Cod furnizor Number, Integer

Lockup Wizard 4 Lockup Wizard cu

tabela FURNIZORI Codp Cod produs Number, Integer

Lockup Wizard 4 Lockup Wizard cu

tabela PRODUSE Ump Unitate de măsură

produs Lockup Wizard 8 Creare şi utilizare

listă de valori Pret Preţ unitar Number,

LongInteger 8

Datao Data ofertei Date 8 Oferta Oferta furnizor Hyperlink Referă document

corespunzător

CLIENTI (catalog de clienţi)

Câmp Semnificaţie Tip dată Dimensiune Observaţii Codc Cod client Number, Integer 4 Cheie primară Denc Denumire client Text 30 Adresac Adresa client Text 25

10

Page 12: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

VANZARI (vânzările de produse pe clienţi)

Câmp Semnificaţie Tip dată Dimensiune Observaţii Codc Cod furnizor Number, Integer

Lockup Wizard 4 Lockup Wizard cu

tabela CLIENTI Codp Cod produs Number, Integer

Lockup Wizard 4 Lockup Wizard cu

tabela PRODUSE Ump Unitate de măsură

produs Lockup Wizard 8 Creare şi utilizare

listă de valori Cant Cantitate Number, Integer 4 Pret Preţ unitar Number,

LongInteger 8

Datav Data vânzării Date 8

În imaginea de ecran din figura 17 sunt evidenţiate tabelele bazei de date FurnizoriClienti şi este reprezentată descrierea tabelei Produse. În mod asemănător şi conform precizărilor din tabelele de mai sus, se vor defini şi celelalte tabele în baza de date şi se vor încărca date pentru diverse produse, preţuri, furnizori, clienţi.

Pentru modificarea structurii unei tabele se va deschide tabela în modul Design. Pentru preleare sau actualizare date într-o tabelă se va deschide tabela în modul Open.

Figura 17. Baza de date FurnizoriClienti. Descrierea tabelei Produse.

11

Page 13: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Crearea şi utilizarea interogărilor Interogările se folosesc pentru a vizualiza, modifica şi analiza datele în diverse moduri.

De asemenea, ele pot fi utilizate ca sursă de articole pentru formulare şi rapoarte. Pentru a crea un raport în care sunt utilizate anumite date dintr-o tabelă sau date din mai multe tabele se va crea mai întâi interogarea corespunzătoare şi apoi se va defini raportul utilizând acea interogare.

În cele ce urmează este ilustrat modul de definire a unei interogări de selecţie pentru situaţia stocurilor de produse utilizând tabelele Produse, Stocuri. - Se selectează Qeries şi apoi New, iar din caseta New Query se selectează modul Design View (vezi figura 18) şi se apasă butonul OK. Va apare ecranul din figura 19. - Din caseta Show Table se selectează tabela Produse şi se apasă butonul Add, apoi se selectează tabela Stocuri şi se apasă butonul Add şi apoi se apasă butonul Close. Va apare ecranul din figura 20 pentru definirea câmpurilor interogării ilustrate în imaginea de ecran din figura 21. Pentru salvare interogare se închide fereastra Query şi se tastează numele interogării Situatia Stocurilor. Pentru vizualizarea datelor corespunzătoare interogării, se selectează interogarea şi se deschide în modul Open (rezultatul este ilustrat în figura 22.

Figura 18. Creare interogare în modul Design

Figura 19. Selectare tabele pentru creare interogare

12

Page 14: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Figura 20. Caseta Query pentru definirea câmpurilor Figura 21. Definirea interogării Situatia Stocurilor.

Figura 22. Vizualizarea datelor corespunzătoare interogării Situatia Stocurilor

13

Page 15: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Probleme propuse Să se creeze interogările corespunzătoare situaţiei ofertelor de produse şi situaţiei

vânzărilor de produse conform specificaţiilor de mai jos. Situaţia ofertelor

Câmp Codf Denf Adresaf Codp Denp Ump Pret Datao Tabela Furnizori Furnizori Furnizori Produse Produse Oferte Oferte Oferte

Situaţia vânzărilor

Câmp Codc Denc Adresac Codp Denp Ump Cant Pret Valoare Datav Tabela Clienti Clienti Clienti Produse Produse Vanzari Vanzari Vanzari Cant*Pret Vanzari

Pentru vânzări se va crea şi o interogare cu parametru pentru situaţia vânzărilor în luna ..., unde luna se va comunica drept parametru de interogare. Crearea şi utilizarea formularelor.

În Microsoft Access formularele se pot folosi pentru a crea: - un ecran pentru introducerea datelor în una sau mai multe tabele; - un ecran tip “panou de comutatoare” pentru a deschide alte formulare sau rapoarte; - o casetă de dialog care să solicite de la utilizator informaţii suplimentare necesare

executării unei acţiuni. Majoritatea informaţiilor dintr-un formular provin dintr-o sursă de informaţii, dar

există şi informaţii care se introduc la proiectarea machetei. Legătura dintre formular şi sursa de date se realizează prin intermediul unor obiecte grafice, numite controale. Cele mai utilizate controale sunt casetele de text, cu ajutorul cărora se pot afişa fie informaţiile dintr-o sursă de date, fie rezultatele evaluării unei expresii.

Un formular poate fi creat în două moduri şi anume: - în modul Design view; - utilizând un wizard.

Un wizard poate fi utilizat în modurile (figura 23, caseta New Form care apare la apăsarea butonului New din fereastra Database): Form Wizard; AutoForm: Columnar; AutoForm: Tabular; Chart Wizard; Pivot Table Wizard.

Odată creat, un formular poate fi modificat şi în acest sens se deschide formularul în modul Design pentru a-l modifica aşa cum se doreşte. Subformulare Subformularul este un formular în interiorul altui formular. Formularul primar este denumit formular principal (main form), iar formularul din interiorul formularului este numit subformular. Combinaţia formular/subformular este referită adeseori ca formular ierarhic, formular principal/detaliu sau formular părinte/copil.

Subformularele sunt eficiente în special pentru prezentarea datelor din tabele sau interogări cu relaţii 1→m (one-to-many). Spre exemplu, se poate crea un formular cu un subformular pentru a prezenta datele din tabelele Produse şi Stocuri. Datele din tabela Produse reprezintă partea “1” din relaţie, iar datele din tabela Stocuri reprezintă partea “m” din relaţie – fiecare produs putând avea mai multe înregistrări în tabela Stocuri.

14

Page 16: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Formularul principal şi subformularul din acest tip de formulare sunt înlănţuite, astfel încât subformularul afişează numai înregistrările care sunt corelate cu înregistrarea curentă din formularul principal. Spre exemplu, atunci când formularul principal afişează produsul Tastatură, subformularul afişează numai stocurile pentru acest produs.

Se pot realiza cel mult două nivele de subformulare. Aceasta înseamnă că poate exista un subformular într-un formular principal şi un alt subformular în interiorul subformularului, de nivel 1. Spre exemplu, poate exista un formular principal care afişează clienţii, un subformular care prezintă produsele şi un alt subformular care afişează vânzările pentru acele produse şi clienţi.

Una din metodele utilizate pentru crearea unui subformular în cadrul unui formular constă în efectuarea următoarelor operaţii: - se crează un formular principal şi un subformular şi se salvează fiecare separat; - se deschide formularul principal în modul Design; - se trage cu mouse-ul subformularul din fereastra Database peste formularul principal. Problemă rezolvată

În figurile 24,…,29 sunt ilustraţi paşii parcurşi pentru crearea formularului principal Produse utilizând modul Form Wizard. Analog se procedează pentru crearea subformularului Stocuri. În figura 30 este ilustrat rezultatul tragerii subformularului Stocuri peste formularul Produse. Deschiderea formularului Produse în modul Open permite vizualizarea şi actualizarea atât a datelor din tabela Produse cât şi a datelor corespunzătoare din tabela Stocuri aşa cum este ilustrat în imaginea de ecran din figura 31. Probleme propuse. Utilizând metoda prezentată mai sus, să se creeze următoarele formulare:

- formularul Furnizori cu subformularul Oferte; - formularul Clienţi cu subformularul Vânzări; - formularul Produse cu subformularele Stocuri, Oferte, Vânzări.

Figura 23. Fereastra Database. Modalităţi de creare a unui formular (Caseta New Form).

15

Page 17: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Figura 24. Creare formular Produse (pasul 1)

Figura 25. Creare formular Produse (pasul 2)

16Figura 26. Creare formular Produse (pasul 3)

Page 18: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Figura 27. Creare formular Produse (pasul 4)

Figura 28. Creare formular Produse (pasul 5)

Figura 29. Vizualizare formular Produse.

17

Page 19: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Figura 30. Depunere subformular Stocuri în formular Produse. Crearea şi vizualizarea rapoartelor

Figura 31. Utilizare formular Produse pentru vizualizare şi actualizare date în tabelele Produse şi Stocuri.

Rapoartele au în vedere prelucrarea unor date din baza de date pentru obţinerea unor situaţii ce urmează a fi tipărite sau afişate pe ecran la cererea utilizatorului. Spre deosebire de formulare care pe lângă vizualizarea datelor permite şi actualizarea acestora, rapoartele realizează interogarea şi prelucrarea datelor din baza de date nefiind posibilă modificarea datelor. Există două modalităţi de creare a rapoartelor şi anume (figura 32):

- creare raport în modul Design view; - creare raport utilizând un wizard.

Un wizard poate fi utilizat în modurile (figura 32, caseta New Report care apare la apăsarea butonului New din fereastra Database): Report Wizard, AutoReport: Columnar, AutoReport: Tabular, Chart Wizard, Label Wizard.

18

Page 20: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Figura 32. Fereastra Database. Modalităţi de creare a unui raport (Caseta New Report).

În cele ce urmează se vor prezenta paşii de parcurs pentru realizarea unui raport în modul Report Wizard. 1. În caseta de dialog Choose the table or query… se selectează tabela sau interogarea pe

care se va fundamenta raportul şi se apasă butonul OK (figura 33, Situaţia Stocurilor). 2. Selectare câmpuri pentru raport din lista Available Fields în lista Selected Fields folosind

butoanele > sau >> , după care se apasă butonul Next (figura 34). 3. Selectare mod pentru vizualizare date, după care se apasă butonul Next (figura 35). 4. Selectare nivele de grupare date în raport, după care se apasă butonul Grouping Options

pentru a preciza modul de grupare, apoi se apasă butonul Next (figura 36). 5. Precizare criterii de ordonare date în raport, după care se apasă butonul Sumary Options

pentru precizarea operaţiilor de efectuat asupra grupurilor de înregistrări (figura 37). 6. Precizare operaţii de efectuat asupra grupurilor de înregistrări, după care se apasă butonul

OK (figura 38) şi apoi butonul Next. 7. În casetele Layout, Orientation, se selectează forma de realizare a raportului (figura 39) şi

apoi se apasă butonul Next. 8. Se selectează stilul de realizare a raportului, apoi se apasă butonul Next (figura 40). 9. Precizare titlu raport, după care se apasă butonul Finish (figura 41).

În figura 42 este vizualizat raportul obţinut. Pentru modificarea raportului, acesta trebuie deschis în modul Design şi apoi se execută modificările dorite. Probleme propuse După exemplul prezentat, să se creeze următoarele rapoarte utilizând modul Report Wizard: Situaţia ofertelor de produse pe produs

Cod produs Denumire produs Cod furnizor Denumire furnizor Adresa furnizor Ump Pret Data ofertei …………………………………………………………………………. …………………………….. Situaţia ofertelor de produse pe furnizor

Cod furnizor Denumire furnizor Adresa furnizor Cod produs Denumire produs Ump Pret Data ofertei ……………………………………………………… ………………………………………………….......

19

Page 21: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Situaţia vânzărilor de produse pe produs Cod produs Denumire produs

Cod client Denumire client Adresa client Ump Cantitate Pret Valoare Data vânzării ……………………………………………………………………………………….

Total produs xxxxxxx xxxxxx …………………………………… Total general xxxxxx Situaţia vânzărilor de produse pe client

Cod client Denumire client Adresa client Cod produs Denumire produs Ump Cantitate Pret Valoare Data vânzării …………………………………………………………………………… Total client xxxxxx …………………………………………. Total general xxxxxx Teste de verificare 1. La nivel fizic o bază de date Access este: a) un ansamblu de fişiere ce conţin obiectele bazei de date b) un fişier cu extensia .acc c) un fişier cu extensia .mdb d) un fişier cu extensia .xls e) un fişier .dbf pt. fiecare tabelă 2. Enumeraţi principalele componente ale unei baze de date Access 3. Pentru crearea unei tabele în ACCESS din fereastra ACCESS se selectează: a) Table, Design b) Table, New c) Table, Open d) Forms, Design 4. Pentru crearea unui raport în ACCESS care foloseşte date din mai multe tabele se va proceda astfel: a) Se va crea câte un formular pentru fiecare tabelă b) Se proiectează raportul în modul Design view cu specificarea tabelelor utilizate c) Se crează o interogare corespunzătoare raportului şi apoi se proiectează raportul utilizând

acea interogare

Figura 33. Modul Report Wizard Selectare tabelă sau interogare pentru raport .

20

Page 22: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Figura 34. Modul Report Wizard Selectare câmpuri pentru raport .

Figura 35. Modul Report Wizard. Selectare mod (tabelă) după care vor fi vizualizate datele.

Figura 36. Modul Report Wizard. Selectare nivele de grupare date în raport. 21

Page 23: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Figura 37. Modul Report Wizard. Precizare criterii de ordonare date în raport.

Figura 38. Modul Report Wizard. Precizare operaţii de efectuat asupra grupurilor de înregistrări.

Figura 39. Modul Report Wizard. Precizare format de realizare raport. 22

Page 24: BAZE DE DATE1 Metode utilizate pentru organizarea datelor ...dtiliute/master/Baze_de_date.pdf · System) – este un sistem de programe care permite definirea, crearea şi întreţinerea

Figura 40. Modul Report Wizard. Selectare stil de realizare raport.

Figura 41. Modul Report Wizard. Precizare titlu raport.

Figura 42. Modul Report Wizard. Vizualizare raport Situaţia stocurilor de produse. 23