Notiuni introductive privind sistemul de gestiune al bazelor de date
Proprietatile bazelor de date. Functiile unei baze de date.
Vizualizarea bazelor de date.
Crearea si utilizarea bazelor de date
Notiuni de proiectare a unei baze de date.
Notiuni de proiectare a unui sablon pentru introducerea datelor
Operare cu bazele de date
Notiuni de operare asupra elementelor unei baze de date.
Listarea bazelor de date
Salvarea bazelor de date
Pastrarea datelor pe suporti magnetici in conditii de securitate
Gestionarea suportilor magnetici
Baze de date
I.Notiuni introductive privind sistemul de gestiune al bazelor de date.
Aplicatiile de tip “baza de date” se refera la acele produse livrate utilizatorului “la cheie” pentru a-si rezolva o problema concreta. Aplicatiile de tip “baza de date” existente pe piata romaneasca se pot imparti in trei mari grupe, dupa finalitatea datelor manevrate:
a. baze de date personale;
b. baze de date informationale;
c. baze de date pentru gestiunea economica.
a. Bazele de date “personale” sunt mici colectii de date care prezinta interes si sunt manipulate de un singur utilizator. Cateva exemple tipice sunt urmatoarele: agenda telefonica, planificarea de intruniri, evidenta cartilor din biblioteca personala. Pentru astfel de utilizari restranse ale unei baze de date, se poate folosi aplicatia Card File disponibila in pachetul Windows 3.x.
b. Bazele de date de tip informational sunt in general caracterizate de un volum foarte mare de date (informatii) ce sunt destinate publicului larg. Ele pot fi considerate adevarate “birouri de informatii” computerizate. Domeniul de aplicabilitate a acestor baze de date este extrem de diversificat si face imposibila o clasificare.
c. Bazele de date pentru gestiunea economica reprezinta colectii de date necesare si utilizate pentru gestionarea unei intreprinderi. Aplicatiile cele mai reprezentative care opereaza cu astfel de baze de date sunt produsele CIEL.
Ce este o baza de date ?
O baza de date contine toate informatiile necesare despre obiectele ce intervin intr-o multime de aplicatii, relatiile logice dintre aceste informatii si tehnicile de prelucrare corespunzatoare. In bazele de date are loc o integrare a datelor, in sensul ca mai multe fisiere sunt privite in ansamblu, eliminandu-se informatiile redundante. Este permis accesul simultan la aceleasi date, situate in acelasi loc sau distribuite spatial, a mai multor persoane prin mai multe tipuri de interogari
O baza de date poate fi:
integrata;
partajata.
Prin “integrata” intelegem ca baza de date poate fi gandita ca o unificare de mai multe fisiere de date, distincte si neredundante.
Prin “partajarea” unei baze de date se intelege ca bucatile individuale de date din baza de date pot fi partajate intre mai multi utilizatori individuali, fiecare dintre ei putand avea acces la aceeasi bucata de date simultan (sisteme multiutilizator).
Hardul unui sistem de baze de date consta din volumele de memorare secundare (discuri, dischete sau benzi magnetice) pe care rezida baza de date, impreuna cu aparatele, unitatile de control si canalele respective.
Intre baza de date fizica (adica datele asa cum sunt ele memorate pe suport) si utilizatorii sistemului exista un nivel de software, numit sistem de gestionare a bazelor de date (DBMS – Data Base Management System), care permite construirea unor baze de date, introducerea informatiilor in baza de date si dezvoltarea de aplicatii privind bazele de date.
Un DBMS da posibilitatea utilizatorului sa aiba acces la date folosind un limbaj de nivel inalt, apropiat de modul obisnuit de exprimare, pentru a obtine informatii, utilizatorul facand abstractie de algoritmii aplicati pentru selectarea datelor implicate si a modului de memorare a lor. DBMS-ul este deci o interfata intre utilizator si sistemul de operare.
Orice DBMS contine un limbaj de descriere a datelor (LDD) care permite descrierea structurii unei baze de date, a fiecarei componente a ei, a relatiilor dintre componente, a drepturilor de acces ale utilizatorului la baza de date, a restrictiilor in reprezentarea informatiilor, etc. LDD-ul este utilizat atat pentru proiectarea bazelor de date, cat si pentru redefinirea lor.
O alta componenta a DBMS este limbajul de cereri (LC) sau limbajul de prelucrare a datelor (LPD), ce permite operatii asupra datelor aflate in baza de date, cum ar fi:
incarcarea bazei de date;
inserarea unui nou element;
stergerea unui element;
modificarea unui element;
cautarea unor elemente;
realizarea de diferite statistici asupra datelor.
Limbajele LDD si LC sunt extinderi ale unor limbaje de programare numite limbaje gazda. Compilarea succesiunilor de comenzi pentru descrierea datelor sau pentru operarea cu date se reduce la transformarea acestor comenzi intr-o succesiune de instructiuni ale limbajelor gazda care, prin executare, sa dea efectul dorit. O alta modalitate de operare este aceea a transformarii comenzilor in lansari de programe executabile.
Utilizatorii sistemelor de gestionare a bazelor de date (DBMS) se grupeaza in trei categorii:
a. programatorii de aplicatie (care scriu programele aplicatie in limbaje de programare: Cobol, C, etc.) sau in limbaje de programare specifice: dBase, FoxPro, etc.);
b. end-userii sau utilizatorii (care acceseaza baza de date de la un terminal, folosind un limbaj de interogare numit “query language”);
c. administratorii bazelor de date DBA (care stabilesc structura initiala a bazei de date si modul de memorare a datelor la nivel fizic, acorda utilizatorilor drepturi de acces la baza de date sau parti ale ei, asigura securitatea datelor, modifica structura si intretine baza de date).
Datele operationale
Datele operationale sunt date din bazele de date, distincte de datele de intrare, iesire sau alte tipuri de date. O baza de date este o colectie de date operationale folosite de catre aplicatiile sistem ale unei institutii (Muzeu, Biblioteca, Intreprindere, etc.)
Datele de intrare sunt informatii introduse in sistem din lumea exterioara, de obicei prin terminale.
Datele de iesire se refera la mesajele si rapoartele extrase din sistem (tiparite sau afisate pe ecran).
Entitatile de baza sunt elementele constitutive ale unei baze de date (expl. materialul arheologic, materialul bibliografic, materialul grafic, etc.). Intre aceste entitati exista intotdeauna asociatii sau relatii ce le leaga intr-o baza de date comuna.
Relatiile dintre entitati sunt la randul lor parti ale datelor operationale, chiar mai importante decat entitatile asociate. O relatie poate fi asociata la una, doua sau trei entitati, iar o entitate poate fi asociata la oricate relatii.
Independenta datelor
Modul in care datele sunt organizate pe suportul secundar de stocare si modul in care ele sunt accesate depind de cerintele aplicatiei si de stiinta organizarii datelor si tehnicile de acces.
Imunitatea aplicatiilor la modificarile de structura a memorarii si a strategiei de acces se numeste independenta a datelor.
Tipuri de modificari pe care administratorul bazei de date (DBA) poate sa le faca:
reprezentarea datelor numerice (campul numeric poate fi memorat in forma interna aritmetica sau ca un sir de caractere);
reprezentarea datelor caracter (un camp sir de caractere poate fi memorat in mai multe coduri de caractere : ASCII, EBCDIC, etc.).
Terminologie:
Un
Baza de date contine mai multe ocurente sau instante pentru fiecare din tipurile de campuri.
O inregistrare este o colectie de nume de campuri asociate.
O ocurenta
sau instanta de inregistrare consta dintr-un grup de ocurente de
Un fisier este o colectie a tuturor inregistrarilor de unul sau mai multe tipuri.
Intr-o baza de date, un camp numeric poate avea doua unitati metrice (inches si centimetrii) la alegerea utilizatorului.
Structura inregistrarilor memorate
Intr-o baza de date, doua tipuri de inregistrari pot fi combinate intr-unul singur.
Exemplu:
inregistrarea 1.: universitate, Matematica, ani, studenti (…)
inregistrarea 2.: universitate, Informatica, ani, studenti (…)
structura integrata: universitate, Matematica,Informatica, ani, studenti (…)
Astfel se explica faptul ca inregistrarea logica a unei aplicatii poate consta dintr-o submultime a unei inregistrari memorate, adica anumite campuri memorate pot fi invizibile pentru o aplicatie particulara (de exemplu elementele care se repeta). La fel, un singur tip de inregistrare memorata poate fi despicat in doua, pentru a particulariza anumite aplicatii.
Structura fisierelor memorate
Un fisier poate fi implementat fizic in memorie in mai multe moduri:
poate fi in intregime continut intr-un volum de memorare (expl.: disc magnetic);
poate fi impartit pe mai multe volume de tipuri diferite;
poate fi sau nu fizic secvential, in concordanta cu valorile unui anumit camp;
poate avea unul sau mai multi indecsi asociati;
poate fi construit cu pointeri;
inregistrarile pot fi blocate sau nu, etc.
Baza de date trebuie sa fie in stare sa creasca fara a afecta aplicatiile existente, aceasta fiind ratiunea majora a independentei datelor.
Arhitectura unui sistem de baze de date
O baza de date poate fi privita din mai multe puncte de vedere:
a. optiunea utilizatorului, care lucreaza cu anumita parti ale unei baze de date numite vederi;
b. optiunea administratorului bazei de date care integreaza toate vederile referitoare la baza de date intr-un singur model numit schema conceptuala, ea reprezentand nivelul logic al bazei de date;
c. optiunile implementatorului bazei de date (coincide uneori cu cele ale administratorului) care priveste baza de date ca pe o colectie de fisiere memorate pe diferite medii externe (benzi si discuri magnetice), ele constituind nivelul fizic al bazelor de date.
Primele doua nivele sunt descrise prin planuri ce constau in enumerarea tipurilor de entitati ce apar in baza de date, relatiile dintre aceste tipuri de entitati si modul de trecere de la notiunile acestui nivel la nivelul imediat urmator. In mod curent, aceste planuri se numesc scheme externe, subscheme conceptuale sau vederi, pentru primul nivel si scheme conceptuale pentru al doilea nivel. Descrierile la nivel fizic sunt facute prin scheme interne sau scheme fizice.
Scheme externe
O schema externa reprezinta continutul bazei de date asa cum este ea vazuta de un utilizator particular.
Exemplu:
Pentru un utilizator poate sa apara intr-o vedere atributul numar sudenti, dar la nivel logic si fizic acest atribut nu este indicat, din cauza permanentei modificari a continutului sau. In acest caz se foloseste la nivel logic atributul sudenti (= numarul total general de studenti) din care se scad atributele nr. specializari, nr. gupe, etc. din baza de date. Astfel se permite aflarea numarului exact al studentilor dintr-o anumita grupa a unei specializari din cadrul unei facultati intr.-o baza de date.
Pentru utilizatorul obisnuit, modul de definire a vederilor este transparent, el putand sa obtina sau sa modifice informatiile dorite prin intermediul unor comenzi cu structura data, folosind formule predefinite pe care le completeaza sau poate utiliza un sistem de meniuri.
In reprezentarea intuitiva a vederilor intervin notiunile de entitate, relatie, atribut, cheie, functionalitate, diagrama, si altele pe care le vom definii ulterior.
Schema externa este scrisa intr-un sublimbaj de definire a datelor (SLDD) dintr-un DLL numit adesea DLL extern.
Scheme conceptuale
O schema conceptuala este o reprezentare a intregii informatii continute in baza de date ce combina subschemele vederilor ce privesc o anumita aplicatie intr-un model unitar. Acest tip de schema trebuie sa se bazeze pe un model teoretic si sa fie simpla, adica usor de inteles si de prelucrat.
Sistemele de gestiune a bazelor de date au fost clasificate in trei grupe mari, in functie de tipul elementelor cu care lucreaza si a structurilor obtinute:
a. modelul retea – permite lucrul cu entitati si relatii binare de tipul 1:1 si 1:N, diagrama rezultata fiind un graf oarecare;
b. modelul arborescent (ierarhic) – permite lucrul cu entitati si relatii binare de tipul 1:1 si 1:N, iar diagrama este alcatuita dintr-o multime de arbori;
c. modelul relational – in care intervin numai relatii si operatii cu aceste relatii.
Arhitectura unui sistem de baze de date
II. Abordarea bazelor de date
Gestionarea datelor implica atat gestionarea factorilor reprezentati de siruri de biti pe medii magnetice de memorare cat si gestionarea semnificatiei acestor factori. Semnificatiile sunt gestionate prin organizarea lor in structuri logice de entitati.
1. Notiuni si termeni tehnici uzuali
a. O entitate este reprezentata din datele de acelasi tip ale unui obiect specific. Obiectele pot fi fixate in clase de obiecte numite entitati asociate. Un tip de entitate reprezinta o semnificatie, pe cand o instanta de entitate reprezinta fapte.
b. Fiecare entitate este descrisa de o multime de proprietati esentiale numite atribute. Pentru diferitele elemente ale entitatii, atributele pot sa primeasca valori din anumite multimi numite domeniul atributului respectiv.
c. Un atribut sau o multime de atribute pentru care valorile asociate determina in mod unic orice element al entitatii respective se numeste cheie. Orice entitate admite cel putin o cheie, deci toate elementele unei entitati sunt distincte. In cazul in care exista elemente care sa aiba aceleasi valori pentru toate atributele, se ia drept cheie un atribut suplimentar reprezentat de numarul asociat elementului in entitatea respectiva, care defineste in mod unic elementul.
d. Numim relatie intre entitatile E1,E2,………,Ek orice submultime a produsului cartezian al multimilor elementelor celor k entitati, adica multimi de elemente de forma (e1,e2,……,ek), unde e1 este un element din E1, e2 este un element din E2 s.a.m.d. O astfel de relatie o notam REL(E1,E2,……,Ek), unde REL este numele asociat relatiei, si putem spune ca relatia are arietatea k. De cele mai multe ori k=2, deci se lucreaza cu relatii binare.
In cazul relatiilor binare, se poate face o clasificare a lor in functie de cate elemente corespund fiecarui element dintr-o entitate in cealalta entitate, dupa cum urmeaza:
1. relatie unu-la-unu (notata 1:1), in cazul in care fiecarui element din prima entitate ii corespunde cel mult un element din a doua entitate si reciproc;
2. relatie unul-la-mai-multi (notata 1:N), in cazul in care fiecarui element al primei entitati ii pot corespunde mai multe elemente din a doua entitate, dar fiecarui element din a doua entitate ii corespunde cel mult un element din prima entitate.
3. relatie mai-multi-la-mai-multi (notata M:N), in cazul in care fiecarui element al primei entitati ii pot corespunde mai multe elemente din a doua entitate si reciproc.
e. Informatiile privind structura unei vederi sunt sintetizate grafic intr-o diagrama entitate-relatie, care pune in evidenta entitatile ce intervin, reprezentate prin dreptunghiuri, atributele asociate lor reprezentate prin elipse, si diferite relatii ce se stabilesc intre entitati reprezentate prin sageti (cu varf dublu catre entitatea pe care pot aparea mai multe elemente in relatie cu un element din cealalta entitate).
2. Baze de date
Datele dintr-o colectie de entitati pot fi unite si rezumate in moduri diferite pentru a produce informatie. Informatia este o colectie de date plasata in context, care poate fi furnizata de catre o situatie sau de alte date.
Pentru a creste (marii) bazele umane de cunostinte mentale memorate, omul colecteaza si memoreaza date in forma automata. O astfel de colectie se numeste baza de date. Ea reprezinta nu numai date despre entitati dar si date despre relatiile dintre entitati. Pe baza aceleasi structuri functioneaza o baza de date si intr-un calculator.
Exista doua forme de baze de date:
a. baze de date fizice, care sunt reprezentari pe medii de memorare a entitatilor, atributelor si a relatiilor dintre ele;
b. baze de date logice, care reprezinta entitati, atribute si relatiile independente de modul in care datele si relatiile sunt reprezentate si memorate intr-o baza de date fizica.
III. Modele de baze de date
Exista trei categorii de modele de baze de date:
1. modelul relational;
2. modelul retea;
3. modelul arborescent (ierarhic).
1. Modelul relational
Un model relational de baze de date cuprinde trei componente principale:
structura datelor prin definirea unor domenii (valori atomice) si a relatiilor “n” (atribute, tupluri, chei primare);
integrarea datelor prin impunerea unor restrictii;
prelucrarea datelor prin operatii din algebra relationala sau calcul relational.
Modelul relational se bazeaza pe notiunea matematica de relatie (din teoria multimilor) definita ca o submultime a produsului cartezian a unei liste finite de multimi numite domenii. Elementele unei relatii se numesc tupluri (sau n-cupluri), iar numarul de domenii din produsul cartezian se numeste arietatea relatiei (FOTACHE 1997, 102).
De obicei relatiile sunt reprezentate sub forma unor tabele in care fiecare rand reprezinta un tuplu si fiecare coloana reprezinta valorile tuplurilor dintr-un domeniu dat al produsului cartezian.
In reprezentarea sub forma de tabel a unei relatii, coloanelor si domeniilor corespunzatoare lor, li se asociaza nume intitulate atribute. Multimea numelor atributelor unei relatii se numeste schema relationala.
Deci prin relatie se intelege o multime de functii definite pe o multime de atribute cu valori in reuniunea unor domenii, cu restrictia ca valoarea corespunzatoare fiecarui atribut sa se afle in domeniul asociat acelui atribut.
Se numeste cheie candidat al unei relatii R coloana sau multimea de coloane din R pentru care valorile corespunzatoare din oricare doua tupluri nu coincid, deci identifica tuplurile prin relatia respectiva si nu contin strict o submultime de coloane cu aceasta proprietate. Pentru fiecare relatie se alege un candidat de cheie care se numeste cheie primara a relatiei. Tuplurile unei relatii nu pot sa contina valoarea nula in coloane ce apartin cheii primare. Eventualii candidati de chei diferiti de cheia primara se numesc chei alternante. Se numeste cheie straina o coloana sau o multime de coloane a unei relatii R1 ale carei valori, daca nu sunt nule, coincid cu valori ale unei chei primare dintr-o relatie R, nu neaparat distincta de R1.
Multimea tuturor schemelor relationale corespunzatoare unei aplicatii se numeste schema bazei de date relationale, iar continutul curent al relatiilor, la un moment dat, se numeste baza de date relationala.
In modelul relational, entitatile sunt reprezentate sub forma de relatii in care schema relationala contine toate atributele entitatii si fiecare tuplu al relatiei corespunde unui element al entitatii.
Cele mai multe cereri ale unui utilizator privesc determinarea unor informatii cu anumite proprietati, iar raspunsul posibil este o relatie care descrie toate elementele cu aceste proprietati. Modul de prezentare al raspunsului depinde de interfata dintre DBMS si utilizator.
2. Modelul retea
Modelul retea este cel mai apropiat de forma de reprezentare a bazelor de date sub forma diagramelor entitate-relatie. Deosebirea consta in faptul ca toate relatiile ce apar pot fi numai binare si de tipul 1:1 sau 1:N. Aceasta restrictie permite reprezentarea grafica a unei baze de date de tip retea sub forma unui graf directionat numit retea.
Intr-o retea, nodurile corespund entitatilor si relatiile sunt reprezentate prin sageti intre noduri (de la tata la fiu) si anume sageti simple daca relatia este de tipul 1:1 si sageti duble daca relatia este de tipul 1:N.
In modelul retea, entitatilor le corespund fisiere logice care au drept campuri atributele entitatii si eventuale campuri de legatura pentru relatii. Fiecarui element al entitatii ii corespunde o inregistrare logica. Daca inregistrarile sunt identificate numai prin relatia cu alte entitati, atunci se mai adauga la inregistrarea logica inca un camp ce cuprinde un numar de ordine care permite identificarea acestor inregistrari.
Operatiile cele mai frecvente pentru modelul retea se impart in doua categorii:
cautarea unor elemente ale unor entitati cu anumite proprietati sau cautarea unor informatii prin utilizarea legaturilor intre entitati;
navigarea in reteaua de date.
3. Modelul ierarhic
Modelul ierarhic (arborescent) este considerat un caz particular al modelului retea, in care diagrama asociata este o padure (multime de arbori) si in care toate legaturile sunt pe directia drumului, de la radacina la nodul fiu din relatie, toate relatiile fiind de tipul 1:N.
La fel ca in cazul celorlalte doua modele, exista posibilitatea interpretarii diagramelor entitate-relatie sub forma modelului ierarhic. Pentru evitarea redundantelor in modelul ierarhic, se foloseste notiunea de element virtual, care inlocuieste dublura unui element prin adresa elementului respectiv, fiecare element aparand in baza de date reala o singura data.
Operatiile din bazele de date de tip ierarhic se traduc in procese de parcurgere a arborilor. Elementele virtuale permit legarea informatiilor din aceeasi entitate sau din entitati diferite.
Implementarea la nivel logic pentru modelul ierarhic poate fi cea utilizata pentru modelul retea sau prin inregistrari de lungime variabila.
Datele sunt stocate pe mediul extern in ordinea data de parcurgerea in preordine a arborilor, ceea ce usureaza determinarea informatiilor pentru cererile care se refera la descendentii unor noduri printr-un numar mic de accese la mediul extern.
IV. Limbaje pentru baze de date
Impreuna cu fiecare model de date sunt necesare anumite limbaje pentru a defini schemele de reprezentare si pentru a efectua operatii cu datele memorate in concordanta cu schemele. Sunt uzitate astfel, urmatoarele tipuri de limbaje (DOGARU & 1998, 254):
Limbaj de definire a datelor (DDL) – este un limbaj pentru definirea schemei conceptuale;
Limbaj pentru manipularea datelor (DML);
Limbaj pentru memorarea datelor (SDL).
Pentru interactiunile utilizatorilor cu baza de date este necesar un limbaj prietenos, cu o sintaxa simpla, numit limbaj de interogare (QL). In ciuda numelui sau, un limbaj de interogare include facilitati pentru inserarea, stergerea si modificarea datelor din baza de date. In cazul modelului relational, abordarea folosita consta in a incorpora toate aceste facilitati cerute intr-o sintaxa uniforma, in cadrul unui singur limbaj. Standardul cel mai cunoscut este SQL.
SQL
Limbajul numit SQL (Structured Query Language) este utilizat intens in prelucrarea bazelor de date structurate conform modelului relational. Unul din motivele popularitatii de care se bucura acest limbaj este faptul ca el a fost standardizat de American National Standards Institute (ANSI). In plus, limbajul a fost initial dezvoltat si comercializat de IBM, ceea ce i-a asigurat o mare raspandire. Principala aplicatie in limbajul SQL, efectuata de utilizator, este interogarea bazei de date (BROOKSHEAR 1998, 379).
Printr-o singura instructiune SQL se poate exprima o interogare care presupune o secventa de operatii SELECT, PROJECT si JOIN, nefiind necesara o anumita ordine a acestora. Desi forma de exprimare a unei instructiuni SQL pare a fi imperativa, in esenta instructiunea este de tip declarativ. Drept urmare limbajul SQL il scuteste pe utilizator de necesitatea dezvoltarii unei secvente de pasi care trebuie parcursi pentru obtinerea informatiei dorite – tot ce are de facut este sa descrie informatia de care are nevoie.
Majoritatea instructiunilor din SQL sunt executabile, ele putand fi interpretate si executate imediat in mod interactiv sau putand fi incluse in diferite aplicatii scrise in limbaje de programare cum sunt APL, BASIC, C, COBOL, FORTRAN, PL/I, ASSEMBLER, etc
V. Structuri fizice
Majoritatea bazelor de date sunt prea mari pentru a fi memorate econom in memoria centrala a unui calculator. Din aceasta cauza ele sunt rezidente pe aparate secundare de memorare, pe discuri si benzi magnetice.
Unitatea de baza de transfer de date intre mediul secundar de memorare si memoria centrala este inregistrarea.
Tehnica comuna pentru a reduce numarul de accese la aparatul secundar de memorare consta in a bloca inregistrarile astfel incat mai multe inregistrari pot fi scrise sau citite printr-un singur acces la aparat.
Un fisier este o colectie de blocuri care sunt gestionate impreuna. Dupa continut, fisierele se impart in mai multe clase, dintre care cele mai utilizate sunt:
directoarele – sunt fisiere care dau informatii despre alte fisiere;
fisierele de date – contin informatii ce pot fi prelucrate de programe;
fisierele text – contin informatii alfanumerice de informare a utilizatorilor sau diferite documente memorate in sistem;
fisierele cod sursa – contin programe scrise intr-un limbaj de programare;
fisierele cod obiect – contin programe compilate;
fisierele executabile – contin programe ce pot fi lansate in executie.
Principalele organizari de fisiere sunt:
secventiala – inregistrari accesate in ordine fizica consecutiva;
directa – acces in orice ordine la inregistrari;
secvential-indexata – acces de la o inregistrare la alta prin intermediul unui index.
O baza de date fizica este o colectie de fisiere care implementeaza impreuna un model de date logice. Fisierele sunt integrate de catre structura logica a bazei da date si ele pot comunica intre ele. O cerere a unui utilizator poate implica date din mai multe fisiere, iar un fisier poate contine inregistrari ce implementeaza una sau mai multe entitati. Relatiile logice intre entitati sunt implementate prin referinte intre inregistrari si/sau fisiere. Ele ofera cai de acces pentru a activa o inregistrare plecand de la o alta.
O baza de date fizica contine doua tipuri de fisiere:
de date – care memoreaza fapte;
index – sustin accesul la fisierele de date, dar ele insele nu memoreaza alte fapte decat valorile de chei.
VI. Interfete
Interfetele permit accesul facil la informatiile unei baze de date si o definire mai simpla a aplicatilor, care fac posibila utilizarea bazelor de date si de catre nespecialisti. Interfetele cuprind componente de acces la date, componente de prezentare a datelor, componente de generare a unor aplicatii si alte facilitati cum ar fi posibilitati de utilizare a metodelor statistice, procesoare de texte, programe de lucru tabelar, nuclee de sisteme expert, etc.
La acestea se pot adauga diferite posibilitati de testare, de simulare, de prelucrare a informatiei (copieri, sortari, interclasari, etc.), proiectare automata, posibilitati de lucru multimedia si altele.
II. CREAREA SI UTILIZAREA BAZELOR DE DATE (ACCESS)
In aceasta lucrare este prezentata modalitatea de creare si administrare a bazelor de date in sistemul de gestiune a bazelor de date Access, care este o componenta a pachetului Microsoft Office. Access ofera posibilitati modeste de administrare a datelor si asigurare a securitatii tranzactiilor si, de aceea se foloseste in aplicatii mici de baze de date. In schimb, instrumentele de creare a bazei de date si a aplicatiilor sunt deosebit de flexibile si 'prietenoase', in cea mare parte permitind proiectare vizuala intr un mediu integrat. De aceea, mediul Access poate fi considerat un bun punct de pornire pentru studierea proiectarii aplicatiilor de baze de date.
Cand se lanseaza programul Access, pe ecran apare o fereastra de dialog care ofera posibilitatea creerii unei baze de date noi sau deschiderea uneia deja existente (cum este, de exemplu, baza de date Northwind care se gaseste in Microsoft OfficeOfficeSamplesNorthwind.mdb). In Access, nu se pot deschide simultan mai multe baze de date. Se pot lansa insa mai multe copii ale programului Access si deschiderea in fiecare din ele a unei baze de date. Pentru selectarea si crearea obiectelor se lucreaza cu fereastra Database. Modul de afisare Database include bara de meniuri Database, bara de instrumente Database si fereastra Database care ocupa partea centrala a suprafetei de lucru. Din cele sase tipuri principale de obiecte pe care programul Access le accepta vor fi referite ulterior urmatoarele patru:
Tabele (Tables) corespund relatiilor din modelul relational si organizeaza pe linii si coloane datele stocate
Interogari (Queries) sunt cererile adresate tabelelor pentru extragerea sau organizarea datelor intr-un anumit mod si afisarea acestora. Sunt proiectate de obicei cu ajutorul unei interfete grafice si sunt memorate in limbajul standard structurat de interogare (Structured Query Language- SQL).
Formulare (Forms) ofera o interfata atragatoare pentru introducerea datelor in baza de date sau pentru vizualizarea datelor pe ecran. Formularele din Access sunt folosite ca principala interfata cu utilizatorul in aplicatiile de baze de date prin mascarea (ascunderea) tabelelor cu informatii brute.
Rapoarte (Reports) ofera rezultatele interogarilor pentru a fi tiparite in forma dorita pentru aplicatia respectiva.
Pentru fiecare tip de obiect Access se pot folosi diferite comenzi date prin butoanele laterale ale ferestrei Database:
Open: deschiderea obiectului (ceea ce inseamna 'vizualizare' sau 'afisare' pentru tabele si formulare si 'executie' pentru interogari).
Desing: proiectarea obiectului (editarea obiectului selectat)
New: crearea unui obiect nou de tipul curent.
Inainte de a crea o baza de date Access, trebuie sa raspundeti la urmatoarele intrebari:
Raspunsurile la intrebarile de mai sus conduc la o buna proiectare a bazei de date, faciliteaza crearea unei baze de date utile si utilizabile.
.
CREAREA UNEI BAZE DE DATE
Crearea unei baze de date cu ajutorul progrmului Microsoft Access se rezuma la crearea unui fisier cu extensia .mdb chiar de catre program. Baza de date Microsoft Access: O colectie de date si obiecte (cum ar fi tabele, interogari sau formulare) Proiectarea corespunzatoare a bazei de date asigura o intretinere usoara a acesteia. Datele sunt memorate in tabele si fiecare tabel contine date doar despre un singur subiect, cum ar fi clienti. De aceea, la actualizarea unei anumite portiuni de date doar intr-un loc, cum ar fi o adresa, modificarea va apare automat in intreaga baza de date.
Microsoft Access furnizeaza trei metode pentru a crea o baza de date Accesscare sunt corelate cu un anumit subiect sau scop).
Crearea unei baze de date utilizand un Expert Baza de date
Expertul baze de date se utilizeaza pentru a crea intr-o singura operatiune tabelele, formularele si rapoartele necesare pentru tipul de baza de date ales— este cea mai usoara cale de creare a unei baze de date. Expertul ofera optiuni limitate de particularizare a bazei de date.
Obs : Nu se poate utiliza Expertul Baza de date pentru adaugarea tabelelor, formularelor, sau rapoartelor noi unei baze de date existente.
Daca utilizati Access 2003, se pot cauta sabloane pentru Access in <Office Online>. Descarcarea unui sablon este cea mai rapida cale de a crea o baza de date. Urmati aceasta metoda daca ati gasit un sablon care corespunde indeaproape cerintelor dvs. Un sablon este un fisier baza de date Access (*.mdb) care cuprinde tabele, interogari, formulare si rapoarte. Tabelele nu contin nici un fel de date. Dupa deschiderea bazei de date, aveti posibilitatea sa particularizati baza de date si obiectele.
Creare unei baze de date utilizand un sablon
Aceasta este cea mai rapida cale de creare a unei baze de date. Aceasta metoda functioneaza cel mai bine daca se gaseste si se utilizeaza un sablon care corespunde cat mai exact necesitatilor.
Daca doriti sa incepeti crearea bazei de date pornind de la un proiect propriu, creati o baza de date necompletata, adaugandu-i apoi tabelele, formularele, rapoartele si alte obiecte in mod individual— aceasta este cea mai flexibila metoda, necesitand insa definirea separata a fiecarui element al bazei de date.
Crearea unei baze de date necompletate fara utilizarea expertului Baza de date
Apare Fereastra Baza de date (Fereastra Baza de date: Fereastra care apare la deschiderea unei baze de date Access sau a unui proiect Access. Ea afiseaza comenzile rapide pentru crearea noilor obiecte baza de date si deschiderea obiectelor existente.), si se pot crea obiectele (obiecte baza de date: O baza de date Access contine obiecte ca tabele, interogari, formulare, rapoarte, pagini, macrocomenzi si module. Un proiect Access contine obiecte ca formulare, rapoarte, pagini, macrocomenzi si module.) pe care le doriti in baza de date.
Dupa crearea bazei de date, se pot efectua una sau mai multe din urmatoarele activitati:
Crearea unui tabel utilizand Expertul Tabel
Apasati pe F11 pentru comutare la fereastra Baza de date
Faceti clic pe Tabele sub Obiecte, apoi faceti clic pe Nou in bara de instrumente a ferestrei Baza de date.
Faceti dublu clic pe Expert Tabel.
Urmati instructiunile din casetele de dialog ale Expertului tabel.
Obs Daca doriti modificarea sau extinderea tabelului rezultat, se poate efectua aceasta in vizualizare in mod proiectare dupa ce ati incheiat utilizarea Expertului Tabel.
Crearea unui tabel in vizualizare in mod proiectare
4.1Deschideti tabelul in Vizualizare proiect
Vizualizare proiect: O fereastra care afiseaza proiectul urmatoarelor obiecte baza de date: tabele, interogari, formule, rapoarte, macrocomenzi si pagini de acces la date. in Vizualizare proiect se pot crea obiecte baza de date noi si modifica proiectul celor existente.
4.2. Pentru inserarea campului in tabel, faceti clic sub randul caruia doriti adaugarea campului, si apoi faceti clic pe Inserare Randuri in bara de instrumente.
Pentru adaugarea campului la sfarsitul tabelului, faceti clic in primul rand necompletat.
. Faceti clic in coloana Nume Camp si tastati un nume unic pentru camp.
4.4 In coloana Tip Date, pastrati implicit (Text); sau faceti clic in coloana Tip Date, clic pe sageata, si selectati tipul de date (tip de date: Caracteristica unui camp care determina ce tip de date poate contine. Tipurile de date includ Boolean, Intreg, Lung, Simbol monetar, cu simpla precizie, cu dubla precizie, Sir de caractere si Variant (implicit).) dorit.
4.5 In coloana Descriere, tastati o descriere a informatiei ce va fi continuta in acest camp. Aceasta descriere este afisata pe bara de stare (bara de stare: O bara orizontala in partea de jos a ecranului care afiseaza informatia despre conditia curenta a programului, cum ar fi starea elementelor din fereastra, modul de progresare al operatiei curente sau informatii despre elementul selectat.) la adaugarea datelor in camp si este inclusa in Definitie Obiect din tabel. Descrierea este optionala.
Cheie primara: Unul sau mai multe campuri (coloane) ale caror valori identifica in mod unic fiecare inregistrare din tabel. O cheie primara nu permite valori Null si trebuie sa aiba intotdeauna un index unic. Cheia primara este utilizata pentru a corela un tabel la cheile straine din alte tabele.
5.1. Deschideti un tabel in Vizualizare proiect (Vizualizare proiect: O fereastra care afiseaza proiectul urmatoarelor obiecte baza de date: tabele, interogari, formule, rapoarte, macrocomenzi si pagini de acces la date. in Vizualizare proiect se pot crea obiecte baza de date noi si modifica proiectul celor existente).
5.2. Selectati campul sau campurile pentru care doriti definitie de cheie primara . Pentru a selecta un camp, faceti clic pe selectorul de rand (selector de rand: O mica bara sau caseta care, atunci cand se face clic pe ea, selecteaza un rand intreg in modul Vizualizare proiect pentru tabel sau macrocomanda, sau la sortarea si gruparea inregistrarilor in modul Vizualizare proiect pentru raport.) pentru campul dorit.Pentru selectarea mai multor campuri, tineti apasata tasta CTRL si apoi faceti clic pe selectorul de rand pentru fiecare camp.
Faceti clic pe Cheie primara in bara de instrumente.
Obs. Nu este necesar sa definiti o cheie primara, dar de obicei este bine. Daca nu definiti o cheie primara, Microsoft Access va intreba daca doriti crearea acesteia de catre Access la salvarea tabelului.
Cand sunteti pregatit pentru salvarea tabelului, faceti clic pe Salvare in bara de instrumente, si apoi tastati un nume unic pentru tabel
Crearea unui tabel prin introducerea datelor intr-o foaie de date
1.Apasati pe F11 pentru comutare la fereastra Baza de date
Faceti clic pe Tabele sub Obiecte, apoi faceti clic pe Nou in bara de instrumente a ferestrei Baza de date.
3.Faceti dublu clic pe vizualizare Foaie de date. Este afisata o foaie de date necompletata. Numele implicite pentru coloane sunt Camp1, Camp2, si asa mai departe.
4.Redenumiti fiecare coloana pe care o veti utiliza: faceti dublu clic pe numele coloanei, tastati un nume pentru coloana, si apoi apasati ENTER.
5.Se pot insera coloane suplimentare in orice moment: faceti clic in coloana la dreapta careia doriti inserarea unei coloane noi, si apoi pe meniul Inserare, faceti clic pe Coloana. Redenumiti coloana ca la pasul 4.
6.Introduceti datele in foaia de date.
Introduceti fiecare tip de date in propria coloana (fiecare coloana este considerata un camp (camp: Un element al unui tabel care contine o informatie specifica, cum ar fi numele de familie. Un camp Titlu trebuie sa contina Dl. sau Dna. Bazele de date, cum ar fi Microsoft SQL Server, denumesc campurile drept coloane.) in Microsoft Access). De exemplu, daca introduceti nume, introduceti prenumele in propria coloana si numele intr-o coloana separata. Daca introduceti date calendaristice, ore, sau numere, efectuati introducerea intr-un format consecvent astfel incat Microsoft Access sa creeze un tip de date si format de afisare corespunzatoare pentru coloana. Coloanele care vor fi lasate necompletate vor fi sterse la salvarea foii de date.
Tip de date Caracteristica unui camp care determina ce tip de date poate contine. Tipurile de date includ Boolean, Intreg, Lung, Simbol monetar, cu simpla precizie, cu dubla precizie, Sir de caractere si Variant (implicit).)
format de afisare : Precizeaza modul de afisare si imprimare a datelor. O baza de date Access furnizeaza formate standard pentru tipuri de date specifice, asa cum face un proiect Access pentru tipurile echivalente SQL. Se pot crea formate personalizate.
7. Dupa adaugarea datelor tuturor coloanelor pe care doriti sa le utilizati, faceti clic pe Salvare in bara de instrumente pentru a salva foaia de date.
1. Crearea tabelelor in Access
Pentru crearea sau modificarea tabelelor, in fereastra Database, se selecteaza comanda Tables care afiseaza panoul cu toate tabelele existente. La comanda de creare a unei tabele noi (comanda New), se deschide o fereastra de dialog (New Table) in care sunt prezentate mai multe optiuni de afisare si creare
Datasheet View prezinta o foaie de calcul alba in care se introduc valorile datelor. Daca nu se definesc tipurile de date in modul de afisare Design, programul Access le intuieste singur.
Design View este o grila in care se pot selecta definitiile datelor dintr-o lista; in acest mod de afisare nu se introduce practic nici o valoare.
Table Wizard este un program expert care, dupa alegerea unei baze de date predefinite, conduce procesul de selectare a campurilor si de stabilire a cheilor si a sistemului de relatii.
Import Table este o metoda folosita pentru a importa o tabela de date dintr-un alt fisier, creat in programul Access sau intr-o alta aplicatie de baza de date care este recunoscuta de catre Access.
Link Table opereaza la fel ca metoda anterioara, dar datele externe raman in fisierul extern.
Atunci cand se creaza o tabela noua in modul de afisare Design View, pe ecran apare o fereastra care are in partea superioara 'grila de campuri' (Field Grid)- locul in care se introduc numele si se specifica tipul campurilor care vor alcatui tabela. Panoul din partea de jos, denumit 'proprietatile campurilor' (Field Properties) permite modificarea proprietatilor fiecarui camp din tabela.
Un nou camp intr-o tabela se creaza astfel:
Se introduce un nume in coloana Field Name.
Se selecteaza un tip de date in coloana Data Type din caseta combinata corespunzatoare.
Optional se poate introduce in coloana Description un comentariu care descrie modul de utilizare a campului.
Pentru a introduce un nou camp, grila se poate parcurge tabelar.
La inchiderea ferestrei modului de afisare Design View, Access salveaza modificarile efectuate in tabela originala, in cazul editarii unei tabele existente, sau solicita introducerea unui nume pentru tabela nou creata.
Tipul de date selectat pentru fiecare camp in parte determina modul de stocare folosit de Access. De aceea, selectarea tipului corect de date pentru fiecare camp este un element important in vederea obtinerii unor informatii corecte din baza de date. In aplicatie se pot folosi tipurile de date Text (un set de max. 50 caractere), Number (un numar intreg sau in virgula mobila), Date/Time, AutoNumber (un numar intreg care este incrementat automat pe masura ce sunt introduse noi inregistrari intr-o tabela).
Pentru fiecare tabela trebuie sa fie specificata cheia primara (Primary Key) care este o submultime a campurilor (atributelor) tabelei cu proprietatea ca are valoare unica pe toate randurile (tuplurile) tabelei. Cheia primara se poate stabili pe unul sau mai multe campuri, prin selectarea acestora si actionarea comenzii Primary Key din bara de instrumente (care are ca pictograma o cheie de lacat).
Celelalte proprietati ale unui camp din tabela se stabilesc in panoul Field Properties si depind de tipul de date al acestuia si de calitatea de a apartine cheii primare sau nu. Toate tipurile de date prezinta mai multe proprietati (optiuni), dintre care unele pot fi configurate. In general, optiunile prestabilite de programul Access sunt satisfacatoare pentru cele mai multe campuri de date si numele lor sunt suficient de explicative.
O atentie mai deosebita trebuie sa fie acordata proprietatilor: 'camp cerut' (Required), 'admite lungime zero' (Allow Zero Length) si 'camp indexat' (Indexed).
Un camp pentru care se selecteaza optiunea Yes pentru proprietatea Required este un camp in care nu se admit valori NULL; daca se selecteza optiunea No, atunci valoarea acestui camp poate sa fie specificata sau nu, nespecificarea valorii insemnand o valoare de NULL pentru acel camp.
Proprietatea Allow Zero Length este prezenta numai pentru tipul de date Text. Optiunea Yes pentru aceasta proprietate valideaza acceptarea unui text de lungime zero, iar optiunea No invalideaza un text de lungime zero.
O alta proprietate a campurilor care poate fi configurata este proprietatea Indexed. Daca se selecteaza una din optiunile Yes(No Duplicates), sau Yes(Duplicates OK) programul Access creaza un index (o structura de date diferita de tabela insasi), care este folosit pentru cautarea rapida a inregistrarilor dupa valoarea acelui camp. Atunci cand nu se admit duplicate, trebuie ca valorile din campul indexat sa fie diferite in inregistrarile tabelei. Acest lucru se asigura automat daca acel camp este cheia primara; daca campul nu este cheie primara, atunci valorile introduse sunt verificate si se rejecteaza acele inregistrari care au valori duplicat in campul astfel indexat. Pentru un camp care constitue singur cheia primara, nu se admite index cu duplicate
Denumirile campurilor, controalelor si ale obiectelor din Microsoft Access
Control: Un obiect grafic al interfetei cu utilizatorul, cum ar fi o caseta text, o caseta de selectare, o bara de defilare sau un buton de comanda, care permit utilizatorului sa controleze programul. Controalele sunt utilizate pentru a afisa date sau optiuni, a executa o actiune sau a face interfata cu utilizatorul mai usor de citit.
Atunci cand denumiti un camp, control sau obiect, este indicat sa va asigurati ca numele nu dubleaza numele unei proprietati sau a unui alt element utilizat de Microsoft Access; in caz contrar, este posibil ca baza de date sa se comporte neobisnuit in anumite situatii. De exemplu, daca faceti referire la valoarea unui camp denumit Name intr-un tabel InfoNume utilizand sintaxa InfoNume.Name, Microsoft Access afiseaza valoarea proprietatii Nume pentru tabel in loc sa afiseze valoarea campului Name.
Proprietate: Un atribut numit al unui control, al unui camp, sau al unui obiect setat pentru a se defini una din caracteristicile obiectului (cum ar fi marime, culoare sau pozitia pe ecran) sau un aspect al comportamentului sau (cum ar fi daca obiectul este ascuns).)
Un alt procedeu de a evita rezultatele neprevazute este de a utiliza intotdeauna operatorul ! in loc de operatorul . (punct) pentru a face referire la valoarea unui camp, control sau obiect. De exemplu, urmatorul identificator se refera explicit la valoarea campului Name si nu la proprietatea Name:
[InfoNume]![Name]
2. Introducerea datelor in tabelele bazei de date Access
In aplicatiile Access, pentru introducerea si afisarea datelor se folosesc formulare (Forms). Formularele pot fi proiectate in mod vizual astfel incat sa prezinte utilizatorului datele intr-un aspect cat mai sugestiv si, in acelasi timp, sa faciliteze modul de introducere a datelor de catre utilizator (prin selectii ale valorilor din seturi de valori permise, prin afisarea unor mesaje sugestive atunci cand se introduc valori eronate, etc).
In afara de posibilitatea de introducere a datelor prin intermediul formularelor, in timpul proiectarii bazei de date, programatorul poate sa introduca direct date in tabele, pentru a verifica diferite asocieri si evenimente care vor avea loc in cursul exploatarii bazei de date. Pentru acesta, se deschide (cu comanda Open) tabela selectata, si tabela este afisata direct antr-o fereastra care contine denumirile coloanelor tabelei si toate liniile (inregistrarile) existente. O noua inregistrare se poate adauga la sfarsitul tabelei, prin completarea directa a valorilor din toate campurile cerute. Introducerea de date eronate (care nu respecta tipurile de date sau proprietatile campurilor) este semnalata ca eroare si introducerea trebuie sa fie reluata.
Acest mod de introducere si afisare de date nu poate fi utilizat decat de proiectant si este de neconceput ca utilizatorii sa poata accesa astfel tabelele bazei de date. Pentru primele experimentari de proiectare in Access se va utiliza, totusi acest mod simplu de introducere si afisare a datelor din tabele, dat fiind ca nu prezinta nici un pericol de alterare a unor date importante.
Copierea unui camp si a proprietatilor sale (MDB)
Aceasta procedura copiaza doar definitia unui camp; nu copiaza nici una din valorile campului.
Vizualizare proiect: O fereastra care afiseaza proiectul urmatoarelor obiecte baza de date: tabele, interogari, formule, rapoarte, macrocomenzi si pagini de acces la date. in Vizualizare proiect se pot crea obiecte baza de date noi si modifica proiectul celor existente.
Pentru a selecta un camp, faceti clic pe selectorul de rand al campului respectiv.
Pentru a selecta un grup de campuri, glisati peste selectorii de rand ai campurilor respective.
Selectori de rand
La stergerea unui camp, retineti ca daca alte obiecte ale bazei de date contin referinte la campul sters, vor trebui sterse si acele referinte. De exemplu, daca un raport include un control legat (control legat: Control utilizat intr-un formular, raport sau intr-o pagina de acces la date pentru a afisa sau modifica date dintr-un tabel, interogare sau instructiune SQL. Proprietatea Sursa control a controlului pastreaza numele campului la care este legat respectivul control.) la campul sters, Microsoft Access nu va putea gasi datele din camp si va transmite un mesaj.
Nu se poate sterge un camp care face parte dintr-o relatie (relatie: Asociatie care se stabileste intre campurile (coloanele) a doua tabele. Relatia poate fi unu la unu, unu la mai multi sau multi la mai multi.) mai inainte trebuie stearsa relatia.
3. Crearea interogarilor in Access
Interogarile (Queries) memoreaza comenzile de operare asupra tabelelor si de returnare a rezultatului. Comenzile de interogare se transmit bazei de date ca si comenzi SQL (asa cum s-au prezentat in prima lucrare), dar mediul Access ofera o modalitate mai simpla de construire a interogarilor si anume printr-un limbaj de interogare prin exemple (Query by Example - QBE). Acest limbaj ofera o interfata utilizator care faciliteaza formularea interactiva a interogarilor folosind variabile de domeniu sau constante pentru a forma modelul (schema conceptuala) a tuplurilor (inregistrarilor) rezultat. O interogare formulata de utilizator prin QBE este convertita de mediul Access in comenda SQL echivalenta, care poate fi vizualizata selectand optiunea SQL View (mod de afisare SQL) din meniul View.
Pentru a crea o interogare folosind limbajul QBE, in fereastra Database, se selecteaza panoul Queries, si apoi comanda New. Pe ecran este afisata caseta de dialog New Query care contine mai multe optiuni pentru crearea interogarilor. Pentru exemplificarea modului de creare a unei interogari, se va alege optiunea Design View. La comanda OK cu aceasta selectie, se deschide caseta de dialog Show Table si afiseaza grila de construire a interogarii QBE.
Deoarece majoritatea interogarilor se bazeaza pe date existente in tabele, mediul Access asteapta ca utilizatorul sa selecteze o sursa de date valida care poate fi atat tabela, dar si o interogare existenta in baza de date, deoarece ambele tipuri de componente returneaza obiecte de tip tabela, din care interogarile pot extrage date. Dupa selectarea unei surse de date, caseta de dialog Show Table poate fi inchisa pentru a elibera ecranul si a vedea intreaga grila QBE. Aceasta grila este formata din doua sectiuni: sectiunea din partea de sus contine tabelele (sau interogarile) selectate, cu prezentarea asocierilor dintre acestea, iar sectiunea din partea de jos a ferestrei contine grila interogarii (Query Grid). si este cea in care se lucreaza efectiv. Randurile din grila interogarii sunt folosite astfel:
Field
(Camp). Intrarea in fiecare celula de pe acest rand este numele unui camp din
sursa de date. Introducerea numelui unui
Table (Tabela). Este sursa de date in care se gasesc campurile listate mai sus. Poate fi o tabela sau o alta interogare.
Sort (Sortare). Reprezinta modul in care trebuie sortate inregistrarile returnate de interogare. Intrarile valide in aceasta celula sunt: ascending (0-9, A-Z), descending (9-0, Z-A) si not sorted (nesortate sau necompletate). Sortarea se aplica asupra campului afisat deasupra ordinii de sortare; pot fi sortate oricate campuri din grila.
Show (Afisare). Aceasta caseta este validata automat, indicand astfel ca datele din campul selectat trebuie afisate ca parte a rezultatelor interogarii. In cazul in care caseta nu este validata, campul respectiv este folosit pentru sortare si/sau criterii, dar nu este afisat pe ecran.
Criteria (Criterii). Un sir introdus in aceasta celula indica faptul ca respectivul camp trebuie sa corespunda sirului pentru ca datele din inregistrarile asociate sa fie incluse in rezultat. Acest sir poate include oricate criterii pentru campul listat, separate prin cuvantul cheie AND.
or (sau). Orice sir introdus in aceasta celula face parte din criteriile de selectie pentru campul corespunzator, dar aceste criterii sunt diferite de cele introduse in celula anterioara. Daca datele din campul listat respecta criteriile din celula Criteria sau pe cele din celula or, inregistrarea asociata va fi inclusa in setul de rezultate.
Cand se deschide grila QBE, programul Access presupune ca utilizatorul doreste sa construiasca o interogare corespunzatoare unei comenzi SQL se tip SELECT. Exista o serie de caracteristici si functii suplimentare utile in procesul de construire a interogarilor SELECT cum ar fi utilizarea functiilor statistice pe linia Totals a unei interogari in vederea calcularii totalurilor si a altor valori. Daca in modul de afisare Design View a unei interogari se selecteaza de pe bara de instrumente butonul Totals (are o pictograma reprezentand litera greceasca sigma - S ), in grila QBE apare o linie noua intitulata Total. In campul Total pot fi selectate dintr-o lista derulanta mai multe functii care opereaza asupra campului corespunzator si shimba modul in care acesta este afisat in rezultat: Group by, Sum, Avg, Min, Max, s.a..
Pentru crearea celorlalte tipuri de interogari, se selecteaza din meniul Query tipul de interogare dorit ceea ce conduce la actualizarea campurilor din grila (Update Query, Delete Query, etc).
Atunci cand se specifica mai multe tabele pentru o interogare, tabelele sunt considerate asociate. si se efectueaza operatia de algebra relationala join, care va fi studiata intr-o lucrare ulterioara.
4. Asocierile intre tabele. Integritatea referentiala a bazei de date.
In proiectarea si exploatarea bazelor de date de orice tip, se folosesc asocieri (relationships) intre multimile de entitati (datele) componente, pentru a modela realitatea pe care baza de date o reprezinta. Fiind date doua multimi de entitati, M1 si M2, se pot defini trei tipuri de asocieri:
Unul-la-unul (One-to-one): este asocierea in care unei entitati din multimea M1 ii coreaspunde o singura entitate din multimea M2, si reciproc; se noteaza cu 1:1.
Unul-la-multe (One-to-many): este asocierea in care unei entitati din multimea M1 ii coreaspund una sau mai multe entitati in multimea M2, dar unei entitati din M2 ii corespunde o singura entitate in multimea M1; se noteaza cu 1:N
Multe-la-multe (Many-to-many): este asocierea in care unei entitati din multimea M1 ii coreaspund una sau mai multe entitati in multimea M2, si, de asemenea, unei entitati din M2 ii corespund una sau mai multe entitati in multimea M1; se noteaza cu M:N
In modelul relational, asocierile dintre multimile de entitati de date sunt asocieri intre tabelele componente si se realizeaza prin intermediul cheilor tabelelor. Intr-o tabela se pot defini urmatoarele tipuri de chei: cheia primara (PRIMARY KEY), chei candidate (CANDIDATE KEY) si chei straine (FOREIGN KEY).
O cheie candidata intr-o relatie (tabela) este o submultime de campuri (coloane) ale tabelei care are valori unice in tabela respectiva, adica nu exista doua linii ale tabelei care sa aiba valori identice in toate campurile care apartin unei chei candidate. Este posibil insa ca o cheie candidata sa admita valori de NULL. O cheie primara este o submultime de campuri ale tabelei care are valori unice in tabela respectiva, adica nu exista doua linii ale tabelei care sa aiba valori identice in toate campurile care apartin unei cheii primare si nu sunt admise valori de NULL. Cheia primara este, in mod implicit, cheie candidata. O tabela poate avea oricate chei candidate, dar o singura cheie primara. O cheie straina este o submultime de atribute (campuri) ale tabelei astfel incat valoarea acesteia (a tuturor campurilor care o compun) este egala cu valoarea unei chei candidate din tabelul referentiat, sau are valoarea NULL. O tabela poate sa aiba zero sau oricat de multe chei straine. Campurile corespondente din cheia straina si cheia candidata referentiata trebuie sa fie compatibile ca tip, dar nu este neaparat nevoie sa aiba aceeasi denumire.
Prin intermediul cheilor se pot defini toate tipurile de asocieri intre tabele.
Asocierea 1:1 intre doua tabele se realizeaza daca cheia primara dintr-o tabela este, de asemenea, cheie primara si in cealalta tabela.
Asocierea 1:N se realizeaza prin intermediul unei chei straine: o cheie straina (definita intr-o tabela) care referentiaza o cheie primara dintr-o alta tabela, realizeaza asocierea 1:N intre tabela care contine cheia primara si tabela care contine cheia straina.
Asociere M:N nu se poate defini direct intre doua (sau mai multe) tabele, ci numai prin intermediul unei alte tabele (numita tabela de asociere), definit astfel incat fiecare din tabelele date realizeaza o asociere de tipul 1:N cu tabela de asociere. Pentru aceasta, tabela de asociere contine cate o cheie straina care referentiaza cheia primara corespunzatoare din fiecare din tabelele date.
Cheile impun constrangeri asupra valorii datelor care se pot memora in tabele si respectarea acestor constrangeri asigura integritatatea datelor. Constrangerile se definesc la proiectarea conceptuala a bezei de date si se introduc in aplicatie intr-un mod care depinde de sistemul de gestiune si de instrumentele de proiectare folosite.
In Access, cheia primara a unei tabele se defineste la proiectarea tabelei. Cheile candidate nu se definesc explicit, ci pot fi testate doar la introducerea datelor. Cheile straine permit stabilirea de asocieri intre tabele si se definesc in doua etape. In prima etapa, la crearea tabelelor, campurile (sau campul) care vor constitui cheia straina trebuie sa fie definite de acelasi tip de date (cu acelasi domeniu) ca si campurile corespunzatoare din cheia primara din tabela pe care o referentiaza. Dupa definirea tabelelor (tabelele referentiate si tabelele care referentiaza), se foloseste comanda de meniu Tools/Relationships (sau comanda Relationships din bara de instrumente, care are o pictograma reprezentand un arbore) pentru a defini asocierea si deci cheia straina intre tabele.
La actionarea comenzii Relationships, programul Access afiseaza o fereastra numita Relationships si mai multe comenzi de meniu asociate acestei ferestre. In fereastra Relationships sunt reprezentate tabelele asociate, fiecare tabela avand toate campurile definite, iar o asociere este reprezentata printr-un link (conexiune) intre doua tabele, in dreptul atributelor (campurilor) corespundente. Tabelele afisate pot fi rearanjate in cadrul ferestrei tragandu-le cu mouse-ul. Acest mod de afisare se poate observa in Figura 1.
Pentru a crea o noua asociere intre doua tabele, se parcurg urmatorii pasi:
Se adauga in fereastra Relationships tabelele intre care se doreste crearea de asocieri. Pentru aceasta se actioneaza comanda Show Table din meniul Relationships sau din meniul de context, obtinut prin click pe butonul dreapta al mousului in fereastra Relationships. La aceasta comanda, se deschide inca o fereastra, cu titlul Show Table, care listeaza toate tabelele definite. Se selecteaza una sau mai multe tabele si se da comanda de buton Add, care introduce tabelele selectate in fereastra Relationship. Dupa acesta, fereastra Show Table poate fi inchisa (cu comanda de buton Close).
Cheile primare din fiecare tabela sunt afisate cu caractere ingrosate. Cu mouse-ul, se trage numele cheii primare din tabela referentiata peste numele campului corespunzator cheii straine sau cheii primare din tabela care referentiaza. Va fi afisata o noua fereastra Relationships, care permite stabilirea unor optiuni de asociere intre tabele. Prin acest mecanism, se definesc atat asocieri 1:1 cat si asocieri 1:N. Link-ul de conectare intre doua tabele asociate are eticheta 1 pe capatul dinspre tabela referentiata (care contine cheia primara) si eticheta pe capatul dinspre tabela care referentiaza (care contine cheia straina).
In fereastra Relationships (Figura 2) apar numele campurilor care au fost asociate. In majoritatea situatiilor, se recomanda selectarea casetei de validare Enforce Referential Integrity (forteaza integritatea referentiala), ceea ce impune verificarea conditiei de integritate referentiala, adica pentru cheia straina din tabela care referentiaza nu se admit decat valori care exista in cheia primara dintr-un tuplu (linie) din tabela referentiata.
In fereastra de editare a unei asocieri Relationships se mai poate valida optiunea de 'actualizare in cascada' a campurilor corelate prin referentiere (Cascade Update Related Fields) si optiunea de 'stergere in cascada' a campurilor corelate prin referentiere (Cascade Delete Related Fields).
Comanda de buton Join Type (Tipul de cuplare) permite stabilirea tipului de cuplare (join) intre tabele. La actionarea acestei, comenzi se deschide o fereastra de dialog modal (Join Propeerties) prin care se poate selecta unul din trei tipuri de operatii de cuplare. Prima optiune este cea implicita (cuplare interna - internal join) este cea mai frecvent utilizata; celelalte doua tipuri (cuplari externe la dreapta sau la stanga) vor fi studiate intr-o lucrare ulterioara.
In exemplul preentat s-au definit asocieri 1:1 (intre tabelele STUDENTI si STUDENTI_DETALII) si asocieri 1:N (intre tabelele STUDENTI --INDRUMARE si PROFESORI -- INDRUMARE). Intre tabelele STUDENTI si PROFESORI asocierea de M:N este realizata prin tabelul de asociere INDRUMARE si cele doua asocieri 1:N definite pentru acesta.
III. Operare cu bazele de date
In momentul in care tabela de date contine inregistrari, putem efectua urmatoarele operatii:
Inregistrarile se aduga la sfarsitul tabelului, pe linia unde este caracterul “*”
Selectam inregistrarea ce urmeaza sa fie stearsa;
Din meniul File alegem optiunea Delete Record;
Selectam YES in caseta de dialog care se deschide.
Selectam inregistrarea ce urmeaza sa fie mutata;
Alegem Cut din bara de butoane sau din meniul Edit;
Pozitionam cursorul in noua pozitie;
Alegem Paste din bara de butoane sau din meniul Edit;
Selectam coloana corespunzatoare campului;
Selectam Delete Column/Delete Record din meniul Edit;
5.Inserarea unui camp
Selectam campul inaintea caruia veti insera un camp nou;
Alegem Lookup field din meniul Insert;
Definim noul camp;
Aplicatia Access permite importarea datelor din Word (caz in care trebuie specificat separatorul), din Excel(cand trebuie precizata zona, deoarece prima linie este considerate ca fiind numele campurilor) si din alte baze de date create cu ajutorul altor SGBG-uri(Fox-pro, Paradox).
LISTAREA BAZELOR DE DATE
1.Imprimarea unei inregistrari, a unei foi de date sau a unui obiect al bazei de date
Imprimarea foii de date a unui tabel, interogare, sau formular
a. Deschideti tabelul, interogarea, sau formularul in vizualizare Foaie de date , sau vizualizare PivotChart
Vizualizare foaie de date: O fereastra care afiseaza datele dintr-un tabel, formular, interogare, vizualizare sau procedura stocata in format randuri si coloane. In vizualizare foaie de date se pot edita campuri, adauga si sterge date si cauta date.), vizualizare PivotTable (Vizualizare PivotTable: O vizualizare care sintetizeaza si analizeaza datele dintr-o foaie de date sau dintr-un formular. Se utilizeaza diferite niveluri de detaliere sau se organizeaza datele prin glisarea campurilor si elementelor, prin afisarea sau ascunderea elementelor din listele verticale pentru campuri.)
Vizualizare PivotChart: O vizualizare care arata o analiza vizuala a datelor dintr-o foaie de date sau dintr-un formular. Sunt vizibile diferite niveluri de detaliere sau se indica aspectul prin glisarea de campuri si elemente sau prin expunerea si ascunderea de elemente in listele verticale pentru campuri.)
b. Variante disponibile:
1.Daca foaia de date contine o subfoaie de date pentru care doriti de asemenea imprimare, faceti clic pe indicatorul extindere (+) la stanga fiecarui rand a carui subfoaie de date doriti sa o extindeti.
Subfoaie de date: O foaie de date imbricata in cadrul altei foi de date si care contine date corelate sau unite cu prima foaie de date.)
Indicator extindere: Un buton care se utilizeaza pentru a extinde sau restrange grupuri de inregistrari; el afiseaza semnul plus (+) sau minus (-)
Obs: Daca extindeti toate subfoile de date (clic pe Formatare, pozitionare pe Subfoaie de date, si apoi clic pe Expandare totala), Access poate intoarce un numar neasteptat de mare de inregistrari. Nu imprimati dupa extinderea tuturor subfoilor de date decat daca sunteti sigur ca doriti imprimarea tuturor inregistrarilor rezultate.
2.Variante disponibile:
Urmatorul tabel enumera tehnicile de utilizare a mausului pentru selectarea datelor sau inregistrarilor in modul Vizualizare foaie de date (Vizualizare foaie de date: O fereastra care afiseaza datele dintr-un tabel, formular, interogare, vizualizare sau procedura stocata in format randuri si coloane. In vizualizare foaie de date se pot edita campuri, adauga si sterge date si cauta date.).
Pentru a selecta |
Faceti clic pe |
Datele dintr-un camp |
Acolo unde doriti sa inceapa selectarea si glisati peste date. |
Un camp intreg |
Marginea stanga a campului din foaia de date, acolo unde indicatorul se transforma in |
Campuri adiacente |
Marginea stanga a unui camp si glisati pentru extinderea selectiei. |
O coloana |
Butonul de selectare campuri (selector de camp: Caseta sau bara mica pe care se face clic pentru a se selecta intreaga coloana dintr-o foaie de date.). |
Coloane adiacente |
Numele campului din antetul coloanei, apoi glisati pentru extinderea selectiei. |
O inregistrare |
Butonul de selectare inregistrari (selector inregistrare: O caseta sau o bara mica la stanga unei inregistrari pe care se face clic pentru a selecta intreaga inregistrare in Vizualizare foaie de date sau Vizualizare formular.). |
Mai multe inregistrari |
Butonul de selectare inregistrari al primei inregistrari, apoi glisati pentru a extinde selectia. |
Toate inregistrarile |
Selectati Toate inregistrarile din meniul Editare. |
Imprimarea unui raport
Se selecteaza raportul in fereastra baza de date
Fereastra baza de date:Fereastra care apare la deschiderea unei baze de date Access sau a unui proiect Access. Ea afiseaza comenzile rapide pentru crearea noilor obiecte baza de date si deschiderea obiectelor existente.
Se deschide raportul in, Vizualizare proiect , Examinare inaintea imprimarii, sau Examinare aspect.
Vizualizare proiect: O fereastra care afiseaza proiectul urmatoarelor obiecte baza de date: tabele, interogari, formule, rapoarte, macrocomenzi si pagini de acces la date. in Vizualizare proiect se pot crea obiecte baza de date noi si modifica proiectul celor existente.)
Examinare inaintea imprimarii: O vizualizare a unui document asa cum va apare la imprimare.)
Sub Imprimanta, se specifica o imprimanta.
Sub Interval de Imprimare, se specifica toate paginile sau intervalul de pagini.
Sub Exemplare, se specifica numarul de exemplare si daca ele trebuie asamblate.
Imprimarea unui formular deschis
Rezultatele depind de vizualizarea in care este deschis formularul, mai putin Vizualizare proiect. Daca formularul este deschis in Vizualizare proiect, se imprima in Vizualizare formular.
|