Sunteți pe pagina 1din 42

INFORMATIC PENTRU AFACERI

Capitolul 4 Baze de date i sisteme de gestiune a bazelor de date. SGBD Access

O baz de date (BD) reprezint un ansamblu structurat de fiiere, care grupeaz datele prelucrate n aplicaiile informatice ale unei persoane, grup de persoane, ntreprinderi, instituii etc.

n BD datele sunt organizate dup un anumit model. Modelul datelor este o reprezentare a obiectelor lumii reale i a evenimentelor asociate lor. Literatura de specialitate i practica a consacrat modelele:
ierarhic, reea, relaional, obiectual, relaional-obiectual.

Modelul relaional a fost al treilea n ordinea cronologic i rmne cel care domin piaa bazelor de date i la acest moment.

Modelul relaional se poate defini prin:

structuri de date (relaii alctuite din tupluri), operaii aplicate asupra structurilor de date (selecie, proiecie, jonciune etc.), reguli de integritate care s asigure consistena datelor (chei primare, restricii refereniale .a.).

Modelarea realitii se concretizeaz n tabele de valori numite relaii, avndu-se n vedere c:

o relaie are un nume; o coloan reprezint un atribut; o linie reprezint un n-uplet (tuplu) de valori ale celor n atribute din relaie; ordinea liniilor i coloanelor n cadrul tabelei nu este relevant pentru coninutul informaional.

Relaia (tabela) CLIENI

Tuplu /linie, domeniu


Un tuplu (linie) este o succesiune de valori de diferite tipuri. n general, o linie regrupeaz informaii referitoare la o entitate (informaii referitoare la un obiect, eveniment etc.): o carte (un titlu sau un exemplar din depozitul unei biblioteci), un /o student(), o localitate (ora sau comun), un angajat al firmei, o factur emis etc. Orice tuplu reprezint o relaie ntre clase de valori sintagma baze de date relaionale, n sensul matematic al relaiei, de asociere a dou sau mai multe elemente. Toate tuplurile unei relaii au acelai format (structur),

Fiecare atribut este caracterizat printr-un nume i un domeniu de valori pe care le poate lua. Domeniul poate fi definit ca ansamblul valorilor acceptate (autorizate) pentru un element component al relaiei.

RESTRICII ALE BAZEI DE DATE

Pentru pstrarea coerenei datelor, prevenirea inconsistenelor i reflectarea corect a fenomenelor i proceselor coninute n BD, se definesc restriciile, a cror respectare, dup declarare, cade n sarcina SGBD-ului. Restriciile semnaleaz existena unor constrngeri instituite i obligatorii. Prin restricii, crete gradul de corectitudine i de ncredere al datelor din baz.

Cele mai importante restricii definibile ntr-o BDR: 1. 2. 3. 4. 5. restricia de domeniu, restricia de atomicitate, restricia de unicitate, restricia referenial, restriciile utilizator.

1. Restricia de domeniu Restricia de domeniu se refer la ansamblul valorilor autorizate pentru un atribut. Domeniul poate fi alctuit din valori finite (notele la un examen, judeele rii) sau infinite (valoarea unei facturi etc.). 2. Restricia de atomicitate Orice atribut trebuie s fie atomic, n sensul imposibilitii descompunerii sale n alte atribute. 3. Restricia de unicitate ntr-o relaie nu pot exista dou linii identice (dou linii care prezint aceleai valori pentru toate atributele). Mai mult, majoritatea relaiilor prezint un atribut, sau o combinaie de atribute ale cror valori nu se repet i care difereniaz un tuplu de toate celelalte tupluri ale relaiei = restricia de unicitate.

Nenulitate Modelul relaional accept ca, atunci cnd nu se cunoate valoarea unui atribut pentru o entitate, sau cnd atributul este inaplicabil, s se foloseac (meta)valoarea NULL. ntr-o BDR se poate impune ca unele atribute s aib ntotdeauna valori specificate, altfel spus, li se interzic valorile nule. Ca regul, atributele importante, ce in de identificarea sau caracterizarea unei entiti, proces, fenomen, precum i cele implicitate n calculul unor informaii importante, sunt declarate NOT NULL, iar atributele fr importan deosebit pot fi mai relaxate.

Restricia de unicitate Noiunile legate de aceast restricie sunt: chei primare, chei candidat, chei alternative. Cheia primar a unei relaii (tabele) este un atribut sau un grup de atribute care identific fr ambiguitate (univoc) fiecare tuplu (linie) al relaiei (tabelei).

Dup E.F.Codd, exist trei restricii pentru cheia primar: unicitate: o cheie identific un singur tuplu (linie) al relaiei. compoziie minimal: atunci cnd cheia primar este compus, nici un atribut din cheie nu poate fi eliminat fr distrugerea unicitii tuplului n cadrul relaiei; n cazuri limit, o cheie poate fi alctuit din toate atributele relaiei. valori non-nule: valorile atributului (sau ale ansamblului de atribute) ce desemneaz cheia primar sunt ntotdeauna specificate, deci ne-nule i, mai mult, nici un atribut din compoziia cheii primare nu poate avea valori nule; aceast a treia condiie se mai numete i restricie a entitii.

4. Restricia referenial
O BDR este alctuit din relaii (tabele) aflate n legtur. Stabilirea legturii se bazeaz pe mecanismul cheii strine i, implicit, a restriciei refereniale. Cheile strine (coloanele de referin) sunt atribute sau combinaii de atribute care pun n legtur linii (tupluri) din relaii (tabele) diferite. Restricia referenial se instituie ntre dou tabele, prin intermediul unui atribut comun (de fapt, numele poate s difere, dar trebuie s aib aceeai semnificaie) se interzice apariia de valori ale cheii strine care s nu se regseasc n tabela printe, ca valori ale cheii primare. Tabela n care atributul de legtur este primar se numete tabelprinte, iar cealalt tabel-copil.

5. Restricii utilizator

Restriciile utilizator sunt denumite i restricii de comportament sau restricii ale organizaiei sau reguli ale afacerii. De obicei, aceste restricii iau forma unor: reguli de validare la nivel de atribut, reguli de validare la nivel de linie /tabel, reguli implementate prin declanatoare (triggere).

Reguli la nivel de atribut O restricie la nivel de atribut poate preveni introducerea n BD a unor valori din alte intervale dect cele stabilite, n alte formate dect cele acceptate etc. Forma clasic a unei restricii la nivel de atribut este o expresie n care apar constante, funcii sistem i, nu n ultimul rnd, atributul respectiv. La orice editare a atributului respectiv expresia este evaluat i dac rezultatul evalurii este TRUE (adevrat), atunci inserarea /modificarea este permis, iar dac rezultatul este FALSE, atunci inserarea /modificarea este blocat.

Reguli la nivel de nregistrare

Expresia care definete o restricie la nivel de nregistrare conine dou sau mai multe atribute i este evaluat la inserarea sau modificarea oricrei linii din tabel. Exemplu: TVA colectat pentru o factur poate fi egal sau este mai mic dect 19% din Valoarea fr TVA. TVAColectat <= ValoareTotal * 0.19 / 1.19

Un atribut forat s nu primeasc valori NULL i un altul relaxat

O cheie primar i o cheie alternativ

O restricie referenial ntre FACTURI (tabel-copil) i CLIENI (printe)

Restricii la nivel de atribut


[CodClient]>1000

Prima liter din atributul NumeClient trebuie s fie majuscul: StrComp(Left(UCase([NumeClient]),1),Left([NumeClient],1),0) = 0.

Cel mai mic cod de client acceptat este 1001

Restricie la nivel de nregistrare

Schema simplificat a bazei de date VNZRI

vinzari.mdb

SGBD ACCESS Prezentare general ACCESS este integrat n MS Office i ofer urmtoarele faciliti: dispune de o interfa uor de folosit pentru introducerea datelor; gsete rapid datele legate ntre ele; asigur afiarea pe ecran sau tiprirea la imprimant a datelor ntr-un format uor de neles; permite afiarea datelor sub form de grafice sau ca pagini Web;

are incluse mecanisme pentru exportul datelor n Excel i /sau Word; asigur protejarea datelor de erori; automatizeaz operaiile comune; este conceput pentru scenarii multi-utilizator.

Proiectele Access permit dezvoltarea unor aplicaii clientserver n urmtoarele situaii mai complexe: datele sunt foarte importante; nu se accept pierderi de date i nici indisponibiliti temporare ale datelor; datele urmeaz a fi folosite simultan de mai muli utilizatori; BD are dimensiuni foarte mari.

Tipuri de obiecte n proiectele ACCESS


Un proiect Access se organizeaz n jurul BD i poate conine urmtoarele tipuri de obiecte: Tabele (Tables) datele brute ale unei BD; Interogri (Queries) tabele care conin rspunsuri la anumite ntrebri despre date; Formulare (Forms) interfee de introducere i afiare a datelor; Rapoarte (Reports) faciliti de afiare /tiprire a datelor din tabele; Pagini (Pages) sunt obiecte asemntoare formularelor; n plus, ele pot fi afiate ntr-un browser Web; Macro-uri (Macros) - liste de comenzi pe care Access le salveaz i execut; Module (Modules) obiecte care conin coduri de programare, scrise n VBA. Modulele ofer utilizatorilor avansai posibilitatea de a personaliza BD i coninutul acestora.

CREAREA I ACTUALIZAREA BD ACCESS Orice proiect de lucru cu o BD demareaz cu crearea tabelelor i definirea restriciilor. La crearea tabelelor, pentru fiecare atribut se declar: numele, tipul, lungimea, alte proprieti.

Tipuri de date Text iruri de cel mult 255 de caractere alfanumerice (litere, numere, simboluri etc.); Memo iruri care depesc 255 de caractere, nu sunt structurate i /sau au un anumit caracter de confidenialitate; Number date numerice (ntregi sau cu zecimale); Date /Time General Date date calendaristice i/sau timp; Currency este asemntor datelor numerice; este conceput pentru a evita erorile de rotunjire, astfel nct calculele cu bani s fie precise;

Tipuri de date AutoNumber este o variant special a datelor Number. Este recomandat n procedura de stabilire a cheii primare, atunci cnd din structura tabelei este dificil de ales un cmp reprezentativ;
Yes /No - pstreaz nregistrri simple de tip: True /False, On/Off; Ole Object permit stocarea informaiilor ntr-un format accesibil altor programe (documente Word, foi de calcul Excel, imagini, fiiere cu muzic etc.) Hyperlink tip de date text special conceput pentru a stoca hyperlink-uri ctre site-uri Web sau alte resurse Internet; Lookup Wizard cmp special de cutare

Lookup Wizard

Majoritatea BD organizeaz dou tipuri de tabele: cele care includ date primare; cele care conin liste de valori folosite n tabele. Aceste tabele auxiliare se numesc tabele de cutare (lookup tables) i prezint dou avantaje: pun la dispoziia utilizatorului opiuni simplu de utilizat; permit validarea datelor, acceptnd numai datele din tabel.

FORMULARE ACCESS
Un formular reprezint un instrument pus la dispoziia utilizatorului n scopul uurrii operaiilor de accesare i actualizare a datelor stocate n tabelele unei BD. Un formular este legat la o structur de date de tip tabel sau cursor (query) obinut n urma unei interogri. Prin intermediul formularului se asigur o vedere organizat i formatat asupra unei pri sau asupra tuturor cmpurilor din una sau mai multe tabele.

OBINEREA DE INFORMAII DIN BD


Access ofer faciliti de obinere a informaiilor dintr-o BDR, prin crearea interogrilor (Queries), care pot fi: Interogri tip selecie; Interogri tip inserare; Interogri tip modificare; Interogri tip tergere; Interogri SQL.

Interogrile se pot defini: n modul de lucru Design View, care folosete un limbaj bidimensional de tip grafic asemnator limbajului QBE (Query By Example) din gama instrumentelor RAD (Rapid Appliocation Development), n modul de lucru asistat (Wizard), folosind comenzi SQL.

Cele mai utilizate Interogri Access sunt: Interogri tip selecie (Select Query); Interogri tip inserare (Append Query); Interogri tip actualizare (Update Query); Interogri tip tergere (Delete Query); Interogri SQL (Select...From...Where).

Interogrile de selecie (implicite) (Select Query) sunt obiecte ale bazei de date folosite pentru a extrage i afia o parte din BD; Interogrile de adugare (Append Query) presupun completarea unor rubrici diferite de cele de la interogrile de selecie, deoarece Access construiete, pe baza datelor din fereastra Query Design, o comand INSERT; trebuie specificat numele tabelei n care se vor introduce datele; Interogrile de modificare (Update Query) presupun completarea tuturor informaiilor necesare crerii unei comenzi UPDATE; Interogrile de tergere (Delete Query) presupun completarea tuturor informaiilor necesare identificrii rndului /rndurilor de ters.

Interogrile Access pot fi folosite: de alte interogri Access (n cazul interogrilor de selecie); direct, n mod vizual, cu gestionarul bazei de date; din ferestrele, rapoartele i modulele de cod VBA ale BD.

CONSTRUIREA I UTILIZAREA RAPOARTELOR Informaiile din domeniul economic sunt prezentate, cel mai adesea, prin intermediul rapoartelor. Raportul reprezint un ansamblu de informaii conforme cu cerinele utilizatorilor, construit pe baza datelor din tabele. Rapoartele pot fi afiate pe ecran sau tiprite la imprimant, majoritatea lor avnd form tabelar.

APLICAII, PROGRAME, PROCEDURI VBA N ACCESS Ca orice aplicaie din pachetul MS Office, pentru scrierea de proceduri, Access folosete Visual Basic for Application. Programele VBA sunt numite proceduri i sunt grupate n: Sub rutine - se refer la instruciuni VBA cuprinse ntre Sub End Sub i care nu returneaz o valoare: Sub nume_proc() End sub Funcii procedurale - se refer la instruciuni VBA cuprinse ntre Function End Function i care returneaz o valoare: Function nume_funct(param) End Function

Proceduri Orice procedur cuprinde un set de instruciuni care ndeplinesc o anumit sarcin. n scrierea unei proceduri se folosesc: cuvinte cheie - cuvinte de culoare albastr, care reprezint cuvintele rezervate ale mediului VBA; cuvinte utilizator - celelalte cuvinte, de culoare neagr, sunt de natura variabilelor sau valorilor.

Module

La rndul lor, procedurile se regrupeaz n module, care pot fi:


clase de module i module standard.

Procedurile se scriu n VBA i devin parte a componentei module din proiectantul de BD. Tot ca proceduri i funcii se scriu i interogrile aplicate asupra BD.

CREAREA DE MENIURI N ACCESS Pentru crearea de meniuri ntr-o aplicaie sunt dou posibiliti: scrierea de macro-uri (component a proiectantului BD), scrierea de proceduri sub VBA (ca element component din Module).