940 likes | 1.26k Views
BA ZE DE DATE ACCESS. Prof. Mureşan Carmen Silvia. ÎNCHIDE APLICAŢIA. CUPRINS. CONCEPTUL DE BAZE DE DATE-SGBD LUCRUL CU TABELE ÎN ACCESS CREAREA FORMULARELOR CREAREA INTEROGĂRILOR CREAREA RAPOARTELOR CREAREA MODULELOR CREAREA MACRO CREAREA UNEI PAGINI WEB. CONCEPTUL DE BAZĂ DE DATE.
E N D
BAZE DE DATEACCESS Prof. Mureşan Carmen Silvia ÎNCHIDE APLICAŢIA
CUPRINS • CONCEPTUL DE BAZE DE DATE-SGBD • LUCRUL CU TABELE ÎN ACCESS • CREAREA FORMULARELOR • CREAREA INTEROGĂRILOR • CREAREA RAPOARTELOR • CREAREA MODULELOR • CREAREA MACRO • CREAREA UNEI PAGINI WEB
CONCEPTUL DE BAZĂ DE DATE • Organizarea datelor în vederea prelucrării pe calculator este o activitate de mare importanţă . • Din punct de vedere al prelucrării pe calculator, datele sunt definite de trei elemente: • Un identificator (numele atribuit) • Atribut (tipul de dată pe care-l conţine) • Valoare (valoarea propriu-zisă). • Informaţia este rezultatul prelucrării 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 fişier şi baze de date.
DIFERENŢA ÎNTRE BAZA DE DATE ŞI SISTEMUL DE GESTIONARE A BAZEI DE DATE • Baza de date –este doar o componentă a SGBD care conţine 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 regăsire a datelor din baza de date , precum şi de a asigura stocarea fizică, securitatea, replicarea şi recuperarea informaţiilor după erori. • Microsoft Access este un SGBD comercial de tip desktop, fiind adecvat administrării bazelor de date mici şi medii.
SGBD DE TIP DESKTOP • UN SGBD de tip desktop este instalat şi rulează local. Este o aplicaţie autonomă care stocează o bază de date şi efectuează ea însăşi toate procesările 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 afişează rezultatul sau mesajele de eroare.
MODELUL RELAŢIONAL AL BAZEI DE DATE • Se bazează pe teoria matematică a mulţimilor, tabelele reprezentând analoagele mulţimilor – colecţii de elemente distincte care au proprietăţi comune. • O bază de date=colecţie formată din unul sau mai multe tabele. • Tabelulreprezintă: • structura bazei de date care stochează datele ; • Conţine date despre un tip de entitate :clasă de obiecte, evenimente sau cocepte cu proprietăţi comune; • Grilă bidimensională : coloane, rânduri; • La intersecţia rând-coloană se află valoarea; • Nume unic în baza de date.
CONCEPTE ALE REALIZĂRII UNEI BAZE DE DATE • Nivelul extern - corespunzător utilizatorului,care îşi exprimă cerinţele informaţionale prin aşa numitele scheme externe. • Nivelul conceptual - aferent administratorului bazei de date,care se concretizează în schema conceptuală. • Nivelul intern - corespunzător programatorului,care realizează reprezentarea datelor pe suportul fizic.
FUNCŢII ALE SGBD • ORGANIZAREA DATELOR: • crearea şi manevrarea tabelelor care conţin date într-un format tabelar convenabil(linii şi coloane)- Datasheet • LEGAREA TABELELOR ŞI EXTRAGEREA DATELOR • legarea mai multor tabele prin relaţiile între date (prin intermediul Interogărilor),în vederea creării unor tabele temporare (Recordset) ,stocate în memoria calculatorului sau în fişiere memorate pe disc,care conţin datele alese de programator.
FUNCŢII ALE SGBD • INTRODUCEREA ŞI EDITAREA DATELOR: • Crearea şi implementarea unor Formulare pentru introducerea, afişarea şi editarea datelor,ca alternativă la prezentarea tabelară. • PREZENTAREA DATELOR: • Crearea de Rapoarte în care să poată fi sintetizate informaţiile din obiectele Recordset pe care le puteţi vedea , tipării şi publica pe Internet sau Intranet. Aceste rapoarte reprezintă scopul final al unei aplicaţii SGBD!
SCHEMA LOGICĂ A COLECŢIEI DE OBIECTE ACCESS TABEL2 TABEL1 TABEL3 INTEROGARE RAPORT FORMULAR
Table-obiect definit de utilizator în care sunt stocate datele primare. Form-obiect care permite introducerea datelor,afişarea acestora sau controlul întregii aplicaţii. Query-obiect care permite vizualizarea informaţiilor obţinute prin prelucrarea datelor din unul sau mai multe tabele şi/sau interogări. Report-obiect care permite formatarea şi tipărirea informaţiilor obţinute în urma consultării bazei de date sub formă de document. Pages-obiect care include un fişier HTML şi alte fişiere suport în vederea furnizării accesului la date prin intermediul browser-ului Internet. Macro-obiect care conţine o definiţie structurată a uneia sau mai multor acţiuni pe care Access le realizează ca răspuns la un eveniment. Module-obiect care conţine proceduri definite de utilizator şi scrise în limbajul de programare Visual Basic. OBIECTELE ACCESS
CREAREA TABELELOR MODUL DE REALIZARE A STRUCTURII TABELEI NUMELE CÂMPULUI TIPUL DE DATE CONŢINUT DE CÂMP DIMENSIUNEA CÂMPULUI. SETĂRI SUPLIMENTARE RELATIV LA CÂMPUL DEFINIT. SETĂRI SPECIFICE CONŢINUTULUI CÂMPULUI
STABILIREA INDECŞIROL ŞI A CHEII TABELULUI STABILIREA MODULUI DE CĂUTARE ,DE SORTARE ÎN TABELĂ CU AJUTORUL CÂMPURILOR INDEXATE. CHEIA PRIMARĂ A TABELEI CARE TREBUIE SĂ CONŢINĂ ÎNREGISTRĂRI UNICE!
CREAREA LEGĂTURILOR ÎNTRE TABELE CASETĂ DE DIALOG DESCHISĂ PRIN MENIUL RAPID PENTRU ADĂUGAREA TABELELOR ÎN SUPRAFAŢA RELAŢIILOR. DESCHIDEREA INTERFEŢEI PENTRU CREAREA LEGĂTURILOR.
CREAREA LEGĂTURILOR ÎNTRE TABELE LEGĂTURĂ DE TIP UNU LA MAI MULTE. NUMELE TABELEI NUMELE CÂMPULUI CHEIE PRIMARĂ SAU CHEIE EXTERNĂ CARE CREEAZĂ LEGĂTURA.
CREAREA FORMULARELOR ALEGEREA TABELELOR SAU INTEROGĂRILOR DIN CARE SE PREIAU CÂMPURILE NECESARE. CÂMPURILE TABELEI/INTEROGĂRII SELECTATE.
CREAREA FORMULARELOR PRELUAREA CÂMPURILOR CARE VOR FI PREZENTE ÎN FORMULAR.
CREAREA FORMULARELOR CÂMPURILE DIN FORMULAR. CÂMPURILE DIN FORMULARUL SUBORDONAT (SUBFORM). TABELELE CARE AU CONŢIN CÂMPURILE CE VOR APĂREA ÎN FORMULAR. SE VA ALEGE MODUL DE PREZENTARE A DATELOR.
CREAREA FORMULARELOR MODUL DE AFIŞARE A DATELOR ÎN FORMULAR.
CREAREA FORMULARELOR FORMATUL GRAFIC.
CREAREA FORMULARELOR NUMELE FORMULARULUI. NUMELE SUB-FORMULARULUI.
FORMULARUL ŞI SUBFORMULARUL INCLUS ÎN FORMA DISPONIBILĂ UTILIZATORULUI FORMULARUL SUBFORMULAR
SETĂRI CARACTERISTICE CÂMPULUI • FORMAT- permite alegerea unor formate prestabilite sau crearea unui format personalizat pentru tipul de dată ales. • DECIMAL PLACES -stabileşte numărul de zecimale între 0-15. • INPUT MASK -se aplică tipului text şi dată calendaristică un format personalizat de afişare. Ex.Tel.(0262)655-224. • CAPTION -nume atribuit cîmpului la vizualizare(diferit de cel intern,deja atribuit). • DEFAULT VALUE -valoarea inclusă implicit ,înainte de actualizarea câmpului(când majoritatea valorilor vor fi aceasta.)
SETĂRI CARACTERISTICE CÂMPULUI • 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 [ ]. • Funcţii. • Constante. • VALIDATION TEXT -mesajul care apare în cazul nerespectării regulii de validare. • REQUIRED -se stabileşte la yes dacă este strict necesară completarea acestui câmp. • INDEXED - se alege opţiunea pentru un index neduplicat (primar) sau duplicat . Câmpul indexat este util în operaţiile de căutare în baza de date.
INTEROGĂRILE ÎN ACCESS • Interogarea bazei de date înseamnă regăsirea şi extragerea datelor stocate în aceasta , într-un mod util scopului urmărit. • Rezultatul unei interogări reprezintă o foaie de răspuns dinamic, numită Dynaset, care nu mai există fizic după închiderea interogării. • Crearea Query se poate în următoarele moduri: • Crearea pas cu pas în modul Design view (fereastră de proiectare) • Utilizând instrumentul Wizard • Exprimarea cererii în limbaj SQL • Crearea unui filtru şi salvarea acestuia ca cerere de interogare.
TIPURI DE INTEROGĂRI • Interogări de tip Select care afişează datele din mai multe tabele şi nu permite actualizarea datelor. • Constituie o sursă de date pentru un raport sau formular. • Interogări de tip Crosstab pentru sintetizarea datelor sub forma unei foi de calcul de tip Excel. • Interogări de tip Parameter care folosesc aceeaşi interogare de mai multe ori cu parametrii diferiţi.
TIPURI DE INTEROGĂRI • Interogări de tip Action , acestea având efect asupra datelor din baza de date: • Interogări de tip Append –permit adăugarea de noi înregistrări într-o tabelă existentă. • Interogări de tip Delete –permit ştergerea unor înregistrări 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 fără crearea de noi înregistrări sau tabele.
CREAREA INTEROGĂRILOR • Paşii creării unei interogări sunt: • Alegerea tipului de interogare; • Alegerea tabelelor /interogărilor care vor constitui sursa de date a interogării (în partea superioară a ferestrei de lucru); • Selectarea câmpurilor (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 selecţie. • Ordonarea datelor (Sort) crescător / descrescător. Dacă există mai multe câmpuri ordonate se aplică ordonarea începând din stânga.
CREAREA INTEROGĂRILOR • Crearea unor câmpuri 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 : [Câmp1] operator aritmetic [Câmp2] • Realizarea unor operaţii de calcul asupra tuturor înregistrărilor : • În linia Totals , unde apare Group By ,se alege tipul de operaţie dorit
TIP DE INTEROGARE CÂMPURI SELECTATE SAU CALCULATE SURSA DE DATE EVENTUALE OPERAŢII ASUPRA CÂMPURILOR MOD DE SORTARE AFIŞAREA SAU NU ÎN DYNASET APARE ÎN REZULTATUL INTEROGĂRII CRITERII DE SELECŢIE
INTEROGARE DE SELECŢIE ÎN LIMBAJ SQL LISTA DE CÂMPURI SELECTATE TABELA / TABELELE DIN CARE PROVIN CÂMPURILE CONDIŢIE DE SELECŢIE GRUPAREA SELECŢIEI DUPĂ ANUMITE CÂMPURI
INTEROGARE DE TIP CROSSTAB • Sunt interogări care au ca rezultat o reprezentare tabelară a datelor identică cu cea din Excel. • Este utilă atunci cănd se doreşte o centralizare a datelor , de exemplu numărarea înregistrărilor unei grupe de date , însumarea unor date pe grupe sau după anumite criterii. • Schema unei astfel de interogări este: • Câmp coloană - apare ca nume de câmp • Câmpuri rând –apar ca înregistrări • Câmp calculat – apare ca valoare calculată a înregistrărilor.
INTEROGARE DE TIP CROSSTAB CRITERIU CARE NU APARE ÎN TABELĂ TITLU DE COLOANĂ CÂMP CALCULAT ÎNREGISTRARE
SELECT [domeniu] listă_selecţie FROM nume_tabelă1, nume_tabelă2,.. [WHERE criteriul_de selecţie [ORDER BY câmpuri_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; INTEROGARE SIMPLĂ domeniu: ALL, DISTINCT, DISTINCTROW
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:"])); Interogare de tip Select utilizată pentru crearea unor cămpuri calculate şi având şi un parametru : SELECT [domeniu] [funcţie_agregat (nume_câmp) AS alias, ...] FROM nume_tabelă1, nume_tabelă2, ... GROUP BY câmp_de_grupare [HAVING criteriul_de_grupare] [ORDER BY câmpuri_criteriu [ASC/DESC]]; INTEROGĂRI CU CÂMPURI CALCULATE
Interogare de tip Crosstabe: TRANSFORM funcţie_agregat(câmp) AS alias SELECT [ALL/DISTINCT/DISTINCTROW] nume_câmp FROM nume_tabelă1, nume_tabelă2, ... GROUP BY nume_câmp PIVOT nume_câmp ; 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 ; INTEROGARE DE TIP CROSSTAB
Exemplu : SELECTdistinct fmasc.luna, fmasc.nr, fmasc.sex FROM fmasc UNION select distinct ffem.luna,ffem.nr,ffem.sex FROM ffem; UNIONselect distinct imp_luna.luna , imp_luna.nr , imp_luna.total from imp_luna ; Interogare de tip Union : SELECT listă_câmpuri FROM tabela1 UNION SELECT listă_câmpuri FROM tabela2 [GROUP BY câmp_de_grupare] [HAVING criteriu_de_grupare] UNION SELECT listă_câmpuri FROM tabela3 ... [ORDER BY câmp_de_sortare]; INTEROGARE DE COMBINARE
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 ; Interogare de tip Make Table: SELECT [domeniu] câmp1, câmp2, ... INTO tabela_nouă FROM tabela_sursă [WHERE criteriul_de_adăugare]; CREARE DE TABEL PRIN INTEROGARE
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 ; Interogare de tip Append: INSERT INTO tabelă_destinaţie (câmp1, câmp2, ...) SELECT [domeniu] câmp, câmp, ... FROM tabelă_sursă WHERE criteriul_de_adăgare; INTEROGARE DE ADĂUGARE