Sunteți pe pagina 1din 10

CURSUL 4 (Implementarea Modelului Relational) SGBD ACCESS - caracteristici generale Principalele caracteristici ale SGBD-ului ACCESS sunt: este

e relaional i lucreaz sub sistemul de operare Windows; este deschis comunicrii cu alte Sisteme de Gestiune a Bazelor de Date cum ar fi FoxPro sau Paradox; este compatibil cu tehnologia ActiveX, care permite realizarea aplicaiilor client/server; permite realizarea unor aplicaii complexe prin utilizarea limbajului Visual Basic; permite comunicarea cu SQL Server, un alt produs Microsoft care gestioneaz baze de date; permite accesul la baze de date din reeaua Internet, fiind un instrument util pentru publicarea informaiilor n paginile Web; este autodocumentat prin help, apelabil contextual sau la cerere; conine instrumente wizard care permit utilizatorului crearea ntr-o manier foarte simpl a obiectelor bazei de date;

Arhitectura Microsoft ACCESS O baz de date ACCESS poate fi definit ca o colecie de obiecte: tabele (table), cereri de interogare (query), formulare (form), rapoarte (report), pagini Web (pages), comenzi macro (macro) i module (module). Tabela (Table) este un obiect definit de utilizator n care sunt stocate datele primare (expresia modelului relaional). Formularul (Form) este un obiect care permite introducerea datelor, afiarea acestora sau controlul ntregii aplicaii. Interogarea (Query) este un obiect care permite vizualizarea informaiilor obinute prin prelucrarea datelor din una sau mai multe tabele i/sau alte cereri de interogare.
BD Cursul 4 NP 1 / 10

Raportul (Report) este un obiect care permite formatarea i tiprirea informaiilor obinute n urma consultrii bazei de date sub form de documente. Pagina Web de accesare a datelor (Pages) reprezint un obiect care include un fiier HTML i alte fiiere suport n vederea furnizrii accesului la date prin intermediul browser-elor Internet. Comanda Macro (Macro) reprezint un obiect care conine o definiie structurat a uneia sau mai multor aciuni pe care ACCESS le realizeaz ca rspuns la un anumit eveniment. Modulul (Module) reprezint un obiect care conine proceduri definite de utilizator i scrise n limbajul de programare Visual Basic.

Crearea unei BD i descrierea obiectelor de tip tabel A. Design View Utilizatorul stabilete absolut toi parametrii necesari pentru descrierea structurii unui tabel: numele cmpurilor, tipurile de date ale acestora, reguli de validare, etc. Fereastra Access de descriere a tabelei este format din dou zone: zona a n care se definesc cmpurile din structura tabelei i zona b n care sunt precizate proprietile acestora. Descrierea cmpurilor Numele cmpului (Field Name); Numele unui cmp trebuie s respecte urmtoarele reguli: Poate s conin litere (majuscule sau minuscule, sau ambele tipuri), cifre i numeroase caractere speciale; Poate s conin maximum 64 de caractere; Este interzis utilizarea caracterelor: punct (.), semnul exclamrii (!), parantezele drepte ([]). Numele cmpului nu poate s nceap cu un spaiu.

BD Cursul 4

NP

2 / 10

Zona a

Zona b

Tipul de date (Data Type); utilizatorul are la dispoziie nou tipuri de date de baz, pentru unele dintre ele fiind disponibile subtipuri de date, n funcie de necesiti; subtipurile se configureaz n zona de jos a ferestrei (seciunea General); Proprietile cmpului (Field Properties) Tipurile i subtipurile de date Access sunt :

Tip de date Text

Subtip de date

Memo

Number (tip de date numeric)

Byte Integer Long Integer Single

Double

Descriere Este un tip de date alfanumeric, de lungime maxim 255. Implicit, Access propune dimensiunea (proprietatea Field Size) 50 pentru un cmp de tip Text. Un cmp de acest tip poate s conin practic orice caracter. Este un tip de date alfanumeric (poate conine orice caracter), n lungime maxima de 65535 caractere. Utilizatorul nu poate configura o dimensiune mai mic dect aceasta. Tip de date ntreg a crui plaj de valori admis este ntre 0 i 255. Spaiul ocupat de un asemenea cmp este de 1 byte. Tip de date ntreg cu plaja de valori admis ntre -32768 i +32768. Ocup 2 bytes. Tip de date ntreg de dimensiuni foarte mari cu plaja de valori admis ntre -2147483648 i +2147483647. Ocup 4 bytes. Tip de date cu plaja de valori admis ntre 3,402823x1038 pn la 1,401298x10-45 pentru numere negative, iar pentru numere pozitive ntre 1,401298x1045 pn la 3,402823x1038. Ocup 4 bytes i are precizie de 7 zecimale. Tip de date de dimensiuni foarte mari cu plaja de valori admis ntre 1,79769313486231x10308 pn la 4,94065645841247x10324 pentru numere negative, iar pentru numere pozitive ntre 4,94065645841247x10324 pn la 1,79769313486231x10308. Ocup 8 bytes i are
3 / 10

BD Cursul 4

NP

Descriere precizie de 15 zecimale. Replication Tip de date GUID (Global unique identifier). Ocup 16 bytes. Sunt utile pentru cmpurile care sunt (sau fac parte ID dintr-o) cheie extern ale cror chei primare sunt de tipul AutoNumber, ReplicationID. Tip de date cu plaja de valori admis ntre Decimal -1028 -1i +1028-1. Ocup 12 bytes i precizie (proprietatea Precision) maxim de 28. Memoreaz date calendaristice, inclusiv ora n formate Date/Time predefinite. Datele calendaristice admise sunt ntre anul 100 i 9999. Formatele de afiare se stabilesc n proprietatea Format. Ocup 8 bytes. Tip de date numeric, care opereaz cu maxim patru Currency zecimale i maxim 15 poziii n stnga punctului zecimal. Ocup 8 bytes. Tip de date care i atribuie automat valori, la crearea unei AutoNumber LongInteger noi nregistrri. Valorile atribuite pot fi secveniale (proprietatea New Values=Increment) sau aleatoare (proprietatea New Values=Random). Cmpurile de tip AutoNumber, nu pot fi actualizate. Ocup 4 bytes. ReplicationID Tip de date care i atribuie automat valori de tip GUID. Exemplu de valoare GUID: {E0DC2C27-EDE8-412AB1C4-AF69021A1365}. Ocup 16 bytes. Tip de date logic, care poate lua doar dou valori: adevrat Yes/No (valoarea -1) sau fals (valoarea 0). Ocup 1 bit. Tip de date care poate s includ imagini, documente OLE Object WORD, foi de calcul EXCEL, etc. Dimensiunea maxim este de 1 GB, cu condiia s existe acest spaiu pe disk. Nu poate fi cheie i nici nu poate fi index. ir de caractere, care poate memora o adres WEB, ce va Hyperlink fi utilizat sub form de hyperlink. Este format din trei pri: textul de afiat, adresa i subadresa. Dimensiunea maxim a fiecrei pri este de 2048 caractere. Cmpuri ale cror valori vor fi completate automat prin Lookup selecia dintr-o list simpl de valori (List Box) sau dintrWizard o list derulant de valori (Combo Box). Comentarii (Description), este o proprietate opional, unde utilizatorul poate introduce sub form de iruri de caractere diverse informaii cu privire la un cmp.

Tip de date

Subtip de date

n zona b a ferestrei (General i Lookup) se pot stabili valori pentru dou categorii de proprieti: proprieti pe care le au toate cmpurile; proprieti specifice anumitor cmpuri, n funcie de tipul de date. Proprieti din categoria General: Field Size stabilete dimensiunea maxim admis pentru tipurile de date Number, AutoNumber, Text. Pentru primele dou, valorile maxime admise sunt cele precizate n tabelul anterior, iar pentru tipul Text o valoare ntre 0 i 255.

BD Cursul 4

NP

4 / 10

Decimal Places stabilete numrul de zecimale utilizat pentru afiarea unui numr. Valorile posibile sunt Auto (numrul este afiat cu attea zecimale cu cte a fost calculat; nu sunt afiate mai mult de 15 zecimale) sau un numr ntre 0 i 15. Numrul de zecimale afiat poate fi influenat i din proprietatea Format. Format stabilete formatul de afiare al unui cmp. Aceste formate se pot defini de utilizator cu ajutorul unor secvene speciale de caractere sau pentru unele tipuri de date exist deja predefinite formate uzuale asa cum rezulta din tabelul alaturat.

Pe lng aceste formate predefinite se mai pot utiliza anumite combinaii speciale de caractere. Pentru cmpurile numerice formatul de afiare se mparte n patru zone separate prin caracterul ; : prima zon se refer la modul de afiare al numerelor pozitive; a doua zon se refer la modul de afiare al numerelor negative; a treia zon se refer la modul de afiare al numrului zero; a patra zon se refer la modul de afiare al valorii Null; Caracterele ce se pot utiliza ntr-un format de afiare al unui cmp numeric: . separatorul zecimal este punctul; , separatorul miilor este virgula; 0 sunt afiate cifre sau zero; # sunt afiate cifre sau spatiu; $ este afiat i caracterul $; % numrul este nmulit cu 100 i alturi este afiat caracterul procent (%); E+, E-, e+, e- stabilete formate de afiare n format tiinific. Formatele predefinite de afiare pentru cmpurile de tip Date/Time sunt in tabelul alaturat.

Exemple: "Data: "dd/mm/yy" saptamana: "ww afieaz Data: 01/06/01 saptamana: 22 dddd/mmmm/yyyy afieaz vineri/iunie/2001 "ORA:"hh:nn:ssAM/PM afieaz ORA:12:00:00AM Caption stabilete un ir de caractere care va fi afiat n titlul unei coloane, n momentul introducerii datelor; dac aceast proprietate nu are nici o valoare, irul afiat n titlul unei coloane este chiar numele cmpului; valoarea acestei proprieti nu are nici o influen asupra numelui cmpului n utilizarea sa n interogri, VBA, etc. Default Value stabilete o valoare implicit care este propus n momentul n care se introduc date ntr-un tabel; se recomand n cazul n care exist o valoare preponderent a coninutului unui cmp;

BD Cursul 4

NP

5 / 10

Input Mask stabilete un format (masc, ablon) de introducere a datelor pentru un anumit cmp. La fel ca n cazul proprietii Format, exist o serie de caractere prin care se stabilete acest format de introducere a datelor. n cazul n care se utilizeaz ambele proprieti, proprietatea Format are prioritate fa de proprietatea Input Mask. Validation Rule definete o regul de validare pentru un cmp, practic o expresie ce se va testa pentru coninutul introdus ntr-un cmp. Regulile de validare se testeaz dup introducerea unei valori ntr-un cmp sau n momentul n care se ncearc salvarea unei nregistrri (n momentul n care se ncearc introducerea unei nregistrri noi, la trecerea de la o nregistrare la alta, sau la salvarea explicit a acesteia) pentru cmpurile nevizitate de utilizator. Dac o regul de validare a unui cmp nu se verific, nregistrarea nu se poate salva dect dac se corecteaz coninutul cmpului. Expresia pentru aceast proprietate se poate scrie i n mod asistat cu ajutorul ferestrei Expression Builder, ce poate fi invocat din butonul . Numele cmpurilor dintr-o expresie Validation Rule trebuie scris ntre caracterele []. O expresie Validation Rule la nivel de cmp nu poate referi alte cmpuri, dect cel curent. Se pot utiliza funcii Access, constante, operatori, etc. Exemple de reguli de validare pentru un cmp de tip Number, Integer: >100 and <=200 stabilete valorile posibile ntre 101 i 200 <>Null sau Is Not Null cmpul trebuie s conin o valoare. Exemple de reguli de validare pentru un cmp de tip Text: Calarasi Or Bucuresti Or Brasov sau In("Calarasi"; "Bucuresti"; "Brasov") valoarea cmpului nu poate fi dect una din cele trei. Mid([nume];1;1)="A" primul caracter introdus n cmpul nume nu poate fi dect A sau a. Exemple de reguli de validare pentru un cmp de tip Date/Time: >=Date() data introdus trebuie s fie mai mare sau egal cu data sistemului. Year([data factura])=Year(Date()) anul din cmpul data factura trebuie s fie n momentul introducerii, acelai cu cel din data sistemului. Validation Text definete un mesaj de atenionare care va fi afiat n momentul n care regula de validare definit n proprietatea Validation Rule este nclcat. Required poate lua valoarea Yes sau No, corespunztoare valorilor logice adevrat (True) sau fals (False) i stabilete dac valoarea unui cmp este obligatoriu (Yes) de introdus sau nu (No). Pentru cmpurile de tip Text, Memo, Hyperlink este bine s se utilizeze aceast proprietate n strns legtur cu proprietatea Allow Zero Length. Allow Zero Length stabilete dac este permis introducerea unui ir de lungime zero (Yes) sau nu (No) ntr-un cmp de tip Text, Memo sau Hyperlink. Variantele de memorare n condiiile utilizrii proprietilor Required i Allow Zero Length sunt prezentate n tabelul urmator. Valoarea din proprietatea Allow zero length No No Valoarea din proprietatea Required No Yes Aciunea utilizatorului Enter Bara spaiu ir de lungime 0 Enter Bara de spaiu ir de lungime 0
6 / 10

Valoare memorat Null Null Nu este permis Null Null Nu este permis

BD Cursul 4

NP

Valoarea din proprietatea Allow zero length Yes

Valoarea din proprietatea Required No

Aciunea utilizatorului Enter Bara de spaiu ir de lungime 0 Enter Bara de spaiu ir de lungime 0 Enter Bara de spaiu ir de lungime 0

Valoare memorat Null Null ir de lungime 0 Nu este permis Nu este permis Nu este permis Nu este permis ir de lungime 0 ir de lungime 0

No

Yes

Yes

No

Indexed stabilete un cmp drept index. Valori posibile: No neindexat Yes (Duplicates OK) index; sunt permise valori duplicate pe cmpul index; Yes (No Duplicates) index; nu sunt permise valori duplicate pe acest cmp. Definirea cheii primare i a indecilor Orice tabel trebuie s posede o cheie primar (Primary Key), adic un cmp sau un grup de cmpuri care identific n mod unic fiecare nregistrare. Dac utilizatorul nu stabilete o cheie primar, Access stabilete una n mod implicit crend un cmp de tip AutoNumber care va conine un numr unic pentru fiecare nregistrare. Dei Access creeaz n mod implicit o cheie primar, urmtoarele raiuni recomand utilizatorului s defineasc o cheie primar: cheia primar este un index. indecii realizeaz o clasificare a datelor dup unul sau mai multe cmpuri ceea ce are drept consecin creterea vitezei de realizare a interogrilor. la fiecare adugare a unei noi nregistrri, Access nu autorizeaz nregistrri duble pentru cmpul cheie primar. Microsoft Access afieaz datele n ordinea cheii primare. n afar de indeci pe un singur cmp se pot defini i indeci multipli, care funcioneaz pe mai multe cmpuri simultan. Acetia se pot defini/modifica numai n fereastra Indexes. n aceeai fereastr se pot gestiona i indecii pe un singur cmp. Fereastra cu indecii unei tabele (Indexes) se activeaz din meniul View, opiunea Indexes. Pentru definirea unui index (sau pentru o cheie primar) format din mai multe cmpuri, se scrie numele indexului in coloana Index Name, iar n coloana Field Name se aleg cmpurile care formeaz indexul sau cheia primar. Coloana Sort Order indic modul de ordonare al datelor n index. n cazul indecilor ce includ mai multe cmpuri, valoarea proprietii Indexed, pentru fiecare cmp n parte este No. Proprietile din fereastra Indexes: Primary valoarea Yes indic faptul c indexul este cheie primar; Unique valoarea Yes indic faptul c indexul va avea valori unice, nefiind permise duplicatele; pentru o cheie primar, aceast proprietate are obligatoriu valoarea Yes.
BD Cursul 4 NP 7 / 10

Ignore Nulls valoarea Yes indic faptul c sunt permise valorile Null ntr-un index; pentru o cheie primar, aceast proprietate are obligatoriu valoarea No. Exemplu: ntr-un tabel care va memora facturi, ce are drept cheie primar un cmp generic ID de tip AutoNumber, se stabilete un index numit Factura, care este format din cmpurile Serie Factura i Numr Factura. Proprietatea Unique va avea valoarea Yes pentru acesta deoarece seria mpreun cu numrul unei facturi sunt unice la nivel naional. Un alt index se definete pe cmpul Data Factura, care nu trebuie s aib valori unice.

Pe lng modalitatea descris anterior, cheia primar a unui tabel se mai poate defini astfel: Dac este vorba de o cheie format dintr-un singur cmp, se poziioneaz cursorul n cmpul respectiv i se acioneaz butonul din bara de instrumente Table Design; Pentru chei primare formate din mai multe cmpuri, se selecteaz cmpurile din bordura ferestrei de proiectare i se acioneaz butonul menionat anterior. NOT: O cheie extern nu se definete explicit nicieri n Access sub noiunea de cheie extern, ea fiind stabilit prin definirea relaiilor dintre tabele. Pentru creterea performanelor se recomand definirea de indeci pentru fiecare cheie extern. B. Datasheet View este echivalent cu acionarea hyperlink-ului Create table by entering data. n aceast variant, Access propune o fereastr de introducere date sub forma unui tabel cu nume de cmpuri generice Field1, Field2....Field10. Inserarea de noi cmpuri pe lng cele zece propuse implicit, se realizeaz din meniul Insert-Column. Schimbarea numelor implicite ale coloanelor se realizeaz din meniul Format-Rename Column.n funcie de datele introduse n celule, la salvarea tabelului, Access stabilete ce tip de date va aloca fiecrui cmp. C. Table Wizard este echivalent cu acionarea hyperlink-ului Create table by using wizard. Alegerea acestei variante are ca efect activarea unei ferestre n care se propun diverse modele de tabele cu o mare varietate de cmpuri, toate denumirile fiind n limba englez. Pentru un utilizator care dorete crearea unor tabele n limba romn, dei acest instrument wizard prin definiie se dorete a fi de mare ajutor, alegerea sa este total neinspirat. Probabil dac variantele Microsoft Office localizate vor conine i Access n limba romn, atunci acest instrument se va dovedi de un real folos pentru utilizatorii romni. D. Import Table, permite importul tabelei dintr-o alt aplicaie Access, Oracle, Excel, etc.
BD Cursul 4 NP 8 / 10

E. Link table, permite includere prin ataare (legare) dintr-o alt baz de date Proprieti ale unui tabel Pentru a vizualiza fereastra cu proprieti a unui tabel se activeaz opiunea. Properties din meniul View, sau se acioneaz butonul din bara de instrumente Table Design. Validation Rule are aceeai semnificaie ca proprietatea cu acelai nume ataat cmpurilor, numai c opereaz la nivel de tabel. n momentul n care se ncearc salvarea unei nregistrri (n momentul n care se ncearc introducerea unei nregistrri noi, la trecerea de la o nregistrare la alta, sau la salvarea explicit a acesteia), dac nu se verific aceast regul de validare, nu se va putea salva nregistrarea. Fa de aceeai proprietate la nivel de cmp, la nivel de tabel, se pot referi mai multe cmpuri ale tabelului n expresia care definete proprietatea. Exemplu de regul de validare pentru un tabel care are n componen ntre altele urmtoarele cmpuri: SimbolCont, soldinitialdebitor, soldinitialcreditor. Regula impune ca un cont s nu aib simultan soldul iniial debitor sau creditor n acelai timp. (Not IsNull([soldinitialdebitor]) Imp [soldinitialcreditor]=0) Or (Not IsNull([soldinitialcreditor]) Imp [soldinitialdebitor]=0) Validation Text afieaz un mesaj n momentul n care regula de validare definit la nivel de tabel, este testat i nu se verific. Filter stabilete un criteriu n funcie de care vor fi selectate nregistrrile n fereastra de introducere date. Pentru a activa/dezactiva filtrul trebuie acionat butonul Apply Filter meniul Records, opiunea Apply Filter/Sort respectiv Remove Filter/Sort. sau din

Exemplu: [Data factura]>#1/1/2001# va afia toate facturile de dup data 1/1/2001. Order By stabilete ordinea de afiare a nregistrrilor, n momentul introducerii datelor. Numele cmpurilor trebuie precizate ntre []. Exemplu: [Serie factura],[Numar factura]. Definirea relaiilor dintre tabele n S.G.B.D. Access exist urmtoarele posibiliti de realizare a relaiilor dintre tabele: Relaia 1-1 (one-to-one sau unu la unu) este cea mai simpl relaie ntre dou tabele. n aceast relaie, unei valori a cmpului cheie principal dintr-o tabel i corespunde o singur valoare din cmpul folosit drept cheie extern din cealalt tabel. Tabelele aflate ntr-o relaie one-to-one se pot combina ntr-o singur tabel, n care apar toate cmpurile celor dou tabele. Relaiile de acest tip nu sunt uzuale. Relaia 1-n (one-to-many sau unul la mai muli) constituie tipul cel mai rspndit de relaii. Conform acestei relaii unei nregistrri din tabela aflat n partea stng a relaiei i corespund dou sau mai multe nregistrri din tabela aflat n partea dreapt a relaiei. Asocierea se bazeaz pe un cmp cheie principal unic ntr-o tabel i un cmp cheie extern din cealalt tabel care admite valori duplicate. Relaia n-1 (many-to-one sau mai muli la unul) este opus relaiei 1-n. Pentru a crea relaia many-to-one este suficient s se inverseze relaia one-to-many. De aceea, se spune c relaia many-to-one este reflexiv, adic relaia many-to-one este reflexia relaiei corespondente one-to-many. Dac se selecteaz o nregistrare din tabela din partea many a relaiei se poate afla nregistrarea care corespunde cheii sale externe din tabela din partea

BD Cursul 4

NP

9 / 10

one a relaiei. Relaiile n-1 nu sunt bazate pe cmpuri cheie primar din nici una dintre cele dou tabele. Relaia m-n (many-to-many sau muli la mai muli) nu poate fi exprimat ca o simpl relaie ntre dou tabele. Relaia many-to-many se poate exprima prin intermediul unei a treia tabele care are relaii one-to-many i many-to-one cu cele dou tabele.

Pe lng stabilirea relaiilor ntre tabelele unei baze de date, Access permite i specificarea unor reguli care foreaz integritatea datelor. Aceste reguli se numesc restricii de integritate referenial; ele permit s se conserve intacte relaiile ntre tabele ntr-un sistem de gestiune a unei baze de date relaionale. Capacitatea de a asigura n mod automat integritatea referenial este o caracteristic important a SGBD Access. Dup plasarea tuturor tabelelor n panoul de editare, definirea propriu-zis a unei relaii se realizeaz prin drag-and-drop (selectare i glisare) dinspre cheia primar a unei tabele spre o cheia extern corespunztoare sau invers. Opiunile din fereastra Edit Relationships au urmtoarea semnificaie: Enforce Referential Integrity definete o restricie de integritate referenial. Nu se permite specificarea valorii unei chei externe, dac aceast valoare nu exist deja n tabelul unde aceasta este cheie primar. Cascade Update Related Fields actualizarea valorilor din rndul corespunztor unei cheii primare dintr-un tabel se propag n cascad n toate obiectele n care acesta este referit prin cheie extern corespondent. Cascade Delete Related Fields tergerea valorii unei chei primare, are ca efect i tergerea nregistrrilor din tabelele unde aceasta este cheie extern. n caseta Relationship Type sunt prezentate tipurile de legturi care pot exista ntre dou tabele: One to One 1-1; One to Many 1-n Dac n aceast caset este afiat mesajul Indeterminate, nseamn c tipul de relaie nu poate fi definit, cea mai probabil eroare fiind incompatibilitatea ntre tipul de date al cheii primare i cel al cheii externe, sau inexistena unei chei primare n relaia respectiv.

BD Cursul 4

NP

10 / 10

S-ar putea să vă placă și