Download - Baze de date Access

Transcript
  • 1. BAZE DE DATE ACCESS NCHIDE APLICAIA 1
  • 2. CUPRINS CONCEPTUL DE BAZE DE DATE-SGBD LUCRUL CU TABELE N ACCESS CREAREA FORMULARELOR CREAREA INTEROGRILOR CREAREA RAPOARTELOR CREAREA MODULELOR CREAREA MACRO CREAREA UNEI PAGINI WEB 2
  • 3. CONCEPTUL DE BAZ DE DATE Organizarea datelor n vederea prelucrrii pe calculator este o activitate de mare importan . Din punct de vedere al prelucrrii pe calculator, datele sunt definite de trei elemente: Un identificator (numele atribuit) Atribut (tipul de dat pe care-l conine) Valoare (valoarea propriu-zis). Informaia este rezultatul prelucrrii datelor. Organizarea datelor implic: Organizarea datelor n memoria intern,care cuprinde structura de tip list,coad i stiv. Organizarea datelor pe memoria extern, care cuprinde structurile de tip fiier i baze de date. 3
  • 4. DIFERENA NTRE BAZA DE DATE I SISTEMUL DE GESTIONARE A BAZEI DE DATE Baza de date este doar o component a SGBD care conine datele propriu-zise este un container care stocheaz date structurate. Sistemul de gestiune a BD (SGBD) reprezint software-ul pentru baze de date care are rolul de a controla organizarea i integritatea bazei de date, de regsire a datelor din baza de date , precum i de a asigura stocarea fizic, securitatea, replicarea i recuperarea informaiilor dup erori. Microsoft Access este un SGBD comercial de tip desktop, fiind adecvat administrrii bazelor de date mici i medii. 4
  • 5. SGBD DE TIP DESKTOP UN SGBD de tip desktop este instalat i ruleaz local. Este o aplicaie autonom care stoceaz o baz de date i efectueaz ea nsi toate procesrile SQL sau se comport ca i client al unui server SQL. SQL este UN LIMBAJ DE PROGRAMARE NEPROCEDURAL NGLOBAT SAU INTERACTIV STANDARDIZAT UTILZAT PENTRU A MANIPULA DATELE I OBIECTELE DIN BAZA DE DATE SGBD execut programul SQL i afieaz rezultatul sau mesajele de eroare. 5
  • 6. MODELUL RELAIONAL AL BAZEI DE DATE Se bazeaz pe teoria matematic a mulimilor, tabelele reprezentnd analoagele mulimilor colecii de elemente distincte care au proprieti comune. O baz de date = colecie format din unul sau mai multe tabele. Tabelul reprezint: structura bazei de date care stocheaz datele ; Conine date despre un tip de entitate : clas de obiecte, evenimente sau cocepte cu proprieti comune; Gril bidimensional : coloane, rnduri; La intersecia rnd-coloan se afl valoarea; Nume unic n baza de date. 6
  • 7. MODELUL RELAIONAL AL BAZEI DE DATE TERMENI ECHIVALENI MODELUL RELAIONAL SQL NE-RELAIONAL (SGBD) RELAIE - caracterizeaz un tip de entitate - o clas de obiecte, evenimente sau concepte TABEL FIIER cu proprienti comune, care aparin lumii reale i care pot fi distinse de alte clase. ATRIBUT- caracterizeaz o proprietate specific tipului entitii din relaie. COLOAN CMP TUPLU- caracterizeaz o entitate (o instan unic) al tipului de entitate inclus n relaia RND NREGISTRARE din care face parte instana respectiv. 7
  • 8. NORMALIZAREA BAZEI DE DATE Prima form normal 1FN A doua form normal A treia form normal 2FN 3FN Are coloane care conin 1FN 2FN numai valori atomice (o Nu exist dependene Nu exist depen-dene singur valoare, funcionale pariale. tranzitive. Rspunsul la nedivizat) Rspunsul la ntrebarea : ntrebarea : Pot Nu conine grupuri care Pot determina valoarea determina valoarea se repet (dou sau mai coloanei non-cheie dac coloanei non-cheie dac multe coloane n relaie nu cunosc dect o parte cunosc oricare alt logic unele cu altele) din valoarea cheii primare valoare a unei coloane ? non-cheie ? 8
  • 9. CONCEPTE ALE REALIZRII UNEI BAZE DE DATE Nivelul extern - corespunztor utilizatorului, care i exprim cerinele informaionale prin aa numitele scheme externe. Nivelul conceptual - aferent administratorului bazei de date , care se concretizeaz n schema conceptual. Nivelul intern - corespunztor programatorului, care realizeaz reprezentarea datelor pe suportul fizic. 9
  • 10. FUNCII ALE SGBD ORGANIZAREA DATELOR: crearea i manevrarea tabelelor care conin date ntr-un format tabelar convenabil (linii i coloane)- Datasheet LEGAREA TABELELOR I EXTRAGEREA DATELOR legarea mai multor tabele prin relaiile ntre date (prin intermediul Interogrilor),n vederea crerii unor tabele temporare (Recordset) , stocate n memoria calculatorului sau n fiiere memorate pe disc,care conin datele alese de programator. 10
  • 11. FUNCII ALE SGBD INTRODUCEREA I EDITAREA DATELOR: Crearea i implementarea unor Formulare pentru introducerea, afiarea i editarea datelor,ca alternativ la prezentarea tabelar. PREZENTAREA DATELOR: Crearea de Rapoarte n care s poat fi sintetizate informaiile din obiectele Recordset pe care le putei vedea , tiprii i publica pe Internet sau Intranet. Aceste rapoarte reprezint scopul final al unei aplicaii SGBD! 11
  • 12. SCHEMA LOGIC A COLECIEI DE OBIECTE ACCESS TABEL2 TABEL1 TABEL3 INTEROGARE FORMULAR RAPORT 12
  • 13. OBIECTELE ACCESS Table-obiect definit de utilizator n care sunt stocate datele primare. Pages-obiect care include un fiier HTML i alte fiiere suport n Form-obiect care permite vederea furnizrii accesului la date introducerea datelor, afiarea prin intermediul browser-ului acestora sau controlul ntregii Internet. aplicaii. Macro-obiect care conine o Query-obiect care permite definiie structurat a uneia sau mai vizualizarea informaiilor obinute multor aciuni pe care Access le prin prelucrarea datelor din unul sau realizeaz ca rspuns la un mai multe tabele i / sau interogri. eveniment. Report-obiect care permite Module-obiect care conine formatarea i tiprirea informaiilor proceduri definite de utilizator i obinute n urma consultrii bazei de scrise n limbajul de programare date sub form de document. Visual Basic. 13
  • 14. CREAREA TABELELOR MODUL DE NUMELE TIPUL DE DATE REALIZARE A CMPULUI CONINUT DE CMP STRUCTURII TABELEI DIMENSIUNEA CMPULUI. SETRI SUPLIMENTARE RELATIV LA CMPUL DEFINIT. SETRI SPECIFICE CONINUTULUI CMPULUI 14
  • 15. STABILIREA INDECIROL I A CHEII TABELULUI STABILIREA MODULUI DE CUTARE ,DE SORTARE N TABEL CU AJUTORUL CMPURILOR INDEXATE. CHEIA PRIMAR A TABELEI CARE TREBUIE S CONIN NREGISTRRI UNICE! 15
  • 16. CREAREA LEGTURILOR NTRE TABELE CASET DE DIALOG DESCHIDEREA DESCHIS PRIN INTERFEEI PENTRU MENIUL RAPID CREAREA LEGTURILOR. PENTRU ADUGAREA TABELELOR N SUPRAFAA RELAIILOR. 16
  • 17. CREAREA LEGTURILOR NTRE TABELE LEGTUR DE TIP UNU LA MAI MULTE. NUMELE TABELEI NUMELE CMPULUI CHEIE PRIMAR SAU CHEIE EXTERN CARE CREEAZ LEGTURA. 17
  • 18. CREAREA FORMULARELOR ALEGEREA TABELELOR SAU INTEROGRILOR DIN CARE SE PREIAU CMPURILE NECESARE. CMPURILE TABELEI/INTEROGRII SELECTATE. 18
  • 19. CREAREA FORMULARELOR PRELUAREA CMPURILOR CARE VOR FI PREZENTE N FORMULAR. 19
  • 20. CREAREA FORMULARELOR CMPURILE DIN FORMULAR. CMPURILE DIN TABELELE CARE FORMULARUL AU CONIN SUBORDONAT CMPURILE CE (SUBFORM). VOR APREA N FORMULAR. SE VA ALEGE MODUL DE PREZENTARE A DATELOR. 20
  • 21. CREAREA FORMULARELOR MODUL DE AFIARE A DATELOR N FORMULAR. 21
  • 22. CREAREA FORMULARELOR FORMATUL GRAFIC. 22
  • 23. CREAREA FORMULARELOR NUMELE FORMULARULUI. NUMELE SUB- FORMULARULUI. 23
  • 24. FORMULARUL I SUBFORMULARUL INCLUS N FORMA DISPONIBIL UTILIZATORULUI FORMULARUL SUBFORMULAR 24
  • 25. CONTROALE I FUNCIILE LOR INSTRUMENT NUME FUNCIE SELECT OBJECT (indicator) Pointer-ul de selecie al obiectelor. CONTROL WIZARD Activeaz/dezactiveaz programele Control Wizard LABEL Afieaz texte fixe ce includ numele unui (etichet) control de tip text sau instruciuni. TEXT Caset de tip text ,editabil. BOX OPTION Grup de controale de tip opiune. Din grup doar GROUP una poate fi selectat. TOOGLE Buton cu dou stri : ON(selectat) care BUTTON nseamn DA (-1) i OFF(deselectat) care nseamn NU (0). 25
  • 26. CONTROALE I FUNCIILE LOR INSTRUMENT FUNCIE NUME OPTION Buton opiune folosit pe formular cu alte butoane pentru a BUTTON determina care din aciuni s aib loc atunci cnd este selectat. CHECK Caset de validare care,atunci cnd este selectat comut n BOX starea ON(-1). COMBO Caset combinat.Caset de text cu o list derulant. n BOX caseta de text se poate edita i gsete elementul n list. LIST Caset list. Conine o list de valori al unui cmp din baza BOX de date. COMMAND Buton de comand ,folosit pentru a executa coduri de BUTTON procedur editate n VBA. IMAGE Afieaz o imagine static.Nu poate fi editat n formular. 26
  • 27. CONTROALE I FUNCIILE LOR INSTRUMENT NUME FUNCIE UNBOUND Obiect neasociat bazei de date care include un obiect OBJECT OLE: orice obiect editat ntr-un program Microsoft FRAME Office. BOUND Obiect asociat bazei de date i care conine un obiect OBJECT OLE : imagine,grafic,sunete,filme,etc. FRAME PAGE Delimitator de pagin.Determin imprimanta s trac la o BREAK nou pagin.Nu este vizibil n formular. 27
  • 28. CONTROALE I FUNCIILE LOR INSTRUMENT NUME FUNCIE TAB Schimbtor de pagin.Creaz o serie de pagini care pot CONTROL fi schimbate.Fiecare pagin conine mai multe controale.Se utilizeaz pentru formulare prea ncrcate. SUBFORM/ Introduce n formular , sub form de subformular sau SUBREPORT raport ,un formular sau raport efectuat anterior. LINE Creaz o linie dreapt pe care o putem redimensiona i muta. RECTANGLE Creaz un dreptunghi pe care l putem configura cu efecte speciale n moduri diferite. 28
  • 29. TIPURI DE DATE DATE TIPUL DATELOR DESCRIERE Cel mult 255 caractere.Valoarea TEXT prestabilit la 50. ALFANUMERICE Cel mult 64.000 caractere. Nu poate fi MEMO cheie primar i nu putem indexa dup el. Sunt disponibile mai multe NUMBER subtipuri.Se alege formatul dorit(nr.zecimale,etc.) Tip Long Integer ce se NUMERICE autoincrementeaz.Nu se poate AUTONUMBER modifica cnd exist nregistrri. Tip boolean:Yes=-1,No=0.Nu poate fi YES/NO cheie dar poate fi indexat. 29
  • 30. TIPURI DE DATE DATE TIPUL DATELOR DESCRIERE NUMERICE Format special,fix ,cu patru CURENCY zecimale,proiectat s exclud erorile de rotunjire n calcule financiare. Data calendaristic i ora sunt stocate ntr-un DATE DATE/TIME format special fix.Se selecteaz formatul CALENDARISTICE dorit. Include elemente grafice,fiiere cu semnale audio i alte tipuri de date create de o OBIECTE MARI OBJECT OLE aplicaie OLE server.Nu poate fi cheie i nici index. Adres a unei pagini Web.Format din trei ADRESE INTERNET HYPERLINK pri: textul afiat,adresa i subadresa. Creaz cmpuri care permit utilizatorului s LOOKUP INFORMAII LEGATE aleag valori din cadrul altor tabele sau dintr- WIZARD o list de valori. 30
  • 31. SUBTIPURI DE DATE NUMERICE MRIMEA CMPULUI ZECIMALE INTERVALUL VALORIC OCTEI BYTE 0 DE LA 0 LA 256 1 INTEGER 0 DE LA -32.768 LA 32.768 2 DE LA -2.147.483.648 LA LONG INTEGER 0 4 2.147.483.648 SINGLE 7 DE LA 3,4*1038 LA + 3,4*1038 4 DE LA - 1,797*10308 LA DOUBLE 15 8 +1,797*10308 REPLICATION ID IDENTIFICATOR GLOBAL UNIC 16 DECIMAL DE LA - 1028 LA + 1028 16 31
  • 32. SETRI CARACTERISTICE CMPULUI FORMAT- permite alegerea unor formate prestabilite sau crearea unui format personalizat pentru tipul de dat ales. DECIMAL PLACES -stabilete numrul de zecimale ntre 0- 15. INPUT MASK -se aplic tipului text i dat calendaristic un format personalizat de afiare. Ex.Tel.(0262)655-224. CAPTION -nume atribuit cmpului la vizualizare(diferit de cel intern,deja atribuit). DEFAULT VALUE -valoarea inclus implicit ,nainte de actualizarea cmpului(cnd majoritatea valorilor vor fi aceasta.) 32
  • 33. SETRI CARACTERISTICE CMPULUI VALIDATION RULE - regula de validare testat pe baza criteriului definit sub forma unei expresii. Acestea folosesc: Operatori: = ,- ,*, /, Mod ,< ,> , , ,AND,OR ,BETWEEN ,IN ,IS NULL. Indentificatori: ]n paranteze drepte [ ]. Funcii. Constante. VALIDATION TEXT -mesajul care apare n cazul nerespectrii regulii de validare. REQUIRED -se stabilete la yes dac este strict necesar completarea acestui cmp. INDEXED - se alege opiunea pentru un index neduplicat (primar) sau duplicat . Cmpul indexat este util n operaiile de cutare n baza de date. 33
  • 34. INTEROGRILE N ACCESS Interogarea bazei de date nseamn regsirea i extragerea datelor stocate n aceasta , ntr-un mod util scopului urmrit. Rezultatul unei interogri reprezint o foaie de rspuns dinamic, numit Dynaset, care nu mai exist fizic dup nchiderea interogrii. Crearea Query se poate n urmtoarele moduri: Crearea pas cu pas n modul Design view (fereastr de proiectare) Utiliznd instrumentul Wizard Exprimarea cererii n limbaj SQL Crearea unui filtru i salvarea acestuia ca cerere de interogare. 34
  • 35. TIPURI DE INTEROGRI Interogri de tip Select care afieaz datele din mai multe tabele i nu permite actualizarea datelor. Constituie o surs de date pentru un raport sau formular. Interogri de tip Crosstab pentru sintetizarea datelor sub forma unei foi de calcul de tip Excel. Interogri de tip Parameter care folosesc aceeai interogare de mai multe ori cu parametrii diferii. 35
  • 36. TIPURI DE INTEROGRI Interogri de tip Action , acestea avnd efect asupra datelor din baza de date: Interogri de tip Append permit adugarea de noi nregistrri ntr-o tabel existent. Interogri de tip Delete permit tergerea unor nregistrri dintr-o tabel pe seama unor criterii. Interogare de tip Make Table -creerea de noi tabele pe baza celor existente. Interogare de tip Update modificarea(actualizarea) datelor existente fr crearea de noi nregistrri sau tabele. 36
  • 37. CREAREA INTEROGRILOR Paii crerii unei interogri sunt: Alegerea tipului de interogare; Alegerea tabelelor / interogrilor care vor constitui sursa de date a interogrii (n partea superioar a ferestrei de lucru); Selectarea cmpurilor (mutarea prin glisare n grila de proiectare numit gril QBE adic Query By Exemples n partea inferioar a ferestrei de lucru) i eventual stabilirea unor criterii de selecie. Ordonarea datelor (Sort) cresctor / descresctor. Dac exist mai multe cmpuri ordonate se aplic ordonarea ncepnd din stnga. 37
  • 38. CREAREA INTEROGRILOR Crearea unor cmpuri calculate: Se selecteaz coloana i se acceseaz comanda de meniu Totals () Se selecteaz Expresion n linia de Totals n linia Field se introduce expresia sub forma: Nume rezultat : [Cmp1] operator aritmetic [Cmp2] Realizarea unor operaii de calcul asupra tuturor nregistrrilor : n linia Totals , unde apare Group By ,se alege tipul de operaie dorit 38
  • 39. OPERAII PREDEFINITE DE ACCESS OPERAIA FUNCIA TIP CMP Suma valorilor unui Numeric, Autonumber , SUM cmp Data, Logic Numeric, Autonumber , AVG Media aritmetic Data, Logic Numeric, Autonumber , MIN Valoarea minim Data, Logic, Text Numeric, Autonumber , MAX Valoarea maxim Data, Logic,Text 39
  • 40. OPERAII PREDEFINITE DE ACCESS OPERAIA FUNCIA TIP CMP Numrul de valori dintr- Toate tipurile COUNT un cmp Variana valorilor unui Numeric, Autonumber STDEV cmp ,Data,Logic FIRST Prima valoare din cmp Toate tipurile LAST Ultima valoare din cmp Toate tipurile 40
  • 41. TIP DE INTEROGARE CMPURI SELECTATE SAU CALCULATE SURSA DE DATE EVENTUALE OPERAII ASUPRA CMPURILOR MOD DE SORTARE AFIAREA SAU NU N DYNASET APARE N CRITERII DE REZULTATUL SELECIE INTEROGRII 41
  • 42. INTEROGARE DE SELECIE N LIMBAJ SQL LISTA DE CMPURI SELECTATE TABELA / TABELELE DIN CARE PROVIN CMPURILE CONDIIE DE SELECIE GRUPAREA SELECIEI DUP ANUMITE CMPURI 42
  • 43. INTEROGARE DE TIP CROSSTAB Sunt interogri care au ca rezultat o reprezentare tabelar a datelor identic cu cea din Excel. Este util atunci cnd se dorete o centralizare a datelor , de exemplu numrarea nregistrrilor unei grupe de date , nsumarea unor date pe grupe sau dup anumite criterii. Schema unei astfel de interogri este: Cmp coloan - apare ca nume de cmp Cmpuri rnd apar ca nregistrri Cmp calculat apare ca valoare calculat a nregistrrilor. 43
  • 44. INTEROGARE DE TIP CROSSTAB TITLU DE CRITERIU CARE NU CMP COLOAN APARE N TABEL CALCULAT NREGISTRARE 44
  • 45. INTEROGARE SIMPL SELECT [domeniu] list_selecie FROM nume_tabel1, nume_tabel2,.. domeniu: ALL, DISTINCT, [WHERE criteriul_de selecie DISTINCTROW [ORDER BY cmpuri_criteriu [ASC/DESC]]; SELECT INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_ex FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = DATE_EX.nrinr WHERE (((DATE_EX.rezultat)=True)) ORDER BY DATE_EX.media_ex DESC; 45
  • 46. INTEROGRI CU CMPURI CALCULATE Interogare de tip Select utilizat pentru crearea unor cmpuri calculate i avnd i un parametru : SELECT [domeniu] [funcie_agregat (nume_cmp) AS alias, ...] FROM nume_tabel1, nume_tabel2, ... GROUP BY cmp_de_grupare [HAVING criteriul_de_grupare] [ORDER BY cmpuri_criteriu [ASC/DESC]]; Exemplu : SELECT Count(carti.cod_c) AS CountOfcod_c, carti.autor, carti.titlu, carti.an_ap FROM carti GROUP BY carti.autor, carti.titlu, carti.an_ap HAVING (((carti.autor)=["AUTOR:"])); 46
  • 47. INTEROGARE DE TIP CROSSTAB Interogare de tip Crosstabe: TRANSFORM funcie_agregat(cmp) AS alias SELECT [ALL/DISTINCT/DISTINCTROW] nume_cmp FROM nume_tabel1, nume_tabel2, ... GROUP BY nume_cmp PIVOT nume_cmp ; Exemplu: TRANSFORM Sum(cit_tot.nr) AS SumOfnr1 SELECT cit_tot.luna AS Expr1 FROM cit_tot GROUP BY cit_tot.luna PIVOT cit_tot.varsta ; 47
  • 48. INTEROGARE DE COMBINARE Interogare de tip Union : SELECT list_cmpuri FROM tabela1 UNION SELECT list_cmpuri FROM tabela2 [GROUP BY cmp_de_grupare] [HAVING criteriu_de_grupare] UNION SELECT list_cmpuri FROM tabela3 ... [ORDER BY cmp_de_sortare]; Exemplu : SELECT distinct fmasc.luna, fmasc.nr, fmasc.sex FROM fmasc UNION select distinct ffem.luna,ffem.nr,ffem.sex FROM ffem; UNION select distinct imp_luna.luna , imp_luna.nr , imp_luna.total from imp_luna ; 48
  • 49. CREARE DE TABEL PRIN INTEROGARE Interogare de tip Make Table: SELECT [domeniu] cmp1, cmp2, ... INTO tabela_nou FROM tabela_surs [WHERE criteriul_de_adugare]; Exemplu: SELECT ALL INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.media_ex, INTRARE_EL.sex INTO ADM_2005 FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = DATE_EX.nrinr WHERE (((DATE_EX.rezultat)=True)) ORDER BY DATE_EX.media_ex DESC ; 49
  • 50. INTEROGARE DE ADUGARE Interogare de tip Append: INSERT INTO tabel_destinaie (cmp1, cmp2, ...) SELECT [domeniu] cmp, cmp, ... FROM tabel_surs WHERE criteriul_de_adgare; Exemplu: INSERT INTO DATE_EL ( nume, pren, datan, adresa, anul ) SELECT INTRARE_EL.nume, INTRARE_EL.pren, INTRARE_EL.datan, INTRARE_EL.adresa, DATE_EX.anul FROM INTRARE_EL INNER JOIN DATE_EX ON INTRARE_EL.nrinr = DATE_EX.nrinr WHERE (((DATE_EX.rezultat)=True)) ORDER BY DATE_EX.media_ex DESC ; 50
  • 51. INTEROGARE DE ACTUALIZARE Interogare de tip Update : UPDATE nume_tabel SET nume_cmp1=valoare1, nume_cmp2=valoare2, ... [WHERE criteriu_de_actualizare]; Exemplu : UPDATE MARFURI SET categ=detergent, um=cutie WHERE categ=detergenti AND um=cutii; 51
  • 52. INTEROGARE DE TERGERE Interogare de tip Delete: DELETE * FROM nume_tabel [WHERE criteriu_de_tergere]; Exemplu: DELETE INTRARE_EL.*, [an_prec] AS Expr1 FROM INTRARE_EL WHERE ((([an_prec])=Year(Date())-1)) ; 52
  • 53. INTEROGARE PARAMETRIZAT Interogare de tip Parameter: PARAMETERS list_cmpuri_parametru SELECT DISTINCTROW nume_cmp1, nume_cmp2, ... FROM nume_tabel [WHERE condiie_parametru] [ORDER BY nume_cmp ASC/DESC]; Exemplu : PARAMETERS [PUNCTAJ PESTE] Short; SELECT date_olimp.nume, date_olimp.clasa, date_olimp.total_p FROM date_olimp WHERE (((date_olimp.total_p) MAI MARE ZERO SAU MAI MULTE * CARACTERE < MAI MIC >= MAI MARE SAU EGAL ? UN CARACTER