Acces 2003 baze de date

50
CUPRINS MICROSOFT ACCESS 2003 ...............................................................................................................................5 1. BAZA DE DATE ................................................................................................................................................7 1. 1. Noţiune de bază de date. Tipuri de BD. ...........................................................................................7 1.2. Gestiunea bazelor de date. .................................................................................................................8 1.3. Administrarea bazelor de date. ..........................................................................................................9 2. MS ACCES 2003 ..............................................................................................................................................10 2.1. SGBD Access. Caracteristica generală..........................................................................................10 2.2. Lansarea sistemului MS Access 2003 .............................................................................................10 2.3. Crearea / accesarea unei baze de date .............................................................................................11 2.4. Închiderea / redeschiderea bazei de date .........................................................................................13 2.5. Ieşirea din Access .............................................................................................................................13 3. TABELE ACCESS. ..........................................................................................................................................14 3.1. Crearea unui tabel ...........................................................................................................................14 3.2. Caracteristicile câmpurilor ..............................................................................................................15 3.3. Stabilirea cheilor primare ................................................................................................................16 3.4. Proprietăţile câmpurilor...................................................................................................................17 3.5. Specificarea valorilor prestabilite ....................................................................................................19 3.6. Stabilirea unor condiţii de validare .................................................................................................19 3.7. Modificarea descrierii unui tabel ....................................................................................................20 3.8. Introducerea datelor în tabel ...........................................................................................................21 3.9. Redactarea datelor ...........................................................................................................................23 3.10. Modificări ce nu afectează structura fundamentală ....................................................................24 3.11. Relaţii dintre tabele. Integritatea datelor.......................................................................................26 4. FUNCŢII ACCESS ..........................................................................................................................................31

description

baze de date

Transcript of Acces 2003 baze de date

  • CUPRINS

    MICROSOFT ACCESS 2003 ...............................................................................................................................5

    1. BAZA DE DATE ................................................................................................................................................7

    1. 1. Noiune de baz de date. Tipuri de BD. ...........................................................................................7

    1.2. Gestiunea bazelor de date. .................................................................................................................8

    1.3. Administrarea bazelor de date. ..........................................................................................................9

    2. MS ACCES 2003 .............................................................................................................................................. 10

    2.1. SGBD Access. Caracteristica general.......................................................................................... 10

    2.2. Lansarea sistemului MS Access 2003 ............................................................................................. 10

    2.3. Crearea / accesarea unei baze de date ............................................................................................. 11

    2.4. nchiderea / redeschiderea bazei de date ......................................................................................... 13

    2.5. Ieirea din Access ............................................................................................................................. 13

    3. TABELE ACCESS. .......................................................................................................................................... 14

    3.1. Crearea unui tabel ........................................................................................................................... 14

    3.2. Caracteristicile cmpurilor .............................................................................................................. 15

    3.3. Stabilirea cheilor primare ................................................................................................................ 16

    3.4. Proprietile cmpurilor................................................................................................................... 17

    3.5. Specificarea valorilor prestabilite .................................................................................................... 19

    3.6. Stabilirea unor condiii de validare ................................................................................................. 19

    3.7. Modificarea descrierii unui tabel .................................................................................................... 20

    3.8. Introducerea datelor n tabel ........................................................................................................... 21

    3.9. Redactarea datelor ........................................................................................................................... 23

    3.10. Modificri ce nu afecteaz structura fundamental .................................................................... 24

    3.11. Relaii dintre tabele. Integritatea datelor ....................................................................................... 26

    4. FUNCII ACCESS .......................................................................................................................................... 31

  • 4

    4.1. Interogri Access ............................................................................................................................. 33

    4.2. Tipuri de interogri .......................................................................................................................... 34

    4.3. Interogri de selecie a nregistrrilor(Select Query) ..................................................................... 35

    4.4. Interogri de sortare a nregistrrilor ............................................................................................ 42

    4.5. Interogri de actualizare a nregistrrilor (Update Query) ........................................................... 44

    4.6. Interogri de excludere a nregistrrilor (Delete Query) ............................................................... 46

    4.7 . Interogri de grupare i totalizare a nregistrrilor ....................................................................... 48

    4.8. Interogri ncruciate (Crosstab Query) ........................................................................................ 50

  • 5

    MICROSOFT ACCESS 2003

    Microsoft Access 2003 este aplicaia de management al bazelor de

    date pus la dispoziie de suita Microsoft Office. Spre deosebire de Excel,

    Access va permite s stocm i s administrm volume mari de date, organizate

    n uniti numite nregistrri. O baz de date Access const din urmtoarele

    obiecte:

    Tabele conin toate nregistrrile

    Interogri localizeaz nregistrri specifice

    Formulare afieaz nregistrrile din tabele, una cte una

    Rapoarte tipresc loturi de nregistrri

    Pagini de acces la date pun la dispoziie date prin

    intermediul paginilor Web

    Macrocomenzi aciuni automate uzuale

    Module stocheaz declaraii si proceduri Visual Basic, care

    ne permit s scriem programe pentru bazele de date, astfel nct acestea s

    poat interaciona cu alt software.

    Utilitarele de asisten din aplicaia Access asigur un proces

    simplu, pas cu pas, de configurare a tabelelor, formularelor, paginilor de acces la

    date, rapoartelor i interogrilor.

    Prezenta lucrare conine 5 paragrafe.

    1 conine noiuni de baze de date, tipuri BD. O baz de date (BD)

    reprezint o colecie de date integrat, anume structurat i dotat cu o descriere

    a structurii i a relaiilor dintre date.

    2 conine caracteristica general a SGBD Access.

    3 conine tabelele Access ,care n baza lor se definesc celelalte

    clase de obiecte.

  • 6

    4 conine funcii Access.

    Ultimul conine interogri Access care include i subpunctele

    interogri de selecie,de sortare, de actualizare a datelor,de excludere a

    nregistrrilor, de grupare i totalizare i interogri ncruciate.

  • 7

    1. BAZA DE DATE

    1. 1. Noiune de baz de date. Tipuri de BD.

    Printre multiplele forme de organizare a datelor, bazele de date ocup

    un loc aparte.

    O baz de date (BD) reprezint o colecie de date integrat, anume

    structurat i dotat cu o descriere a structurii i a relaiilor dintre date.

    n funcie de modul de organizare a informaiilor, se cunosc cteva

    modele de BD:

    ierarhic (arborescent),

    reea,

    relaional .a.

    Modelul ierarhic. Cu ajutorul modelului conceptual ierarhic, schema

    bazei de date poate fi reprezentat sub forma unui arbore n care nodurile

    exprim colecii de date, iar ramurile reflect relaiile de asociere ntre

    nregistrrile coleciilor de date superioare i inferioare.

    Accesul la nregistrrile coleciilor de date inferioare se face prin

    traversarea arborelui, adic se parcurg toate coleciile aflate n subordonare

    ierarhic dintre colecia rdcin i colecia cercetat. Unui element superior i

    pot corespunde unul sau mai multe elemente inferioare, iar unui element inferior

    i corespunde un singur element superior.

    Modelul reea. Modelul reea se aseamn cu cel ierarhic, diferena

    constnd n aceea c unui element inferior i pot corespunde unul sau mai multe

    elemente superioare.

  • 8

    Modelul relaional. Modelul relaional este n prezent cel mai rspndit

    model de baze de date. Acest model are o singur structur de date: relaia sau

    tabelul. O baz de date relaional este un ansamblu de relaii (tabele) grupate

    n jurul unui subiect bine definit. Deci, o relaie poate fi redat printr-un tabel, n

    care fiecare rnd reprezint o nregistrare diferit, iar fiecare coloan un atribut.

    Coloanele tabelului sunt identificate prin nume diferite i reprezint cmpurile

    (atributele, caracteristicile) modelului conceptual. n fiecare coloan datele

    trebuie s fie de acelai tip. Cutarea n acest model de BD se face secvenial

    toate articolele i comparnd criteriile de cutare. Articolele ce satisfac conditiei

    cutrii se selecteaz i pot fi afiate.

    Subiectele pe care se axeaz tabelele unei BD pot fi cele mai diverse:

    activitatea unei firme, stocarea mrfurilor la un depozit, rezultatele unui

    recensmnt,etc. Dei n modelul relaional principala structur de date o

    reprezint tabelul, o baz de date este mai mult dect o simpl mulime de

    tabele. Pe parcurs vom vedea c ntre tabelele bazei de date exist o

    interdependen strns, n timp ce ntre tabelele de calcul obinuite aceast

    interdependen practic lipsete.

    1.2. Gestiunea bazelor de date.

    Sistemul de gestiune a bazelor de date (SGBD) este acel sistem de

    programe care faciliteaz i supervizeaz introducerea de informaii n baza de

    date, actualizarea i extragerea din baz, controlul i autorizarea accesului la

    date. Un sistem de gestiune a bazelor de date trebuie s fie capabil s

    ndeplineasc urmtoarele funcii:

    de descriere ,care rezid n definirea structurii datelor, a relaiilor

    dintre acestea i a condiiilor de acces la informaiile coninute n baza de date;

  • 9

    de actualizare, care presupune inserarea, redactarea i suprimarea

    datelor;

    de interogare a BD, care permite obinerea diferitor informaii din BD

    conform unor criterii de cutare;

    de obinere de date noi, care const n prelucrarea informaiei iniiale

    n scopul obinerii unor totaluri, medii etc.;

    de ntreinere, care const n crearea copiilor de rezerv, compactarea

    BD i repararea ei n cazul deteriorrii;

    de securitate a datelor, care rezid n protejarea BD mpotriva

    accesului neautorizat i n atribuirea drepturilor de acces.

    1.3. Administrarea bazelor de date.

    Administrarea BD presupune coordonarea lucrrilor de proiectare a

    BD, protecia (securitatea) informaiei, dezvoltarea BD,etc. Aceste funcii le

    ndeplinete Administratorul Bazei de Date (ABD). El definete obiectele

    sistemului , elaboreaz principiile de protecie a datelor, rspunde de alegerea i

    implementarea SGBD, asigur funcionarea normal a sistemului.

  • 10

    2. MS ACCES 2003

    2.1. SGBD Access. Caracteristica general

    La nceputul anilor 80 s-a produs o trecere n mas la elaborarea i

    utilizarea sistemelor de gestiune a bazelor de date de tip relaional. Acest

    fenomen se explic prin atingerea unor limite tehnice i prin flexibilitatea redus

    a sistemelor de gestiune a bazelor de date cu structuri arborescente i reea care

    se foloseau pn atunci. nzestrate cu limbaje de generaia a patra i cu

    generatoare de aplicaii puternice , SGBD de tip relaional ofer numeroase

    faciliti de proiectare i dezvoltare a aplicailor .Cele mai rspndite SGBD de

    acest tip sunt: Oracle, Informix, SyBase, MySQL, Interbase, Access, acesta din

    urm fiind subiectul capitolului de fa.

    Sistemul de gestiune a bazelor de date MS Access 2003 (i versiunile

    care l-au precedat) a fost realizat de corporaia Microsoft i reprezint o nou

    ideologie n acest domeniu, avnd performane sporite.

    2.2. Lansarea sistemului MS Access 2003

    SGBD MS Access funcioneaz numai n mediul Windows. Exist mai

    multe modaliti de lansare a sistemului Access, una din ele fiind executarea

    consecutiv a aciunilor Start/All Programs(sau Programs)/Microsoft

    Office/Microsoft Office Access 2003.

    Ca rezultat, obinem o fereastr, asemntoare cu cea din figura 1.

  • 11

    Figura 1. - Lansarea sistemului Access

    2.3. Crearea / accesarea unei baze de date

    Dup cum am mai menionat, elementele principale ale unei baze de

    date sunt tabelele. Dar o baz de date poate conine i alte elemente care se

    creeaz pe baza tabelelor (interogri, formulare, rapoarte etc.). Aceste elemente,

    mpreun cu tabelele, formeaz aa-numitele clase de obiecte ale bazei de date.

    Pentru a crea o baz de date nou, n zona Open a ferestrei reprezentate

    n figura 1 alegem opiunea Create a new file, iar n caseta urmatoare - opiunea

    Blank Database. Putem, de asemenea, utiliza comenzile de creare/accesare a

    bazelor de date din meniul File.

  • 12

    Figura .2

    Pentru a deschide o baz de date existent n zona Open a ferestrei

    reprezentate n figura 1 executm un clic pe denumirea uneia din bazele de date

    utilizate recent sau selectm opiunea More pentru a accesa o baz de date

    amplasat pe un dispozitiv de memorie auxiliar. n caseta de dialog care apare

    indicm numele BD

    Figura.3

  • 13

    (de ex., BIBL) i localizarea ei (discul, dosarul).Obinem o fereastr n

    care sunt disponibile cele 7 clase de obiecte Access.

    Figura. 4 - Fereastra cu clasele de obiecte Access

    2.4. nchiderea / redeschiderea bazei de date

    nchiderea unei baze de date poate fi fcut prin executarea comenzii

    Close din meniul File sau prin acionarea butonului din bara de titlu a bazei

    de date. De regul, la nchidere, sistemul salveaz automat baza de date

    mpreun cu toate obiectele pe care le conine. nchiderea unei baze de date nu

    nseamn i nchiderea aplicaiei MS Access, astfel nct putem deschide o alt

    de date sau crea o baz de date nou, n modul descris mai sus.

    2.5. Ieirea din Access

    Ieirea din MS Access poate fi fcut n unul din urmtoarele moduri:

    se apas combinaia de taste Alt+F4;

    se execut comanda Exit din meniul File;

    se acioneaz butonul din bara de titlu a aplicaiei

  • 14

    3. TABELE ACCESS.

    3.1. Crearea unui tabel

    Dup ce am deschis o baz de date , eveniment confirmat prin apariia

    ferestrei cu cele 7 clase de obiecte (fig.4) , putem crea diferite obiecte n oricare

    din clasele nominalizate. Dar deoarece fiecare din clasele Queries, Forms,

    Reports, Pages, Macros i Modules se definesc n baza tabelelor, acestea

    (tabelele) trebuie create n primul rnd. Cu alte cuvinte, dac o BD nu conine

    cel puin un tabel, crearea altor clase de obiecte devine lipsit de sens.

    Pentru a crea un tabel nou ,de exemplu, Comenzi, selectm clasa de

    obiecte Tables, apoi acionm butonul . Caseta de dialog New Table care

    apare (fig.5) ne ofer 5 moduri de definire a structurii tabelului.

    Figura. 5 - Moduri de definire a structurii unui tabel

    Dac selectm opiunea Design View i acionm butonul OK, obinem o

    fereastr

    (fig.6) n care definim cmpurile tabelului i caracteristicile lor.

  • 15

    Figura. 6. - Definirea cmpurilor tabelului Comenzi

    3.2. Caracteristicile cmpurilor

    Pentru fiecare cmp al tabelului se specific 3 caracteristici, i

    anume:

    Field Name (denumirea cmpului, obligatoriu);

    Data Type (tipul cmpului, obligatoriu);

    Description (descrierea cmpului, opional).

    Pentru comoditate, denumirile cmpurilor se introduc pe

    vertical, urmnd ca n regimul de introducere a datelor Datasheet View

    denumirile cmpurilor s-i ocupe poziiile obinuite (pe orizontal).

    Regimul Design View nu permite introducerea nregistrrilor n tabel, ci doar

    descrierea cmpurilor care alctuiesc tabelul.

    Denumirea cmpului poate conine diferite caractere, inclusiv spaii, cu

    excepia unor semne speciale ( ".", "!" .a.). n caz de necesitate, denumirea

    poate conine semnul "_" (subliniere). Lungimea denumirii cmpului

    (mpreun cu spaiile) nu poate depi 64 de caractere.

    Exemple: autorul;Id_ rii; locul_ de_ munc; LoculDeMunc; Locul de

    Munc.

  • 16

    Tipul cmpului poate fi unul din urmtoarele:

    Text - pentru texte sau numere care nu vor fi folosite n calcule;

    Memo - pentru texte lungi (biografia autorului, rezumatul crii etc.).

    Number - pentru numere care vor fi folosite n calcule;

    Date/Time - pentru date calendaristice;

    Currency - pentru valori bneti;

    AutoNumber - pentru numere ntregi care i mresc n mod automat

    valorile (numrul de ordine, de exemplu);

    Yes/No - pentru valori logice care pot lua numai dou valori: Yes

    (adevr), No (fals);

    OLE Object - pentru imagini (fotografia autorului), sunete (imnul rii).

    Hyperlink - pentru adrese Hyperlink. Valorile acestui cmp pot fi

    adrese Internet (de exemplu, www.google.com) sau locaii (calea spre un

    fiier sau dosar din calculator)

    Lookup Wizard - reprezint, de fapt, nu un tip de date, ci o proprietate

    a cmpului prin care valorile lui pot fi selectate din alt tabel. Acest mod de

    abordare simplific procedura introducerii valorilor cmpului i, n plus reduce

    riscul comiterii unor erori.

    Pentru a schimba tipul cmpului (implicit tipul este Text), trecem

    n coloana Data Type (fig.6) i din lista derulant alegem tipul dorit. Apoi

    trecem (dac e cazul) n coloana Description, pentru a introduce note

    explicative, sau n rndul urmtor, pentru descrierea altui cmp.

    3.3. Stabilirea cheilor primare

    Dac valorile unui cmp sunt unice (nu se repet), putem semnala acest

    lucru, pentru a evita introducerea accidental a dou valori identice. Aceast

    procedur poart denumirea de stabilire a cheii primare, n cazul tabelului

  • 17

    CITITORI, cheia primar poate fi stabilit pe cmpul IdCarte, pentru a exclude

    eventualitatea repetrii identificatorului crii (n bibliotec nu pot exista dou

    cri cu acelai identificator). Cheia primar poate fi stabilit i pe cteva

    cmpuri. Pentru a stabili cheia primar, selectm cmpul respectiv, apoi executm

    un clic pe butonul din bara cu instrumente. Ca rezultat, n partea din

    stnga a cmpului respectiv apare semnul cheii (vezi fig. 6).

    Dup ncheierea procedurii de descriere a cmpurilor i de stabilire

    a cheii primare, salvm tabelul (descrierea lui), selectnd comanda Save din

    meniul File i indicnd numele tabelului. Dac nu am stabilit o cheie

    primar (acest lucru nu este obligatoriu), sistemul ne va avertiza,

    sugerndu-ne stabilirea cheii pe un cmp de tip AutoNumber. Pentru a

    confirma, acionm butonul Yes. n acest caz sistemul stabilete automat cheia

    primar pe un cmp AutoNumber (dac el exist) sau creeaz suplimentar un

    asemenea cmp (dac el nu exist), stabilind pe el cheia primar. Pentru a

    renuna la stabilirea cheii primare, acionm butonul No.

    3.4. Proprietile cmpurilor

    n afar de tipul cmpului, putem stabili i unele proprieti ale sale,

    cum ar fi mrimea (lungimea), numrul cifrelor zecimale, formatul datei

    calendaristice etc. Fiecare tip de date are proprieti prestabilite, dar ele pot fi

    modificate, executnd un clic pe cmpul respectiv (fig. 6, partea de sus) i

    modificnd valorile prestabilite care apar n partea de jos.

    Cmpurile de tip Text pot avea lungimi cuprinse ntre l i 255 de

    caractere. Implicit, mrimea cmpului este de 50, dar ea poate fi modificat n

    limitele amintite, n funcie de lungimea maxim preconizat a valorilor cmpului

    respectiv. Astfel, pentru IdCarte (identificatorul crii), modificm mrimea

  • 18

    cmpului din 50 (valoarea prestabilit) n 8 (valoarea necesar). La fel

    procedm i cu caracteristicile altor cmpuri.

    Menionm i cu aceast ocazie, c pentru cmpurile ce conin numai

    valori numerice (identificatori numerici), care nu vor fi folosite n calcule, vom

    prefera tipul Text n locul tipului Number. Acest mod de abordare va facilita

    ulterior cutarea informaiei n baza de date.

    Cmpurile de tip Number au lungimi diferite n funcie de opiunea

    specificat pentru proprietatea Field Size.

    Opiunea implicit pentru cmpurile de tip Number este, de regul,

    Single, dar ea poate fi modificat, utiliznd comanda Options din meniul

    Tools. Pentru cmpurile de tip Number poate fi stabilit i proprietatea

    Format, n care specificm modul de afiare a valorilor (numrul cifrelor

    zecimale etc.).

    Cmpurile de t ip Date/Time au lungimi variabile n funcie de

    formatul datei/orei specificat pentru proprietatea Format a cmpului. De

    altfel, formatul de reprezentare a datelor calendaristice, la fel ca i

    delimitatorii dintre dat, lun i an, pot s difere de cele utilizate n aceast

    lucrare. Reprezentarea datelor ine de modul n care a fost personalizat

    sistemul Windows. Pentru a schimba formatul de reprezentare a datelor

    calendaristice (dar i a orei, a numerelor i a valutei), este necesar de a efectua

    setrile respective, utiliznd aplicaia Regional Options din meniul Control

    Panel al meniului de baz Start.

    Remarc: Dac anul este indicat cu 2 cifre, Access l interpreteaz

    astfel:

    pentru valorile din intervalul 00-29 se subnelege anii 2000-2029;

    pentru valorile din intervalul 30-99 se subnelege anii 1930-1999.

  • 19

    Cmpurile de tip logic (Yes/No) ocup n memoria calculatorului un

    octet i pot fi reprezentate n 4 moduri, n funcie de opiunea specificat pentru

    proprietatea Format a acestui cmp, i anume: Yes/No, True/False, On/Off, -1/0.

    n ultimul caz valoarea - l corespunde strii True (adevr), iar valoarea 0 -

    strii False (fals).

    3.5. Specificarea valorilor prestabilite

    Dac o bun parte din valorile unui cmp se repet frecvent (de

    exemplu, n cazul cnd majoritatea cititorilor au studii superioare), putem

    specifica o valoare prestabilit (implicit) a cmpului respectiv. Valoarea

    prestabilit (n cazul nostru "super") se specific pentru proprietatea Default

    Value a cmpului. In procesul introducerii datelor sistemul atribuie cmpului

    valoarea prestabilit n mod automat, utilizatorul urmnd s modifice doar

    valorile care difer de cea prestabilit.

    3.6. Stabilirea unor condiii de validare

    Pentru a diminua riscul introducerii unor valori greite, putem stabili

    condiii (reguli) de validare pentru valorile cmpurilor respective. Regulile de

    validare se stabilesc pentru proprietatea Validation Rule a cmpului. Totodat,

    pentru proprietatea Validation Text se specific mesajul care trebuie s fie

    afiat n cazul nerespectrii regulii. Astfel, dac se tie c preul crilor nu

    depete valoarea 200, specificm pentru proprietatea Validation Rule a

    cmpului Pre condiia

  • 20

    proprietatea Validation Rule. Mesajul specificat pentru proprietatea Validation

    Text va fi i el adecvat. In fiecare din situaiile descrise vor fi afiate mesajele

    respective n cazul introducerii unor valori care nu corespund condiiilor de

    validare stabilite n procesul definirii cmpurilor.

    3.7. Modificarea descrierii unui tabel

    n cazul cnd apare necesitatea modificrii descrierii iniiale a unui tabel

    (adugarea sau excluderea unuia sau mai multor cmpuri, schimbarea ordinii,

    modificarea unor caracteristici, etc), deschidem tabelul respectiv n regimul

    Design View i efectum modificrile necesare dup cum urmeaz (n orice

    consecutivitate):

    a) Modificarea denumirii cmpului. Executm un clic pe denumirea

    cmpului i efectum schimbrile necesare.

    b) Adugarea unui cmp. Marcm cmpul, naintea cruia trebuie

    inserat noul cmp. Pentru aceasta executm un clic n partea stng a rndului

    respectiv, acesta schimbndu-i culoarea. Apoi executm comanda Insert Row

    din meniul Edit.

    c) Excluderea unui cmp. Marcm cmpul ca n cazul precedent, apoi

    apsm tasta Delete. Confirmm aciunea prin OK.

    d) Schimbarea ordinii (deplasarea) cmpurilor. Marcm cmpul care

    urmeaz a fi deplasat, apoi, innd apsat butonul stng al mouse-ului, deplasm

    cmpul dat peste cmpul, naintea cruia dorim s fie situat.

    e) Schimbarea caracteristicilor. Executm un clic pe rndul n care

    este definit cmpul, apoi stabilim caracteristicile cmpului n modul descris n

    paragrafele precedente. n cazul n care n tabel au fost introduse date,modificarea

    caracteristicilor cmpurilor tabelului poate implica denaturarea informaiei. Astfel,

    dac micorm lungimea unui cmp de tip Text, este posibil trunchierea (din

    dreapta) a datelor. Modificarea tipului cmpului poate avea, de asemenea,

  • 21

    consecine nedorite. Din aceast cauz ne vom strdui s definitivm proprietile

    cmpurilor nainte de a introduce valori n tabel.

    f) Adugarea sau anularea unei chei primare. n caz de necesitate,

    putem aduga sau anula una sau mai multe chei primare. Pentru a schimba cheia

    primar de pe un cmp pe altul, selectm cmpul nou, apoi acionm butonul

    din bara cu instrumente. Pentru a stabili cheia primar pe cteva cmpuri , le

    selectm, apoi acionm acelai buton. Pentru a anula una sau mai multe chei

    primare, executm comanda Indexes din meniul View, apoi n caseta care se

    deschide selectm cmpurile respective i apsm tasta Delete.

    Dup efectuarea modificrilor, salvm tabelul cu Save As sau Save din

    meniul File.

    3.8. Introducerea datelor n tabel

    Dup ce am efectuat procedurile de descriere a tabelului , putem

    introduce date n cmpurile lui. Pentru a iniia procesul de introducere a datelor ,

    deschidem BD (dac nu este deschis) , apoi n fereastra Database (fig.4)

    selectm tabelul necesar (de exemplu Cititori) i executm un clic pe Open. Ca

    rezultat, se afieaz cmpurile tabelului respectiv fig.7(iniial tabelul conine

    doar un rnd liber).

  • 22

    Figura.7 - Introducerea i modificarea datelor n tabel

    Nu este absolut obligatoriu s completm toate cmpurile; astfel dac

    anumite date nu snt deocamdat cunoscute, introducerea lor poate fi amnat.

    Excepie fac cmpurile pentru care au fost stabilite chei primare. Aceste

    cmpuri nu pot avea valori nule, de aceea valorile lor trebuie introduse n mod

    obligatoriu. Ordinea introducerii datelor poate fi i ea oricare. Dac a fost

    stabilit o cheie primar , la o nou deschidere a tabelului nregistrrile vor fi

    afiate n ordinea cresctoare a valorilor cmpului respectiv. Datorit acestui

    fapt, orice nregistrare nou se adaug la sfritul tabelului, avnd certitudinea

    c ulterior ea va fi plasat n locul corespunztor. Dup terminarea introducerii

    datelor nchidem tabelul, acionnd butonul sau executnd comanda Close din

    meniul File (modificrile efectuate se salveaz automat).

    Remarc: Tipul i caracteristicile datelor introduse trebuie s

    corespund ntocmai tipului i caracteristicilor cmpurilor respective definite n

    procesul crerii (descrierii) tabelului.

  • 23

    3.9. Redactarea datelor

    Dac apare necesitatea modificrii (editrii) nregistrrilor unui tabel,

    deschidem tabelul n regimul Datasheet View, acionnd butonul Open din

    fereastra Database (sau executnd un dublu-clic pe numele tabelului). Ca

    rezultat, obinem tabelul cu coninutul precedent, coninut pe care-1 putem modifica

    la dorin. Modificrile pot fi cele mai diverse: nlocuirea datelor existente,

    completarea unor cmpuri, ale cror valori nu erau cunoscute anterior,

    adugarea unor nregistrri noi, tergerea unor nregistrri, copierea unor valori

    etc. Majoritatea acestor modificri se efectueaz prin simpla deplasare n

    cmpul i rndul necesar i prin nlocuirea coninutului vechi prin altul nou.

    Menionm, c semnul indic rndul curent, iar atunci cnd iniiem

    procedura se modificare a nregistrrii, acest semn este nlocuit cu ultimul

    fiind prezent pn la trecerea la o alt nregistrare.

    In cele ce urmeaz vom descrie cteva proceduri de redactare a datelor.

    a) Adugarea unor nregistrri noi. nregistrrile noi sunt plasate la

    sfritul tabelului .

    b) Excluderea unor nregistrri. Pentru a terge una sau mai

    multe nregistrri consecutive, marcm aceste nregistrri prin glisarea

    ("tragerea") mouse-ului pe verticala din stnga tabelului, apoi apsm tasta

    Delete sau alegem comanda Delete din meniul Edit. Ni se va cere confirmarea

    aciunii, la care vom rspunde prin OK sau vom renuna prin Cancel.

    c) Copierea unor blocuri de date. Pentru a copia un bloc de date,

    marcm blocul, apoi acionm butonul Copy din bara cu instrumente. Ca

    rezultat, coninutul blocului se copie n memoria Clipboard. Din acest moment,

    coninutul memoriei Clipboard poate fi "lipit" oriunde. In acest scop marcm

    locul inserrii (blocul-destinaie) i acionm butonul Paste din bara cu

    instrumente.

  • 24

    Remarc: Dimensiunile i caracteristicile blocului-destinaie trebuie

    s corespund ntocmai dimensiunilor i caracteristicilor blocului-surs.

    Modificrile efectuate n orice nregistrare a tabelului se salveaz

    n mod automat de fiecare dat cnd trecem la o alt nregistrare, sau la

    nchiderea tabelului. Aceasta nseamn c dup terminarea lucrului cu un

    tabel nu este neaprat nevoie s-1 salvm, - sistemul o va face singur.

    Utilizatorul trebuie doar s aib grij s nchid tabelul n caz c nu-1 va

    mai utiliza. Dac, ns, am efectuat modificri ce i n de aspectul tabelului

    (limea coloanelor, ordinea lor etc.) i dorim ca aceste modificri s fie

    prezente la o nou deschidere, nainte de a nchide tabelul, l salvm cu

    comanda Save din meniul File.

    MS Access pstreaz informaia despre modificrile efectuate, ceea

    ce permite, n cazul cnd am greit, anularea modificrilor i revenirea la

    starea precedent. Pentru a anula modificrile din cmpul curent, apsm

    tasta Esc, iar pentru a anula modificrile din nregistrarea curent -

    apsm tasta Esc de dou ori. Pentru a anula modificrile din nregistrare

    dup ce s-a trecut la o nou nregistrare, executm comanda Undo Saved

    Record din meniul Edit. Prin aceasta se revine la s i t u a i a anterioar

    aciunii greite (nedorite).

    3.10. Modificri ce nu afecteaz structura fundamental

    Pe lng modificrile care vizeaz structura unui tabel i coninutul

    lui, sunt posibile i modificri care schimb doar modul de prezentare a

    tabelului, fr a afecta structura lui fundamental. Aceste modificri in de

    ordinea afirii cmpurilor (coloanelor), limea cmpurilor, nlimea

    rndurilor etc.

    a) Schimbarea ordinii afirii cmpurilor, n unele cazuri, este

    necesar de a schimba ordinea afirii cmpurilor, diferit de cea din

  • 25

    descrierea fundamental, stabilit n regimul Design View. Pentru a reamplasa

    un cmp, l marcm, apoi, innd apsat butonul stng al mouse-ului, l

    deplasm n poziia dorit i eliberm butonul. Ca rezultat, cmpul deplasat

    nlocuiete cmpul peste care a fost suprapus, acesta din urm deplasndu-se la

    dreapta. n mod analog putem deplasa i alte cmpuri, astfel nct ordinea

    cmpurilor s devin cea dorit. Dar oricare ar fi modificrile efectuate n

    regimul Datasheet View (Foaie de date), ele nu afecteaz ordinea i

    caracteristicile cmpurilor stabilite n regimul Design View (Proiectare).

    b) Sortarea nregistrrilor. Pentru a obine o consecutivitate a

    nregistrrilor, diferit de cea existent, putem efectua o sortare (n ordine

    cresctoare sau descresctoare) dup valorile unui cmp al tabelului. Pentru

    aceasta plasm cursorul pe cmpul respectiv i acionm unul din butoanele

    sau . Dac la nchiderea tabelului aceast modificare nu se

    salveaz, la o nou deschidere a tabelului nregistrrile se vor afia n

    ordinea obinuit. Modul de sortare descris aici nu prevede sortri complexe,

    acestea putnd fi obinute n baza interogrilor .

    c) Modificarea limii coloanei unui cmp. In cazul cnd limea unui

    cmp nu corespunde lungimii datelor pe care le conine, putem schimba

    (mri, micora) limea lui. Pentru aceasta poziionm indicatorul mouse-ului

    pe l in ia din partea dreapt a denumirii cmpului (forma indicatorului se

    schimb n sgeat dubl orizontal), apsm butonul stng al mouse-ului i,

    deplasndu-1 la stnga la dreapta, micorm-mrim limea cmpului. Dac n

    poziia n care indicatorul mouse-ului ia forma menionat mai sus executm

    un dublu-clic, limea cmpului devine egal cu lungimea celei mai mari

    nscrieri a acestui cmp din partea vizibil a tabelului. Subliniem i cu aceast

    ocazie c aceste modificri nu schimb limea iniial a cmpului, stabilit

    n procesul descrierii lui n regimul Design View.

    d) Modificarea nlimii rndurilor. Pentru a modifica nlimea

    rndurilor, poziionm indicatorul pe linia ce desparte oricare dou rnduri

  • 26

    (forma indicatorului se modific n sgeat dubl vertical), apsm butonul

    stng al mouse-ului i, deplasndu-1 n sus-n jos, micorm-mrim nlimea

    rndurilor (se modific simultan nlimea tuturor rndurilor, i nu doar a celui

    curent).

    Dac nu salvm tabelul cu Save din meniul File, modificrile

    descrise n a)-d) i pierd actualitatea, astfel nct, la o nou deschidere a

    tabelului, ordinea cmpurilor i a nregistrrilor, dimensiunile coloanelor i

    rndurilor vor rmne aceleai de pn la modificarea tabelului. Dac ns dup

    efectuarea modificrilor salvm tabelul, aceste modificri vor fi actuale la o

    nou deschidere a tabelului, dar i n acest caz ele nu afecteaz caracteristicile

    din descrierea lui iniial. Dup terminarea lucrului cu un tabel, l putem

    minimiza (n cazul cnd intenionm s-1 mai utilizm) sau nchide (n cazul

    cnd nu-1 vom mai utiliza). Deschiznd consecutiv cteva tabele i

    redimensionnd ferestrele respective, putem afia pe ecran mai multe tabele ale

    BD. nchiderea tabelului se face, dup cum am mai menionat, prin executarea

    comenzii Close din meniul File. Pentru a relua lucrul cu un tabel, l

    deschidem, acionnd butonul Open din fereastra Database (fig. 4).

    3.11. Relaii dintre tabele. Integritatea datelor

    Relaiile dintre dou tabele se stabilesc, de regul, prin intermediul unor

    cmpuri identice (cu aceeai denumire, de aceeai lungime, cu aceleai

    proprieti) prezente n ambele tabele.

    n cazul relaiei de tipul unu la muli n tabelul primar (din partea

    cruia se realizeaz relaia "unu") trebuie s existe un cmp, numit cheie

    primar, n care nu se admit valori care se repet, iar n tabelul secundar (din

    partea cruia se realizeaz relaia "muli") trebuie s existe un cmp analogic

    cu cel din tabelul primar, numit cheie strin, care poate admite valori care se

    repet.

  • 27

    Relaia muli la muli poate fi transformat n dou relaii de tipul unu

    la muli prin definirea unui tabel intermediar, n care se introduc, n calitate de

    chei strine, cheile primare ale primelor dou tabele. Astfel, pentru a evita

    relaia muli la muli dintre tabelele CRI i CITITORI, a fost definit

    tabelul COMENZI n care au fost incluse cmpurile IdCarte i IDCit din

    tabelele respective.

    Relaia de tipul unu la unu presupune existena n ambele tabele a unei

    chei primare cu aceleai caracteristici, n fond, dou tabele ntre care exist o

    relaie de tipul unu la unu pot fi oricnd unite ntr-un singur tabel; la fel, orice

    tabel poate fi divizat n dou sau mai multe tabele ntre care se stabilete o relaie

    de tipul unu la unu. Divizarea unui tabel n modul menionat mai sus poate fi

    util n cazul unui tabel cu un numr foarte mare de cmpuri (un tabel Access, de

    exemplu, nu poate conine mai mult de 255 de cmpuri), dar i n situaia cnd o

    parte din informaia care se refer la o entitate are un caracter confidenial, sau

    se utilizeaz foarte rar. n concluzie, dei relaiile de tipul unu la unu nu sunt

    caracteristice unei baze de date de tip relaional, totui n unele situaii acest tip

    de relaii este preferabil sau chiar necesar.

    Dac la proiectarea tabelelor inem cont de principiile expuse mai

    sus , atunci Access stabilete automat relaiile dintre tabelele care conin

    cmpuri comune. Totui putem stabili relaii ntre tabelele bazei de date i

    n mod explicit, utiliznd comanda Relationships din meniul Tools. n acest

    caz apare

  • 28

    Figura .8 - Relaiile dintre tabelele bazei de date BIBL

    o fereastr (fig.8) n care indicm tabelele ntre care se stabilesc

    relaii, apoi, cu ajutorul mouse-ului, trasm legturile ntre cmpurile

    respective.

    Dac unul din cmpurile de legtur este de tip cheie primar

    (el are o culoare mai pronunat), trasarea se face pornind de la acest cmp.

    Tab e lu l de la care se traseaz legtura se numete tabel primar

    (principal), i a r cellalt - secundar (subordonat). Ca rezultat, apare o caset

    de dialog (fig.9) n care putem specifica proprietile relaiei (legturii).

    fig.9 Stabilirea proprietilor relaiilor

  • 29

    Pentru relaia dintre dou tabele pot fi stabilite urmtoarele proprieti:

    1. Tipul relaiei (Relationship Type) poate fi stabilit ca unu la unu (one to

    one) sau unul la muli (one to many);

    2. Impune integritatea referenial (Enforce Referential Integrity}.

    Includerea acestui parametru asigur integritatea datelor n

    procesul introducerii, modificrii sau tergerii nregistrrilor din tabelele legate.

    Acest lucru este posibil doar n cazul cnd cmpul din tabelul principal este de

    t ip cheie primar, iar cmpul de legtur din tabelul subordonat are acelai tip de

    date. Atunci cnd introducem date n cmpul de legtur al tabelului

    subordonat, sunt acceptate doar acele valori care se conin n cmpul

    respectiv al tabelului principal. De exemplu, dac nu exist un cititor cu

    identificatorul 0472 n tabelul CITITORI, sistemul nu va admite apariia

    acestui cod n cmpul respectiv al tabelului COMENZI. In acest caz este

    necesar s introducem mai nti datele despre cititorul n cauz n tabelul

    CITITORI, apoi s utilizm identificatorul cititorului n tabelul COMENZI.

    La fel, nu putem exclude o nregistrare din tabelul principal, dac

    valoarea cmpului de legtur a acestei nregistrri se conine n una sau mai

    multe nregistrri ale tabelului subordonat.

    3. Modificarea n cascad a nregistrrilor (Cascade Update Related

    Fields). Dac acest parametru este inclus, sistemul va modifica toate valorile

    cmpului de legtur ale tabelului subordonat n cazul cnd valoarea cmpului

    respectiv al tabelului principal se modific. De exemplu, dac un cititor a pierdut

    carnetul de cititor cu numrul 0519 (identificatorul cititorului) i i se remite un nou

    carnet cu numrul 1465, aceast valoare trebuie s se modifice n toate

    nregistrrile tabelului COMENZI n care figureaz valoarea veche. In caz contrar,

    mprumuturile de cri fcute de cititorul cu identificatorul 0519 nu sunt valide,

    deoarece nu se cunoate nici o informaie despre cititorul n cauz.

    4. Excluderea n cascad a nregistrrilor (Cascade Delete Related

    Records). Dac acest parametru este activ, atunci excluderea unei nregistrri

  • 30

    din tabelul principal implic excluderea tuturor nregistrrilor din tabelul

    subordonat, n care valoarea cmpului de legtur coincide cu cea a cmpului

    respectiv din tabelul principal. De cele mai multe ori asemenea excluderi

    sunt fireti, deoarece existena unor nregistrri n tabelul subordonat, pentru

    care valoarea cmpului de legtur nu se conine i n tabelul principal, duce

    la pierderea integritii datelor.

    Toate raionamentele de mai sus in de integritatea datelor, asigurarea

    creia reprezint unul din principiile fundamentale ale proiectrii bazelor de date.

  • 31

    4. FUNCII ACCESS

    MS Access conine un set de funcii standard de cele mai diferite tipuri.

    Pentru descrierea lor vom folosi urmtoarele convenii:

    CmpNum - argument ce reprezint cmpuri de tip Number sau

    Currency;

    CmpText - argument ce reprezint cmpuri de tip Text;

    CmpDate - argument ce reprezint cmpuri de tip Date/Time;

    Cmp - argument ce reprezint cmpuri de orice tip;

    n,m - argumente ce reprezint numere naturale;

    i - argument ce reprezint numere ntregi;

    {} - argumentele incluse n paranteze figurate sunt opionale

    (neobligatorii);

    Argumentele funciei se pun ntre paranteze rotunde i se separ prin

    punct i virgul (uneori prin virgul). n cazul lipsei argumentelor, dup

    denumirea funciei se pun paranteze rotunde care nu conin n interior nimic.

    n cazul cnd argumentul funciei reprezint un cmp, numele cmpului se ia ntre

    paranteze ptrate [].

    Enumerm n cele ce urmeaz cteva dintre funciile sistemului Access:

    1. Abs(CmpNum) - calculeaz valoarea absolut (modulul).

    2. Avg(CmpNum) - calculeaz media aritmetic.

    3. Sin(CmpNum) - calculeaz valoarea sinusului.

    4. Exp(CmpNum) - calculeaz puterea numrului e.

    5. Log(CmpNum) - calculeaz logaritmul natural.

    6. Sqr(CmpNum) - calculeaz rdcina ptrat.

    7. Int(CmpNum) - calculeaz partea ntreag.

    8. Rnd(i) sau Rnd() - returneaz un numr aleator situat ntre 0 i 1.

    9. Sum(CmpNum) - calculeaz suma.

  • 32

    10. Max(CmpNum)-calculeaz valoarea maxim

    11. Min(CmpNum) - calculeaz valoarea minim.

    12. Var(CmpNum) - calculeaz variaia (dispersia).

    13. Count(Cmp) - calculeaz numrul valorilor nenule.

    14. Left(CmpText,n) - extrage primele n caractere (din stnga).

    15. Right(CmpText,n) - extrage ultimele n caractere (din dreapta).

    16. Len(CmpText) - calculeaz lungimea expresiei.

    17. LTrim(CmpText} - lichideaz toate spaiile de debut (din fa).

    18. RTrim(CmpText) - lichideaz toate spaiile (blancurile) de la

    sfrit.

    19. Trim(CmpText) - lichideaz toate spaiile de debut i de la sfrit.

    20. Mid(CmpText;n{;m}) - extrage primele m caractere, ncepnd cu

    al n-lea. n cazul cnd m lipsete - extrage toate caracterele, ncepnd cu al n-

    lea.

    21. InStr({n;}Text,CmpText) - calculeaz locul, ncepnd cu care

    valoarea Text se conine n ntregime n CmpText. Cutarea se face ncepnd

    cu poziia l (sau n, dac este specificat).

    22. Date() - returneaz data curent.

    23. Time() - returneaz ora curent.

    24. Now() - returneaz data i ora curente.

    25. Weekday(CmpDate) - calculeaz ziua sptmnii care corespunde

    datei.

    26. Year(CmpDate) - extrage anul (cu 4 cifre).

    27. DateAdd(Tip;i;CmpDate) - adun/scade la/din CmpDate i intervale

    de tipul dat (i poate lua i valori negative). "Tip " poate avea una din urmtoarele

    valori:

    "q"- trimestre; ex.: DateAdd ("q";7;Date()) - peste 7 trimestre din ziua curent.

    "m" - luni; ex.: DateAdd ("m ";-9;Date()) - cu 9 luni n urm fa de ziua

    curent.

  • 33

    "d" - zile; ex.: DateAdd ("d";25;[DataImpr]) - peste 25 de zile de la data

    mprumutului.

    "yyyy" - ani; ex.: DateAdd ("yyyy";-4;Date()) - cu 4 ani n urm de la data

    curent,

    "ww" - sptmni; ex: DateAdd ("ww";2;[DataRestit]) - peste 2 sptmni

    de la data restituirii.

    "h" - ore; ex.: DateAdd ("h";-27;Now()) - cu 27 de ore in urm.

    Remarc: Funciile descrise mai sus pot fi utilizate numai n interogri,

    formulare, rapoarte i n limbajul de programare Visual Basic for Applications.

    4.1. Interogri Access

    Performanele unui SGBD depind n mare msur de capacitatea

    extragerii rapide a diferitor informaii n forma dorit. n multe cazuri este necesar

    de a selecta date din mai multe tabele simultan. De exemplu, pentru a selecta

    crile din domeniul informaticii editate n Frana dup anul 2001, utilizm 3

    tabele: CRI, RI i TEMATICI. Pentru a formula condiii de selecie, n MS

    Access exista o clas special de obiecte (alturi de tabel )numite Interogri (engl.

    Queries).

    Sinonime: Interogri - Cereri - Interpelri.

    Interogrile reprezint modaliti de selecie i afiare a informaie din unu

    sau mai multe tabele, formulate cu ajutorul unor condiii logice.

  • 34

    4.2. Tipuri de interogri

    n funcie de modul de definire i rezultatele aciunii, interogrile pot fi

    clasificate astfel:

    a) interogri de selecie (folosind condiii logice);

    b) interogri de sortare (indicnd cmpul/cmpurile i ordinea sortrii);

    c) interogri de excludere a unor nregistrri din BD (de exemplu,

    excluderea tuturor cititorilor care nu au mprumutat cri n

    ultimii 2 ani);

    d) interogri de modificare a unor nregistrri din BD (de exemplu,

    majorarea preurilor tuturor crilor cu 20%);

    e) interogri de obinerea a unor informaii rezultante (n cmpuri

    noi)

    n baza informaiei existente (de exemplu, obinerea vrstei

    cititorului prin scderea anului de natere din anul curent);

    f) interogri de obinere a unor totaluri, medii etc.;

    g) interogri ncruciate.

    n toate cazurile, cu excepia ultimelor dou, rezultatul interogrii este

    un nou set de date, numit set dinamic (engl: Dynaset). Setul dinamic

    (rezultatul interogrii) conine doar cmpurile specificate ale nregistrrilor din

    tabelele specificate care satisfac condiiilor specificate. Denumirea '"Set dinamic"

    este legat de faptul c orice modificri ale datelor din tabelele specificate n

    interogare implic modificri respective ale rezultatului interogrii (la o nou

    executare a ei). i invers, orice modificri n setul dinamic implic modificri n

    tabelele respective (cu condiia respectrii integritii datelor). Seturile dinamice

    nu se memorizeaz; ele se formeaz din nou de fiecare dat cnd executm o

    interogare. Dac n tabelele BD intervin modificri, rezultatele executrii a dou

    interogri identice pot fi diferite, n cele ce urmeaz vom descrie modalitile

    de definire i executare a interogrilor nominalizate.

  • 35

    4.3. Interogri de selecie a nregistrrilor(Select Query)

    Exemplu:1

    Pentru a defini o interogare de selecie (de exemplu, afiarea emisiunilor cu

    desene animate), acionm fila Queries din fereastra Database (fig. 10), apoi

    butonul New.

    fig.10 - Fereastra cu clasele de obiecte Access

    n continuare indicm unul din cele 5 moduri de creare a interogrilor

    (n cazul nostru Design View)

    Din caseta care apare (fig. 11) selectm consecutiv (n orice ordine)

    tabelele necesare (n cazul nostru,Emisiuni,Genuri,Canale TV) i pentru fiecare

    acionm butonul Add.

  • 36

    fig.11- Selectarea tabelelor pentru definirea interogrii

    Dup selectarea tabelelor acionm butonul Close. Dac tabelele

    au cmpuri comune (definite n procesul crerii lor), Access stabilete n mod

    automat legturile respective (fig. 12). n continuare indicm, n partea de jos

    a ferestrei, cmpurile din fiecare tabel (n ordinea dorit) care urmeaz a fi

    afiate sau pentru care se vor specifica condiii de selecie i/sau de sortare.

    Includerea cmpurilor se face prin "tragerea" lor cu ajutorul mouse-ului din

    tabelele din caseta de sus n rndul Field al casetei de jos sau prin

    executarea unui dublu-clic pe denumirile respective. Dup aceasta

    specificm condiiile seleciei i/sau ordinea sortrii, n acest fel interogarea

    se consider definit (fig. 12).

  • 37

    fig12. - Specificarea condiiilor de selecie

    n rndul Criteria din partea de jos a ferestrei specificm condiia

    seleciei Des* pentru cmpul DenGen al tabelului Genuri. Dac dorim ca

    nregistrrile s fie afiate ntr-o anumit ordine (cresctoare/alfabetic sau

    descresctoare) pentru cmpul respective specificm opiunile Ascending sau

    Descending n rndul sort. Dac indicm Ascending pentru cmpul

    DenEmisiunii al tabelului emisiuni denumirile emisiunilor vor fi afiate n

    ordinea alfabetic.

    Interogarea astfel definit poate fi executat imediat n scopul obinerii

    rezultatului (fig. 13), sau salvat pentru a fi executat ulterior. n primul caz

    acionm butonul (Datasheet View) din bara cu instrumente n al doilea caz

    executm comanda Save din meniul File. La salvarea interogrii indicm

    numele ei, care nu trebuie s coincid cu numele unor tabele sau ale unor

    interogri definite anterior. Setul dinamic (rezultatele interogrii) conine

    cmpurile marcate cu simbolul n rndul Show al ferestrei. Celelalte cmpuri

    chiar dac sunt incluse n interogare, nu se afieaz.

  • 38

    fig.13- Rezultatele interogrii

    Exemplu 2. Lista emisiunilor cu durata mai mic de 30 de minute.

    Pentru afiarea emisiunilor cu durata mai mic de 30 minute acionm

    fila Queries din fereastra Database , apoi butonul New. n continuare indicm

    unul din cele 5 moduri de creare a interogrilor, n cazul nostru Design View

    (fig.14).

    fig.14

  • 39

    Din caseta care apare (fig.15) selectm tabelul Emisiuni,Canale TV i

    Genuri i acionm butonul Add.

    fig.15

    Dup selectarea tabelului acionm butonul Close. Apoi executm dublu

    clic pe denumirile cmpurilor i vor trece n rndul Field din caseta de jos

    (fig.16).

    fig.16

    Dup aceasta specificm condiiile seleciei. n rndul Criteria scrim

    condiia

  • 40

    fig.17. - Rezultatul interogrii

    Exempul 3: Lista emisiunilor tiri

    Pentru afiarea emisiunilor tiri acionm fila Queries din fereastra

    Database , apoi butonul New. n continuare indicm unul din cele 5 moduri de

    creare a interogrilor, n cazul nostru Design View (fig.14).

    Din caseta care apare (fig.15) selectm tabelul Emisiuni , Genuri

    acionm butonul Add .Dup selectarea tabelului acionm butonul Close.

    Apoi executm dublu clic pe denumirile cmpurilor i vor trece n

    rndul Field din caseta de jos (fig.18).

    fig.18

  • 41

    Dup aceasta specificm condiiile seleciei. n rndul Criteria scrim condiia

    tiri pentru cmpul DenGen al tabelului Genuri i ne va afia lista emisiunilor

    tiri.

    fig.19. Rezultatul interogrii

    Exemplul 4: Lista emisiunilor n limba rus

    Fie c dorim s afim lista emisiunilor n limba rus. Pentru aceasta

    executm urmtorii pai:

    Definim o interogare n care includem tabelele Emisiuni, Limbi,

    Canale TV din care selectm cmpurile DenEmisiunii, DenCanal, DenLimba

    (fig.20)

    fig.20

  • 42

    Dup aceasta specificm criteriul de selecie n rndul Criteria pentru

    cmpul DenLimba din tabelul Limbi i ne va afia lista emisiunilor n limba

    rus.

    fig.21

    4.4. Interogri de sortare a nregistrrilor

    Dup ce am definit condiiile de selecie, putem stabili condiii de

    sortare pentru unul sau mai multe cmpuri.

    Exemplu 1: Pentru afiarea emisiunilor n ordine alfabetic

    executm un clic n rndul Sort al casetei (fig.22) n dreptul cmpului

    DenEmisiuni i din lista derulant alegem opiunea Ascending.

    fig.22

  • 43

    Pentru a afia rezultatul interogrii (fig.23), acionm butonul

    (Datasheet View) din bara cu instrumente.

    fig.23

    Sortarea datelor poate fi fcut i fr a specifica condiii de selecie. n

    acest caz se vor afia toate nregistrrile, dar ordinea lor va corespunde

    condiiilor stabilite n rndul Sort pentru cmpurile respective.

    Exemplu 2: Lista emisiunilor n ordinea duratei lor.

    Pentru afiarea emisiunilor n ordine duratei lor executm un clic n

    rndul Sort al casetei (fig.24) n dreptul cmpului Durata emisiunii i din lista

    derulant alegem opiunea Ascending.

  • 44

    fig.24

    Pentru a afia rezultatul interogrii (fig.25), acionm butonul

    (Datasheet View) din bara cu instrumente.

    fig.25

    4.5. Interogri de actualizare a nregistrrilor (Update Query)

    n cazul cnd este necesar de a modifica un numr mare de nregistrri

    conform unuia i aceluiai algoritm, putem defini o interogare de modificare

    (Update Query)

  • 45

    Vom descrie n continuare modul de definire a unei interogri pentru

    care tirile se mresc cu 5 minute.

    1. Definim interogarea n modul descris n p.5.1.

    2. Includem tabelul Emisiuni i Genuri.

    3. Selectm Update din meniul Query sau acionm butonul din bara de

    instrumente.Ca rezultat titlul ferestrei se modific n Update Query, iar n partea

    de jos apare rndul Update To (fig.26).

    fig.26

    4. Includem (prin tragere) n celulele rndului Field cmpurile

    DenEmisiunii, DenGen, Durata emisiunii.

    5. Introducem n rndul Update To pentru cmpul DenEmisiunii expresia

    [DenEmisiunii], DenGen expresia [DenGen], Durata emisiunii expresia

    [Durata emisiunii]+5

    6. Introducem n rndul Criteria pentru cmpul DenGen condiia Stiri.

    7. Acionm butonul din bara cu instrumente, pentru a obine valorile

    curente ale cmpului Durata emisiunii care urmeaz a fi modificate (fig.27).

  • 46

    Modificrile propriu-zise vor fi operate numai dup trecerea n regimul

    Design View i acionarea butonului din bara cu instrumente sau executarea

    comenzii Run din meniul Query. n acest caz pe ecran va aprea un mesaj

    despre numrul total al nregistrrilor care urmeaz a fi modificate. Acionnd

    butonul Yes , Access va efectua modificrile. Pentru a renuna la modificri,

    acionm butonul No .

    fig.28

    Remarc: Interogrile de tip Update se execut de regul o singur

    dat. n cazul executrii repetate a interogrii definite n exemplul de mai sus,

    vom obine de fiecare dat mrirea emisiunilor tiri cu 5 minute.

    4.6. Interogri de excludere a nregistrrilor (Delete Query)

    Fie, de exemplu, c dorim s excludem din tabelul Emisiuni toate

    emisiunile ntre ora 1000 -1200. Pentru aceasta, executm urmtoarele aciuni:

    1. Definim interogarea n modul descris n p 5.1.

  • 47

    2. Includem tabelul Emisiuni.

    3. Selectm Delete Query din meniul Query sau acionm butonul

    (dac este afiat) din bara cu instrumente. Ca rezultat, titlul ferestrei se

    schim n Delete Query iar n partea de jos a ferestrei apare rndul Delete.

    4. Din lista cmpurilor tabelului Emisiuni, afiat n partea de sus a

    ferestrei (fig. 8.12), selectm cmpurile care vor fi afiate sau pentru care vor

    fi specificate condiii de selecie DenEmisiunii i Timpul nceperii i le

    "tragem" n celulele respective ale rndului Field din partea

    de jos. Ca rezultat, n celulele respective pentru fiecare cmp apare opiunea

    Where (din englez - Unde, In care).

    5. Introducem n celulele rndului Criteria condiiile seleciei. n cazul

    nostru pentru cmpul Timpul nceperii scriem condiia Between 1000 And

    1200

    .

    6. Pentru a obine lista nregistrrilor care urmeaz a fi excluse (dar

    nc n-au fost excluse), acionm butonul (Datasheet View) din bara

    cu instrumente. Ca rezultat, obinem fereastra, reprezentat n figura

    urmtoare

  • 48

    7. Dac rezultatele obinute n p.6 sunt cele dorite, revenind la

    regimul Design View, putem elimina realmente nregistrrile, executnd

    comanda Run din meniul Query sau acionnd butonul (Run) din bara cu

    instrumente. Ca rezultat, pe ecran apare un mesaj despre numrul total al

    nregistrrilor care urmeaz a fi eliminate. Dac acionm butonul Yes,

    nregistrrile vizate sunt eliminate definitiv. Pentru renunare, acionm butonul

    No.

    8. Salvm interogarea, executnd comanda Save As din meniul

    File i indicnd numele interog

    4.7 . Interogri de grupare i totalizare a nregistrrilor

    n multe cazuri apare necesitatea de a obine valori rezumative

    referitoare la toate nregistrrile din tabel sau pentru o submulime a lor. De

    exemplu, ar putea s ne intereseze cte emisiuni de fiecare gen sunt. n acest

    scop n Access pot fi definite interogri n care sunt specificate condiii de

    grupare i totalizare.

    Pentru obinerea valorilor rezumative, sunt prevzute urmtoarele

    funcii:

    - Sum, pentru calcularea sumei valorilor cmpului;

    - Avg, pentru calcularea mediei valorilor cmpului;

    - Min, pentru gsirea valorii minime;

    - Max, pentru gsirea valorii maxime;

    - Count, calculeaz numrul de valori ale cmpului (excluznd cele

    vide);

  • 49

    -StDev, pentru calcularea abatem standard;

    -Var, pentru calcularea dispersiei.

    Valorile rezumative pot fi obinute att pentru toate nregistrrile

    din tabel ct i pentru grupuri de nregistrri.

    Fie c dorim s obinem informaii despre cte emisiuni de fiecare

    gen sunt. Pentru aceasta executm urmtoarele aciuni:

    1. Definim o interogare n care includem tabelele Emisiuni i

    Genuri din care selectm cmpurile DenGen i DenEmisiunii (fig)

    fig.31

    2. Selectm opiunea Totals din meniul View; ca rezultat n caseta de

    jos apare rndul Total, iar n celulele respective ale cmpurilor selectate

    opiunea Group By

    3. Din lista derulant a cmpului DenEmisiunii (rndul Total) selectm

    opiunea Count.

    4. Acionm butonul pentru a obine valorile cutate (fig)

  • 50

    4.8. Interogri ncruciate (Crosstab Query)

    In multe cazuri rezultatele unei interogri sunt greu de perceput din

    cauza volumului mare de informaii selectate. In figura sunt prezentate datele

    despre cte emisiuni de fiecare gen sunt, obinute cu ajutorul unei interogri de

    grupare i totalizare.

    Access permite gruparea i reprezentarea datelor ntr-o form

    compact, form care se aseamn cu un tabel electronic. n acest scop se

    definesc interogri speciale, numite interogri ncruciate (Crosstab Query).

    Pentru a defini o interogare ncruciat procedm iniial ca n cazul unei

    interogri de selecie obinuit, adic selectm tabelele Emisiuni, Canale TV,

    Genuri, din care selectm cmpurile DenGen, DenCanal, DenEmisiunii (fig)

  • 51

    n continuare parcurgem urmtorii pai:

    1. Selectm opiunea Crosstab din meniul Query. Ca rezultat, titlul

    ferestrei

    se schimb n Crosstab Query, iar n partea de jos apare rndul Crosstab.

    2. Definim cmpul DenGen, valorile cruia vor servi n calitate de

    denumiri ale rndurilor tabelului. Pentru aceasta acionm butonul cu sgeat

    din rndul Crosstab pentru cmpul DenGen i din l ista derulant care apare

    selectm opiunea Row Heading.

    3. n mod analogic definim cmpul DenCanal, valorile cruia vor servi

    n calitate de denumiri ale coloanelor tabelului . Pentru aceasta acionm

    butonul cu sgeat din rndul Crosstab pentru cmpul DenCanal i din lista

    derulant care apare selectm opiunea Column Heading.

    4. n rndul Total nlocuim opiunea Group By din cmpul

    DenEmisiunii prin operatorul Count.

    5. Pentru cmpul DenEmisiunii n rndul Crosstab stabilim opiunea

    Value pe care o selectm din lista derulant prin analogie cu aciunile descrise

    mai sus.

    6. Acionm butonul pentru vizualizarea rezultatelor (fig)

  • 52