SGBD Access 2013 Utilizează modelul relaţional în gestiunea bazelor de date Aplicaţia ACCESS conţine un ansamblu de colecţii de obiecte tip Tabel (Table) Interogare (Query) Formular (Form) Raport (Report) Macro (Macro) Modul (Module) Dispune de o interfaţă prietenoasă pentru construirea obiectelor tip şi de numeroşi asisteţi (Wizard-uri) Permite schimbul de date cu alte aplicaţii Permite lucru în reţele de calculatoare Permite programarea : Declarativă (QBE, SQL, acţiuni în obiecte macro) Procedurală (VBA)
SGBD Access 2013: Obiecte Tabela (Table) este un obiect definit de utilizator în care sunt stocate datele primare (expresia modelului relaţional) Interogarea (Query) este un obiect ce permite vizualizarea informaţiilor obţinute prin selectarea şi prelucrarea datelor din una sau mai multe tabele (sau interogări) Formularul (Form) este un obiect ce permite introducerea datelor, afişarea acestora sau controlul întregii aplicaţii Modulul (Module) este un obiect ce conţine proceduri definite de utilizator şi scrise în limbajul de programare VBA Obiectele de tip raport (Reports) se creează în etapa de exploatare a bazelor de date. Conţinutul lor poate fi vizualizat pe ecran, sau se poate lista la imprimantă Comanda Macro (Macro) este un obiect ce conţine o definiţie structurată a uneia sau a mai multor acţiuni, pe care Access le realizează ca răspuns la un anumit eveniment
SGBD Access 2013 Crearea tabelelor bazei de date
SGBD Access Crearea tabelelor BD Numele atributului (Field Name) este unic în cadrul tabelei şi poate fi compus din substantive simple sau compuse în lungime maximă de până la 64 caractere Tipul de date sau natura atributului (Data Type): TEXT admite caractere alfanumerice de lungime maximă a realizării atributului de 255 caractere (implicit 50 car) MEMO admite caractere alfanumerice şi este recomandat stocării blocurilor mari de text (max 65.535 caractere) NUMBER - număr (se va defini tipul de număr în Field Size: 1,2,4,8 B) DATE/TIME (8B) memorează date de natură dată calendaristică şi timp CURRENCY precizează formatul monetar (max. 15,4 car =>8 B) AUTONUMBER (4B) generează automat o valoare numerică prin incrementare cu 1 (New Values = Increment) sau generare automată (New Values=Random). Atributul ce conţine acest prof.univ.dr. tip deionescu date nu Bogdan se actualizează.
SGBD Access Crearea tabelelor BD Tipul de date sau natura atributului (Data Type) YES / NO (1b) generează valori logice de Adevărat (True) sau Fals (False) OLE OBJECT (max 1GB) stochează imagini, desene, secv audio, video, documente Word, foi de calcul Excel. Nu poate fi nici cheie, nici index. ATTACHEMENT (max 700 KB 2GB, depinzand de gradul de compresie) Stocheaza imagini digitale, fisiere Office si alte tipuri de fisiere binare HYPERLINK stochează şiruri de caractere ce reprezintă o adresă WEB LOOKUP WIZARD realizează restricţiile de integritate referenţială. Atributele cu proprietatea Lookup Wizard vor fi completate automat prin selecţie dintr-o listă simplă de valori (List Box) sau dintr-o listă derulantă de valori (Combo Box)
SGBD Access Crearea tabelelor BD Proprietăţile atributelor Dimensiunea atributului (Field Size) permite modificarea dimensiunii implicite corespunzătoare tipului de atribut definit În cazul tipurilor numerice de date există următoarele subtipuri: BYTE (0 zec, 1 octet, interval de valori 0,255) INTEGER (0 zec, 2 octeţi, interval de valori -32768,32768) LONG INTEGER (0 zec, 4 octeţi, interval de valori -2.147.483.648, 2.147.483.648) SINGLE (7 zec, 4 octeţi, interval de valori -3,4*10 la puterea 38,..) DOUBLE (15 zec, 8 octeţi, interval de valori -1,797*10 la puterea 308)
SGBD Access Crearea tabelelor BD Proprietăţile atributelor Formatul de afişare (Format) Pentru atributele NUMERICE există formatele: standard: (Decimal Places) GENERAL NUMBER stabileşte numărul de CURRENCY zecimale utilizat pt FIXED afişarea unui număr. STANDARD PERCENT Valori posibile: SCIENTIFIC personalizate: Auto şi nr [0,15] afiş_num_poz;afiş_num_neg;zero;null # ##0;-# ##0; Zero ; Necunoscut Pentru atributele DATĂ şi ORĂ există: standard: personalizate: dddd w ww dd mmmm yyyy q Pentru atributele LOGICE există
SGBD Access Crearea tabelelor BD Proprietăţile atributelor Masca (şablonul) de introducere (Input Mask) 0 cifră obligatorie 9 cifră opţională L literă obligatorie? literă opţională > majuscule < minuscule # o cifră cu semnul +sau - A literă sau cifră obligatoriu a literă sau cifră facultativ : ; - / separatori pentru date calendaristice sau timp., separatori zecimali sau pentru mii Password afişează * în momentul introducerii datelor Exemple: >L<??? 000-00-000 (nr registru comert) >L0L 0L0 = T2F 8M4 L????L?00L0 = GREENGR339M3 (040)- 00\-00000## =
SGBD Access Crearea tabelelor BD Proprietăţile atributelor Eticheta atributelor (Caption) permite definirea unei etichete asociate atributului Valoare implicită (Default Value) permite definirea unei valori implicite pentru realizarea atributului Regulă de validare (Validation Rule) permite definirea unui set de restricţii pentru validarea domeniului pe care operează atributul Exemple : pret>10000 and preţ <100000 Buc or Kg or Tone IN(Buc, Kg, Tone) is not Null sau <>Null BETWEEN 10000 AND 100000 Like( *SRL ) or Like( *SA) Like( */*/2009 ) >=Date() Year([Data Facturii])=Year(Date()) Mid([nume_atr];1;1)= A )
SGBD Access Crearea tabelelor BD Proprietăţile atributelor Validation Text permite specificarea mesajului care se va afişa în momentul în care o intrare nu respectă regula de validare Required permite prin Yes/No specificarea faptului dacă atributul trebuie să posede realizări în mod obligatoriu Indexed permite definirea unui fişier index pentru atributul respectiv. Potrivit relaţiilor 1-1 şi 1-n, se vor alege opţiunile No duplicates sau Yes duplicates
SGBD Access Crearea tabelelor BD Proprietăţile Tabelelor Validări ÎNCRUCIŞATE
Definirea relaţiilor între tabele Pentru a accesa simultan datele din mai multe tabele într-o bază de date este necesar a se defini legăturile dintre tabele. Cel mai indicat ar fi ca această operaţie să se efectueze înainte de a se introduce datele în tabele şi înainte de efectuarea interogărilor Relaţiile standard pot fi: 1:1 sau 1:n sau m:n
Definirea relaţiilor între tabele:1-1 /1-n Relaţiile 1:1 corespund situaţiilor în care unui tuplu dintr-o tabelă în corespunde un singur tuplu dintr-o altă tabelă. Altfel spus, unei realizări a câmpului cheie primară dintr-o tabelă îi corespunde o singură realizare a unui atribut cu rol de cheie externă din altă tabelă. Relaţiile 1:n se stabilesc în cazul în care unui tuplu dintr-o tabelă îi corespund mai multe tupluri din altă tabelă. Deci, aceeaşi valoare a atributului cheie primară dintr-o tabelă se regăseşte ca realizare a atributului cu rol de cheie externă în mai multe tupluri din altă tabelă. Relaţiile m:n sunt asocieri libere, iar atributele lor cu rol de cheie primară prezintă valori duplicate.
Definirea relaţiilor între tabele:1-1 /1-n Stabilirea relaţiilor 1:1 şi 1:n au la bază respectarea restricţiilor de INTEGRITATE REFERENŢIALĂ Astfel, într-o tabelă, valorile pentru atributul cheie externă trebuie să se regăsească în tabela în care atributul este cheie primară În prezenţa integrităţii referenţiale, mai întâi trebuie adăugate tuplurile în tabela sursă înainte de a putea adăuga o valoare pentru atributul celeilalte tabele pusă în relaţie cu tabela sursă În plus, nu se poate şterge un tuplu din tabela sursă, dacă cealală tabelă (cea legată) conţine tupluri cu care atributul legat referă valoarea de şters
SGBD Access 2010 Proprietăţile atributelor Lookup Wizard = realizează integritatea referenţială Permite introducerea datelor în atributul declarat cheie externă, prin preluarea dintr-o listă derulantă a valorilor atributului cheie primară dintr-un alt tabel legat
SGBD Access 2010 Proprietăţile atributelor Lookup Wizard
Definirea relaţiilor între tabele:1-1 /1-n
Definirea relaţiilor între tabele:1-1 /1-n Enforce Referential Integrity se activează atunci când: -atributul din tabela sursa este KP -cele două atribute sunt de acelaşi tip -cele două tabele sunt în aceeaşi BD Cascade Update/Delete Related Fields interoghează utilizatorul asupra posibilităţii efectuării de actualizări / ştergeri în cascadă (anularea unui tuplu din tabela tată conduce automat la anularea tuplurilor corespunzătoare din tabela fiu )
Definirea relaţiilor între tabele:1-1 /1-n
Algebra relaţională: Operatori de Extensie: Join Produsul cartezian era o fuziune necondiţionată a două tabele. COMPUNEREA reprezintă fuziunea a două relaţii care au o proprietate comună. Fie 2 relaţii R1(A1, A2,..., An) şi R2(B1,B2,...Bm), care au 2 atribute (comune) Ai şi Bj, definite pe acelaşi domeniu de valori, şi θ ansamblul operatorilor de comparaţie {=, >, <, >=, <=, <>}ce pot fi aplicaţi celor două atribute Ai şi Bj. Theta-Compunerea relaţiei R1, prin Ai, cu relaţia R2, prin Bj (R1 θ R2) este relaţia R3 ale cărei tupluri sunt obţinute prin concatenarea fiecărui tuplu al relaţiei R1, cu tuplurile relaţiei R2, pentru care este verificată condiţia θ instituită între Ai şi Bj. Un caz particular al theta-compunerii este echi-compunerea, atunci când operatorul de comparaţie θ este = Echi-comp. pentru care există o denumire identică a atributelor de legătură dintre cele 2 tabele compunere naturală
Join COMPUNEREA este echivalentă unui produs cartezian urmat de o selecţie (şi eventual de o proiecţie). Relaţia R1 A B C a1 b1 c1 Relaţia R2 Relaţia R3 R1 R2 A R1.B C R2.B D a1 b1 c1 b1 d1 a1 b1 c1 b2 d2 a1 b1 c1 b3 d3 B b1 b2 b3 D d1 d2 d3 R4=Selecţie(R3, R1.B=R2.B) A B C D a1 b1 c1 d1
Join Cele 3 tipuri de joncţiuni prezentate (theta, echi, naturală) sunt de natură internă şi prezintă 2 extensii: Compunerea externă; Semicompunerea Compunerea externă include în tabela rezultat şi tupluri din una dintre relaţii, sau din ambele relaţii, care prezintă valori ale atributului de legătură ce nu se regăsesc în cealaltă relaţie În cazul compunerii externe trebuie să se precizeze din care relaţie se vor prelua tuplurile fără corespondent în cealaltă relaţie. Din acest punct de vedere există: compunere externă la stânga (left outer join) compunere externă la dreapta (right outer join) compunere externă prof.univ.dr. Ionescu totală Bogdan (reuniunea celor 2 relaţii)
R1 A B C a1 b1 c1 a2 b2 c2 a3 b3 c3 R2 C D E c1 d1 e1 c3 d2 e2 Join R3(R1,R1.C=R2.C,R2) A B R1.C R2.C D E a1 b1 c1 c1 d1 e1 a3 b3 c3 c3 d2 e2 c5 d3 e3 A B R1.C R2.C D E Left Outer JOIN a1 b1 c1 c1 d1 e1 a2 b2 c2 Null Null Null a3 b3 c3 c3 d2 e2 Right Outer JOIN A B R1.C R2.C D E Compunere totală a1 b1 c1 c1 d1 e1 Null Null Null c5 d3 e3 a3 b3 c3 c3 d2 e2
Join Semicompunerea a 2 tabele presupune selectarea tuplurilor din prima tabelă care apar în joncţiune cu tuplurile din a doua tabelă R1 A B C a1 b1 c1 a2 b2 c2 a3 b3 c3 R2 C D E c1 d1 e1 c3 d2 e2 c5 d3 e3 SemiCompunere A B C a1 b1 c1 a3 b3 c3 R3(R1,R1.C=R2.C,R2) A B R1.C R2.C D E a1 b1 c1 c1 c1 d1 a3 b3 c3 c3 d2 e2
Definirea relaţiilor între tabele:1-1 /1-n ECHICOMPUN EREA include numai tuplurile în care valorile atributelor cheie sunt egale în ambele tabele
Definirea relaţiilor între tabele:1-1 /1-n COMPUNEREA EXTERNĂ se pun în legătură toate înregistrările din tabela sursă şi înregistrările din tabela destinaţie care, care au valori egale în câmpul de legătură LEFT OUTER JOIN (1 n) include toate înregistrările din tabela Cărţi şi numai acele înregistrări din tabela Conţinut Factură pentru care valorile atributelor cheie (Cod ISBN) sunt egale. RIGHT OUTER JOIN (1 n) include toate înregistrările din tabela Conţinut Factură şi numai acele înregistrări din tabela Cărţi pentru care valorile atributelor cheie (Cod ISBN) sunt egale.
Operaţii asupra tuplurilor din tabele Căutarea / înlocuirea tuplurilor
Operaţii asupra tuplurilor din tabele Sortarea tuplurilor Se deschide tabela