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
Top Related