Laborator Baze de Date

Embed Size (px)

Citation preview

  • 8/6/2019 Laborator Baze de Date

    1/98

    Radu Lixndroiu

    LIMBAJE DE PROGRAMAREIBAZE DE DATE

    ACCESSSUPORT PENTRU LABORATOR

    BRAOV - 2008

  • 8/6/2019 Laborator Baze de Date

    2/98

    Limbaje de programarei baze de date - ACCESS 2

    SISTEMUL DE GESTIUNE ABAZELOR DE DATE

    Principalele obiective ale capitolului sunt:

    Concepte principale din teoria relaionalCheia primarCheia extern

    Sisteme de gestiune a bazelor de date

    Sistemul de gestiune a bazelor de date (SGBD) estecomponenta unui sistem de baz de date care are rolul de a permitedescrierea i manipularea conform unui model de date.

    n momentul actual, cea mai mare parte a SGBD-urilor care se

    utilizeaz sunt bazate pe modelul relaional.

  • 8/6/2019 Laborator Baze de Date

    3/98

    Limbaje de programarei baze de date - ACCESS 3

    PRINCIPALELE CONCEPTE DIN TEORIA RELAIONAL

    Domeniul - reprezint un ansamblu de valori, caracterizatprintr-un nume. Domeniul se poate defini explicit, prin enumerarea

    tuturor valorilor care aparin acestuia (exemplu D1:{rou, galben,albastru}), sau implicit prin precizarea proprietilor pe care le auvalorile domeniului respectiv (exemplu: D2:{e/e N }

    Relaia - (tabela) reprezint un subansamblu al produsuluicartezian dintre mai multe domenii (D1xD2x) caracterizat printr-unnume. Reprezentarea folosit pentru o relaie (R) este tabloulbidimensional (tabela de date) de forma:

    Atributul este coloana unei relaii caracterizate printr-un nume.Fiecare atribut i ia valorile dintr-un domeniu. Mai multe atribute potlua valori din acelai domeniu.

    Tuplul este linia dintr-o relaie i nu are nume. Valorile dintr-untuplu aparin produsului cartezian dintre domeniile relaiei (exemplutuplul v1, v2, ...,vn, unde v1D1, v2D2,...,vnDm, cu nm numere

    ntregi).Schema relaiei este un ansamblu format din numele relaiei (R)

    urmat ntre paranteze rotunde de lista atributelor (Ai), pentru fiecareatribut precizndu-se domeniul asociat (Dj):

    R(A1:D1, A2:D2,...,An:Dm):unde nm numere ntregi.Cheia este un atribut sau un ansamblu de atribute cu ajutorul

    cruia se poate identifica un tuplu dintr-o relaie.

  • 8/6/2019 Laborator Baze de Date

    4/98

    Limbaje de programarei baze de date - ACCESS 4

    Cheia este primar dac identificarea este unic, adic existun singur tuplu cu o anumit valoare pentru cheie.

    Cheia este simpl, dac este format dintr-un singur atribut.Cheia este compus dac este format dintr-un ansamblu de

    atribute.Cheia este extern ntr-o relaie R1, dac ansamblul deatribute care o definete ia valori din aceleai domenii ca i cheiaprimar a unei relaii R2 si dac are rolul de a stabili o legtura(asociere) ntre cele dou relaii.

    Prezentare comparativ a noiunilor privind organizareadatelor n memoria extern n fiiere, baze de date relaionale (BDR)i cele utilizate n VFP.

    Intrebri:

    1. Pentru tabelele FURNIZORI i FACTURI

    (ANEXA 1) care sunt cheile?2. Dai exemplu de un atribut i de un tuplupentru relaia FACTURI (ANEXA 1)

    Memextern FISIER CMP - CHEIE - -

    BDR RELAIE ATRIBUT ASOCIERE CHEIEPRIMAR

    CHEIEEXTERN

    DOMENIU

    Access TABEL CMP ASOCIERE(LEGATURA)

    CHEIEPRIMAR

    CHEIE -

  • 8/6/2019 Laborator Baze de Date

    5/98

    Limbaje de programarei baze de date - ACCESS 5

    STOCAREA DATELORN BAZE DE DATE

    Principalele obiective ale capitolului sunt:

    Crearea unui nou fiier accessCrearea tabelelor

    Modificarea structurii unei tabeleIntroducerea i vizualizarea datelor

    Realizarea relaiilor ntre tabeleModificarea i tergerea datelor

    Un fiier Access este format din obiecte cum ar fi: tabele,formulare, queries, rapoarte pagini, macros i module.

  • 8/6/2019 Laborator Baze de Date

    6/98

    Limbaje de programarei baze de date - ACCESS 6

    Fereastra de baz - Access

    CREAREA UNUI NOU FIIER ACCESS

    Fiierele Access au extensia .mdb .

    Pentru crearea unui nou fiier Access se alege n meniul FILEopiunea NEW.

    FILE-NEW

    Din meniul din partea din dreapta care apare se alege opiuneaBlank Database

  • 8/6/2019 Laborator Baze de Date

    7/98

    Limbaje de programarei baze de date - ACCESS 7

    Alegerea opiunii Blank Database

    Urmtorul pas n crearea bazei de date este alegerea unuinume corespunztor fiierului mdb, precum i alegerea locului desalvare al fiierului pe calculator.

    Alegerea numelui i al locului de salvare

    Fiierul Access creat este gata de lucru. n acest moment nfiierul nu conine nici o informaie (baze de date, interogri, paginietc.)

  • 8/6/2019 Laborator Baze de Date

    8/98

    Limbaje de programarei baze de date - ACCESS 8

    Fiierul student.mdb este creat i gata de lucru

    CREAREA TABELELOR

    n primul rnd, deoarece dorim s lucrm la nivel de tabele,vom selecta din panoul de comand din cadrul meniului de obiecte(OBJECTS) opiunea TABLES (tabele).

    Selectarea opiunii TABLES din panoul de comand

    Pentru crearea unei tabele nu vom utiliza generatoare de tip

    wizard. Crearea unei tabele nu trebuie s aib limitri, de aceea dinpanoul de comand alegem prima opiune: CREATE TABLE INDESIGN VIEW.

  • 8/6/2019 Laborator Baze de Date

    9/98

    Limbaje de programarei baze de date - ACCESS 9

    Selectarea opiunii de creare a unui nou tabel

    Pentru a exemplifica crearea de tabele vom crea tabelaangaja i care are forma:

    Angaja icmp tip

    cod (CP) numericnume textprenume textdata_nasterii datasal_brut numericcod_dep text

    Introducerea datelor se face n fereastra TABLE. La FIELDNAME se introduce numele fiecrui cmp al tabelei dup care sealege de la DATA TYPE tipul corespunztor (text, memo, numeric,dat /timp, sum de bani, numr-automat, da/nu, obiect OLE,hyperlink).

    Introducerea cmpurilor i selectareatipului corespunztor

  • 8/6/2019 Laborator Baze de Date

    10/98

    Limbaje de programarei baze de date - ACCESS 10

    n momentul n care un cmp se dorete a fi setat ca cheieprimar, pe linia unde este numele cmpului de d clik dreapta demouse si se alege opiunea PRIMARY KEY.

    Alegerea opiunii PRIMARY KEY

    La selectarea opiunii de cheie primar, va apare n dreptulnumelui cmpului un simbol de cheie.

    Cheie primar

    Pentru informaii suplimentare privind cmpul respectiv, npartea de jos a ecranului avem urmtoarele opiuni:

    Opiunile cmpului

  • 8/6/2019 Laborator Baze de Date

    11/98

    Limbaje de programarei baze de date - ACCESS 11

    n final, tabela angajati va avea urmtoarea structur:

    Tabela Angajati

    nchiderea configurrii tabelei se face apsnd simbolul X dindreapta ferestrei TABLE (ATENIE NU NCHIDEREAPROGRAMULUI ACCESS!).

    nchiderea ferestrei de configurare a tabelei

    Salvarea tabelei realizate:

    Salvarea tabelei

  • 8/6/2019 Laborator Baze de Date

    12/98

    Limbaje de programarei baze de date - ACCESS 12

    Denumirea tabelei realizate

    n panoul de comand apar toate tabelele realizate, n ordine

    alfabetic:

    Lista tabelelor realizate

    MODIFICAREA STRUCTURII UNEI TABELE

    Dup realizarea unei tabele se poate observa c lipsesc unelecmpuri, trebuiesc modificate denumirile cmpurilor sau tipul lor.

    Modificarea structurii se realizeaz prin selectarea tabelei ce sedorete modificat i apoi alegerea opiunii DESIGN din panoul decomand.

  • 8/6/2019 Laborator Baze de Date

    13/98

    Limbaje de programarei baze de date - ACCESS 13

    Modificarea structurii unei tabele

    Prin aceti pa i se reintr n fereastra de configurare a tabeleiunde pot fi operate toate modificrile necesare.

    INTRODUCEREA

    I VIZUALIZAREA DATELOR

    Pentru a introduce sau vizualiza datele dintr-o tabel se ddublu clik pe numele ei din tabloul de comand.

    Introducerea / vizualizarea datelor

  • 8/6/2019 Laborator Baze de Date

    14/98

    Limbaje de programarei baze de date - ACCESS 14

    Datele introduse n tabela ANGAJATI

    REALIZAREA RELAIILOR NTRE TABELE

    ntre tabelele existente se pot crea relaii pe baza cheilorprimare

    i externe existente.

    In bara de comenzi se alege opiunea RELATIONSHIPS dnd

    clik pe simbolul .

    Crearea relaiilor ntre tabele

    Pentru adugarea tabelelor n fereastra de relaii se selecteaztabela dorit dup care de apas butonul ADD.

  • 8/6/2019 Laborator Baze de Date

    15/98

    Limbaje de programarei baze de date - ACCESS 15

    Adugarea tabelelor in fereastra de relaii

    Pentru realizarea relaiilor se selecteaz cheia extern din

    tabeli se trage pe cheia primar a tablei cu care se creeaz relaia.

    Realizarea unei relaii

    Programul vede legtura ntre cele dou cmpuri din cele doutabele i cere confirmarea realizrii legturii:

    Realizarea legturii

  • 8/6/2019 Laborator Baze de Date

    16/98

    Limbaje de programarei baze de date - ACCESS 16

    Se procedeaz la fel cu toate relaiile existente ntre toatetabelele.

    n final se pot vizualiza toate relaiile existente ntre toatetabelele bazei de date.

    Vizualizarea legturilor existente n baza de date

    MODIFICAREA I TERGERA DATELOR

    Modificarea, inserarea i tergerea sunt operaii care pot fifcute att manual (vizualiznd datele tabelei) i opernd direct ct ipe baza de comenzi scrise sub form de QUERIES.

    Pentru modificarea sau tergerea datelor dintr-o tabel se intrn tabela din panoul de comand, cu dublu click.

  • 8/6/2019 Laborator Baze de Date

    17/98

    Limbaje de programarei baze de date - ACCESS 17

    Vizualizarea datelor din tabel

    Modificarea datelor este foarte facil, orice modificare fcut ntabel memorndu-se automat.

    Modificarea unei valori in tabel

    Pentru tergerea unei valori din tabel se d buton dreapta demouse pe suprafaa liniei ce se dorete a fi tears. Va apare unmeniu din care se ale opiunea DELETE RECORD.

  • 8/6/2019 Laborator Baze de Date

    18/98

    Limbaje de programarei baze de date - ACCESS 18

    tergerea unei linii dintr-o tabel

    Pentru tergerea mai multor linii dintr-o tabel se procedeazsimilar cu meniunea c nainte trebuie selectate toate liniile ce vor fiterse.

    Selectarea mai multor linii pentru a fi terse

  • 8/6/2019 Laborator Baze de Date

    19/98

    Limbaje de programarei baze de date - ACCESS 19

    Intrebri:

    Care sunt componentele unei tabele?Ce nseamn actualizarea coninutului unei

    tabele? Cum se actualizeaz coninutul uneitabele?Prezentai modul de vizualizare a coninutuluiunei tabele.Prezentai modul de actualizare a structurii uneitabele.

    Studiu individual

    Aplicaia 1: Creare i actualizare tabel.

    APLICAIA 1

    Creai o tabel urmtoarea structur:

    Nume C 30Prenume C 30Cod N 3Oras C 20Medie N 6 ; 2Admis C

    i cu urmtorul coninut :

    Nume Prenume Cod Oras Medie AdmisIonescu Maria 1 Iasi 9.27Vlad Mirela 8 Deva 9.50Georgecu Ana 5 Cluj 8.85Popescu Denisa 4 Arad 9.33Rauta Andreea 6 Deva 9.50Stanciu Roxana 2 Deva 9.10

  • 8/6/2019 Laborator Baze de Date

    20/98

    Limbaje de programarei baze de date - ACCESS 20

    Radulescu Ruxandra 3 Cluj 9.29Matei Iuliana 7 Ploiesti 9.60

    a) S se adauge un nou cmp, denumit Admis.

    b) Se presupune c doar candidatele cu medii peste 9.25 au fostadmise. S se completeze valorile corespunztoare pentrucmpul Admis.

    c) Candidatele din Deva sunt de fapt din Bucureti. S se modificevalorile corespunztoare din cmpul ora.

    d) S se adauge nregistrarea:

    Cretulescu Alexandra 9 Orastie 8.00 F

  • 8/6/2019 Laborator Baze de Date

    21/98

    Limbaje de programarei baze de date - ACCESS 21

    CREAREA INTEROGRILOR

    Principalele obiective ale capitolului sunt:

    Insert - adugarea de linii n tabelModificarea unei comenzi

    Delete - tergerea nregistrrilorUpdate - modificarea datelor dintr-un cmp

    Interogrile sau queries pot fi fcute pentru una sau mai multetabele existente n baza de date.

    Pentru nceput trebuie selectat din cadrul meniului OBJECTSopiunea QUERIES.

  • 8/6/2019 Laborator Baze de Date

    22/98

    Limbaje de programarei baze de date - ACCESS 22

    Selectarea opiunii QUERIES

    i pentru crearea comenzilor de tip query avem la dispoziie ungenerator de comenzi de tip wizard. Din motive de limitri ale acestuigenerator nu l vom utiliza. n consecin pentru crearea uneiinterogri vom alege prima opiune CREATE QUERY IN DESIGN

    VIEW.

    Fereastra care va apare SHOW TABLE este o fereastr n carese pot selecta tabelele care vom lucra. Dup selectare se apas ADDpentru adugarea lor n sintaxa de interogare. Adugarea tabelelordin aceast fereastr nu este obligatorie, deoarece ele pot fiadugate i ulterior (manual prin scriere) cnd scriem sintaxainterogrii.

  • 8/6/2019 Laborator Baze de Date

    23/98

    Limbaje de programarei baze de date - ACCESS 23

    Adugarea tabelelor n interogare

    n fereastra QUERY, pe suprafaa gri prin click dreapta de

    mouse se poate accesa urmtorul meniu:

    Meniu QUERY

    Prima opiune SQL o vom folosi pentru a scrie interogrile.Pentru ca principalele cuvinte cheie ale interogrii s fie scriseputem selecta din cadrul meniului opiunea QUERY TYPE.

    Astfel n acrul acestui submeniu avem urmtoarele opiuni:

  • 8/6/2019 Laborator Baze de Date

    24/98

    Limbaje de programarei baze de date - ACCESS 24

    Opiunile submeniului QUERY TYPE

    INSERT - ADUGAREA DE LINII N TABEL

    Pentru adugarea unor linii noi n tabel se utilizeaz INSERT.

    INSERT INTO TABELA [(ATRIBUT1, ATRIBUT2,... .)] VALUES(VALOARE_ATRIBUT1, VALOARE_ATRIBUT2,... .)

    De exemplu dac pentru tabela DEPARTAMENTE avemurmtoarele date:

    Datele tabelei DEPARTAMENTE

    i dac dorim s adugm un nou departament care are datele:cod_dep: fin, den: financiar, localitate: bucuresti, sef: tecar gabriela,telefon: 1234567vom avea:

  • 8/6/2019 Laborator Baze de Date

    25/98

    Limbaje de programarei baze de date - ACCESS 25

    Din meniul QUERY TYPE se alege opiunea APPEND QUERY

    Alegerea opiunii APPEND QUERY

    sau se poate direct ale opiunea SQL VIEW

    n fereastra de comenzi SQL vom scrie comanda:

    Exemplu de comanda INSERT

    Dup scrierea oricrei comenzi, aceasta trebuie salvat pentrua putea fi executat ulterior.

    Salvarea comenzii

  • 8/6/2019 Laborator Baze de Date

    26/98

    Limbaje de programarei baze de date - ACCESS 26

    Odat salvat comanda trebuie s aib un nume pentru a puteafi recunoscuti executat ulterior.

    Atenie! Numele trebuie s fie ct mai sugestiv, executarea

    unor comenzi eronate poate produce deteriorarea datelor din baza dedate.

    Numirea comenzii

    n acest moment comanda este salvati se poate executa.

    Vizualizarea comenzii nou create

    Pentru executarea comenzii vom da dublu click pe numele ei npanoul de comand.Pentru verificarea execuiei comenzii, programul cere 2

    confirmri:1) pentru execuia comenzii

    Acceptul de rularea a comenzii

    2) pentru a aduga n tabel o nou nregistrare

  • 8/6/2019 Laborator Baze de Date

    27/98

    Limbaje de programarei baze de date - ACCESS 27

    Acceptul de adugare in tabel a uneinoi nregistrri

    Dac vizualizm datele tabelei DEPARTAMENTE vom vedeanregistrarea fcut prin comanda INSERT

    Vizualizarea tabelei DEPARTAMENTE

    MODIFICAREA UNEI COMENZI

    Exist posibilitatea s apar necesitatea modificrii uneicomenzi existente. Modificarea se face urmnd urmtorii pai:

  • 8/6/2019 Laborator Baze de Date

    28/98

    Limbaje de programarei baze de date - ACCESS 28

    Modificarea unei comenzi

    DELETE - TERGEREA NREGISTRRILOR

    Comanda SQL pentru tergerea uneia sau mai multor liniidintr-o tabela este DELETE.

    DELETE FROM TABELA WHERE CONDITIE

    De exemplu dac dorim stergem nregistrarea ce cuprindedatele departamentului financiar (pentru care cod_dep este fin) vomavea:

    tergerea departamentului financiar

  • 8/6/2019 Laborator Baze de Date

    29/98

    Limbaje de programarei baze de date - ACCESS 29

    UPDATE - MODIFICAREA DATELOR DINTR-UN CMP

    Pentru a modifica valoarea unuia sau mai multor atribute sau maimulte linii dintr-o tabela se foloseste comanda UPDATE cu formatul

    general:

    UPDATE TABELA SET ATRIBUT1=EXPRESIE[ATRIBUT2=EXPRESIE2.... .] WHERE PREDICAT

    De exemplu dac dorim ca pentru angajaii din cadruldepartamentului "conta" s cretem salariul brut cu 50 de lei vomavea:

    Modificarea valorilor unui cmp

    Vizualizarea datelor modificate n tabela ANGAJATI

    Intrebri:

    1. Cum se pot modifica valorile unui cmp?2. Cum se pot terge nregistrrile unei tabeledup o condiie?

  • 8/6/2019 Laborator Baze de Date

    30/98

    Limbaje de programarei baze de date - ACCESS 30

    Studiu individual

    Aplicaia 2: Introducere de date, selecii simple i

    utiliznd condiii simple i compuse.

    APLICAIA 2

    1. Realizai o tabel FURNIZORI cu structura tabelei FURNIZORI dinANEXA 1.2. Introduce i urmtoarele date:

    3. Modificai localitatea pentru angajai din BRASOV n RASNOV.4. terge i to i furnizorii din BRASOV5. terge i to i furnizorii din CLUJ6. nlocuii numele fiecrei localiti cu prima sa liter.

  • 8/6/2019 Laborator Baze de Date

    31/98

    Limbaje de programarei baze de date - ACCESS 31

    SELECIA I PROIECIA

    Principalele obiective ale capitolului sunt:

    Introducere n conceptul de interogarea bazelor de date

    Sintaxa i utilizarea comenzii SELECT

    Clauza SELECT corespunde operatorului proiecie din algebrarelaional, fiind utilizat pentru desemnarea listei de atribute(coloane) din rezultat. Clauza FROM este cea n care sunt enumeraterelaiile din care vor fi extrase informaiile aferente consultrii. ClauzaWHERE desemneaz predicatul selectiv al algebrei relaionale(condiia), relativ la atribute ale relaiilor care apar n clauza FROM.

    La modul general, o consultare SQL poate fi prezentat subforma:

    select c1,c2,...,cnfrom r1,r2,...,rmwhere p

    unde:

  • 8/6/2019 Laborator Baze de Date

    32/98

    Limbaje de programarei baze de date - ACCESS 32

    cj - reprezint coloanele rezultat;rj - reprezint relaiile ce trebuie parcurse;p - reprezint predicatul, condiia ce trebuie ndeplinit de

    tupluri (linii) pentru a fi incluse n rezultat.

    Predicatul poate fi simplu sau compus (din mai multe condiii).Cnd clauza WHERE este omis se consider implicit c

    predicatul p are valoare logic ''adevrat'', astfel nct n rezultat vor fiincluse toate liniile din tabel sau produsul cartezian al tabelelor,enumerate n clauza FROM.

    Dac n locul coloanelor c1,c2,...,cn apare simbolul *, rezultatulva fi alctuit din toate coloanele relaiilor specificate n clauza FROM.

    Atributele rezultatului preiau numele din tabela (tabelele)specificate n clauza FROM. Schimbarea numelui se realizeaz princlauza AS.

    exemplu:select c1,c2 as NUME_NOU from r1

    unde numele coloanei c2 devine NUME_NOU;

    SQL nu elimin automat liniile identice din rezultat, deci pentruca fiecare linie s apar o singur dat este necesara utilizarea

    opiunii DISTINCT.

    exemplu:select distinct c1,c2 from r1

    n concluzie, o fraz SELECT, corespunde: unei selecii algebrice (clauza WHERE p) unei proiecii (SELECT ci) unui produs cartezian (FROM - r1 r2 ... rm)

    i conduce la obinerea unui rezultat cu n coloane, fiecare coloanfiind: un atribut din r1,r2,...,rm sau expresie calculat pe baza unoratribute din r1,r2,...,rm.

    Execuia unei fraze SELECT realizeaz un rezultat sub formtabelar.

  • 8/6/2019 Laborator Baze de Date

    33/98

    Limbaje de programarei baze de date - ACCESS 33

    Rezultatul poate fi:1. o list (text)2. o tabel propriu-zis3. o tabel temporar

    4. o tabel derivat (imagine)5. o variabil masiv (tablou)

    Exemplu:Utilizm tabela ANGAJATI n care introducem urmtoarele

    date:

    Datele tabelei ANGAJATI

    1. Care sunt datele coninute n tabela angajati?

    select cod, nume, prenume, data_nasterii, sal_brut, cod_dep fromangajatisau:select * from angajati

    Rezultatele exemplului 1

  • 8/6/2019 Laborator Baze de Date

    34/98

    Limbaje de programarei baze de date - ACCESS 34

    2. Care sunt numele salariailor i salariul brut?

    select nume, sal_brut from angajati

    Rezultatele exemplului 23. Care sunt numele salariailor i salariul brut, dar pentru coloanasal_brut denumim coloana salariu_brut?

    select nume, sal_brut as salariu_brut from angajati

    Rezultatele exemplului 3

    4. Afiai numele angaja ilor i salariul brut, pentru salariaii care au

    salariul brut mai mare de 700 leiselect nume from angajati where sal_brut>700

  • 8/6/2019 Laborator Baze de Date

    35/98

  • 8/6/2019 Laborator Baze de Date

    36/98

    Limbaje de programarei baze de date - ACCESS 36

    Rezultatele exemplului 7

    8. Afiai numele angajailor i data naterii pentru angajaii nscuidup 15-03-1980 (formatul pentru data este #mm-dd-yyyy#)

    select nume, data_nasterii from angajati where data_nasterii > #03-15-1980#

    Rezultatele exemplului 8

    9. Afiai numele angajailor i data naterii pentru angajaii nscuintre 15-03-1980 i 20-05-1983

    select nume, data_nasterii from angajati where data_nasterii > #03-15-1980# and data_nasterii < #05-20-1980#

    Rezultatele exemplului 9

    10. Care sunt codurile de departament din tabela angajati?

    select cod_dep from angajati

  • 8/6/2019 Laborator Baze de Date

    37/98

    Limbaje de programarei baze de date - ACCESS 37

    Rezultatele exemplului 10

    11. Care sunt codurile de departament din tabela angajati, afiate osingur dat?

    select distinct cod_dep from angajati

    Rezultatele exemplului 11

    Intrebri:

    1. Care sunt clauzele principale ale uneiselecii?2. Care sunt clauzele obligatorii ale uneiselecii?3. Cte tabele putem trece la clauza FROM?

  • 8/6/2019 Laborator Baze de Date

    38/98

    Limbaje de programarei baze de date - ACCESS 38

    Studiu individual

    Aplicaia 3: Introducere de date, selecii simple iutiliznd condiii simple i compuse.

    APLICAIA 3

    1. Realizai o tabel FURNIZORI cu structura tabelei FURNIZORI dinANEXA 1.2. Introduce i urmtoarele date:

    3. Care sunt furnizorii din Bra ov?4. Care sunt furnizorii din Braov sau Bucuresti?5. Care sunt furnizorii care nu stau n Constana?6. tergei furnizorii care sunt din Bucureti.7. Introducei trei furnizori noi utiliznd INSERT.8. Modificai localitatea n Cluj pentru furnizorii din Constanta.

  • 8/6/2019 Laborator Baze de Date

    39/98

    Limbaje de programarei baze de date - ACCESS 39

    Coloane, expresii

    Principalele obiective ale capitolului sunt:

    Definirea unor coloane noiRealizarea de calcule pe baza unor date din baza de

    date.

    O facilitate important n multe interogri SQL ine de definirea,pe lng atributele tabelelor, a unor coloane noi, pe baza unorexpresii. Clauza AS ermite denumirea coloanelor calculate sauredenumirea unor coloane ale tabelelor.

    De exemplu dac dorim s aflm care este TVA-ul aferent uneifacturi, vom avea:

    In tabel FACTURI avem introduse urmtoarele date:

  • 8/6/2019 Laborator Baze de Date

    40/98

    Limbaje de programarei baze de date - ACCESS 40

    Datele tabelei FACTURI

    Pentru a afia valoarea tva-ului, precum i valoarea cu TVApentru fiecare factur vom avea selectul:

    select nr_factura, cod_fur, data_fact, valoare, valoare*19/100 asTVA, valoare*119/100 as val_totala from facturi

    i vom obine Query-ul:

    Rezultatele seleciei

    Intrebri:

    1. Cum putem s denumim coloana din rezultat?2. Cum putem obine o coloan nou utiliznd nselecie o condiie?

  • 8/6/2019 Laborator Baze de Date

    41/98

    Limbaje de programarei baze de date - ACCESS 41

    Studiu individual

    Aplicaia 4: Calcularea amortizrii lunare prin

    metoda liniar.

    APLICAIA 4

    1. Realizai tabela MF dup structura tabelei MF din ANEXA 1.2. Introduce i urmtoarele date:

    3. Care sunt mijloacele fixe cu valoare mai mare de 30000?4. Dac PER_AMORT reprezint perioada de amortizare n ani,calculati care este valoarea amortizrii lunare liniare.5. Denumii coloana cu amortizarea lunar liniar AM_LUN.6. Care sunt mijloacele fixe care au amortizarea lunar mai mare de1000?

    7. Modifica i perioada de amortizare n 5 pentru mijloacele fixe cucodul 10004.8. Calculai care este amortizarea lunar pentru "masina 2"9. Calculai amortizarea lunar liniar pentru mijloacele fixecumprate de la furnizorul c1 sau c2.

  • 8/6/2019 Laborator Baze de Date

    42/98

    Limbaje de programarei baze de date - ACCESS 42

    Funciile agregat: COUNT,SUM, AVG, MIN, MAX

    Principalele obiective ale capitolului sunt:

    Utilizarea funciilor Count, sum, avg. min, maxRealizarea unor noi coloane care s conin date

    obinute prin utilizarea funciilor de mai sus.

    Funcia COUNT contorizeaz valorile neutre ale unei coloanesau numrul de linii dintr-un rezultat al unei interogri, altfel spus, nrezultatul unei consultri, COUNT numr cte valori diferite deNULL are o coloan specificat sau cte linii sunt:

    De exemplu dac dorim s aflm cte facturi avem n tabelaFACTURI (cte linii sunt) avem:

    select count (*) from facturi

  • 8/6/2019 Laborator Baze de Date

    43/98

    Limbaje de programarei baze de date - ACCESS 43

    Numrul de facturi din tabela FACTURISau de exemplu dac dorim s vedem cte facturi au valoarea

    peste 3000 vom avea:

    select count(*) from facturi WHERE valoare>3000

    Numrul de facturi din tabela FACTURIcu valoare mai mare de 3000

    Funcia SUM este una dintre cele mai utilizate funcii naplicaiile economice, deoarece datele financiar-contabile i cele aleevidenei tehnico-operative sunt preponderent cantitative.

    De exemplu dac dorim s aflm care este valoarea total afacturilor din tabela FACTURI avem:

    select sum(valoare) from facturi

    Valoarea total a facturilor din tabela FACTURI

    Sau de exemplu dac dorim s aflm care este valoarea totala facturilor din tabela FACTURI a furnizorului cu cod_furm "c2" avem:

    select sum(valoare) from facturi where cod_furn="c2"

  • 8/6/2019 Laborator Baze de Date

    44/98

    Limbaje de programarei baze de date - ACCESS 44

    Valoarea total a facturilor din tabela FACTURI

    a furnizorului cu cod_furm "c2"

    Funcia AVG (AVERAGE) calculeaz media aritmetic a uneicoloane prin divizarea sumei valorilor coloanei respective la numrulde valori nenule ale acesteia.

    De exemplu dac dorim s aflm care este valoarea medie afacturilor din tabela FACTURI avem:

    select avg(valoare) from facturi

    Valoarea medie a facturilor din tabela FACTURI

    Sau de exemplu dac dorim s aflm care este valoarea mediea facturilor din tabela FACTURI a furnizorului cu cod_furm "c1" avem:

    select avg(valoare) from facturi where cod_furn="c1"

    Valoarea medie a facturilor din tabela FACTURIa furnizorului cu cod_furm "c1"

    Deosebit de utile n diverse tipuri de analiz cele dou funcii

    MIN i MAX determin valoarea minimi maxim pentru o coloan.Se pot folosi i pentru atribute de tip ir de caractere, caz n careelementul de comparaie este codul ASCII al caracterelor.

    De exemplu dac dorim care este valoare minim din tabelafacturi vom avea:

  • 8/6/2019 Laborator Baze de Date

    45/98

    Limbaje de programarei baze de date - ACCESS 45

    select min(valoare) from facturi

    Valoarea minim din FACTURI

    Sau de exemplu dac dorim care este valoare maxim dintabela facturi vom avea:

    select max(valoare) from facturi

    Valoarea maxim din FACTURI

    Dac dorim s aflm care este din punct de vedere alfabeticcod_furn cu cea mai mare valoare vom avea:

    select max(cod_furn) from facturi

    Valoarea maxim a cod_furn din FACTURI

    Studiu individual

    APLICAIA 6: Utilizarea funciilor: AVG; MIN;MAX; SUM; COUNT

  • 8/6/2019 Laborator Baze de Date

    46/98

    Limbaje de programarei baze de date - ACCESS 46

    APLICAIA 5

    1. Realizai tabela FACTURI cu structura tabelei FACTURI dinANEXA 1.

    2. Introducei n tabela FACTURI urmtoarele date:

    3. Care este media valorii facturilor?4. Care este valoarea cea mai mare a unei facturi?5. Care este valoarea cea mai mic a unei facturi?6. Calculai valoarea medie a valorii facturilor dar nu cu AVG.7. Cte facturi avem n tabel?8. Cate facturi avem n tabel cu o valoare mai mare de 5000?9. Cte facturi avem n tabel cu o valoare ntre 4000 i 30000? (prindou metode)10. Care este valoare medie a facturilor cu nr. 3525 i 3522?

  • 8/6/2019 Laborator Baze de Date

    47/98

    Limbaje de programarei baze de date - ACCESS 47

    OPIUNEA ORDER BY

    Principalele obiective ale capitolului sunt:

    Ordonarea datelor unei tabele dup unul sau maimulte atribute

    Una dintre caracteristicile modelului relaional este c niciordinea atributelor, nici ordinea liniilor n relaii nu reprezintimportan din punctul de vedere al coninutului informaional.

    ns n practic forma de prezentare a rezultatelor interogriiest important. Spre exemplu o list a localitilor dintr-o tabel estemai uor citit n ordine alfabetic.

    De exemplu dac dorim pentru tabela facturi s afim toatedatele ordonate dup cmpul cod_furn vom avea

    select * from facturi order by cod_furn

  • 8/6/2019 Laborator Baze de Date

    48/98

    Limbaje de programarei baze de date - ACCESS 48

    Datele obinute n urma ordonrii dup cmpul cod_furn

    Aranjarea se poate face att cresctor (ASC) ct idescresctor (DESC). n plus se pot specifica mai multe coloane cares serveasc drept criterii suplimentare de ordonare. Astfel, la valori

    egale ale primului atribut, intr n aciune criteriul de "balotaj", careeste al doilea atribut, etc.

    De exemplu dac dorim s ordonm datele din facturi ntidup cod_furn i apoi dup valoare (dup acest criteriu descresctor)vom avea:

    select * from facturi order by cod_furn, valoare desc

    Obinerea datelor ordonate dup cod_furn i apoidescresctor dup valoare

  • 8/6/2019 Laborator Baze de Date

    49/98

    Limbaje de programarei baze de date - ACCESS 49

    Intrebri:

    1. Dup cte cmpuri putem ordona i cum?

    Studiu individual

    APLICAIA 6: Ordonarea rezultatelor uneiinterogri.

    APLICAIA 6

    1. Realizai tabela MF dup structura tabelei MF din ANEXA 1.2. Introduce i urmtoarele date:

    3. Care sunt datele din tabela MF, ordonate alfabetic dup denumire?4. Care sunt datele din tabela MF, ordonate alfabetic dup denumirei apoi dup valoare?

  • 8/6/2019 Laborator Baze de Date

    50/98

    Limbaje de programarei baze de date - ACCESS 50

    5. Care este amortizarea lunar liniar pentru fiecare mijloc fix, datelefiind ordonate dup denumirea mijlocului fix?6. Afiai denumirea mijloacelor fixe, ordonat alfabetic pentrumijloacele fixe cu o valoare mai mare de 32000 inclusiv.

    7. Afiai alfabetic codurile furnizor - o singur dat.8. Care este valoarea cea mai mare unui mijloc fix?9. Care este valoare medie a amortizrii lunare a mijloacelor fixe?10. Cte mijloace fixe avem?

  • 8/6/2019 Laborator Baze de Date

    51/98

    Limbaje de programarei baze de date - ACCESS 51

    OPERATORII BETWEEN, LIKE I IN

    Principalele obiective ale capitolului sunt:

    Utilizarea operatorilorBETWEEN

    LIKEIN

    Pentru formularea predicatului de selecie, SQL permiteutilizarea, pe lng >,=,

  • 8/6/2019 Laborator Baze de Date

    52/98

    Limbaje de programarei baze de date - ACCESS 52

    Date afiate utiliznd condiia BETWEEN

    Acelai rezultat l puteam obine i cu o condiie dubl:

    select * from facturi where valoare >= 4000 and valoare

  • 8/6/2019 Laborator Baze de Date

    53/98

    Limbaje de programarei baze de date - ACCESS 53

    select * from facturi where cod_furn like "c*"

    Furnizorii a cror cod_furn ncepe cu litera "c"

    De exemplu dac dorim s afim care sunt toi furnizorii a

    cror cod_client ncepe cu litera "m" vom avea:select * from facturi where cod_furn like "m*"

    Furnizorii a cror cod_furn ncepe cu litera "m"

    De exemplu dac dorim s afim care sunt toi furnizorii a

    cror cod_client are dou caractere i al doilea caracter este 5 vomavea:

    select * from facturi where cod_furn like "?5"

    Furnizorii a cror cod_furn are dou

    caractere

    i al doilea caracter este 5

    Atunci cnd se testeaz dac valoarea unui atribut estencadrabil ntr-o list de valori dat, n locul folosirii abundente aoperatorului OR este mai elegant s se apeleze la operatorul IN.

  • 8/6/2019 Laborator Baze de Date

    54/98

    Limbaje de programarei baze de date - ACCESS 54

    De exemplu dac dorim s afim facturile furnizorilor care aucod_furn c1, c3 i c4 avem:

    select * from facturi where cod_furn in ("c1","c3","c4")

    Facturile furnizorilor care au cod_furn c1, c3 i c4

    Sau de exemplu dac dorim s selectm facturile care au

    valoare de 500, 600, 5000 vom avea:select * from facturi where valoare in (500, 600, 5000)

    Facturile care au valoare de 500, 600, 5000

    Intrebri:

    1. Care este diferena ntre operatoriiBETWEEN i IN?2. Cu ce poate fi substituit operatorulBETWEEN?

  • 8/6/2019 Laborator Baze de Date

    55/98

    Limbaje de programarei baze de date - ACCESS 55

    Studiu individual

    APLCAIA 7: Utilizarea operatorilor BETWEEN;LIKE i IN n calcularea unor date pe baza

    tabelei ANGAJATI.

    APLICAIA 7

    1. Realizai tabela SALARIATI pe baza structurii tabelei ANGAJATIdin ANEXA 1.2. n tabel introducei urmtoarele date:

    3. Care sunt salariaii care au salariu cuprins ntre 550 i 1000?4. Care sunt angajaii care au salariu 600, 1000, 750, sau 300?5. Ci angajai avem?6. Care este salariul mediu?7. Care este numele salariatului cu salariul cel mai mare?8. Care sunt angajaii a cror nume ncepe cu litera M sau I?

    9. Ci angajai au prenumele din trei litere?10. Care sunt salariaii care nu au prenumele ION sau IOANA?

  • 8/6/2019 Laborator Baze de Date

    56/98

    Limbaje de programarei baze de date - ACCESS 56

    REUNIUNE, PRODUS CARTEZIAN

    Principalele obiective ale capitolului sunt:

    Prezentarea operatorului UNIONRealizarea produsului cartezian

    Primii trei operatori asambliti prezint operatori SQL dedicai:UNION, INTERSECT, MINUS (EXTRACT), n timp ce produsulcartezian se calculeaz automat prin simpla enumerare a celor doutabele din clauza FROM.

    La reuniunea a dou tabele, SQL elimin automat liniile identice

    din rezultat. Dac se dorete prelucrarea tuturor liniilor celor dourelaii i implicit apariia de linii duplicate, se folosete clauza ALL(UNION ALL).

    De exemplu, dup aceeai structur a tabelei FURNIZORIcrem tabela FURNIZORI2.

    Tabela FURNIZORI2 conine urmtoarele date:

  • 8/6/2019 Laborator Baze de Date

    57/98

    Limbaje de programarei baze de date - ACCESS 57

    Datele tabelei FURNIZORI2

    Datele tabelei FURNIZORI

    Dac dorim s afim toate datele (utiliznd reuniunea) dintabelele FURNIZORI i FURNIZORI2 avem:

    select * from furnizori union select * from furnizori2

  • 8/6/2019 Laborator Baze de Date

    58/98

    Limbaje de programarei baze de date - ACCESS 58

    Toate datele (utiliznd reuniunea) din tabelele FURNIZORI iFURNIZORI2

    SQL nu pune la dispoziie vreun operator special dedicatprodusului cartezian.

    Produsul cartezian se realizeaz prin simpla enumerare atabelelor n clauza FROM.

    De exemplu dac dorim s realizm produsul cartezian ntretabelele FACTURI i FURNIZORI avem:

    select * from facturi, furnizori

  • 8/6/2019 Laborator Baze de Date

    59/98

    Limbaje de programarei baze de date - ACCESS 59

    Produsul cartezian al tabelelor FACTURI i FURNIZORI

    Intrebri:

    1. Ce reprezint operatorul UNION?2. Cum se realizeaz produsul cartezian?

    Studiu individual

    APLICAIA 8: Evidena mijloacelor fixe ale uneintreprinderi

  • 8/6/2019 Laborator Baze de Date

    60/98

    Limbaje de programarei baze de date - ACCESS 60

    APLICAIA 8

    1. Realizai tabela MF1 i MF2 dup structura tabelei MF din ANEXA1.

    2. Introduce i urmtoarele date:

    Datele tabelei MF1

    Datele tabelei MF2

    3. Care sunt datele din tabela MF1, ordonate alfabetic dupdenumire?4. Care sunt datele din tabela MF2, ordonate alfabetic dup denumirei apoi dup valoare?5. Afiai datele celor dou tabele ntr-un query

  • 8/6/2019 Laborator Baze de Date

    61/98

    Limbaje de programarei baze de date - ACCESS 61

    6. Care sunt mijloacele fixe ce se gsesc n MF1 i nu se gsesc nMF2?7. Care sunt mijloacele fixe ce se gsesc i n MF1 i n MF2?8. Care este valoarea medie a mijloacelor fixe din MF1?

    9. Care este valoarea medie a mijloacelor fixe din MF2 a cror numencepe cu litera C?10. Care sunt mijloacele fixe din tabela MF2 furnizate de furnizorii cucodurile: c1, c2, c4, c5,c8?

  • 8/6/2019 Laborator Baze de Date

    62/98

    Limbaje de programarei baze de date - ACCESS 62

    THETA I ECHI-JONCIUNEA

    Principalele obiective ale capitolului sunt:

    Realizarea unei legturi ntre dou sau mai multetabele

    Utilizarea condiiilor n echi-jonciune

    SQL nu prezint clauze sau operatori speciali pentru jonciune,jonciunea fiind o combinaie ntre produs cartezian i selecie.

    Deci pentru theta-jonciunea dintre dou relaii R1 i R2 avem:

    select * from R1, R2 where R1.A>=R2.E

    unde:

    R1A B C

    20 XYZ 3030 XXZ 2040 YYX 25

    R2C D E

    25 XYZ 3040 YYX 2530 XXZ 40

  • 8/6/2019 Laborator Baze de Date

    63/98

    Limbaje de programarei baze de date - ACCESS 63

    iar pentru echi-jonciune avem:

    select * from R1, R2 where R1.A=R2.E

    Varianta cu INNER JOIN (jonciune intern) este:

    select * from R1 inner join R2 on R1.A>=R2.E

    respectiv

    select * from R1 inner join R2 on R1.A=R2.E

    Pentru urmtorul exemplu utilizm urmtoarele tabele:FURNIZORI, FACTURI cu urmtoarele date:

  • 8/6/2019 Laborator Baze de Date

    64/98

    Limbaje de programarei baze de date - ACCESS 64

    Se cere s de afieze pentru fiecare factur numelefurnizorului.

    select facturi.*, furnizori.nume_furn from facturi, furnizori wherefacturi.cod_furn=furnizori.cod_furn

    Numele furnizorului pentru fiecare factur

    Acelai rezultat se poate obine utiliznd INNER JOIN:

    select facturi.*, furnizori.nume_furn from facturi inner join furnizori ONfacturi.cod_furn=furnizori.cod_furn

  • 8/6/2019 Laborator Baze de Date

    65/98

    Limbaje de programarei baze de date - ACCESS 65

    Numele furnizorului pentru fiecare factur

    Dac dorim s afim numele furnizorului pentru fiecare facturnumai pentru furnizorul cu cod_furn "c1" vom avea:

    select facturi.*, furnizori.nume_furn from facturi, furnizori wherefacturi.cod_furn=furnizori.cod_furn and facturi.cod_furn="c1"

    Numele furnizorului pentru fiecare factur

    numai pentru furnizorul cu cod_furn "c1"

    Intrebri:

    1. De ce dou tabele sunt legate logic prinvalori?2. Care este condiia necesar pentru echi-

    jonciune?

  • 8/6/2019 Laborator Baze de Date

    66/98

    Limbaje de programarei baze de date - ACCESS 66

    Studiu individual

    APLICAIA 9: Evidena salariailor dintr-o firm

    APLICAIA 9

    1. S se realizeze tabelele ANGAJATI i DEPARTAMENTE dupstructura tabelelor ANGAJATI i DEPARTAMENTE din ANEXA 12. Introducei n tabele urmtoarele date:

    3. Afiai eful pentru fiecare angajat.4. Care sunt angajaii care lucreaz n Braov?5. Ci angajai lucreaz n Bucureti?6. Care este numele angajatului cu salariul maxim?7. Care este fondul de salarii pentru fiecare cod_dep?

  • 8/6/2019 Laborator Baze de Date

    67/98

    Limbaje de programarei baze de date - ACCESS 67

    8. Care sunt angaja ii angajai dup 01/01/1980?9. Care sunt angajaii care lucreaz la departamentul marketing?10. Ci subalterni are Vlad?11. Care este salariul mediu pentru departamentul management?

    12. Care sunt angajaii a cror ef ncepe cu litera "A"?13. Care sunt angajaii care lucreaz n Braov sau Bucureti?

  • 8/6/2019 Laborator Baze de Date

    68/98

    Limbaje de programarei baze de date - ACCESS 68

    GRUPAREA TUPLURILOR: GROUP BY IHAVING

    Principalele obiective ale capitolului sunt:

    Utilizarea grupurilorUtilizarea condiiilor pentru grupuri

    Clauza GROUP BY formeaz grupe (grupuri) de tupluri ale uneirelaii, pe baza valorilor comune ale unui atribut. n frazele SELECTformulate pn n acest paragraf, prin intermediul WHERE au fostselectate tupluri ale tabelei. Prin asocierea unei clauze HAVING la

    GROUP BY este posibil selectare anumitor grupuri de tupluri cendeplinesc un criteriu, valabil numai la nivel de grup (nu i la nivel delinie).

    Clauza unei fraze SELECT ce conine aceast clauz se obineprin regruparea tuturor liniilor din tabelele enumerate n FROM,extrgndu-se cte o apariie pentru fiecare valoare distinct acoloanei/grupului de coloane.

  • 8/6/2019 Laborator Baze de Date

    69/98

    Limbaje de programarei baze de date - ACCESS 69

    Formatul general este:

    select coloan1, coloan2,...,coloan m from tabel group by

    coloan_de_regrupare

    De exemplu dac dorim s vedem care este valoarea total afacturilor pentru fiecare cod_furn vom avea:

    select cod_furn, sum(valoare) from facturi group by cod_furn

    Valoarea total a facturilor pentru fiecare cod_furn

    Cea mai simpl definiie a clauzei HAVING este: clauzaHAVING este WHERE-ul ce opereaz la nivel de grupuri. DacWHERE acioneaz la nivel de tuplu, selectnd acele linii care

    ndeplinesc o condiie specificat, HAVING permite specificarea unorcondiii de selecie care se aplic tuplurilor de linii create prin GROUPBY.

    Din rezultat sunt eliminate toate grupurile care nu satisfaccondiia specificat.

    De exemplu dac dorim s vedem care este valoarea total afacturilor pentru cod_furn egal cu "c1" vom avea:

    select cod_furn, sum(valoare) from facturi group by cod_furn havingcod_furn="c1"

    Valoarea total a facturilor pentrucod_furn egal cu "c1"

  • 8/6/2019 Laborator Baze de Date

    70/98

    Limbaje de programarei baze de date - ACCESS 70

    Intrebri:

    Cnd se utilizeaz GROUP BY?

    Care este definiia condiiei HAVING?

    Studiu individual

    APLICAIA 10: Situaii de grup la nivelul

    salariailor

    APLICAIA 10

    1. S se realizeze tabelele ANGAJATI i DEPARTAMENTE dupstructura tabelelor ANGAJATI i DEPARTAMENTE din ANEXA 12. Introducei n tabele urmtoarele date:

  • 8/6/2019 Laborator Baze de Date

    71/98

    Limbaje de programarei baze de date - ACCESS 71

    3. Afiai eful pentru fiecare angajat.

    4. Care este salariul total pentru fiecare departament?5. Care este salariul total pentru departamentul MANAGEMENT?6. Care este suma total a salariilor din departamentele managementi contabilitate?7. Care este numrul de salariai din fiecare departament?8. Care este departamentul cu angajaii cei mai muli?9. Care este eful departamentului cu cei mai muli angajai?10. Ci angajai are Vlad?

  • 8/6/2019 Laborator Baze de Date

    72/98

    Limbaje de programarei baze de date - ACCESS 72

    REALIZAREA FORMULARELOR

    Principalele obiective ale capitolului sunt:

    Utilizarea formularelorUtilizarea generatoarelor wizard pentru crearea

    formularelorRularea formularelor

    UTILIZAREA FORMULARELOR

    Formularele sunt ecrane cu ajutorul crora se pot introducedate n tabele sau se pot lansa diferite comenzi i aplicaii.

    De obicei, formularele conin casete n care se poate scrie text,butoane prin care se pot lansa comenzi sau aplicaii, elemente de tiplist pentru alegerea unor valori sau opiuni de tip check-box.

    Pentru facilitarea lucrului cu formulare, programul dispune deun generator de tip wizard prin care se pot crea formulare deintroducere a datelor n tabele.

    Formularele pot fi fcute att pe baza unor tabele existente cti pe baza unor interogri deja definite (QUERIES).

  • 8/6/2019 Laborator Baze de Date

    73/98

    Limbaje de programarei baze de date - ACCESS 73

    Pentru realizarea formularelor din panoul de comand se alegeopiunea FORMS din cadrul meniului OBJECTS.

    Alegerea opiunii FORMS

    UTILIZAREA GENERATOARELOR WIZARD PENTRU CREAREA

    FORMULARELOR

    Pentru utilizarea generatorului de formulare n panoul decomand se alege opiunea CREATE FORM BY USING WIZARD.

    Dac utilizatorul dorete s creeze formulare manual va alegeopiunea CRAETE FORM IN DESIGN VIEW.

    Utilizarea generatorului de formulare

  • 8/6/2019 Laborator Baze de Date

    74/98

    Limbaje de programarei baze de date - ACCESS 74

    In fereastra FORM WIZARD primul pas n crearea formularuluieste alegerea tabelei n care vor fi introduse datele. Tabela dorit seselecteaz prin opiunea TABLES / QUERIES.

    Selectarea tabelei

    Cel de-al doilea pas este selectarea cmpurilor n care se vorintroduce date. Selectarea cmpurilor poate fcut separat pentrufiecare cmp (oferind posibilitatea ca unul sau mai multe cmpuri slipseasc) sau pentru toate cmpurile.

  • 8/6/2019 Laborator Baze de Date

    75/98

    Limbaje de programarei baze de date - ACCESS 75

    Selectarea cmpurilor dorite n formular

    Cmpurile selectate se mut n ecranul din partea dreapt. nexemplul de mai jos au fost selectate toate cmpurile. Se vor selectaelementele dorite dup care se continu prin apsare tastei NEXT.

  • 8/6/2019 Laborator Baze de Date

    76/98

    Limbaje de programarei baze de date - ACCESS 76

    Cmpurile selectate

    n continuare se alege modul de afiare a cmpurilor nformular (pe coloane, tabular, foaie de lucru, etc.). Se va selecta tipuldorit dup care se continu prin apsare tastei NEXT.

  • 8/6/2019 Laborator Baze de Date

    77/98

    Limbaje de programarei baze de date - ACCESS 77

    Selectarea modului de afiareDin punct de vedere grafic sunt disponibile mai multe tipuri de

    formulare. Se va selecta tipul dorit dup care se continu prinapsare tastei NEXT.

    Alegerea stilului formularului

    Ultimul pas n realizarea formularelor este denumireaformularului creat. Implicit numele este cel al tabelei n care vor fiscrise datele.

  • 8/6/2019 Laborator Baze de Date

    78/98

    Limbaje de programarei baze de date - ACCESS 78

    Denumirea formularului

    RULAREA FORMULARULUI

    Pentru a rula un formular se da dublu click pe numele sau n

    fereastra de comand.

    Rularea formularului ANGAJATI

  • 8/6/2019 Laborator Baze de Date

    79/98

    Limbaje de programarei baze de date - ACCESS 79

    Intrebri:

    Pentru ce se utilizeaz formularele?Care sunt pai necesari n conceperea unuiformular?

    Studiu individual

    APLICAIA 11: Introducerea datelor n tabele cuajutorul formularelor

  • 8/6/2019 Laborator Baze de Date

    80/98

    Limbaje de programarei baze de date - ACCESS 80

    APLICAIA 11

    1. S se realizeze tabelele ANGAJATI i DEPARTAMENTE dupstructura tabelelor ANGAJATI i DEPARTAMENTE din ANEXA 1

    2. Realizai formulare pentru introducerea datelor n cele dou tabele3. Introducei n tabele urmtoarele date:

    4. Care este salariul total pentru fiecare departament?5. Care este salariul total pentru departamentul MANAGEMENT?6. Care este suma total a salariilor din departamentele managementi contabilitate?7. Care este numrul de salariai din fiecare departament?8. Care este departamentul cu angajaii cei mai muli?

    9. Care este eful departamentului cu cei mai muli angajai?10. Ci angajai are Vlad?

  • 8/6/2019 Laborator Baze de Date

    81/98

    Limbaje de programarei baze de date - ACCESS 81

    REALIZAREA RAPOARTELOR

    Principalele obiective ale capitolului sunt:

    Rolul rapoartelorModul de realizarea a rapoartelor

    UTILIZAREA RAPOARTELOR

    Rapoartele sunt utilizate pentru afiarea estetic a datelor dintr-o tabel sau query.

    Primul pas n realizarea unui raport l reprezint selectareaopiunii REPORTS din cadrul meniului OBJECTS.

    i pentru realizarea rapoartelor avem la dispoziie posibilitatea

    realizrii manual sau n mod asistat de program cu ajutorulgeneratorului de tip wizard.

  • 8/6/2019 Laborator Baze de Date

    82/98

    Limbaje de programarei baze de date - ACCESS 82

    Selectarea opiunii REPORTS

    Pentru facilitarea lucrului vom utiliza generatorul de rapoarte.Acest lucru se face cu ajutorul opiunii CREATE REPORT BY USINGWIZARD.

    Selectarea generatorului de rapoarte

    n realizarea raportului primul, n fereastra REPORT WIZARDtrebuie selectat tabela pentru care se vor afia datele.

  • 8/6/2019 Laborator Baze de Date

    83/98

    Limbaje de programarei baze de date - ACCESS 83

    Selectarea tabelei

    Similar crerii formularelor, trebuiesc precizate cmpurile carevor fi afiate din tabela deja selectat.

    Selectarea cmpurilor din tabel

  • 8/6/2019 Laborator Baze de Date

    84/98

    Limbaje de programarei baze de date - ACCESS 84

    Pentru cmpurile selectate se poate face o grupare, nmomentul afirii datelor dup un cmp.

    Gruparea datelor dup un cmp

    Totodat datele ce vor fi afiate pot fi ordonate dup unul sau

    mai multe criterii.Aceste criterii sunt alfabetice sau invers-alfabetice, cresctoaresau descresctoare, n funcie de tipul cmpului text sau numeric.

  • 8/6/2019 Laborator Baze de Date

    85/98

    Limbaje de programarei baze de date - ACCESS 85

    Selectarea criteriilor de ordonare a datelor

    Urmtorul pas este alegerea unei forme de prezentare adatelor, de aliniere a informaiilor i formatul paginii.

    Alegerea formatului de prezentare a datelor

  • 8/6/2019 Laborator Baze de Date

    86/98

    Limbaje de programarei baze de date - ACCESS 86

    Tot n legtur cu forma de afiare a datelor este i stilulraportului. Pentru alegerea stilului se selecteaz din meniul din parteadin dreapta opiunea dorit. Aceast opiune este doar din punct de

    vedere estetic.

    Selectarea stilului raportului

    Ultimul pas n realizarea raportului este denumirea raportuluirealizat. i n acest caz, denumirea implicit este cea a tabelei dincare sunt luate datele. Dup tastarea noului nume se tasteazFINISH. n acest moment raportul este gata i poate fi rulat.

  • 8/6/2019 Laborator Baze de Date

    87/98

    Limbaje de programarei baze de date - ACCESS 87

    Denumirea raportului

    EXECUIA RAPORTULUI

    Pentru a rula un raport se da dublu click pe numele sau nfereastra de comand.

    Lansare n execuie a raportului

    Raportul odat lansat este afiat pe ecran. Poate fi utilizatfuncia zoom pentru mrire sau micorare. Totodat raportul poate fii listat.

  • 8/6/2019 Laborator Baze de Date

    88/98

    Limbaje de programarei baze de date - ACCESS 88

    Raportul obinut

    Intrebri:

    Ce este un raport?Cum se realizeaz un raport?

    Studiu individual

    APLICAIA 13: Utilizarea rapoartelor

    APLICAIA 13

    1. Realizai tabela SALARIATI pe baza structurii tabelei ANGAJATIdin ANEXA 1.2. n tabel introducei urmtoarele date:

  • 8/6/2019 Laborator Baze de Date

    89/98

    Limbaje de programarei baze de date - ACCESS 89

    3. Realizai un raport pentru afiarea tuturor salariailor

    4. Realizai un raport pentru afiarea tuturor salariailor, grupai pedepartamente i ordona i alfabetic dup nume.5. Realizai un raport pentru afiarea numelui salariailor si adepartamentului unde lucreaz.

  • 8/6/2019 Laborator Baze de Date

    90/98

    Limbaje de programarei baze de date - ACCESS 90

    CONSTRUCIA PAGINILOR WEBPENTRU LUCRUL CU BAZE DE DATE

    Principalele obiective ale capitolului sunt:

    Rolul formularelor de tip pagina webRealizarea paginilor web cu formulare pentru

    introducerea datelor

    ROLUL PAGINILOR WEB CU FORMULAR PENTRUINTRODUCEREA DATELOR

    Bazele de date i aplicaiile realizate n ACCESS sunt foartemult utilizate pentru aplicaii web. n consecin, pentru a putea

    introduce date n tabelele ACCESS este nevoie de pagini web ce potfi publicate pe un server de web.

  • 8/6/2019 Laborator Baze de Date

    91/98

    Limbaje de programarei baze de date - ACCESS 91

    REALIZAREA PAGINILOR WEB

    La fel ca i n cadrul celorlalte module primul pas n realizare lconstituie selectarea opiunii PAGES din cadrul meniului OBJECTS.

    Selectarea opiunii PAGES

    i pentru crearea formularelor n pagini web avem la dispozi

    ie

    un generator de tip wizard.Pornirea generatorului se face prin selectarea opiunii CREATE

    DATA ACCESS PAGE BY USING WIZARD.La fel ca i n cazul formularelor i rapoartelor trebuie selectat

    tabela i cmpurile care vor apare in pagin.

  • 8/6/2019 Laborator Baze de Date

    92/98

    Limbaje de programarei baze de date - ACCESS 92

    Selectarea tabelei i a cmpurilor

    Datele pot fi grupate dup unul din cmpurile tabelei care vorapare n pagin. Aceast grupare nu este ns obligatorie.

  • 8/6/2019 Laborator Baze de Date

    93/98

    Limbaje de programarei baze de date - ACCESS 93

    Gruparea datelor dup un cmp

    n continuare, tot opional se pot alege cmpurile dup care seva face ordonarea datelor.

    Aceste criterii de ordonare sunt alfabetice sau invers-alfabetice,cresctoare sau descresctoare, n funcie de tipul cmpului text saunumeric.

    Ordonarea datelor

  • 8/6/2019 Laborator Baze de Date

    94/98

    Limbaje de programarei baze de date - ACCESS 94

    Ultimul pas n realizarea paginii este denumirea titlului paginiirealizate. i n acest caz, denumirea implicit este cea a tabelei dincare sunt luate datele. Dup tastarea noului nume se tasteazFINISH.

    Titlul paginii

    Pentru deschiderea paginii se alege opiunea OPEN THEPAGE.

  • 8/6/2019 Laborator Baze de Date

    95/98

    Limbaje de programarei baze de date - ACCESS 95

    Opiunea OPEN THE PAGE

    Vizualizarea paginii permite introducerea datelorasemntor unui formular obinuit.

    Vizualizarea paginii

  • 8/6/2019 Laborator Baze de Date

    96/98

    Limbaje de programarei baze de date - ACCESS 96

    Pentru salvarea paginii este necesar nchiderea acesteia idenumirea sa.

    Salvarea paginii

    Atenie deoarece pagina creat este o pagin web trebuie saib extensia HTM, HTML sau ASP.

    Vizualizarea paginii creat ca formular de introducere a datelorn Access poate fi fcut similar cu orice pagina web.

    Intrebri:La ce folosesc paginile web create n Access?Care sunt paii de realizarea a unei astfel depagini?

  • 8/6/2019 Laborator Baze de Date

    97/98

    Limbaje de programarei baze de date - ACCESS 97

    Anexa 1

    Tabele utilizate

    Tabela: angajati

    cmp tipcod (CP) numericnume textprenume textdata_nasterii datasal_brut numeric

    cod_dep text

    Tabela: departamente

    cmp tipcod_dep (CP) textden textlocalitate textsef texttelefon numeric

    Tabela: facturi

    cmp tipnr_factura (CP) numericcod_furn textdata_fact data

    valoare numeric

  • 8/6/2019 Laborator Baze de Date

    98/98

    Limbaje de programarei baze de date - ACCESS 98

    Tabela: furnizori

    cmp tipcod_furn (CP) text

    nume_furn textadresa textlocalitate text

    Tabela: mf

    cmp tipcod_mf (CP) numeric

    den textvaloare numericper_amort numericcod_furn text