Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




ACCESS 2000 (2002 sau 2003)

Access


ACCESS 2000 (2002 sau 2003)



DE CE ACCESS?

Access este una dintre componentele principale ale pachetului (suitei) de programe pentru birou MS-Office. Pe lânga bazele de date relationale Access, acest pachet integreaza si alte componente cum sunt: procesorul de texte Word, programul de calcule tabelare Excel, agenda de birou Outlook, programul pentru prezentari Power Point

Felul în care firma Microsoft a reusit sa realizeze sistemul de operare Windows sub care functioneaza toate aceste programe precum si felul în care Microsoft a reusit sa integreze Microsoft Office Professional 2000 sub Windows 2000, a atras un mare numar de utilizatori si dezvoltatori de aplicatii Windows. Aceasta a determinat ca în prezent pe mai mult de 80 % din calculatoarele PC din lume sa ruleze sistemul de operare Windows împreuna cu pachetul de programe MS-Office

În lucrarea sa fundamentala "Totul despre Access 2000" Roger Jennings face cunoscut faptul ca Access 2000, a sasea versiune a platformei desktop pentru bazele de date Microsoft, prin motorul sau Jet dezvoltat special, domina în prezent piata produselor desktop pentru baze de date.

Înca din 998 editorialistul Jesse Berst de la ZDNet scria: "Paradox-ul (un alt SGBD pentru baze de date relationale n.a.) a murit. Nimeni nu mai scrie in dBASE. Programul Access de la Microsoft a acaparat deja aceasta piata.". Chiar si FoxPro achizitionat de Microsoft si dezvoltat ulterior ca Visual Fox, a devenit un produs marginal. În prezent exista în lume, vândute cu licenta, zeci de milioane de copii ale produsului Access

Usurinta proiectarii în Access, facilitatile de programare vizuala, performantele oferite ca baza de date relationala si distribuita, cele de integrare puternica sub Windows (datorate faptului ca este o componenta MS-Office) si nu în ultimul rând posibilitatile de utilizare în intranet si în internet, au facut ca în ultimii ani acest produs sa fie tot mai utilizat ca un instrument de dezvoltare rapida a aplicatiilor ce presupun lucrul cu baze de date, inclusiv în cadrul firmelor românesti. În acest sens, este foarte posibil ca viitorii absolventi cu studii superioare, indiferent de specialitate, sa lucreze ca utilizatori finali cu baze de date de tip Access sau sa faca parte din echipe mixte de proiectare, configurare si modificare a aplicatiilor care vor compune software-ul sistemului informatic al firmei. Unii dintre ei, în calitate de manageri, trebuie sa fie în masura sa defineasca cerintele unor aplicatii informatice de tipul bazelor de date pe care le vor solicita unor firme specializate si tot ei vor fi aceia care vor evalua aplicatiile realizate.

CREAREA/DESCHIDEREA UNEI BAZE DE DATE

Dupa lansarea în executie din meniul Start al sistemului Windows sau dintr-un shortcut special, programul Access 2000 prezinta o caseta de dialog prin intermediul careia utilizatorul poate opta pentru:

. deschiderea unei baze de date deja existente (cu Open - o baza de date model care se poate instala odata cu programul Access

2. deschiderea unei baze de date noi (Blank Access database

3. crearea imediata a unei baze de date sau a unor obiecte ale acesteia, utilizând vrajitorii Access database wizards, pages, and projects

1.   &nbs 11311y243l p;   &nbs 11311y243l p;   &nbs 11311y243l p;   &nbs 11311y243l p; Daca se opteaza pentru Open an existing file, se poate selecta baza de date (aplicatia) dorita. Aceasta se va încarca în memorie si va aparea ecranul principal de prezentare a bazei de date prin intermediul caruia putem avea acces la obiectele acesteia (Tables, Queries, Forms, Reports, Pages, Macros, Modules). In mod implicit sunt selectate tabelele bazei de date (Tables

2.   &nbs 11311y243l p;   &nbs 11311y243l p;   &nbs 11311y243l p;   &nbs 11311y243l p; Daca se opteaza pentru deschiderea unei baze de date noi (Blank Access database) se va lansa un dialog prin intermediul caruia suntem invitati sa alegem un nume si un folder unde se va crea baza de date:

În mod implicit ni se propune numele db .mdb pentru baza de date si folder-ul My Documents ca loc în care sa se salveze. Acesta este de fapt un dialog standard Windows 2000 de tipul File Open / Save care apare utilizatorilor de câte ori o aplicatie Windows solicita alegerea acestor doi parametrii (nume fisier si folder). Presupunând ca am ales folderol dorit pentru salvare si am schimbat numele db1 în StudentRecords, apasam butonul <Create> si vom obtine ecranul de proiectare (prezentare) a unei baze de date noi (fara tabele si fara nici un alt obiect prefabricat). În continuare vom putea crea obiectele dorite selectând tipul de obiect si apasând butoanele <Open> sau <Design>.

Ecranul care va aparea este:

3.   &nbs 11311y243l p;   &nbs 11311y243l p;   &nbs 11311y243l p;    Daca optam pentru Access database wizards, pages, and projects se va lansa un dialog

prin intermediul caruia putem selecta wizard-ul specializat pentru tipul de aplicatie ales (ne sunt prezentate un numar de aplicatii tipice). Permanent, în functie de modul de lucru si contextul în care ne aflam, programul Access ne pune la dispozitie anumite meniuri contextuale (accesibile prin apasarea butonului din dreapta al mouse-ului) sau bare de meniuri si de instrumente speciale posibil de utilizat în orice moment. O tratare exhaustiva a acestora nu este necesara si nici chiar posibila deoarece Microsoft a lasat libera utilizatorilor posibilitatea de a particulariza aceste bare si deci configuratiile meniurilor si butoanelor pot diferi de la un calculator la altul. Sub Access, la fel ca sub oricare alt program Office Word, Excel, Power Point), este important sa învatam sa navigam utilizând la maximum interactivitatea sistemului oferita prin intermediul asistentilor, a help-urilor senzitive si a mesajelor tooltip ce apar pe un fond galben deschis, atunci când întârziem cu prompter-ul mouse asupra unui buton.

Iata un exemplu de bare de meniuri si de unelte care apar atunci când ne aflam în modul

de lucru proiectare (Design) al unei tabele sub Access

Oricare dintre obiectele Access se pot afla în doua moduri de lucru:

ü   &nbs 11311y243l p;  modul de lucru proiectare Design View

si

ü   &nbs 11311y243l p;  modul de lucru lansare care în functie de obiectul activ ar putea fi:

·   &nbs 11311y243l p;    Datasheet View (pentru tabele si interogari)

·   &nbs 11311y243l p;    Form view (pentru formulare)

·   &nbs 11311y243l p;    Print Preview (pentru rapoarte)

·   &nbs 11311y243l p;    Page View (pentru pagini internet)

·   &nbs 11311y243l p;    Run (pentru interogari si macrocomenzi).

PREZENTARE GENERALĂ A PRINCIPALELOR OBIECTE ACCESS

Bazele de date Access apar memorate sub forma unor fisiere având extensia .mdb. Specific acestora este faptul ca toate obiectele (tabele, interogari, formulare, rapoarte, macrocomenzi, module si pagini internet) sunt memorate împreuna în cadrul aceluiasi fisier .mdb. Astfel, spre deosebire de alte baze de date în care obiectele apar ca fisiere separate, programul Access obtine un plus de performanta prin posibilitatea pe care o are de a gestiona intern obiectele bazei de date. Efectul final se materializeaza prin: cresterea vitezei de acces la date si de rulare a obiectelor, marirea securitatii bazei de date si printr-o mai simpla administrare, compactare, reparare si criptare a datelor.

Cu exceptia datelor putem numi obiecte toate elementele din Access. Astfel, sunt obiecte: tabelele, formularele, interogarile, rapoartele, macrocomenzile, paginile internet, modulele, dar si controalele din componenta formularelor si rapoartelor. Aplicatia ca atare constituie obiectul Application care face parte din structura Access Object Model. Obiectele de acces la date poarta numele de Data Access Objects (DAO).

Tabelele (tables

Contin datele ("materia prima") fara de care nu poate fi de imaginat o baza de date. Tabelele reprezinta în acest sens poate cel mai important obiect al oricarei baze de date. Datele sunt memorate în tabele sub forma rândurilor (numite si înregistrari sau records si a coloanelor (numite câmpuri sau fields). Un element important al bazei de date îl reprezinta modul în care sunt legate tabelele între ele, adica sistemul de relatii (relatioships

Interogarile (queries

Constituie întrebari stocate adresate bazei de date. Ele sunt utile pentru a selecta anumite înregistrari conform unor criterii, pentru a le grupa, sorta, sterge sau actualiza. Sub Access interogarile pot prelucra si afisa datele selectate din maxim 6 tabele. Rezultatele unei interogari (query) se pot afisa pe cel mult 255 de coloane. Interogarile au la baza un cod generat în limbajul de interogare SQL.

Formularele (forms

Sunt obiectele folosite pentru interactiunea cu utilizatorii, cu datele din tabele, din interogari sau rezultate în urma lansarii unor proceduri SQL sau VBA (Visual Basic for Applications). Formularele pot fi utilizate pentru vizualizarea, adaugarea sau modificarea datelor sau pentru lansarea anumitor dialoguri de interactiune cu utilizatorul. Tot ca formulare sunt proiectate si panourilor de comanda switchboards) prin intermediul carora utilizatorii pot naviga în interiorul unei aplicatii pentru a vizualiza alte formulare, rapoarte sau interogari. Formularele pot contine subformulare dar si alte obiecte si controale Access sau Windows care personalizeaza aplicatia. De exemplu ele pot contine: butoane, etichete, câmpuri de editare, elemente grafice, sunete sau clipuri video, etc.

Rapoartele (reports

Reprezinta situatiile de iesire disponibile utilizatorilor finali. Ele afiseaza într-un anumit format standard sau particular rezultatele anumitor interogari sau chiar datele din tabele. De cele mai multe ori rapoartele sunt proiectate pentru a afisa datele conform unor situatii finale standard (de exemplu: balanta sah contabila, jurnalul de vânzari sau cel de cumparari, jurnalul de casa, situatiile conturilor bancare, centralizatorul stocurilor, etc).

La fel ca si formularele, rapoartele pot contine functii VBA si anumite obiecte care sa faca posibila afisarea câmpurilor din tabele sau interogari în formatele dorite. Obiectele cel mai frecvent utilizate sunt etichetele, câmpurile de afisare, elementele grafice. Rapoartele pot contine si subrapoarte. Informatia afisata prin rapoarte sau prin formulare poate fi structurata si grupata pe mai multe sectiuni: title, header, detail, footer. În capitolele urmatoare vor fi detaliate aceste notiuni.

Macrocomenzile (macros)

Sunt proceduri care automatizeaza de regula anumite operatii sau evenimente cum ar fi: lansarea automata a unei comenzi din bara de meniuri, clic-ul pe un anumit buton, lansarea în executie a unor forme, interogari sau rapoarte, etc. Macrocomenzile au fost mentinute în Access 2000 doar pentru compatibilitate cu versiunile anterioare. Microsoft recomanda înlocuirea acestora cu cod scris în VBA deoarece este posibil ca versiunile viitoare de Access sa nu mai contina macrocomenzi.

Modulele (modules

Contin proceduri (secvente de cod) scrise în VBA (Visual Basic for Applications). Modulele pot fi module de clasa si module standard. Modulele de clasa pot aparea în cadrul formelor sau rapoartelor atunci când se trateaza prin intermediul unor instructiuni (cod VBA) anumite evenimente (de exemplu evenimentul clic cu mouse-ul pe un buton). Modulele standard contin acele proceduri sau functii personalizate disponibile întregii aplicatii. Ele sunt scrise de programatorii de aplicatie si se afla grupate în modules

Paginile internet (pages

Sunt pagini Web care mijlocesc prin intermediul unui server, afisarea în internet a datelor unei aplicatii Access 2000. Ele mai sunt numite si pagini DAP (Data Access Pages). Paginile internet pot fi statice sau dinamice si pot fi consultate prin intermediul browser-ului Internet Explorer. Cei care le consulta trebuie sa aiba instalat MS-Office 2000

CREAREA TABELELOR sI A RELAŢIILOR

Orice tabela are linii si coloane si contine datele organizate conform unei anumite structuri. În limbajul bazelor de date coloanele se numesc câmpuri (fields). Fiecare coloana reprezinta un câmp (field) cu o denumire unica, de un anumit tip (sir de caractere, numeric, data calendaristica, etc), având o dimensiune prestabilita, care îl determina sa ocupe în memorie un anumit numar de octeti în functie de tipul câmpului. Rândurile (liniile) tabelelor se numesc înregistrari (records

Evident spatiul de memorie ocupat de o tabela este functie de numarul de înregistrari si de câmpuri ale acesteia. Pot exista si tabele vide, adica fara nici o înregistrare. Aceste tabele au doar structura, configurata în functie de numarul, tipul si dimensiunea câmpurilor. Initial, dupa crearea structurii, toate tabele sunt vide. Ele mai pot deveni vide si în urma unei operatiuni de stergere a tuturor înregistrarilor continute.

Tabelele pot prezenta datele (înregistrarile) ordonate sau filtrate conform unor criterii (ex.: sortate alfabetic dupa numele persoanelor, în ordinea crescatoare (ascending) a codurilor sau în ordinea descrescatoare (descending) a mediilor, filtrate numai pentru persoanele nascute dupa o anumita data si/sau numai pentru persoanele al caror nume începe cu litera "M", etc).

Deci, tabelele pot contine datele ordonate, indexate dupa anumite câmpuri numite chei de acces sau chei de index. Orice tabela poate avea câmpuri tip cheie primara de acces (evidentiate într-un mod special sub Access prin plasarea unei pictograme cu o imagine de cheie în dreptul acestora) si optional câmpuri desemnate pentru cheile de index. Chiar daca pot exista si tabele fara cheie primara de acces si fara chei de index, se recomanda ca fiecare tabela sa contina macar un câmp cheie. Având aceasta organizare viteza de acces la date este mai mare si deci creste performanta de procesare a bazei de date.

Proiectarea structurii tabelelor si a sistemului de relatii dintre câmpurile acestora este o operatiune foarte importanta, de ea depinzând în final performanta globala a bazei de date. În aceasta etapa de analiza trebuie avute în vedere regulile de normalizare a bazei de date. Dintre cerintele procesului de normalizare amintim:

  • câmpurile tabelelor sa fie atomice, adica datele continute de catre acestea sa fie diferentiate în câmpuri distincte astfel încât sa raspunda necesitatilor de interogare;
  • daca exista grupuri de câmpuri care se repeta pentru aceeasi valoare a cheii primare acestea vor alcatui o tabela separata
  • toate câmpurile dintr-o tabela trebuie sa se refere la cheia primara în totalitatea ei;
  • toate câmpurile tabelelor sa fie independente unele fata de altele, deci între câmpurile aceleiasi tabele nu trebuie sa existe relatii ascunse.

Crearea unei tabele presupune în general doua etape distincte:

1.Definirea structurii tabelei si

2. Încarcarea acesteia cu date

Definirea structurii tabelei consta în stabilirea câmpurilor (coloanelor) ca denumire, tip de date si dimensiune (în functie de valorile pe care le vor contine). Access    permite utilizarea urmatoarelor tipuri de date pentru câmpurile tabelelor:

Access    pune la dispozitia proiectantilor de aplicatii trei metode utile pentru crearea tabelelor. Acestea sunt:

Create table in Design view (crearea tabelei în modul de proiectare "Design view

Create table by using wizard (crearea tabelei utilizând "vrajitorul")

Create table by entering data (crearea tabelei chiar în momentul introducerii datelor).

Cea mai des utilizata metoda este prima - Create table in Design view, care odata selectata si punctata prin <Enter> sau dublu clic ne deplaseaza în aceeasi macheta de proiectare ce apare si la apasarea butonului .

În urmatoarea figura se poate vedea macheta de proiectare disponibila în momentul crearii tabelei Date personale angajati (tabela care a mai fost prezentata într-un curs anterior, atunci    când s-a discutat relatia "unu la multi").

Numele câmpurilor se înscriu prin tastarea acestora în coloana Field Name iar tipul de data se selecteaza prin intermediul unei liste (control combo box) care apare atunci când se executa un clic în linia cu câmpul dorit, în dreptul coloanei Data Type

În machete de mai jos se observa câmpul cod persoana care este un câmp tip cheie primara - Primary Key. Acest câmp are în dreptul lui o pictograma cheie care a fost selectata anterior printr-un clic dat în bara de instrumente pe butonul continând acelasi simbol. Câmpul cod persoana se mai numeste si cheie interna

Structura tabelei mai contine si câmpurile nume persoana si adresa în care se vor memora date de tipul Text. Câmpul cod functie se mai numeste si cheie straina (externa) si este un câmp de legatura catre o alta tabela numita Nomenclator functii având o structura foarte simpla ce va fi prezentata în continuare.

Se observa ca aceasta tabela contine doar trei câmpuri:

  • cod functie care aici este cheie de acces primara
  • denumire functie - un câmp de tip Text ce va contine denumirea în clar a functiilor ocupate de angajati si
  • cod categorie functie - o cheie externa care va fi utila pentru crearea unei legaturi catre o alta tabela (si anume Nomenclatorul categoriilor de functii). Dimensiunea aleasa Field Size) pentru câmpul cod categorie functie este de tipul byte. S-a ales tipul numeric byte deoarece s-a considerat ca nu este posibil sa existe mai mult de 255 de categorii de functii. În acest fel s-a obtinut o economie de memorie datorata faptului ca tipul de data byte ocupa doar un octet (byte) de memorie.

Structura tabelei Nomenclatorul categoriilor de functii se poate vedea în urmatoarea figura

Nomenclatorul categoriilor de functii este o tabela secundara din care vom extrage la nevoie doar denumirea categoriei functiei ocupate de un angajat (ex.: director, sef de departament, sef de birou, analist, operator contabil, operator financiar, secretar etc). La capitolul referitor la interogari (queries) se va exemplifica lucrul cu aceasta tabela

Asa cum am aratat la începutul subcapitolului, pe lânga metoda Design View Access mai pune la dispozitia utilizatorilor înca doua metode utile pentru crearea tabelelor: Create table by using wizard (crearea tabelei utilizând "vrajitorul") si Create table by entering data (crearea tabelei chiar în momentul introducerii datelor). În continuare vor fi prezentate pe scurt si aceste doua metode.

Crearea unei tabele utilizând "vrajitorul" se face dând dublu-clic pe optiunea Create table

by using wizard. În urma acestei actiuni vom obtine o succesiune de dialoguri specializate pentru

crearea unor tabele din domeniile Business sau Personal. Dialogurile se bazeaza pe anumite câmpuri predefinite de catre Access pentru aceste domenii.

Microsoft, atunci când a creat Access 2000, a considerat ca este bine sa ofere utilizatorilor si posibilitatea de a crea o tabela chiar în momentul introducerii datelor. Aceasta este de fapt a treia metoda de creare a tabelelor, care devine disponibila dupa selectarea optiunii Create table by entering data

Dupa solicitarea Create table by entering data va aparea o macheta de încarcare exhaustiva a datelor. Este o macheta preformatata pentru 0 coloane (câmpuri) numite Field , Field2,.,Field si 2 de rânduri (înregistrari) vide. Aceasta modalitate de lucru presupune ca ulterior, dupa introducerea datelor în celule, se va solicita metoda de lucru Design View pentru definirea structurii tabelei (numele câmpurilor, tipurile de date si proprietatile acestora). Intrarea în Design View se poate obtine prin apasarea primului buton din bara de instrumente (toolbar) care contine pictograma unui echer.

Asa cum se vede în Status bar scrie Datasheet View care este de fapt macheta standard pusa la dispozitie de Access pentru încarcarea datelor direct în tabele. Iata de exemplu cum apare Datasheet View atunci când se încarca date în tabela Nomenclatorul categoriilor de functii

Atunci când lucreaza în modul de lucru Datasheet View Access pune la dispozitia utilizatorilor mai multe facilitati:

  • O bara de instrumente:

prin intermediul carora:

ü   &nbs 11311y243l p;  se poate comuta în modul da lucru dorit: Design View (echerul) sau Datasheet View (tabelul)

ü   &nbs 11311y243l p;  se pot salva datele (discheta)

ü   &nbs 11311y243l p;  se pot lista datele la imprimanta sau previzualiza în vederea listarii

ü   &nbs 11311y243l p;  se pot consulta datele sortate dupa valorile anumitor câmpuri (coloane)

ü   &nbs 11311y243l p;  continutul tabelei poate fi vizualizat filtrat dupa anumite criterii

ü   &nbs 11311y243l p;  se pot lansa cautari.

·   &nbs 11311y243l p;   &nbs 11311y243l p; O bara standard de butoane de navigatie printre înregistrari:

prin intermediul carora (în ordine de la stânga la dreapta) se poate obtine:

ü   &nbs 11311y243l p;  deplasarea pe prima înregistrare (înregistrarea numarul

ü   &nbs 11311y243l p;  deplasarea pe o înregistrare anterioara

ü   &nbs 11311y243l p;  se poate vedea numarul înregistrarii curente (5 în cazul de fata) sau se poate comanda deplasarea pe un alt numar de înregistrare, daca în locul numarului curent (ce apare în câmpul de editare) se va înscrie numarul dorit pentru noua înregistrare (în final, se apasa tasta <Enter>)

ü   &nbs 11311y243l p;  deplasarea pe înregistrarea urmatoare

ü   &nbs 11311y243l p;  deplasarea pe ultima înregistrare a tabelei

ü   &nbs 11311y243l p;  deplasarea pe un spatiu special rezervat (marcat prin ) pentru adaugarea unei înregistrari noi.

·   &nbs 11311y243l p;   &nbs 11311y243l p; Informarea despre înregistrarea care se editeaza în acel moment:

este evidentiata prin intermediul pictogramei care apare în stânga acesteia sub forma unui creion.

·   &nbs 11311y243l p;   &nbs 11311y243l p; Informarea despre înregistrarea curenta

este evidentiata prin intermediul pictogramei care apare în stânga acesteia sub forma vârfului

unei sageti orientate spre dreapta.

SALVAREA TABELELOR

Dupa crearea numelor de câmpuri (Field Name), alegerea tipurilor de date pentru acestea (Data Type si setarea proprietatilor câmpurilor (Field Properties), se stabilesc câmpurile care alcatuiesc cheia primara de acces si eventual alte chei de tip index, ce se pot selecta prin utilizarea butonului Indexes din toolbar în mod similar cu butonul Primary Key

Salvarea tabelelor se realizeaza prin alegerea optiunii Save sau Save as din meniul File aflat în bara de meniuri (Menu bar). În urma acestei actiuni apare fereastra Save As din figura de mai jos. Aici se afla înscris initial un nume implicit propus de Access. Peste acest nume se va înscrie de la tastatura numele dorit pentru tabel, (Nomenclator functii) apoi se va confirma prin apasarea butonului <OK> sau a tastei <Enter>.

Oricum la închiderea fara salvare a ferestrei de proiectare a structurii unei tabele noiu (cu numele implicit Table1), Access întreaba daca se doreste salvarea si daca da, ofera o caseta de înscriere a noului nume pentru tabela Table1.

PROPRIETĂŢILE CÂMPURILOR

Acestea apar în modul de lucru Design View, disponibil atunci când se creeaza sau se modifica structura unei tabele.

Sectiunea Field Properies este plasata în partea inferioara a dialogului Design View pentru tabele.

Exemplul de mai jos prezinta dialogul Design View pentru tabela Nomenclatorul categoriilor de functii

Proprietatile câmpurilor sunt:

  • Field Name - numele câmpului. Poate avea maxim 64 de caractere. Nu sunt admise caracterele: !.
  • Data Type - tipurile de date care pot fi selectate prin alegerea dintr-o lista derulanta (un control combo box). Acestea pot fi: Text, Memo, Number, Date/Time, Currency, AutoNumber, Yes/No, OLE Object, Hyperlink, Lookup Wizard.
  • Description - poate contine descrierea câmpurilor.
  • Primary Key - simbolul cheie care poate aparea în stânga câmpurilor desemnate a fi chei primare de acces.
  • Field Size - dimensiunea câmpului, stabileste în functie de tipul acestuia cantitatea maxima de memorie posibil de alocat pentru valoarea unui câmp.
  • Format - stabileste formatul utilizat pentru afisarea câmpului. De exemplu, pentru câmpurile de tip numeric (number) acesta poate fi:

  • Precision - precizia este prezenta numai pentru tipul de date Decimal si defineste numarul de cifre care trebuie afisate pentru o valoare numerica. Valoarea implicita este 8 iar cea maxima
  • Scale apare numai pentru tipul de date Decimal si stabileste numarul zecimalelor afisate.
  • Decimal Places - specifica numarul zecimalelor afisate pentru tipurile de date Number si Currency
  • Input Mask - masca de intrare, specifica modul de afisare a datelor din acest câmp în timpul editarii. Atunci când se face clic în linia acestei proprietati apare butonul Builder

   &nbs 11311y243l p;   &nbs 11311y243l p;   &nbs 11311y243l p;   &nbs 11311y243l p;  care daca va fi apasat va prezenta urmatorul dialog (wizard

  • Caption - este denumirea coloanei (câmpului) care se doreste sa apara înscrisa în capul de tabel atunci când se lucreaza în modul Datasheet
  • Default Value - este valoarea implicita (prestabilita) care va aparea în câmp atunci când este introdusa o înregistrare noua si nu se introduce o valoare explicita
  • Validation Rule - reprezinta o expresie care limiteaza valorile ce pot fi introduse în respectivul câmp. Ex.: > 0 indica faptul ca în acel câmp nu vor putea fi introduse date numerice <
  • Validation Text - poate contine textul care va fi afisat când operatorul introduce date care nu respecta regula din Validation Rule
  • Required - este o proprietate care nu permite decât doua valori: Yes si No Yes arata ca nu este permisa continuarea editarii daca respectivul câmp nu este completat cu date. Valoarea implicita pentru Required este No, adica sunt permise si valori vide (Null) pentru acel câmp.
  • Allow Zero Length - înseamna Permite Lungime Zero si este o proprietate care se aplica numai câmpurilor de tipul Text, Memo si Hyperlink. Poate avea doar doua valori: Yes si No
  • Indexed - specifica daca se va crea un index dupa acel câmp si daca este permis lucrul cu valori duplicate pentru respectivul câmp în cadrul indexului. Poate avea trei valori: Yes (Duplicates OK), Yes (No duplicates) si No. Valoarea implicita este No, adica nu se creaza un index dupa câmpul respectiv. Aceasta proprietate nu se aplica câmpurilor Memo, OLE Object si Hyperlink
  • New Value - se aplica doar câmpurilor de tip AutoNumber si arata cum vor fi generate noile valori pentru acest tip de câmp. Poate avea doar doua valori: Increment si Random Increment specifica ca o valoare noua a unui câmp va fi obtinuta prin adunarea celei mai mari valori a câmpului cu + Random impune acordarea unor valori noi în mod aleator.

REGULI DE NORMALIZARE

La proiectarea structurii unei baze de date relationale trebuie stabilite în primul rand tabelele în care vor fi memorate datele si relatiile dintre tabele. Acesta este un proces iterativ, tabelele, cheile primare de identificare a înregistrarilor, relatiile dintre tabele sunt stabilite într-o forma initiala dupa care, prin rafinare succesiva se ajunge la forma definitiva

Identificarea initiala a tabelelor si a câmpurilor acestora se face prin studierea documentelor primare si a rapoartelor care sunt vehiculate în cadrul activitatii ce se doreste a fi informatizata. Acestei structuri initiale îi sunt aplicate un set de reguli care reprezinta pasii de obtinere a unei baze de date normalizate.

Algoritmul de normalizare a bazelor de date relationale precum si pasii acestuia au fost descrisi de catre Dr.E.F.Codd în lucrarea "Further Normalization of the Data Base Relational Model" aparuta în

Voi prezenta aceste reguli utilizând un exemplu concret:

Consideram ca în urma analizei documentului primar Factura dorim sa stabilim o structura de tabele care sa ne permita stocarea informatiilor continute de document (factura si obtinerea unor situatii sintetice privind evidenta sumelor facturate pe produse, pe clienti, pe anumite perioade de timp. În acest scop alegem într-o prima faza informatiile care ne intereseaza si consideram ca vor fi stocate într-o singura tabela numita Facturi.

Într o prima forma tabela Facturi ar putea arata ca în figura de mai jos. Ea are o cheie primara formata din câmpul Serie_nr fact Aceast câmp are o valoare unica pentru fiecare factura emisa

Tabela Facturi

Continuare tabela

Serie_nr fact

Data facturarii

Denumire produs 1

Nume client

Unitate de masura produs 1

Adresa client

Pret unitar produs 1

Localitate client

Cantitate produs 1

Ţara client

Valoare produs 1

CUI

Valoare TVA produs 1

Cont client

Cod produs 2

Banca client

Mijloc de transp

Valoare TVA produs 20

Delegat

Total valoare factura

Cod produs 1

Total valoare TVA

Observam ca în tabela exista mai multe câmpuri care cuprind informatii despre tara, localitatea si adresa (strada si numarul unde se afla firma) clientului. Ele vor fi utile daca vom considera ca este de interes o evidenta a sumelor facturate pe tari sau chiar localitati, usurând în acest fel interogarile.

Mai observam din aceasta tabela ca grupul informatiilor care se refera la un produs se repeta cu valori diferite pe o factura de atâtea ori câte produse diferite sunt trecute pe factura

Câmpurile Total valoare factura si Total valoare TVA se refera la întreaga factura si reprezinta suma valorilor corespunzatoare pentru toate produsele trecute pe factura

. Prima regula de normalizare este aceea de a crea tabele plate, tabele ce nu contin grupuri de câmpuri care sa se repete pentru o valoare unica a cheii de identificare a înregistrarii (cheia primara). În cazul nostru, deoarece pentru o factura putem avea unul sau mai multe produse care sunt înscrise pe aceasta, vom separa într-o alta tabela informatiile legate de produse, fiecare dintre aceste informatii fiind determinata în mod unic de numarul facturii si codul produsului.

În prima forma normala (FN1) avem tabelele:

Tabela Facturi

Tabela linii facturi

Serie_nr fact

Serie_nr fact

Data facturarii

Cod produs

Nume client

Denumire produs

Adresa client

Unitate de masura

Localitate client

Pret unitar

Ţara client

Cantitate

CUI

Valoare

Cont client

Valoare TVA

Banca client

Mijloc de transp

Delegat

Total valoare factura

Total valoare TVA

Între tabela Facturi si tabela Linii facturi exista o relatie de "unu la multi" ( ), adica unui numar unic de factura îi pot corespunde unul sau mai multe produse care sunt memorate ca înregistrari în tabela Linii facturi. Cheia de identificare (cheia primara) în aceasta a doua tabela (Linii facturi) este o cheie complexa, adica formata din doua sau mai multe câmpuri, în cazul acesta formata din câmpurile: Serie_nr fact si Cod produs.

2. A doua regula de normalizare cere sa analizam tabelele aflate în prima forma normala si sa vedem daca fiecare câmp al acestora reflecta (caracterizeaza) valoarea cheii primare în totalitatea ei. Se impune ca atunci când avem chei complexe sa nu avem câmpuri care sa caracterizeze doar o parte componenta a cheii primare.

În cazul nostru, observam ca cele doua câmpuri Denumire produs si Unitate de masura din tabela Linii facturi caracterizeaza un anumit produs si nu sunt diferite pentru acelasi produs de la o factura la alta. Spre deosebire de ele, celelalte câmpuri ale tabelei se refera la cantitatea, pretul si valoarea produsului numai pentru factura respectiva. Pe o alta factura este posibil sa se vânda o alta cantitate din acelasi produs la un alt pret

Tabelele în cea de a doua forma normala (FN2) devin:

Tabela Facturi

Tabela linii facturi

Tabela produse

Serie_nr fact

Serie_nr fact

Cod produs

Data facturarii

Cod produs

Denumire produs

Nume client

Pret unitar

Unitate de masura

Adresa client

Cantitate

Localitate client

Valoare

Ţara client

Valoare TVA

CUI

Cont client

Banca client

Mijloc de transp

Delegat

Total valoare factura

Total valoare TVA

Legatura dintre tabela Linii facturi si tabela Produse se face prin intermediul câmpului Cod produs prezent în ambele. În tabela Produse acesta este cheia primara deoarece valoarea codului identifica în mod unic fiecare produs, iar în tabela Linii facturi acesta este camp component al cheii primare si totodata cheie externa de legatura cu tabela Produse. Între tabela Linii facturi si tabela Produse exista o relatie "multi la unu" (- ), adica fiecare produs înscris pe o factura trebuie sa existe în nomenclatorul de produse al firmei.

3. A treia regula de normalizare cere ca toate câmpurile din tabele sa fie independente între ele. Analizând câmpurile din tabelele aflate în ce-a de-a doua forma normala, trebuie sa nu existe câmpuri care sa fie dependente de alte câmpuri care nu fac parte din cheia primara

În cazul nostru, analizând tabela Facturi, observam ca multe din câmpuri, si anume: Adresa client, Localitate client, Tara client, CUI, Cont client si Banca client depind de câmpul Nume client. Deci, fiecarui client îi corespund o adresa, o localitate, o tara, un cod unic de înregistrare (CUI), o banca si un numar de cont unice. În schimb, delegatul din partea clientului sau mijlocul de transport pot fi diferit pentru fiecare factura

Câmpurile Valoare si Valoare TVA depind de câmpurile cantitate, pret si de un procent fix de TVA. Fiind câmpuri care se pot calcula în orice moment ele vor fi eliminate din tabela deoarece constituie informatie memorata redundant.

Aplicam ce-a de-a treia regula de normalizare prin extragerea acestor informatii, care depind de un câmp aflat în afara cheii primare, într-o alta tabela

Structura de tabele devine:

Tabela Facturi

Tabela Clienti

Tabela Linii facturi

Tabela Produse

Serie_nr fact

Nume client

Serie_nr fact

Cod produs

Nume client

Adresa client

Cod produs

Denumire produs

Data facturarii

Localitate client

Pret unitar

Unitate de masura

Mijloc de transp

Ţara client

Cantitate

Delegat

CUI

Total valoare factura

Cont client

Total valoare TVA

Banca client

Legatura dintre tabela Facturi si tabela Clienti se face prin intermediul câmpului Nume client existent în ambele. Acesta este cheie unica de identificare a înregistrarilor din tabela Clienti si cheie externa de legatura în tabela Facturi. Între aceste doua tabele exista o relatie de "multi la unu" ( ), adica toti clientii înscrisi pe facturi sunt înregistrati în mod unic în tabela Clienti ce contine clientii firmei.

Aceasta a treia forma normala (FN3) mai poate suferi o serie de rafinari pentru a obtine o structura performanta de tabele a bazei de date.

Observam ca Nume client este un câmp în care este înscris un text destul de lung format dintr-o succesiune de litere, semne speciale (punct, virgula), spatii si numere. Ordonarea si regasirea informatiilor dupa astfel de câmpuri este mai lenta si mai greoaie decât dupa câmpuri numerice. Vom introduce din acest motiv un câmp de identificare a clientilor numit Cod client care sa fie numeric si care sa fie cheia primara de identificare pentru fiecare client. Legatura între tabelele Clienti si Facturi se va face într-un mod mai performant prin acest câmp pastrându-se acelasi tip de relatie între cele doua tabele.

O alta observatie care poate fi facuta în legatura cu tabelele aflate în cea de-a treia forma normala este aceea ca Total valoare factura si Total valoare TVA sunt câmpuri care ar trebui sa contina informatii sintetice obtinute prin însumarea valorii tuturor produselor aflate pe o factura. Este de preferat ca astfel de câmpuri sa fie calculate în rapoarte sau interogari si nu sa fie memorate în tabelele bazei de date.

În urma aplicarii acestor rafinari obtinem o structura performanta a bazei de date, prezentata în continuare:

Tabela Facturi

Tabela Clienti

Tabela Linii facturi

Tabela Produse

Serie_nr fact

Cod client

Serie_nr fact

Cod produs

Cod client

Nume client

Cod produs

Denumire produs

Data facturarii

Adresa client

Pret unitar

Unitate de masura

Mijloc de transp

Localitate client

Cantitate

Delegat

Ţara client

CUI

Cont client

Banca client

Odata ce am stabilit structura de tabele putem alege sistemul de gestiune a bazelor de date relationale (SGBD-ul) pe care sa-l folosim ca suport de stocare si manipulare a datelor. În cazul nostru alegem MS-Access deoarece acesta pune la îndemâna utilizatorilor finali cele mai prietenoase instrumente software cu care pot gestiona informatiile din baza de date.

În Access tabelele create pentru aplicatia de mai sus si relatiile dintre acestea se pot vedea în figura de mai jos:


Document Info


Accesari: 2278
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )