baze de date in mng firmei

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: allina0592

Post on 18-Nov-2015

234 views

Category:

Documents


1 download

TRANSCRIPT

  • BAZE DE DATE1

    Metode utilizate pentru organizarea datelor n vederea obinerii informaiilor necesare lurii de decizii corecte omul din societatea

    modern se confrunt cu necesitatea prelucrrii unui volum imens de date care trebuiesc culese, memorate, organizate, regsite i prelucrate n timp util i cu mijloace adecvate. Utilizarea sistemelor de calcul n vederea realizrii dezideratelor mai sus menionate presupune un anumit mod de organizare a datelor. n acest sens n cele ce urmeaz sunt prezentate principalele modaliti de organizare a datelor i anume:

    - fiierul: - baza de date.

    Fiierul este o organizare a datelor preluat din sistemul manual i adaptat la cerinele impuse de utilizarea sistemelor de calcul.

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

    - localitate - strada - numr

    3. nregistrare logic sau articol o colecie de date ce descriu un acelai obiect; 4. Fiier un ansamblu de nregistrri logice Un fiier poate fi privit din dou puncte de vedere:

    - nivelul logic = un ansamblu de nregistrri 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 conine una sau mai multe nregistrri logice. Nu este exclus nici situaia n care o nregistrare logic mare se poate ntinde pe mai multe pagini. Limitri ale sistemelor bazate pe fiiere:

    - datele sunt izolate n fiiere separate - programele de aplicaie trebuie s realizeze sincronizarea prelucrrii a dou sau mai multor fiiere;

    - dependena de date - fiecare program de aplicaie trebuie s descrie datele pe care le utilizeaz;

    - formate de fiiere incompatibile - structura fiierelor fiind ncorporat n programul de aplicaie, este dependent de limbajul n care este scris aplicaia;

    - redundana datelor - aceleai date pot apare n fiiere diferite; - accesul concurent la date - nu este asigurat.

    Eliminarea acestor deficiene a condus la un nou mod de organizare a datelor i anume organizarea datelor n baze de date.

    Baza de date o colecie partajat de date, care conine datele propriu-zise, relaiile logice dintre acestea, precum i descrierea datelor (structura datelor).

    O baz de date este proiectat pentru a satisface necesitile informaionale ale unei organizaii.

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

  • System) este un sistem de programe care permite definirea, crearea i ntreinerea bazei de date, precum i accesul controlat la baza de date. Un SGBD ofer urmtoarele faciliti:

    - faciliti de descriere a datelor - prin intermediul unui limbaj de descriere a datelor DDL - Data Description Language, care permite utilizatorului s descrie structurile de date; - faciliti 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 ctre utilizatori neautorizai - sistem de integritate - menine concordana datelor stocate - sistem de control al concurenei - permite accesul partajat la baza de date - sistem de control al refacerii - recuperare n urma unor defeciuni 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 rspunde de ansamblul activitilor privind baza de date. Arhitectura unei baze de date Organizarea datelor n baze de date impune adoptarea unei arhitecturi n care pot fi identificate urmtoarele 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 entitile,

    1

  • atributele i relaiile din lumea real de care este interesat utilizatorul respectiv. Utilizatori diferii pot avea vederi diferite asupra acelorai date (ex. Data calendaristic poate fi vzut 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. vrsta plecnd de la data naterii i data curent).

    Nivelul conceptual vederea general a bazei de date conine structura logic a ntregii baze de date aa cum este vzut 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 colecie de fiiere coninnd datele, la care se adaug diverse structuri auxiliare (indeci, 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 independena logic i fizic a datelor.

    Independena logic de date imunitatea schemelor externe (vederilor utilizatorilor) fa de modificri efectuate n schema conceptual. Adugarea sau eliminarea de noi entiti, atribute sau relaii trebuie s fie posibil fr a afecta schemele externe existente.

    Independena fizic de date imunitatea schemei conceptuale fa de modificrile efectuate n schema intern. Modificri efectuate n schema intern cum ar fi: utilizarea unor organizri de fiiere diferite, a unor dispozitive diferite de stocare, modificarea de indeci sau de algoritmi hash trebuie s fie posibil fr a fi necesar schimbarea schemei conceptuale sau a schemelor externe. Modelul de date relaional Modelul de date relaional are la baz teoria matematic a relaiilor i a fost propus n 1970 de cercettorul american E.F. Codd. Acest model st la baza majoritii SGBD-urilor comerciale deoarece acestea dispun de limbaje puternice de manipulare a datelor i simplu de utilizat numite limbaje relaionale care au la baz dou formalisme abstracte din teoria matematic a relaiilor i anume:

    - algebra relaional - calculul relaional

    Pentru aceste limbaje s-au realizat interfee prietenoase, ceea ce le face accesibile unor categorii largi de utilizatori. Relaii definiie Fie o colecie de mulimi D1, D2, Dn nu neaprat distincte. R este o relaie pe aceste mulimi dac este o mulime de n-tuple ordonate (d1, d2, ., dn) astfel nct d1 D1, d2 D2, ., dn Dn. D1, D2, ., Dn se numesc domeniile relaiei R, iar n este gradul relaiei R. O relaie R pe mulimile D1, D2, ., Dn este o submulime a produsului cartezian D1xD2x.xDn. O relaie fiind o mulime de n-tuple rezult c asupra acestora se pot aplica proprietile din teoria mulimilor dintre care dou sunt amintite n continuare: 1. O mulime fiind o colecie de elemente fr repetiie rezult c ntr-o relaie nu pot exista

    dou n-tuple identice.

    2

  • 2 Ordinea elementelor ntr-o mulime fiind nerelevant rezult c prin schimbarea ordinii n-tuplelor unei relaii, relaia rmne neschimbat.

    Un domeniu este ansamblul de valori admisibile pentru o component a unei relaii. Un domeniu cu nume este un atribut.

    Chei O cheie a unei relaii R este un subset K de atribute ale relaiei care satisface

    proprietile: 1) identific unic n-tuplele relaiei 2) subsetul K este minimal (eliminarea oricrui atribut din K duce la pierderea proprietii

    1) de identificare unic). Dintre cheile unei relaii 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 restriciile:

    - 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 operaiilor de actualizare. Reprezentarea structurii datelor n cadrul modelului relaional se realizeaz prin

    schema relaional care const din una sau mai multe scheme de relaie. Exemplu: Faculti (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 legturilor ntre tipurile de entiti pot fi utilizate dou tehnici: 1) propagarea cheilor (pentru relaiile 1 : 1, 1 : n) spre exemplu, atributul Codf propriu

    tipului de entitate Facultati este preluat n schemele de relaie Specializari, Cadre, Sali, Administrativ pentru a reprezenta legturile 1 : n corespunztoare.

    2) crearea unei scheme de relaie separate (pentru reprezentarea legturilor m : n) spre exemplu Note ce are ca atribute cheile celor trei tipuri de entiti (Cadre, Discipline, Studenti) a cror legtur o reprezint i eventual alte atribute (Ex: Nota).

    Fiecare schem de relaie se poate reprezenta printr-un tabel n care coloanele sunt domeniile (atributele) relaiei iar liniile (rndurile tabelului) sunt nregistrrile corespunztoare tipului de entitate descris de relaia respectiv.

    O posibil descriere a bazei de date avnd schema relaional 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), . Observaii:

    3

  • n modelul relaional att tipurile de entiti ct i legturile dintre ele sunt reprezentate prin relaii. De asemenea orice interogare a bazei de date este definit tot printr-o relaie.

    O baz de date relaional este o colecie de relaii de diverse grade (gradul unei relaii este dat de numrul de atribute ce definesc relaia 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, putnd lucra performant cu sute de mii de nregistrri pe un calculator personal sau n cadrul unei reele de pn la 20 utilizatori care lucreaz simultan cu baza de date. Programul Access stocheaz toate componentele unei baze de date ntr-un singur fiier pe disc cu extensia .mdb.

    O baz de date Access poate conine urmtoarele componente: - Tabele stocheaz datele bazei de date. Fiecare coloan a tabelei este numit cmp i

    fiecare rnd al tabelei este numit nregistrare. - Interogri realizeaz extragerea unor date din una sau mai multe tabele conform unor

    criterii precizate de utilizator n vederea vizualizrii i actualizrii datelor din baza de date sau pentru a crea alte tabele n vederea pstrrii unui instantaneu al informaiilor. O interogare nu are date proprii i opereaz cu date din tabelele bazei de date.

    - Formulare un formular este o fereastr pentru introducerea sau afiarea i editarea datelor. Un formular poate conine subformulare pentru a afia date asociate unor date din formular i butoane sau alte obiecte grafice pentru realizarea anumitor aciuni.

    - Rapoarte sunt utilizate pentru operaii de ieire n vederea obinerii unor situaii rezultate din prelucrarea unor date din baza de date. Pentru includerea selectiv a unor date ntr-un raport sau pentru realizarea unui raport care folosete date din mai multe tabele va trebui creat mai nti o interogare i apoi raportul s fie fundamentat pe rezultatele interogrii.

    - Comenzi macro permit realizarea unei secvene de aciuni care poate fi ataat unui buton.

    - Module stocheaz proceduri i funcii 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, interogrile,

    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 oricnd modificat. Pentru a crea o baz de date goal (fr a folosi un Wizard), se execut clic pe opiunea Blank Database i apoi se execut clic pe butonul OK.

    4Figura1 Caseta de dialog Microsoft Access

  • Problem propus S se creeze baza de date FurnizoriClieni prin fiecare din cele dou metode prezentate

    mai sus. Crearea i utilizarea tabelelor Tabela este o colecie organizat de date despre un anumit subiect, cum ar fi produse, furnizori etc. Folosind o tabel separat pentru fiecare subiect se elimin duplicarea datelor, asigurndu-se astfel utilizarea mai eficient a spaiului de stocare i reducerea erorilor la introducerea datelor. Tabelele sunt organizate n coloane (numite cmpuri) i linii (numite nregistrri 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 Spaiul de memorie necesar

    Text Text sau combinaie 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

    potale.

    Pn la 255 caractere.

    Microsoft Access memoreaz

    numai caracterele introduse n

    cmp; nu se memoreaz

    caractere spaiu pentru

    poziiile nefolosite. Pentru a

    controla numrul maxim de

    caractere ce pot fi introduse se

    seteaz proprietatea FieldSize.

    Memo Texte i numere foarte lungi, cum ar fi notie

    sau descrieri.

    Pn la 64,000 caractere.

    Number Date numerice folosite pentru calcule

    matematice, cu excepia calculelor ce impun

    valori monetare. Pentru a defini un anumit

    tip Number setai 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

  • zecimal.

    AutoNumber Numere n secven unic (din 1 n 1) sau

    aleatoare care sunt automat inserate atunci

    cnd se adaug un articol.

    4 bytes (16 bytes numai pentru

    Replication ID).

    Yes/No Cmpuri care vor conine 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 nlnuite sau ncapsulate ntr-o

    tabel Microsoft Access. Trebuie s se

    foloseasc un cadru de obiect legat ntr-o

    machet sau raport pentru a afia obiectul

    OLE.

    Pna la 1 GB (limitat de

    spaiul disc).

    Lookup

    Wizard

    Crearea unui cmp care permite alegerea

    unei valori dintr-o alt tabel sau dintr-o

    list de valori folosind o caset combo.

    Alegnd aceast opiune, se lanseaz un

    Wizard care dirijeaz crearea listei.

    Acelai spaiu ca i cmpul

    cheii primare folosit pentru a

    executa examinarea, n mod

    obinuit 4 bytes.

    n tabelul T2 sunt prezentate tipurile i mrimea valorilor numerice ce pot fi memorate n cmpurile de tip Number.

    T2. Date de tip Number Valoarea proprietii 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

  • 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 operaie 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 aduga noi tabele, formulare sau rapoarte ntr-o baz de date existent.

    Table Wizard pentru a alege cmpurile 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 cmp.

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

    vederea Design pentru a modifica descrierea tabelei, prin adugarea de noi cmpuri, stabilirea valorilor implicite sau crearea mtilor de introducere. n figura 5 este reprezentat fereastra Design view pentru crearea unei tabele.

    Figura 5 Fereastra Design View a unei tabele

    7

  • Crearea unei tabele folosind vederea Design. Pentru a crea o tabel folosind vederea Design se execut urmtoarele operaii: 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 funcional F11 pentru a comuta n fereastra Database din orice alt fereastr.

    2. Se activeaz eticheta Tables i apoi, fie se selecteaz opiunea 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 opiunea 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 cmp al tabelei.

    4. nainte de a salva tabela, se va defini o cheie primar prin click dreapta pe numele cmpului corespunztor i selectare opiune 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 opiunea Save din meniul File i apoi se va tasta un nume pentru tabel.

    Figura 6 Caseta de dialog New Table avnd selectat opiunea Design View

    Definirea cmpurilor Pentru a defini cmpuri n Design View se vor executa, n general urmtoarele operaii: 1. Pentru adugarea unui cmp n interiorul unei structuri deja definite, se selecteaz

    linia sub care se va aduga noul cmp i apoi se execut clic pe butonul Insert Rows din bara instrumentelor Standard sau se selecteaz comanda Rows din meniul Insert. Pentru a aduga cmpul la sfritul structurii se execut clic n coloana Field Name a primei linii goale.

    2. n coloana Field Name se tasteaz numele cmpului, respectnd regulile Microsoft Access pentru denumirea obiectelor.

    3. n coloana Data Type, se execut clic pe sgeat i se selecteaz tipul de dat dorit.

    8

  • 4. n coloana Description se poate introduce o descriere a cmpului. 5. n foaia de configurare Field Properties se stabilesc caracteristicile cmpului

    (dimensiune, mesaj de introducere, valoarea implicit, formate de afiare etc.). Algoritmul prezentat este valabil pentru urmtoarele tipuri de cmpuri: Text, Memo,

    Number, Curency, Yes/No, Date/Time, AutoNumber. Proprietile cmpurilor Fiecare cmp are un set de proprieti care se pot folosi pentru a personaliza modul n care datele unui cmp sunt stocate, manipulate sau afiate. Spre exemplu, se poate controla numrul maxim de caractere ce se pot introduce ntr-un cmp Text stabilind proprietatea FieldSize a acestuia. Proprietile care exist pentru fiecare cmp depind de tipul de date care a fost selectat pentru cmpul respectiv. Pentru a modifica proprietile unui cmp se execut urmtoarele operaii: 1. Se deschide tabela n vederea Design. 2. n partea superioar a ferestrei Design se selecteaz cmpul ale crei proprieti urmeaz a fi modificate. 3. Se selecteaz proprietatea a crei valoare vrem s-o modificm executnd clic n linia din dreapta numelui proprietii (n fila General de sub descrierea tabelei). 4. Se repet operaiile 2 i 3 pentru toate proprietile ale cror valori vrem s le modificm. 5. Dup efectuarea tuturor modificrilor se nchide fereastra Design.

    n cazul n care pentru un cmp s-a ales tipul Lookup Wizard, atunci se lanseaz un Wizard prin intermediul cruia putem realiza o list de examinare care afieaz datele dintr-o tabel (sau interogare) existent care conine deja date, sau dintr-o list de valori prestabilit dup cum este ilustrat n imagiea de ecran din figura 7. Acest tip de cmp permite selectarea valorilor dintr-o tabel sau list afiat, n loc ca ele s fie tastate.

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

    9

  • Problem propus. n baza de date FurnizoriClienti se creaz urmtoarele tabele:

    PRODUSE (catalog de produse)

    Cmp Semnificaie Tip dat Dimensiune Observaii Codp Cod produs Number, Integer 4 Cheie primar Denp Denumire produs Text 20 Desp Descriere produs Hyperlink Refer document

    corespunztor

    STOCURI (stocurile de produse pe depozite)

    Cmp Semnificaie Tip dat Dimensiune Observaii Codp Cod produs Number, Integer

    Lockup Wizard 4 Lockup Wizard cu

    tabela PRODUSE CodDep Cod depozit Text 2 Ump Unitate de msur

    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)

    Cmp Semnificaie Tip dat Dimensiune Observaii 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)

    Cmp Semnificaie Tip dat Dimensiune Observaii 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 msur

    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

    corespunztor

    CLIENTI (catalog de clieni)

    Cmp Semnificaie Tip dat Dimensiune Observaii Codc Cod client Number, Integer 4 Cheie primar Denc Denumire client Text 30 Adresac Adresa client Text 25

    10

  • VANZARI (vnzrile de produse pe clieni)

    Cmp Semnificaie Tip dat Dimensiune Observaii 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 msur

    produs Lockup Wizard 8 Creare i utilizare

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

    LongInteger 8

    Datav Data vnzrii Date 8

    n imaginea de ecran din figura 17 sunt evideniate tabelele bazei de date FurnizoriClienti i este reprezentat descrierea tabelei Produse. n mod asemntor i conform precizrilor din tabelele de mai sus, se vor defini i celelalte tabele n baza de date i se vor ncrca date pentru diverse produse, preuri, furnizori, clieni.

    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

  • Crearea i utilizarea interogrilor Interogrile 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 nti interogarea corespunztoare i apoi se va defini raportul utiliznd acea interogare.

    n cele ce urmeaz este ilustrat modul de definire a unei interogri de selecie pentru situaia stocurilor de produse utiliznd 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 cmpurilor interogrii ilustrate n imaginea de ecran din figura 21. Pentru salvare interogare se nchide fereastra Query i se tasteaz numele interogrii Situatia Stocurilor. Pentru vizualizarea datelor corespunztoare interogrii, 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

  • Figura 20. Caseta Query pentru definirea cmpurilor Figura 21. Definirea interogrii Situatia Stocurilor.

    Figura 22. Vizualizarea datelor corespunztoare interogrii Situatia Stocurilor

    13

  • Probleme propuse S se creeze interogrile corespunztoare situaiei ofertelor de produse i situaiei

    vnzrilor de produse conform specificaiilor de mai jos. Situaia ofertelor

    Cmp Codf Denf Adresaf Codp Denp Ump Pret Datao Tabela Furnizori Furnizori Furnizori Produse Produse Oferte Oferte Oferte

    Situaia vnzrilor

    Cmp Codc Denc Adresac Codp Denp Ump Cant Pret Valoare Datav Tabela Clienti Clienti Clienti Produse Produse Vanzari Vanzari Vanzari Cant*Pret Vanzari

    Pentru vnzri se va crea i o interogare cu parametru pentru situaia vnzrilor 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 informaii suplimentare necesare

    executrii unei aciuni. Majoritatea informaiilor dintr-un formular provin dintr-o surs de informaii, dar

    exist i informaii care se introduc la proiectarea machetei. Legtura 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 crora se pot afia fie informaiile dintr-o surs de date, fie rezultatele evalurii unei expresii.

    Un formular poate fi creat n dou moduri i anume: - n modul Design view; - utiliznd un wizard.

    Un wizard poate fi utilizat n modurile (figura 23, caseta New Form care apare la apsarea 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 aa cum se dorete. 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. Combinaia formular/subformular este referit adeseori ca formular ierarhic, formular principal/detaliu sau formular printe/copil.

    Subformularele sunt eficiente n special pentru prezentarea datelor din tabele sau interogri cu relaii 1m (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 relaie, iar datele din tabela Stocuri reprezint partea m din relaie fiecare produs putnd avea mai multe nregistrri n tabela Stocuri.

    14

  • Formularul principal i subformularul din acest tip de formulare sunt nlnuite, astfel nct subformularul afieaz numai nregistrrile care sunt corelate cu nregistrarea curent din formularul principal. Spre exemplu, atunci cnd formularul principal afieaz produsul Tastatur, subformularul afieaz 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 afieaz clienii, un subformular care prezint produsele i un alt subformular care afieaz vnzrile pentru acele produse i clieni.

    Una din metodele utilizate pentru crearea unui subformular n cadrul unui formular const n efectuarea urmtoarelor operaii: - 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 ilustrai paii parcuri pentru crearea formularului principal Produse utiliznd 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 att a datelor din tabela Produse ct i a datelor corespunztoare din tabela Stocuri aa cum este ilustrat n imaginea de ecran din figura 31. Probleme propuse. Utiliznd metoda prezentat mai sus, s se creeze urmtoarele formulare:

    - formularul Furnizori cu subformularul Oferte; - formularul Clieni cu subformularul Vnzri; - formularul Produse cu subformularele Stocuri, Oferte, Vnzri.

    Figura 23. Fereastra Database. Modaliti de creare a unui formular (Caseta New Form).

    15

  • Figura 24. Creare formular Produse (pasul 1)

    Figura 25. Creare formular Produse (pasul 2)

    16Figura 26. Creare formular Produse (pasul 3)

  • Figura 27. Creare formular Produse (pasul 4)

    Figura 28. Creare formular Produse (pasul 5)

    Figura 29. Vizualizare formular Produse.

    17

  • 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 obinerea unor situaii ce urmeaz a fi tiprite sau afiate pe ecran la cererea utilizatorului. Spre deosebire de formulare care pe lng vizualizarea datelor permite i actualizarea acestora, rapoartele realizeaz interogarea i prelucrarea datelor din baza de date nefiind posibil modificarea datelor. Exist dou modaliti de creare a rapoartelor i anume (figura 32):

    - creare raport n modul Design view; - creare raport utiliznd un wizard.

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

    18

  • Figura 32. Fereastra Database. Modaliti de creare a unui raport (Caseta New Report).

    n cele ce urmeaz se vor prezenta paii 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, Situaia Stocurilor). 2. Selectare cmpuri 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 operaiilor de efectuat asupra grupurilor de nregistrri (figura 37). 6. Precizare operaii de efectuat asupra grupurilor de nregistrri, 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 obinut. Pentru modificarea raportului, acesta trebuie deschis n modul Design i apoi se execut modificrile dorite. Probleme propuse Dup exemplul prezentat, s se creeze urmtoarele rapoarte utiliznd modul Report Wizard: Situaia ofertelor de produse pe produs

    Cod produs Denumire produs Cod furnizor Denumire furnizor Adresa furnizor Ump Pret Data ofertei . .. Situaia ofertelor de produse pe furnizor

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

    19

  • Situaia vnzrilor de produse pe produs Cod produs Denumire produs

    Cod client Denumire client Adresa client Ump Cantitate Pret Valoare Data vnzrii .

    Total produs xxxxxxx xxxxxx Total general xxxxxx Situaia vnzrilor de produse pe client

    Cod client Denumire client Adresa client Cod produs Denumire produs Ump Cantitate Pret Valoare Data vnzrii Total client xxxxxx . Total general xxxxxx Teste de verificare 1. La nivel fizic o baz de date Access este: a) un ansamblu de fiiere ce conin obiectele bazei de date b) un fiier cu extensia .acc c) un fiier cu extensia .mdb d) un fiier cu extensia .xls e) un fiier .dbf pt. fiecare tabel 2. Enumerai 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 folosete date din mai multe tabele se va proceda astfel: a) Se va crea cte un formular pentru fiecare tabel b) Se proiecteaz raportul n modul Design view cu specificarea tabelelor utilizate c) Se creaz o interogare corespunztoare raportului i apoi se proiecteaz raportul utiliznd

    acea interogare

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

    20

  • Figura 34. Modul Report Wizard Selectare cmpuri 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

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

    Figura 38. Modul Report Wizard. Precizare operaii de efectuat asupra grupurilor de nregistrri.

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

  • 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 Situaia stocurilor de produse. 23

    SISTEMUL DE GESTIUNE A BAZELOR DE DATE ACCESSProblem propusS se creeze baza de date FurnizoriClieni prin fiecare din

    Crearea i utilizarea tabelelorT2. Date de tip Number

    Crearea unei tabeleDefinirea cmpurilorProprietile cmpurilor

    Problem propus. n baza de date FurnizoriClienti se creazPRODUSE (catalog de produse)CmpSemnificaieTip datDimensiuneObservaiiCodpCod produsNumber, Integer4Cheie primarDenpDenumire produsText20DespDescriere produsHyperlinkRefer documentcorespunztorSTOCURI (stocurile de produse pe depozite)CmpSemnificaieTip datDimensiuneObservaiiCodpCod produs4Lockup Wizard cu tabela PRODUSECodDepCod depozitText2UmpUnitate de msur produsLockup Wizard8Creare i utilizare list de valoriCantCantitateNumber, Integer4PretPre unitarNumber, LongInteger8

    FURNIZORI (catalog de furnizori)CmpSemnificaieTip datDimensiuneObservaiiCodfCod furnizorNumber, Integer4Cheie primarDenfDenumire furnizorText30AdresafAdresa furnizorText25OFERTE (oferte de produse de la furnizori)CmpSemnificaieTip datDimensiuneObservaiiCodfCod furnizor4Lockup Wizard cu tabela FURNIZORICodpCod produsLockup Wizard4Lockup Wizard cu tabela PRODUSEUmpUnitate de msur produsLockup Wizard8Creare i utilizare list de valoriPretPre unitarNumber, LongInteger8DataoData oferteiDate8OfertaOferta furnizorHyperlinkRefer documentcorespunztor

    CLIENTI (catalog de clieni)CmpSemnificaieTip datDimensiuneObservaiiCodcCod clientNumber, Integer4Cheie primarDencDenumire clientText30AdresacAdresa clientText25VANZARI (vnzrile de produse pe clieni)CmpSemnificaieTip datDimensiuneObservaiiCodcCod furnizor4Lockup Wizard cu tabela CLIENTICodpCod produsLockup Wizard4Lockup Wizard cu tabela PRODUSEUmpUnitate de msur produsLockup Wizard8Creare i utilizare list de valoriCantCantitateNumber, Integer4PretPre unitarNumber, LongInteger8DatavData vnzriiDate8n imaginea de ecran din figura 17 sunt evideniate tabelele

    Probleme propuseSituaia ofertelor

    Situaia vnzrilorCrearea i utilizarea formularelor.Un wizard poate fi utilizat n modurile (figura 23, caseta NSubformularese creaz un formular principal i un subformular i se salvProbleme propuse.- formularul Produse cu subformularele Stocuri, Oferte, VnzCrearea i vizualizarea rapoartelorn caseta de dialog Choose the table or query se selecteazProbleme propuseSituaia ofertelor de produse pe produsCod produs Denumire produsSituaia ofertelor de produse pe furnizorCod furnizor Denumire furnizor Adresa furnizorSituaia vnzrilor de produse pe produsCod produs Denumire produsTotal produs xxxxxxx xxxxxxSituaia vnzrilor de produse pe client

    Cod client Denumire client Adresa client