Download - Curs III.1.2-Baze de Date

Transcript
  • 8/8/2019 Curs III.1.2-Baze de Date

    1/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    INFORMATIC

    BAZE DE DATE

    CUPRINS

    I. Generaliti1. Conceptul de baz de date2. Obiectivele fundamentale3. Sistemul de gestiune al Bazelor de Date

    II. SGBD Access1. Prezentare general2. Crearea structurii bazei de date3. Formulare4. Interogarea bazei de date5. Rapoarte6. Comenzi macro

    III. Interfaarea SGBD Access cu alte aplicaii1. Importul i Exportul de date2. Interfaare Internet

    IV. Limbajul SQL1. Noiuni generale2. Instruciuni de definire a datelor3. Interogri4. Instruciuni pentru manipularea datelor

    V. Analiz de caz energii durabile

    1

  • 8/8/2019 Curs III.1.2-Baze de Date

    2/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    I. Generaliti

    I.1. Conceptul de baz de date

    Pe lng realizarea de programe de prelucrare a datelor, o activitate la fel de important este aceeade organizare a datelor n scopul prelucrrii. Pentru a putea realiza aplicaii eficiente este necesar cadatele prelucrate s fie stocate ntr-o structur bine pus la punct i n acelai timp i programele de

    prelucrare s corespund cerinelor.

    Un element important este acela al separrii nete ntre date, informaii i cunotine:- datele din punctul de vedere al prelucrrii pe calculator datele sunt definite de trei

    elemente: un identificator (ex.: cantitate), un atribut (ex.: numr real i pozitiv) ivaloare (ex.: 23,78);

    -

    informaiile este un mesaj cu caracter de noutate. Acestea vin s nlturenedeterminrile i sunt obinute n urma prelucrrii datelor;- cunotinele sunt informaii simple sau compuse pe care le dobndim de-a lungul

    timpului. Ele se refer la obiecte i fenomene din lumea real.

    O baz de date poate fi definit ca un ansamblu de date elementare sau structurate, accesibile unuigrup de utilizatori. Aceasta este un ansamblu de fiiere intercorelate care conine nucleul de datenecesare unui sistem informatic.

    Fiieruleste un ansamblu de nregistrri fizice, omogene din punctul de vedere al coninutului i alprelucrrii. O nregistrare fiziceste unitatea de transfer ntre memoria intern i cea extern a

    calculatorului. Aceasta este format din una sau mai multe nregistrri logice.nregistrarea logiceste unitatea de prelucrare din punct de vedere al programului utilizator. Aceasta la rndul ei esteformat dintr-un ansamblu de cmpuri care descriu o anumit realitate.

    I.2. Obiectivele fundamentale

    Obiectivele fundamentale ale unei baze de date sunt urmtoarele: Centralizarea datelor permite: suprimarea redundanei, asigurarea unicitii

    nregistrrii i controlul centralizat asupra datelor. n prelucrarea clasic datele folositede mai multe aplicaii sunt nregistrate n mai multe fiiere i n formate diferite ceea ceimplic o utilizare ineficient a spaiului de memorare;

    Independena dintre date i prelucrri baza de date reprezint o imagine a realitii.Ea trebuie actualizat permanent dar acest fapt nu trebuie s afecteze programele de

    prelucrare a datelor; Realizarea de legturi ntre entitile de date sunt vitale n exploatarea unui sistem

    informatic. Un exemplu este acela al legturii ce se realizeaz ntre un furnizor iprodusele pe care le vinde (i invers) n cazul gestiunii aprovizionrii;

    Integritatea datelor asigur fiabilitatea i coerena bazei de date. Pentru aceastatrebuie definite restricii de integritate cum sunt: apartenena la o list de valori sau la uninterval, apartenena la un anumit format i reguli de coeren cu alte date;

    Securitatea datelor baza de date trebuie s fie protejat mpotriva distrugerilor logice

    (anomalii de actualizare) sau fizice. Pentru aceasta exist instrumente ce sunt capabile srealizezepuncte de repriz(nregistrarea de copii coerente ale bazei de date la anumitemomente de timp) i s gestioneze unjurnal de tranzacii (lista operaiilor realizateasupra bazei de date dup ultimul punct de repriz);

    2

  • 8/8/2019 Curs III.1.2-Baze de Date

    3/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    Confidenialitatea asigurat prin identificarea utilizatorilor prin nume sau cod,autentificarea prin parole, autorizarea accesului difereniat prin drepturi de creare,consultare, modificare sau tergere pentru anumite segmente de date;

    Partajarea datelor permite nlnuirea tranzaciilor solicitate simultan pe aceeainregistrare din baza de date, prin blocarea cererilor n ateptare i deservirea ulterioar aacestora.

    I.3. Sistemul de gestiune al Bazelor de Date

    Sistemul de gestiune al bazelor de date (SGBD) este o interfa ntre utilizatori i baza de date, carepermite ca faciliti principale crearea, actualizarea i consultarea acesteia. Din acest punct devedere SGBD poate fi considerat un instrument de asamblare, codificare, aranjare, protecie iregsire a datelor n baza de date.

    Funciunile principale ndeplinite de un SGBD sunt:- memorarea datelor pe suportul extern prin sistemul de gestiune a fiierelor;- gestiunea datelor i a legturilor dintre ele n vederea unei regsiri rapide prin

    intermediul sistemului de acces (SGBD intern);- introducerea i extragerea datelor din baza de date n forma cerut de utilizator (SGBD

    extern).

    Consultarea unei date din baza de date trebuie s se deruleze ca principiu n mai multe etape care sesucced ntr-o ordine stabilit. Programul de aplicaie emite o cerere de consultare a unei date simplesau grupate din baza de date; aceast cerere este recepionat de SGBD care consult schema

    aferent programului de aplicaie care a emis cererea i obine descrierea logic a datei solicitate, pecare o compar cu descrierea acesteia n schema conceptual. n continuare sistemul consultstructura fizic n raport cu descrierea logic i determin nregistrarea fizic n care se afl datacerut dup care lanseaz cereri ctre sistemul de operare care caut nregistrarea fizic i o pune ladispoziia SGBD care apoi o pune la dispoziia programului de aplicaie.

    3

  • 8/8/2019 Curs III.1.2-Baze de Date

    4/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    II. SGBD Access

    II.1. Prezentare general

    SGBD Microsoft Access face parte di pachetul de programe Microsoft Office alturi de altecomponente tradiionale cum sunt: Microsoft Word, Excel, PowerPoint i Outlook iar versiunea2000 Microsoft Office mai conine i Publisher, FrontPage, PhotoDraw i Small Business Tools.

    Principalele caracteristici ale SGBD Access sunt: este relaional i lucreaz sub sistemul de operare Windows; este deschis comunicrii cu alte sisteme de gestiunea bazelor de date cum ar fi FoxPro

    sau Paradox; este compatibil cu tehnologia ActiveX, care permite realizarea de aplicaii client / server;

    permite comunicarea cu Microsoft SQL Server, un alt produs software de gestiune abazelor de date; permite accesul la baze de date din reeaua Internet precum i publicarea de informaii n

    pagini 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; permite crearea de comenzi rapide (shortcuts) pentru accesarea obiectelor Access; permite crearea de obiecte definite de utilizator n cadrul bazei de date; permite personalizarea bazei de date;

    permite utilizarea obiectelor Access din cadrul altor aplicaii rulate sub sistemul deoperare Windows.

    n versiunea 2000 a SGBD Access au fost introduse o serie de faciliti noi cum ar fi: Interfaa grafic a fost modificat, fiind mai uor de utilizat; Se permite publicarea datelor folosind pagini HTML dinamice; Dimensiunea bazei de date se poate reduce folosind facilitatea de compactare; Se pot crea aplicaii care s utilizeze baze de date stocate n SQL Server prin intermediul

    reelei.

    Baza de date Access

    Spre deosebire de alte sisteme de gestiune a bazelor de date (cum ar fi FoxPro spre exemplu) undeprin baz de date se nelege doar colecia de fiiere n care sunt stocate datele, baza de date Accesspoate fi definit ca o colecie de obiecte de mai multe tipuri:

    Tabele (Tables) sunt obiecte definite de utilizator n care sunt stocate datele primare; Formulare (Forms) sunt obiecte care permit introducerea datelor, afiarea acestora

    sau controlul aplicaiei; Cereri de interogare (Queries) sunt obiecte care permit vizualizarea informaiilor

    obinute prin prelucrarea datelor din una sau mai multe tabele i / sau alte cereri deinterogare;

    Rapoarte (Reports) sunt obiecte care permit formatarea i tiprirea informaiilorobinute n urma consultrii bazei de date, sub form de documente;

    4

  • 8/8/2019 Curs III.1.2-Baze de Date

    5/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    Pagini Web de accesare a datelor (Pages) sunt obiecte care include fiiere HTML ialte fiiere suport n vederea furnizrii accesului la date prin intermediul browseruluiInternet;

    Comenzi Macro (Macros) sunt obiecte ce conin definiii structurate ale uneia saumai multor aciuni pe care Access le realizeaz ca rspuns la un eveniment;

    Module (Modules) reprezint obiecte care conin proceduri definite de utilizator iscrise n limbajul de programare Visual Basic.

    Crearea unei baze de date

    La pornire SGBD Access afieaz un ecran de dialog ce pune la dispoziie dou posibiliti: creareamanual a unei baze de date goale (Blank Access database) sau crearea unei BD cu ajutorulasistentului (Access database wizards, pages and projects).

    Cea de-a doua variant pune la dispoziia utilizatorilor mai puin iniiai un set de modele de baze dedate specifice anumitor domenii. n funcie de problema care trebuie rezolvat acetia vor alegeunul din aceste modele pe care l vor adapta ulterior.

    Pentru crearea manual a unei baze de date noi se selecteazBlank Access database i se d clickapoi pe OK. n fereastra de dialogFile New Database se introduce numele bazei de date ce sedorete a se crea i apoi se d click pe Create.

    Deschiderea i salvarea unei baze de date

    Dac se dorete modificarea sau consultarea unei baze de date creat anterior aceasta poate fideschis din fereastra principal prin selectarea opiunii Open an existing file i apoi click pe OK.Se va deschide apoi fereastra de dialog Open ce permite selectarea bazei de date dorite.

    Prin modificarea unei baze de date Access se nelege modificarea obiectelor din componenaacesteia. Dup modificarea unui obiect, la nchiderea acestuia sistemul va solicita s se specificedac modificrile realizate vor fi sau nu salvate. n concluzie, modificrile obiectelor se salveazlocal i ca atare nu este necesar salvarea ntregii baze de date.

    II.2. Crearea structurii bazei de date

    n vederea nelegerii modului n care se creeaz o aplicaie n Access vom folosi n continuare uncaz practic. Pentru aceasta vom considera cazul unui sistem informatic de gestiune a materialelor ncadrul cruia se dorete evidenierea furnizorilor, a facturilor, a magaziilor, a tipurilor de materialei a bonurilor de consum. n scopul simplificrii ntr-o anumit msur a problematicii se presupunec materialele cuprinse ntr-o factur sunt destinate unei singure magazii; de asemenea se considerc materialele au un pre de achiziie fix independent de furnizor i c recepia materialelor se facede o magazie pe baza facturii iar eliberarea acestora se face ctre secii pe baza bonurilor de consum

    Modelul conceptual al datelor

    n urma analizei problemei rezult urmtoarele entiti:furnizor,factur, material, magazie i bon

    de consum. De asemenea se pot identifica urmtoarele corespondene:- furnizor factur : un furnizor poate emite de la 1 la n facturi corespondena

    emite;

    5

  • 8/8/2019 Curs III.1.2-Baze de Date

    6/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    - factur material : ntr-o factur sunt cuprinse de la 1 la n materiale n diferite cantiti corespondena poziie factur cu atributul cantitate intrat;

    - factur magazie : o magazie poate primi de la 1 la n facturi corespondena

    primete;- bon de consum material : ntr-un bon de consum sunt cuprinse de la 1 la n materiale

    n diferite cantiti corespondena poziie bon de consum cu atributul cantitateieit;

    - bon de consum magazie : o magazie poate emite de la 1 la n bonuri de consum corespondena destinat;

    - facturi facturi : o factur poate fi stornat de 0 sau n facturi de stornare corespondena se storneaz.

    Corespondenele identificate conform celor enumerate mai sus primesc urmtoarele cardinaliti:-

    emite: dinspre entitatea furnizor(1,n) iar dinspre entitatea factur(1,1);- primete: dinspre entitatea magazie(1,n) iar dinspre entitatea factur(1,1);- poziie factur: dinspre entitatea factur(1,n) iar dinspre entiatea material(1,n);- poziie bon de consum: dinspre entitatea material(0,n) iar dinspre entitatea bon de

    consum(1,n);- destinat: dinspre entitatea bon de consum(1,1) iar dinspre entitatea magazie(1,n);- se storneaz: o factur poate s nu fie stornat sau poate s fie stornat de mai multe

    ori -> factur(0,n) i de asemenea o factur poate storna o singur factur -> factur(1,1).

    Modelul logic (relaional) al datelor este urmtorul:- furnizori(cod furnizor, denumire furnizor, adresa furnizor, cod fiscal, banca, cont);

    - factur(numr factur, data factur, cod furnizor, cod magazie, numr factur stornat,cota tva);

    - magazie(cod magazie, denumire magazie, gestionar);- coninut factur(numr factur, cod material, cantitate intrat, pre factur);- material(cod material, denumire material, unitate de msur);- bon de consum(nr bon de consum, data bon de consum, denumire secie, cod magazie);- coninut bon de consum(nr bon de consum, cod material, cantitate ieit)

    n care s-au marcat cheile primare i cheile strine.

    Acest model relaional poate fi transpus ntr-un model fizic corespunztor unei baze de date Access

    folosind opiunea Tools->Relationships din meniul sistemului.

    Crearea tabelelor

    Crearea structurii tabelelor se poate face: utiliznd fereastra de proiectare (Create table in designview), prin introducerea datelor (Create table by entering data) sau utiliznd un wizard(Createtable by using wizard).

    Folosind instrumentul wizardse pot aduga cmpuri standard ce se afl deja n cadrul bibliotecilorde tabele standard. n acest caz cmpurile din cadrul tabelelor standard au fost create pentrusistemul de lucru anglo-saxon.

    n situaia cnd se opteaz pentru utilizarea design view pe ecran va aprea fereastra Table cepermite definirea rnd pe rnd, pentru fiecare cmp n parte, a numelui cmpului, tipul de date i

    6

  • 8/8/2019 Curs III.1.2-Baze de Date

    7/30

  • 8/8/2019 Curs III.1.2-Baze de Date

    8/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    Hyperlink text sau combinaie de text reprezentnd adresa unei pagini Web sau, la modulgeneral, un URL (Uniform Resource Locator).

    Lookup Wizard pentru crearea de cmpuri ce permit utilizatorului s aleag valori din cadrulaltor tabele sau dintr-o list prestabilit de valori.

    Formate de afiare

    Stabilirea modului de afiare a datelor introduse n cmpurile tabelelor se face folosind proprietateaFormat. Aceast proprietate nu afecteaz modul de introducere a datelor. Pentru toate tipurile dedate pot fi folosite urmtoarele simboluri:

    - (spaiu) afieaz spaiile drept caractere distincte;- ABC afieaz orice se afl n interiorul ghilimelelor aa cum a fost tastat;

    - ! foreaz alinierea la stnga, n loc de aliniere la dreapta;- * completeaz spaiul disponibil cu caracterul specificat imediat dup *;- \ afieaz urmtorul caracter aa cum a fost tastat (acelai lucru se poate obine i prin

    includerea caracterelor de afiat ntre ghilimele);- [culoare] permite afiarea caracterelor cu culoarea specificat ntre paranteze. Valorile

    posibile sunt:Black, Blue, Green, Cyan, Red, Magenta, Yellow, White.

    ProprietateaFormatfolosete diverse simboluri i combinaii ale acestora pentru tipuri diferite dedate.

    Alte proprieti ce se pot defini pentru cmpuri

    n cadrul ferestrei de proprieti ale cmpului se mai pot defini:- dimensiunea cmpului (Field Size);- numrul de zecimale (Decimal Places);- formatul de introducere (Input Mask);- eticheta (Caption) pentru specificarea capului de coloan;- valoarea implicit (Default Value);- regula de validare (Validation Rule);- textul de validare (Validation Text) mesaj explicativ n legtur cu violarea regulii de

    validare;- prezena datelor obligatorie (Required);- indexat (Indexed) se specific dac se face sau nu indexare dup cmpul respectiv.- Se admit date de lungime zero (Allow Zero Length) pentru date de tip Memo i Text.

    Prin activarea tab-uluiLookup din panoul de proprieti, se pot specifica o serie de proprieti carese refer n principal la sursa de introducere a datelor. Aceste pot fi:

    - Display Control tipul de control folosit pentru afiarea cmpului n tabele, formularesau rapoarte. Acesta este de obicei Text Box dar poate fi modificat nList Box sauCombo Box n situaia n care cmpul respectiv este cheie extern i ca atare face referirela o cheie primar dintr-o alt tabel;

    - Row Source type n situaia n careDisplay Controla fost setat caList Box sau ComboBox trebuie specificat sursa de date care poate fi: tabel sau cerere de interogare

    8

  • 8/8/2019 Curs III.1.2-Baze de Date

    9/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    (Table/Query), list de valori specificat de utilizator (Value List) sau list de cmpuridin alt tabel (Field List);

    - Row Source n situaia n care s-a specificat Table/Query sauField ListpentruRow

    Source Type aici se menioneaz numele tabelei sau a cererii de interogare de unde vor fipreluate datele iar n situaia n care s-a selectat Value Listse vor introduce valorile dinlist separate prin virgul;

    - Bound Column se specific numrul coloanei din care vor proveni datele n situaia ncare acestea vor proveni din mai multe coloane;

    - Colum Count numrul de coloane ce vor fi preluate;- Column Heads se specific dac va fi afiat sau nu eticheta coloanei preluate;- Column Widths specific limea de afiare a coloanelor din sursa de date. Dac o

    coloan din tabela surs nu trebuie afiat atunci I se va specifica limea de afiare 0;- List Row se specific numrul de rnduri ce vor fi afiate n caset pentru Combo Box;-

    List Width se specific limea de afiare pentru Combo box;- Limit to List se specific dac valorile cmpului se vor limita doar la cele afiate n

    Combo Box. n situaia n care se selecteazNo utilizatorul poate introduce i valori noi.

    Relaii ntre tabele

    Din punctul de vedere al momentului crerii acestora, exist dou tipuri de relaii ntre tabelele uneibaze de date Access:

    - relaii permanente sunt cele ce se stabilesc dup definirea tabelelor i sunt cerute demodelul relaional. Acestea sunt parte component a structurii bazei de date i serealizeaz de obicei prin corespondene de tipul cheie primar cheie extern;

    - relaii temporare se stabilesc ntre tabele cu ocazia definirii unor cereri de interogare inu se nregistreaz n structura bazei de date.

    Relaiile care se pot stabili ntre tabele sunt de trei tipuri:- unu la mai muli (one to many);- unu la unu (one to one);- mai muli la mai muli (many to many):

    n exemplul prezentat anterior, dac am ncerca s definim o relaie ntre furnizori i magaziiaceasta va fi de tipul many to many. Introducerea tabeleifactura a transformat aceast relaie n

    dou relaii one to many.Definirea relaiilor se realizeaz folosind fereastraRelationships. O relaie dintre dou tabele serealizeaz prin operaia de drag and drop de la cheia primar a tabelei principale la cheia extern atabelei secundare. Cu aceast ocazie Access va deschide fereastra de dialogEdit Relationships ncare se observ legtura stabilit i unde se mai pot stabili alte cteva opiuni:

    - Enforce Referential Integrity pentru a face n aa fel nct, dac se introduce onregistrare nou n tabela secundar, se verific dac valoarea cheii externe se gsete ntabela primar, ceea ce nseamn c este necesar completarea mai nti a datelor dintabela principal i apoi a celor din tabela secundar;

    - Cascade Update Related Fields n situaia n careEnforce Referential Integrity a fost

    activat, n momentul modificrii valorii cheii primare n tabela principal se vormodifica i valorile corespondente din tabela secundar;

    9

  • 8/8/2019 Curs III.1.2-Baze de Date

    10/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    - Cascade Delete Related Records activ doar dac s-a selectat n prealabilEnforceReferential Integrity, are ca efect tergerea tuturor nregistrrilor din tabela secundar ceau o anumit valoare pentru cheia extern n momentul tergerii cheii primare din tabela

    principal.

    Dup definirea structurii bazei de date, folosind Tools->Analyse->Documenterse poate genera oimagine imprimabil a oricrei tabele din componena acesteia.

    Restricii privind dimensiunile tabelelor:- numrul maxim de cmpuri este de 255;- numrul maxim de indeci este de 32;- un index multiplu poate fi definit pe maximum 10 cmpuri;- o nregistrare nu poate depi 4KB, excluznd cmpurile Memo i obiecteleActiveX;-

    dimensiunea maxim a unui cmp Memo este d 2GB.II.3. Formulare

    Formularele (Forms) reprezint interfaa principal ntre utilizator i o aplicaie Access. Acesteasunt obiecte ale bazei de date ce permit introducerea i afiarea datelor. n cadrul unei aplicaiiformularele pot ndeplini urmtoarele funcii:

    Afiarea i editarea datelor este cea mai frecvent ntlnit utilizare a formularelor.Formularul permite vizualizarea datelor n forma dorit de proiectantul aplicaiei i deasemenea datele pot fi modificate sau terse;

    Controlul operaiilor realizate de aplicaie mpreun cu comenzi macro sau cu

    proceduri Vizual Basic formularele pot realiza afiarea automat a anumitor date sauexecutarea automat a unui ir de operaii (cum ar fi deschiderea de subformulare ntr-unformular);

    Introducerea de date; Afiarea de mesaje se pot furniza informaii privind modul n care aplicaia poate fi

    utilizat sau despre operaiile ce urmeaz a fi executate; Tiprirea informaiilor funcie destul de rar folosit.

    Formularele sunt compuse din trei pri: antetul, zona de detaliu ui subsolul. Zona de detaliu estecea n care se prezint datele. Antetul i subsolul conin informaii statice. Spre exemplu, antetul

    poate conine numele formularului i capul de tabel (denumirea cmpurilor) iar subsolul poateconine denumirea programului.

    Crearea formularelor se poate face folosind instrumentul wizardpentru creare automat saufolosind fereastra de proiectare (Design View). n vederea obinerii n mod eficient a unor formulare

    performante este recomandat ca acestea s fie iniial create folosind instrumentul wizardi apoi sse modifice folosind fereastra de proiectare n scopul adugrii de faciliti suplimentare.

    Pentru crearea folosind instrumentul wizarddin caseta de dialogNew Form se va selectaFormWizardiar din lista derulant prezent n partea de jos a acestei casete se va selecta tabela cu care valucra formularul, dup care se d click pe OK. Fereastra urmtoare i aparine instrumentului wizard

    i permite selectarea cmpurilor asupra crora va opera formularul n lucru. Prin click pe Next se vatrece la fereastra urmtoare ce permite selectarea modului de prezentare al datelor (Columnar,Tabular, Datasheet, Justified) din care cel mai utilizat este cel de tip coloan (Columnar). Fereastraurmtoare prezint o list de stiluri de afiare disponibile; un stil conine un anumit tip de fundal,

    10

  • 8/8/2019 Curs III.1.2-Baze de Date

    11/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    anumite tipuri de caractere, culori, etc. Prin acionarea butonului Next se trece la stabilirea numeluiformularului i se poate alege aciunea ce se va realiza dup ncheierea cu Finish a wizard-ului:deschiderea n fereastra de proiectare sau n modul de introducere / editare al datelor.

    n fereastra de proiectare a formularelor sunt disponibile urmtoarele controale:- Select Objects este instrumentul activat implicit. Acesta se folosete pentru selectarea

    obiectelor din ecran n vederea realizrii de diverse modificri asupra acestuia;- Control Wizards folosit pentru activarea / dezactivarea programelorControl Wizards

    ce permit generarea controalelor complexe cum sunt grupurile de opiuni, casetele deliste i casetele combinate;

    - Label (etichet) caset ce conine texte fixe de descriere sau instruciuni de utilizare;- Text Box (caset de text) caset ce permite afiarea i editarea datelor de tip text;- Option Group (grup de opiuni) caset dreptunghiular de dimensiune variabil n

    care se pot plasa: butoane comutatoare, butoane de opiune sau casete de validare.Numai un singur obiect din interiorul acestei casete poate fi selectat la un moment dat;- Toggle Button (buton comutator) buton ce trece din starea On n starea Offi invers

    atunci cnd este selectat.- Option Button (buton de opiune) buton rotund care se comport identic cu un buton

    comutator. Butoanele de acest tip sunt folosite cel mai frecvent n grupurile de opiunepentru selectarea unei valori dintr-un set de opiuni;

    - Check Box (caset de validare) la selectarea creia aceasta comut din starea On nstarea Offi invers. Acestea trebuiesc plasate n afara grupurilor de opiune n situaia ncare dorim s selectm mai multe opiuni simultan;

    - Combo Box (caset combinat) combinaie ntre o caset de text editabil n care se

    pot introduce valori i o list ce permite selectarea de valori dintr-un text;- List Box (caset de tip list) caset care conine o list derulant de opiuni din care

    putem selecta o valoare;- Command Button (buton de comand) atunci cnd se execut click pe acesta se

    starteaz un eveniment care execut o comand macro sau o procedur VBA;- Image (imagine) afieaz un element grafic static. Un element de acest tip nu poate fi

    editat dup ce a fost plasat n formular;- Unbound Object Frame (obiect neasociat) insereaz un obiect creat cu o aplicaie

    server OLE cum ar fi Microsoft Graph sau Microsoft Draw.- Bound Object Frame (obiect asociat) pentru inserarea unui obiect OLE inclus ntr-un

    cmp al unei tabele dac acesta este de tip grafic. n cazul n care acesta nu este grafic seva afia o pictogram ce reprezint obiectul.- Page Break (delimitator de pagin) determin imprimanta s treac la o pagin nou

    ncepnd cu poziia delimitatorului de pagin din formular sau raport. n modulRunaceste delimitatoare nu sunt afiate pe ecran;

    - Tab Control (schimbtor de pagin) acest control se folosete n vederea crerii uneiserii de pagini ce pot fi schimbate. Fiecare pagin va putea conine un numr decontroale;

    - Subform / Subreport (subformular / subraport) ataeaz unui formular (sau raport) unsubformular (respectiv un subraport).

    - Line (linie) creeaz o linie dreapt ce poate fi redimensionat i creia i se poatemodifica poziia;

    - Rectangle (dreptunghi) creeaz un dreptunghi ce poate fi redimensionat saurepoziionat;

    11

  • 8/8/2019 Curs III.1.2-Baze de Date

    12/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    - More Controls permite introducerea de controaleActiveXinstalate n sistem.

    Subformulare

    Un subformular este un formular inclus ntr-un alt formular pentru a permite afiarea datelor dinmai multe tabele sau cereri de interogare, aflate n general n relaii de tipul unu la unu sau unu lamai muli. Astfel, n formularul principal vor fi afiate datele din partea unu a relaiei, iar nsubformular, cele din partea mai muli. n mod implicit legtura dintre un formular i unsubformular reflect legtura dintre tabelele pe care se bazeaz acestea. ntr-un formular careconine un subformular se pot specifica criterii de filtrare numai asupra cmpurilor din formularul

    principal. Exemplu: folosind relaia 1-n dintre tabeleleFacturi Coninut facturse poate crea unformular unde se vor afia facturile i n care se poate include un subformular pentru afiareamaterialelor specificate n acea factur.

    Ca form de prezentare subformularul poate fi: foaie de date ce permite crearea ntr-un mod foartesimplu a unui tabel n care se pot face modificri privind dimensiunea i ordinea coloanelor sauformular ce ofer posibiliti multiple de aranjare a datelor, utilizarea culorilor, crearea de antete isubsoluri de pagin precum i includerea de cmpuri OLE.

    Pentru crearea unui formular ce include un subformular sunt posibile trei variante: creareaformularului i subformularului n acelai timp, crearea subformularului i adugarea lui la unformular existent sau crearea separat a celor dou formulare i apoi combinarea lor. Ultima varianteste cea mai simpl i necesit parcurgerea urmtoarelor etape:

    - se creeaz formularul principal i subformularul ca formulare independente;-

    se realizeaz legtura ntre formularul principal i subformular;- se verific legtura i apoi rezultatul.

    Pentru a aduce un subformular n formularul principal:- se deschide formularul principal n modDesign;- se trece n fereastraDatabase (se poate folosi tastaF11) i din categoriaForms se

    deplaseaz pictograma corespunztoare subformularului n spaiul formularuluiprincipal, ceea ce va avea ca efect adugarea unui control de tip subformular;

    - dac este cazul, se deplaseaz controlul de subformular n locul dorit i seredimensioneaz;

    - se d dublu click pe bordura subformularului pentru a afia lista de proprieti a acestuia;

    - se verific legtura dintre formularul principal i subformular prin proprietileLinkchild fields iLink master fields care sunt automat definite de Access pe baza legturilordintre tabele, dac acestea nu corespund cerinelor se pot modifica manual;

    - se trece n modulForms pentru verificarea rezultatului;- pentru a aduce modificri asupra formularului principal se poate comuta napoi pe

    modulDesign.

    II.4. Interogarea bazei de date

    Interogarea bazei de date se poate face n mai multe moduri:

    - prin vizualizarea n totalitate a coninutului tabelelor folosind foaia de date asociat(Datasheet View);- prin vizualizarea parial sau total a coninutului tabelelor cu ajutorul unor formulare

    sau situaii finale;12

  • 8/8/2019 Curs III.1.2-Baze de Date

    13/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    - prin cereri explicite.

    Primele dou moduri sunt interogri simple, fr restricii i se refer la o singur tabel.

    Interogarea prin cereri explicite este complex i se realizeaz n general pe mai multe tabele alecror date sunt filtrate folosind diverse criterii. n Access aceasta poate fi de cinci feluri: selecie(select), analiz ncruciat (crosstab), aciune (action), SQL (Structured Query Language) iparametrat (parameter). Rezultatul unei asemenea cereri este plasat ntr-o foaie de rspuns ce seaseamn foii de date asociate unei tabele.

    Avantajele obinute prin interogarea bazei de date folosind cereri explicite sunt:- selecia cmpurilor din tabele i a nregistrrilor acestora pe baza unor criterii impuse de

    necesitile informaionale;- ordonarea rezultatelor dup anumite criterii;- introducerea unor cmpuri calculate pe baza unor formule care opereaz cu cmpuri din

    tabele;- combinarea datelor ce provin din mai multe tabele;- modularitatea cererilor, ceea ce permite ca rezultatul unei cereri s poat fi folosit ca

    intrare pentru o nou cerere;- crearea unor formulare i rapoarte care au la baz cereri de interogare create anterior;- posibilitatea de realizare a unor reprezentri grafice pe baza unor cereri de tip analiz

    ncruciat.

    Modalitile posibile de creare a cererilor de interogare sunt:- proiectarea pas cu pas folosindDesign View;

    - utiliznd instrumentul wizard;- exprimarea cererii folosind limbajul SQL;- crearea unui filtru i salvarea acestuia ca cerere de interogare;

    Pentru crearea unei cereri de interogare folosindDesign Wizardtrebuiesc parcuri urmtorii pai:1. n fereastraDatabase se selecteaz seciunea Queries i apoiNew;2. n caseta de dialogNew Query se execut click peDesign View i apoi pe OK;3. Din caseta Show Table se selecteaz tabelele i interogrile ce se dorete a fi incluse n

    cererea ce se proiecteaz. Dup selectarea opiunii Close se poate accesa fereastra delucru ce este structurat pe dou seciuni:

    seciunea de afiare a structurii tabelelor / cererilor ce au fost selectateanterior i a legturilor dintre ele (dac exist); seciunea ce conine grila de proiectare (design grid) n care se va construicererea din punct de vedere structural i funcional. Aceast gril mai poart numelei de gril QBE(Query By Example).

    4. La crearea de interogri ce folosesc mai multe tabele trebuie verificat dac ntre eleexist legturile necesare pentru a rspunde cerinelor impuse de noua cerere deinterogare. n cazul n care se dorete realizarea unor legturi suplimentare, acestea se

    pot stabili interactiv;5. Cmpurile ce apar n structura unei cereri pot fi preluate sau calculate. Cmpurile

    preluate pot fi trecute n grila de proiectare prin drag and drop sau dublu click.

    Transferul ntregii liste de cmpuri dintr-o tabel sau cerere surs n grila de proiectarese poate face folosind linia ce conine *;

    6. Ordonarea datelor (cresctor sau descresctor) se poate face dup unul sau mai multecmpuri. Pentru aceasta se folosete poziia corespunztoare din linia Sortunde se poate

    13

  • 8/8/2019 Curs III.1.2-Baze de Date

    14/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    alegeAscendingsauDescending. Ordinea de sortare este ordinea de apariie n grila deproiectare a cmpurilor dup care se face sortarea, de la stnga la dreapta;

    7. n celulele aflate pe linia Criteria din grila de interogare se pot defini criterii de selecie

    care pot fi simple sau compuse. Criteriile simple pot fi: apartenena la un interval de valori :BETWEEN de_la AND pn_la; apartenena la o list de valori :IN (val1, val2,); expresii construite folosind operatori de comparaie: , =, , =; expresii construite folosind operatorul de negaie:NOT valoare; expresii ce fac referire la cmpuri ce conin sau nu valori:NOT NULL, IS

    NOT NULL sauNULL, IS NULL; conformitatea cu abloane de tip text. Textul specificat trebuie inclus ntreghilimele n cazul n care conine spaii i poate conine caractere generice (wildcard)cum sunt ? i *.

    Criteriile compuse se constituie prin legarea unor criterii simple folosind operatoriilogici I, SAU. Dac se dorete selecia dup mai multe criterii simple conectate prin Iacestea se vor specifica pe aceeai linie. Dac se dorete acelai lucru folosind SAU,atunci criteriile simple se vor specifica pe rnduri diferite.Exist de asemenea posibilitatea prelurii de valori pentru definirea criteriilor dinformulare ce au fost deja definite folosind prefixarea cmpului din formular cu numeleformularului i al obiectului Forms (ex.:Forms![nume_formular]![nume_cmp] .Pentru determinarea numrului de nregistrri dintr-o tabel se poate folosi count(*).

    8. Pentru crearea de cmpuri calculate: se selecteaz coloana i se introduce comanda View->Totals ce va duce laapariia n grila de proiectare a liniei Total;

    se selecteazExpression n linia Total; n prima linieFieldse introduce formula de calcul care are urmtoarea formgeneral: nume-rezultat: [cmp1]operator[cmp2]

    n coloana Totals sunt prezente de asemenea i opiuni corespunztoare unor calculepredefinite (SUM, AVG, MIN, MAX, COUNT, STDEV, FIRST, LAST).

    9. Se salveaz cererea de interogare cuFile->Save.

    Cereri de interogare tip analiz ncruciat

    Aceste cereri permit generarea de tabele complexe sub form matriceal n care numele liniilor icoloanelor reprezint criterii mixte de grupare iar valorile din celulele tabelului se obin prinaplicarea unei funcii predefinite (Sum, Min, Max etc.) asupra unui cmp din tabel. Crearea uneicereri de interogare de acest tip se face folosind Query->Crosstab Query i apoi se specificcmpurile ce furnizeaz liniile, coloanele i valorile din tabel.

    Cereri de interogare de tip aciune

    Acestea se folosesc pentru:- crearea de noi tabele pe baza celor existente;- tergerea de nregistrri din una sau mai multe tabele;- modificarea datelor dintr-un grup de nregistrri;

    - adugarea unui grup de nregistrri la o tabel existent.

    Etapele de realizare a unei interogri de tip aciune se face n trei etape:- crearea unei cereri de interogare de tip selecie i verificarea rezultatului acesteia;

    14

  • 8/8/2019 Curs III.1.2-Baze de Date

    15/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    - transpunerea cererii de interogare de tip selecie ntr-o cerere de tip aciune;- verificarea rezultatelor n tabele;- selectarea tipului de interogare folosind una din opiunile prezente n meniul Query:

    Make-Table Query, Update Query, Append Query, Delete Query;

    Cereri de interogare parametrate

    Sunt utile atunci cnd criteriile de selecie trebuiesc modificate frecvent. Avantajul unei cereriparametrate este acela c permite ca unele criterii din cadrul acesteia s primeasc valori nmomentul executrii acesteia.

    Etapele de realizare sunt urmtoarele:- se lanseaz operaia de realizare a cererii;-

    se selecteaz tabelele n zona de lucru i se aduc cmpurile dorite n grila de proiectare;- se introduce numele parametrilor urmai de caracterul : ntre paranteze drepte laintersecia liniei Criteria cu cmpurile crora li se vor aplica criterii parametrate;

    - se alege Query->Parameters n care se vor introduce numele parametrilor definii ngrila de proiectare i tipurile acestora;

    - dup nchiderea i salvarea cererii, aceasta poate fi activat folosind View->Datasheetview. La activare se va solicita utilizatorului valorile parametrilor stabilii n cadrulcererii.

    II.5. Rapoarte

    Rapoartele (numite i situaii finale) constituie finaliti ale ciclului de creare-actualizare-exploatarea unei baze de date, coninutul lor fiind vizualizat pe ecran, ori listat la imprimant. n Accesscrearea de rapoarte se realizeaz apelnd la butonulNew prezent n seciuneaReports a ferestrei

    bazei de date ce pune la dispoziie urmtoarele posibiliti:- crearea rapoartelor asistat de utilitarul wizardurmat de selecia variantei de lucru

    Report Wizard ce permite generarea de rapoarte complexe, fr cunoatereaamnunit a facilitilor Access;

    - realizarea rapoartelor de ctre utilizator folosind opiunea Design View;- generarea automat, fr intervenia utilizatorului, a unor rapoarte n care datele sunt

    prezentate fie pe o singur coloan (Autoreport: Columnar), fie sub form de table

    obinuit (Autoreport: Tabular);- crearea de rapoarte sub form de grafic (cu opiunea Chart Wizard);- realizarea unor rapoarte de dimensiunea unor etichete ce pot fi utilizate pentru

    coresponden (Label Wizard).

    Rapoartele pot cuprinde date dintr-una sau mai multe tabele i/sau interogri sau pot exista rapoartecare nu au o anumit surs de date dar care pot ngloba informaii utile subrapoartelor definite petabele sau interogri ntre care nu au fost stabilite relaii. ntre rapoarte i formulare exist foartemulte elemente comune, cum ar fi:

    - ambele sunt mprite n seciuni n mod asemntor (Report Header / Footer,PageHeader / Footer,Detail);

    - controalele ce pot fi utilizate sunt aceleai cu meniunea c unele dintre acestea (cum arfi casetele de tip list sau combinate sau butoanele de comand) sunt inutile n cazulrapoartelor;

    15

  • 8/8/2019 Curs III.1.2-Baze de Date

    16/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    - proprietile controalelor sunt similare cu observaia c n rapoarte nu sunt activeproprietile din categoriaEvent.

    Generarea rapoartelor asistat de Wizard

    Trebuiesc parcurse urmtoarele etape:1. Se selecteazReports, New i apoi, n fereastraNew Reportse alege variantaReport

    Wizard;2. Se precizeaz numele tabelei, sau a interogrii, care va fi sursa de date pentru raportul de

    realizat;3. n fereastra urmtoare se vor selecta cmpurile ce vor alctui structura raportului

    folosind butoanele >, >>, Sorting and Grouping;- Se aduc n seciuneaDetailcmpurile ce vor alctui structura raportului i se definesc

    cmpurile calculate scriind n casetele de tip text formula de calcul. Pentru afiarea listeide cmpuri se poate apela la View->Field List. Este recomandat ca etichetele ataate n

    mod automat cmpurilor s fie terse i copiate n seciuneaPage Header. De asemeneapentru crearea casetelor care s afieze valori de tipul numrului curent se va ataa

    16

  • 8/8/2019 Curs III.1.2-Baze de Date

    17/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    proprietii Control Source expresia =1 i apoi laRunning Sum se va alege domeniulde numerotare (pe grup sau total);

    - Pentru totaluri se proiecteaz n Group Footersau Page/Report Footeretichetele i

    casetele text necesare i apoi se nscriu funciile corespunztoare (sum(), avg(), min(),max, etc.);

    Proprieti ale obiectelor de tip raport i ale seciunilor lor

    Rapoartele conin patru categorii de proprieti: Format ce cuprinde urmtoarele:- Caption pentru stabilirea unui titlu pe bara albastr n modulprint preview;- Page Headeri Page Footer pentru specificarea paginilor din raport pe care se vor

    afia antetul, respectiv subsolul de pagin;-

    Picture pentru specificarea unui fiier de tip imagine ce va fi afiat pe fundal;- Picture Pages se precizeaz paginile pe care se va afia fundalul; Data

    - Record Source se precizeaz o tabel, o interogare sau o fraz Selectcare constituiesursa de date pentru raportul respectiv;

    - Filter permite stabilirea unei condiii-filtru pe care trebuie s o ndeplineasc datele cevor fi afiate n raport;

    - Filter On dac s-a setat Yes, criteriul specificat n devine activ;- Order By se specific cmpurile de sortare n ordinea gradului de generalitate, cu

    virgul ntre ele;- Order By On permite activarea / dezactivarea proprietii Order By. Event proprieti de tip evenimentpermite specificarea funciilor, procedurilor sau

    macro-urilor ce se vor ataa evenimentelorOpen, Close,Activate,Deactivate iNoData.

    Other alte proprieti

    - Record Locks permite blocarea informaiilor folosite n raport n timpul afiriiacestora;

    - Date Grouping pentru utilizarea tipului implicit de dat sau a tipului setat de utilizator;- Fast Laser Printing permite realizarea unei tipriri rapide a raportului.

    Seciunile rapoartelor conin la rndul lor proprieti, dar n numr mai mic. Ele folosesc la

    atribuirea unui nume de seciune (Name), la stabilirea saltului la pagin nou (Force New Page), laascunderea sau afiarea datelor (Visible), etc.

    II.6. Comenzi macro

    n Microsoft Access comenzile macro reprezint o modalitate simpl i eficient de automatizare aanumitor operaii, oferind posibilitatea dezvoltrii de aplicaii de complexitate sporit fr afi necesare cunotine de Visual Basic. Practic, o macrocomand este o aciune sau osecven de aciuni specificate printr-o list ce realizeaz aciuni cum ar fi deschiderea saunchiderea formularelor, tiprirea rapoartelor, lansarea n execuie a altor programe, salvareanregistrrilor sau execuia unor secvene SQL.

    17

  • 8/8/2019 Curs III.1.2-Baze de Date

    18/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    Crearea unei comenzi macro

    1. Se selecteaz eticheta Macros a bazei de date i se d click pe butonulNew.

    2. n coloanaAction se selecteaz din list aciunea dorit;3. Se completeaz n coloana Commentexplicaii cu privire la aciunile selectate;4. n grilaAction Arguments din parte de jos a ferestrei se completeaz argumenteleaciunii selectate. Coninutul acestei grile se modific funcie de aciunea selectat.

    Lansarea n execuie a unei comenzi macro

    Sunt disponibile urmtoarele variante:- lansare direct prin dublu click pe pictograma asociat macrocomenzii sau Macro->Run

    Macro din meniul Access;- executarea prin intermediul unui alt macro selectnd din lista de aciuni opiunea

    RunMacro. n acest mod se poate realiza i executarea repetitiv a macrocomenzilor;- lansarea dintr-o procedur Visual Basic;- lansarea n execuie ca rspuns la un eveniment. Acest mod se obine prin ataarea unui

    macro unui obiect, ca rspuns la un eveniment survenit n desfurarea aplicaiei;- adugarea unui nou buton ntr-o bar de instrumente prin apelarea meniului Tools->

    Customize;- lansarea n execuie n momentul deschiderii bazei de date prin crearea unui macro cu

    numele autoexec. Acesta va fi declanat la fiecare deschidere sau compactare a fiieruluidac nu se ine tasta Shiftapsat;

    - ca rspuns la apsarea unei combinaii de taste. Pentru aceasta se va crea un grup macro

    (folosind opiunea View->Macro Names n fereastra de editare a macrourilor). Grupulmacro va conine n coloana Macro Name combinaia de taste corespunztoare fiecreiaciuni (pentru redarea tastei Ctrlse folosete simbolul ^).

    18

  • 8/8/2019 Curs III.1.2-Baze de Date

    19/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    III. Interfaarea SGBD Access cu alte aplicaii

    III.1. Importul i exportul de date

    Importul de date

    n momentul cnd se dezvolt o aplicaie datele ce trebuiesc prelucrate este posibil s fie disponibilen alt format dect formatul MDB al lui Microsoft Access. Pentru utilizarea unor astfel de date sunt

    puse la dispoziie dou posibiliti: crearea unei legturi ctre sursa extern de date i importulacestora.

    Legtura la o surs extern reprezint o interfa Access ctre datele existente ntr-un fiier alaltei aplicaii. Se pot efectua modificri, tergeri i adugiri fr a schimba formatul n care suntdisponibile datele. Un neajuns al acestei metode este imposibilitatea de a aduce modificri nstructura tabelei. Pentru crearea unei legturi la o surs extern se poate selectaNew din seciuneaTables a ferestreiDatabase i apoi se va selecta variantaLink Table.

    Importarea datelor implic convertirea acestora din formatul n care sunt stocate n fiierul sursi copierea lor ntr-o nou tabel Access. Modificrile care vor fi aduse se vor reflecta doar asupradatelor copiate nu i asupra fiierului din care au fost preluate. Pentru a realiza importul se poateselectaNew din seciunea Tables a ferestreiDatabase i apoi se va selecta variantaImport Table.

    Microsoft Access poate importa date din formate precum: Dbase, Paradox, FoxPro, Lotus 123,Excel, fiiere text, Microsoft Exchange sau chiar fiiere HTML. n cazul n care sursa de date este

    tot un fiier Access (eventual o versiune mai veche) exist posibilitatea de import i pentru alteobiecte cum sunt rapoarte, formulare, interogri i module.

    Exportul de date

    Exportul presupune realizarea unei copii a datelor din Access n formatul solicitat de programuldestinaie. Exist posibilitatea exportului ctre alte baze de date Access sau ctre fiiere Dbase,Paradox, Microsoft Excel, Microsoft Word, FoxPro, Lotus 123, HTML sau fiiere text. Pe lngexportul datelor se pot exporta de asemenea i alte obiecte pentru a putea fi reutilizate n contextulunei alte aplicaii Access. Pentru a realiza exportul ctre o alt aplicaie se selecteaz n fereastra

    Database obiectul dorit i apoiFile->Export.

    Pentru realizarea comunicrii cu Microsoft Word i Microsoft Excel sunt disponibile prinintermediul Tools->Office Links opiunile:

    - Merge it With MS Word pentru folosirea datelor din Access ntr-o operaiune defuziune a documentelor (Mail Merge) disponibil n Microsoft Word;

    - Publish It with MS Word creeaz un fiier n format rich-textpe baza obiectuluiselectat n fereastraDatabase pe care l transfer apoi utilitarului MS Word;

    - Analyze It with MS Excel creeaz i deschide un fiier de tipul MS Excel pe bazaobiectului surs selectat;

    De asemenea sunt disponibile faciliti avansate privind comunicarea dintre aplicaii. Acestea pun ladispoziia programatorilor faciliti puternice ce permit aplicaiilor realizate n Access s realizezeschimburi de informaii cu alte programe. n aceast categorie se ncadreaz:

    - comunicarea prin OLE (Object Linking and Embedding);

    19

  • 8/8/2019 Curs III.1.2-Baze de Date

    20/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    - schimbul dinamic de date DDE (Dynamic Data Exchange);- obiecte ActiveX;- controale ActiveX personalizate;

    III.2. Interfaare Internet

    Sistemul de gestiune a bazelor de date Access ofer urmtoarele posibiliti de interfaare cu reeauaInternet:

    - pagini Web statice (fiiere de tip .html);- pagini web dinamice (Active Server Pages);- obiecte de tip pagin Web (Data Access Pages).

    Pentru crearea unei pagini Web statice se parcurg urmtoarele etape:

    - se selecteaz tabela, cererea de interogare, formularul sau raportul pe care dorim s-lpublicm pe Internet;- se activeaz comandaFile->Exportcare va afia o fereastr de dialog pentru salvarea

    obiectului selectat anterior;- n fereastra de dialog se specific calea, numele fiierului i tipul acestuia (HTML);- se specific un template ce permite afiarea paginii Web ntr-un format mai atractiv;

    Crearea unei pagini Web de tip ASP (Active Server Pages)

    ASP este o pagin Web ce conine un program de tip script n limbaj VBScript care se execut peserverul de Web. La accesare, scriptul respectiv este executat i produce un rezultat ce va fi trimisclientului. Prelucrarea fcut de script const n deschiderea bazei de date, execuia unei cereri deinterogare, formatarea rezultatului i trimiterea acestuia ctre clientul care l-a solicitat.

    Paginile ASP pot fi prelucrate numai pe un server Web Microsoft, adicInternet InformationServer (IIS) sau pentru testare la nivel localPersonal Web Server. Acestea sunt stocate n fiiere.asp i trebuiesc catalogate ntr-un folder pe server unde se regsesc programele executabile.

    Multe pagini ASP folosesc obiecteActiveX(ActiveX Objects) care sunt module software folositepentru interfaarea cu Microsoft Office.ActiveXData Objects (ADO) este o colecie de obiecteActiveXspecializate n prelucrarea bazelor de date, fcnd parte din SGBD Access versiunea 2000.Open Database Connectivity (ODBC) este o interfa standard ntre baze de date diferite.

    nainte de crearea i testarea unei pagini Web de tip ASP este necesar definirea legturii bazei dedate cu sistemul prin crearea unui aa numitData Source Name (DSN) n configurarea ODBC.

    DSNpoate fi de trei tipuri: User DSN disponibil numai dac utilizatorul este conectat la reea,System DSN vizibil de ctre toi utilizatorii iFile DSN memorat ntr-un fiier. Cel mai utilizateste System DSN.

    Pentru crearea unei pagini ASP se selecteaz tabela, cererea de interogare, formularul sau raportul ise activeaz comandaFile->Exportcare va afia fereastra de dialog pentru exportul obiectuluiselectat. Se selecteaz calea i numele fiierului ce trebuie exportat i apoi butonul Save care va

    duce la apariia ferestrei de dialog Microsoft Active Server Pages Output Options n care singurulelement care trebuie specificat obligatoriu esteData Source Name. Tot aici mai pot fi specificate ialte elemente cum ar fiHTML Template model pentru crearea paginii Web, User to Connect As i

    Password for User pentru specificarea numelui de utilizator i a parolei de conectare dac pagina

    20

  • 8/8/2019 Curs III.1.2-Baze de Date

    21/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    este protejat mpotriva accesului neautorizat, Server URL specific URL-ul care va gzduipagina i Session Timeout pentru stabilirea timpului maxim necesar pentru deschiderea bazei dedate (n general acesta este setat n driverul de acces la baza de date).

    21

  • 8/8/2019 Curs III.1.2-Baze de Date

    22/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    IV. Limbajul SQL

    IV.1. Noiuni generale

    Unul dintre cele mai puternice limbaje structurate pentru interogarea bazelor de date relaionale lconstituie n prezent SQL (Structured Query Language). Acesta a devenit standard pentru o gamdin ce n ce mai mare de sisteme de gestiune a bazelor de date. Limbajul SQL este un limbajneprocedural (declarativ) deoarece permite descrierea numai a informaiilor ce se doresc a fiobinute n urma interogrii, fr a fi nevoie s se stabileasc modalitile de a ajunge la rezultate.

    Instruciunile SQL, n funcie de rolul lor, pot fi grupate astfel:- instruciuni de definire a datelor care permit descrierea structurii bazei de date;- instruciuni de manipulare a datelor, n sensul adugirii, modificrii i tergerii

    nregistrrilor;- instruciuni de selecie a datelor care permit consultarea bazei de date;- instruciuni de procesare a tranzaciilor care privesc unitile logice de prelucrare i

    constituie n fapt operaii multiple de manipulare a datelor;- instruciuni de control al cursorului;- instruciuni privind controlul accesului la date.

    Pentru scrierea corect a unei instruciuni SQL n Access este necesar respectarea strict a unorreguli de sintax. Iat cteva dintre acestea:

    - orice instruciune SELECT se va ncheia cu ; ;- ntr-o interogare unde se folosesc cmpuri din cele mai multe tabele, pentru a separa

    numele tabelului de numele cmpului, se va utiliza ; ;- parantezele drepte ncadreaz numele de cmpuri doar cnd acestea conin spaii sau

    simboluri neacceptate de SQL;- pentru a delimita parametrii dintr-o list se utilizeaz virgula;- valorile de tip ir de caractere se delimiteaz prin apostrof sau ghilimele;- inegalitile se specific folosind ;- simbolurile ? i * sunt folosite pentru a desemna unul sau mai multe caractere de

    nlocuire;- pentru a evidenia valorile de tip dat / timp se folosete delimitatorul #.

    IV.2. Instruciuni de definire a datelor

    n limbajul Access SQL sunt accesibile urmtoarele instruciuni de definire a datelor:CREATE TABLE Plecnd de la structura unei nregistrri i de la tipurile de date asociatecmpurilor din cadrul acesteia utilizatorul poate s creeze o tabel. Tipurile de date disponibile suntcele descrise anterior la seciunea cu privire la crearea structurii bazei de date.

    Sintax: CREATE TABLE nume_tabel(cmp1 tip_dat1 [NOT NULL], cmp2 tip_dat2 [NOTNULL], cmp1 tip_dat1 [NOT NULL], );

    Exemplu: CREATE TABLE vanzari(nr number, cod_m number, data_v date NOT NULL, localitchar);

    22

  • 8/8/2019 Curs III.1.2-Baze de Date

    23/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    ALTER TABLE permite adugarea unui cmp la o tabel existent. Nu este ns posibiltergerea unui cmp i adugarea de cmpuri la nivelul ntregii baze de date.

    Sintax: ALTER TABLE nume_tabel() ADD nume_cmp tip_dat;

    Exemplu: ALTER TABLE personal_vanzare ADD telefon integer;

    DROP TABLE se folosete pentru tergerea complet a unei tabele dintr-o baz de date (inclusivindecii i valorile asociate).

    Sintax: DROP TABLE nume_tabel;

    Exemplu: DROP TABLE vanzari;

    IV.3. Interogri

    Instruciunile de selecie reprezint una din cele mai importante categorii de instruciuni alelimbajului SQL. Indiferent dac acestea sunt simple sau complexe ele ncep cu SELECT i au rolulde a regsi i afia informaiile solicitate de utilizator.

    Interogri simple

    Interogrile simple folosesc urmtoarea sintax:SELECT [domeniu] list_selecie

    FROM nume_tabel1, nume_tabel2, [WHERE criteriu_de_selecie][ORDER BY cmpuri_de_ordonare [ASC|DESC]];

    unde elementele specificate au urmtoarea semnificaie: Domeniu determin stabilirea modalitii de manipulare a nregistrrilor din baza de

    date. Acesta poate lua valorile: ALL pentru includerea tuturor nregistrrilor ce satisfaccondiiile impuse (ALL se consider implicit atunci cnd nu se specific domeniul),DISTINCT permite eliminarea nregistrrilor care conin duplicate pe cmpurileselectate (se va a fia o singur dat o valoare ce apare de mai multe ori) iDISTINCTROW pentru eliminarea nregistrrilor duplicate n ansamblul lor, nu numai

    pe cele ce conin cmpuri duplicate; List_selecie cuprinde cmpurile ce vor aprea n tabela cu rezultatele interogrii.

    Cmpurile adugate n rndulFielddin grila de selecie a machetei QBE care au marcatopiunea Show sunt aceleai cu cele menionate n lista de selecie.

    FROM clauz ce specific numele tabelelor ce vor constitui suportul interogrii. nsituaia n care se include cmpuri din mai multe tabele acestea trebuiesc prefixate cunumele tabelei din care face parte.

    WHERE se specific faptul c vor fi afiate numai nregistrrile care ndeplinesccriteriul descris.

    ORDER BY se utilizeaz pentru a ordona rezultatele interogrii n mod cresctor(ASC) sau descresctor (DESC). Sortarea se poate realiza dup unul sau mai multecmpuri specificate sub form de list n ordinea importanei.

    23

  • 8/8/2019 Curs III.1.2-Baze de Date

    24/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    Exemplu: SELECT denumire, cifra_afaceri, [cifra_afaceri]*1.1 AS ca_progonoza FROM indicatoriWHERE localit=Brasov ORDER BY denumire DESC;

    n scrierea interogrilor de selecie simple se pot folosi i funcii totalizatoare cum sunt: COUNTpentru returnarea numrului de nregistrri ce respect condiiile stabilite prin clauza WHERE,SUM realizeaz suma tuturor valorilor dintr-un cmp,AVG calculeaz valoarea medie a unuicmp numeric,MINiMAX calculeaz valoarea minim respectiv maxim a unui cmp.

    Interogri complexe

    SQL Access permite de asemenea, pe lng definirea de interogri de selecie simple, crearea destructuri complexe precum cele ce utilizeaz funcii agregate, asocieri (UNION) sau combinri(JOIN). La acestea se adaug folosirea instruciunilor n cadrul formularelor, a rapoartelor sau amacro-urilor i stabilirea parametrilor de interogare.

    Funciile de grup (agregat)

    Acestea permit construirea unor interogri prin care se pot efectua diverse calcule pentru grupuri denregistrri ce conin aceleai valori ntr-o list de cmpuri specificat. n acest caz se foloseteurmtoarea sintax:

    SELECT [domeniu] funcie_agregat(nume_cmp) AS alias [, list_selecie]FROM nume_tabel1, nume_tabel2,

    GROUP BY cmp_de_grupare1, cmp_de_grupare2, [HAVING criteriul_de_grupare][ORDER BY cmpuri_criteriu [ASC|DESC]];

    unde: List selecie se va referi la una sau mai multe funcii agregate care au ca argument

    nume de cmpuri de tip numeric ale bazei de date; AS alias asociaz un nume rezultatului utilizrii funciei agregat; GROUP BY clauz ce precizeaz cmpurile pe baza crora se va efectua gruparea

    nregistrrilor; HAVING specific criteriul care va fi aplicat nregistrrilor rezultate n urma

    operaiilor de grupare i calcul pe grupuri.

    Exemplu: SELECT localitate, valoare_nominal, AVG(nr_act) AS medie, SUM([nr_act]) AS totalFROM capitaluri WHERE localitate IN (Bucuresti, Ploiesti) GROUP BY localitate,valoare_nominal HAVING SUM([nr_act])>=10000;

    Exemplul de mai sus stabilete numrul mediu, i totalul aciunilor emise n localitile Bucureti iPloieti, pe categorii de valori nominale i numai pentru cazurile n care totalul aciunilor emise adepit 10000.

    Asocierile (interogrile JOIN)

    Se folosesc pentru combinarea datelor ce provin din dou sau mai multe tabele. Se pot distinge maimulte tipuri de jonciuni: CROSS (ncruciat) ce realizeaz combinarea nregistrrilor de manierafiecare cu fiecare, ECHIVALENT (echijonciune) presupune selectarea numai a nregistrrilor

    24

  • 8/8/2019 Curs III.1.2-Baze de Date

    25/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    ce satisfac un criteriu de egalitate (se folosete clauza WHERE cu o expresie de egalitate) sauNEECHIVALENT (non echijonciune) ce realizeaz selectarea nregistrrilor ce nu satisfac orelaie de egalitate.

    Sintaxa general pentru jonciunile echivalente i neechivalente este:

    SELECT [domeniu] list_selecieFROM nume_tabel1, nume_tabel2,

    [WHERE criteriu_de_asociere]ORDER BY cmpuri_de_ordonare [ASC|DESC]];

    Exemplu: SELECT cl.nume, cont.suma_existent*(0.51/12) AS dobanada FROM clienti AS cl,cont_depunere AS cont WHERE cl.cod_client=cont.cod_client ORDER BYcl.cod_client;

    Din alt punct de vedere jonciunile pot fi: interne (INNER JOIN) sau externe (OUTER JOIN). nvarianta jonciunilor interne rezultatul obinut este egal cu produsul numrului de nregistrri dinfiecare tabel. Jonciunile externe sunt la rndul lor de dou tipuri: de stnga (LEFT OUTER JOIN)i de dreapta (RIGHT OUTER JOIN). Sintaxa pentru astfel de jonciuni este urmtoarea:

    SELECT [domeniu] list_selecieFROM nume_tabel1

    {INNER|LEFT OUTER|RIGHT OUTER} JOIN nume_tabel2ON criteriu_de asociere1

    [{INNER|LEFT OUTER|RIGHT OUTER} JOIN nume_tabel3ON criteriu_de asociere2]

    [WHERE criteriu_de_selecie]ORDER BY cmpuri_de_ordonare [ASC|DESC]];

    n situaia asocierii a dou tabele pe baza unui cmp comun, funcie de tipul asocierii n rezultat sevor obine: nregistrrile pentru care cmpul de asociere are aceleai valori n ambele tabele pentruINNER JOIN, toate poziiile din prima tabel dintre care vor fi completate cu date din cea de-a douatabel numai cele pentru care condiia de asociere este satisfcut n cazul LEFT OUTER JOIN sautoate poziiile din cea de-a doua tabel dintre care vor fi completate cu date din prima tabel numaicele pentru care condiia de asociere este satisfcut n cazul RIGHT OUTER JOIN.

    Combinrile (interogrile UNION)

    n SQL Access exist posibilitatea de a combina rezultatele mai multor interogri prin combinareaieirilor acestora folosind clauza UNION. Sintaxa general este:

    SELECT list_cmpuri1 FROM tabela1UNION SELECT list_cmpuri2 FROM tabela2

    [GROUP BY cmp_de_grupare2][HAVING criteriu_de_agregare2]

    UNION SELECT list_cmpuri3 FROM tabela3

    [GROUP BY cmp_de_grupare3][HAVING criteriu_de_agregare3][ORDER BY cmp_criteriu_de_sortare];

    25

  • 8/8/2019 Curs III.1.2-Baze de Date

    26/30

  • 8/8/2019 Curs III.1.2-Baze de Date

    27/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    Instruciunea UPDATE

    Are ca scop modificarea valorii cmpurilor din nregistrrile existente.

    Sintaxa:UPDATE nume_tabela

    SET nume_cmp1=valoare1[,nume_cmp2=valoare2]

    [WHERE criteriu_de_actualizare];

    27

  • 8/8/2019 Curs III.1.2-Baze de Date

    28/30

  • 8/8/2019 Curs III.1.2-Baze de Date

    29/30

    RCCC-RETEA DE CENTRE CIBERNETICE COMUNITARE

    ________________________________________________________________________________________________

    29

  • 8/8/2019 Curs III.1.2-Baze de Date

    30/30