Sunteți pe pagina 1din 39

Informatică aplicată I

CURS 4

Introducere în bazele de date.


Microsoft Access

1
Introducere

2
Ce este o bază de date?

• Definiție: Este o colecție de date organizate care servește unui


anumit scop.

• Exemplu: agenda telefonică

• Diverse aplicații: aplicații economice (contabilitate, financiare,


bancare, personal, asigurarea calității, managementul
resurselor companiei, controlul fluxului producției, specifice
fiecărui domeniu), științifice, militare, de divertisment, sociale.

• Tipuri de date: text/numeric dar și imagini, sunete, multimedia.

• Origine:
- Sisteme istorice (ne-electronice) de stocare, indexare și
accesare a informației (biblioteci, administrație publică, dosare
medicale);
- Nevoia de a asigura persistența datelor de la o rulare la alta a
unei aplicații informatice;
- Nevoia de a asigura simplitatea stocării și manipulării
datelor;

3
Scurt istoric

 1960: primele aplicații de baze de date comerciale (companii


private): model de tip rețea (CODASYL) și de tip ierarhic (IMS –
programul Apollo); acces prin intermediul pointerilor low-level;
detaliile de stocare depind de tipul de date ce trebuie stocate;
succes comercial: SABRE – IBM și American Airlines.

1970-1972: Edgar Frank Codd propune modelul relațional de


organizare a datelor; deconectează schema (tipul de organizare
logică a datelor) de tipul de stocare fizică.

1970-1980: apare Ingres, din care se vor dezvolta apoi Ingres


Corp., Sybase, MS SQL Server; apare System R (IBM) din care se
vor dezvolta Oracle, IBM DB2

1976: Peter Chen propune modelul entitate-relație; această


abordare va permite concentrarea pe proiectarea funcțională și nu
pe organizarea tabelelor

1980-1990: revoluția PC face posibilă dezvoltarea PARADOX,


DBASE III, IV, FoxPro; DB2 devine un produs important al IBM;
SQL devine standardul general acceptat pentru SGBDR.

4
Scurt istoric (continuare)

 1990 (începutul decadei): Apar și se dezvoltă aplicații dedicate


dezvoltării de aplicații de baze de date: VB, PowerBuilder
(Sybase), Oracle Developer; modelele client-server se impun
treptat pe piață.

1990 (mijlocul decadei): Apariția Internetului; regândirea în


perspectivă a modelelor de aplicații de baze de date.

1990 (sfârșitul decadei): Investițiile masive în Internet


stimulează apariția și dezvoltarea de produse ce facilitează
interconectarea și manipularea datelor pentru aplicații online (ASP,
FrontPage, Java Servlets, JDBC, Java Beans, ColdFusion, Dream
Weaver, Oracle Developer 2000).

5
Scurt istoric (continuare)

 2000: Trei mari companii domină: Oracle, IBM (cumpără


Informix) și Microsoft.
2000 (începutul decadei): arhitecturi de aplicații cu baze de
date orientate către servicii: SOA, SaaS, aplicații care folosesc
limbaje dedicate pentru WebServices.
2000 (mijlocul decadei): Open source MySQL/Apache server
înlocuiește sisteme scumpe/istorice/comerciale; companii precum
Yahoo, Google, Amazon încep să dezvolte soluții in-house de baze
de date, nerelaționale (Nork/Hadoop, BigTable, Amazon
SimpleDB).
2009: Oracle cumpără SUN și deci MySQL devine un produs
Oracle, care promite să îl mențină open-source.
2000 (sfârșitul decadei): Apar succesori ai bazelor de date
relaționale: nosql, cu caracteristicile generale: fără schemă, cu
replicare ușoară, cu API simplu, cu eventuală consistență (nu
respectă teorema CAP – Consistence, Availability, Partition
tolerance), volum de date imens; Tipuri de BD nerelaționale:
• Familii de coloane/coloane largi: Hadoop/Hbase, Casandra,
Amazon SimpleDB, Cloudata
• Stocare document: MongoDB, ElasticSearch, CouchDB
• Cheie-valoare: DynamoDB, Azure Table Storage, Riak, Mnesia
(ErlangDB)
2018: Hadoop/Hbase versiunea 3
2018 (martie): FB anunță că produc 4PB date/zi.
6
Arhitectura unui sistem de baze de date

• Nivelul conceptual
• Nivelul extern
• Nivelul logic
• Nivelul intern

Nivelul conceptual
Descrierea sistemului utilizând limbajul natural, diagrame intuitive,
exemple;
Se descrie informația utilizând cele mai simple/mici unități posibile (un
fapt la un moment dat).
La acest nivel va fi realizată schema conceptuală a unui sistem,
designul general al sistemului.

Nivelul extern
Descrierea sistemului așa cum este el perceput de un utilizator sau
grup de utilizatori.
Schema externă: specificarea informațiilor așa cum pot fi ele văzute de
un utilizator/grup de utilizatori (și în funcție de nivelurile de
securitate implementate).
Moduri de prezentare diferite a aceleiași informații pentru utilizatori
diferiți.
La acest nivel se proiectează diferitele interfețe utilizator.
7
Arhitectura unui sistem de baze de date

Nivelul logic
Pentru realizarea implementării eficiente a sistemului, schema
conceptuală trebuie convertită într-o structură de nivel inferior.
Se alege, pentru o aplicație dată, un model logic adecvat (relațional,
ierarhic, rețea etc.)
Exemplu: pentru un model relațional, faptele sunt depozitate în tabele,
constrângerile sunt realizate cu ajutorul cheilor primare sau străine etc.

Nivelul intern
După proiectarea schemei logice, aceasta trebuie să fie implementată
conform unei scheme interne într-un anumit SGBD.
Exemplu: schema relațională poate fi implementată în DB2, Sybase,
Oracle, Access, MySQL.
Schema internă include toate detaliile despre stocarea fizică și
structurile de acces utilizate în sistemul respectiv (indecși, clustere
etc.). Pentru aceeași schemă logică pot fi alese diferite scheme interne
(depind de SGBD-ul folosit).

8
MS Access

9
Ce este Microsoft Access ?
Microsoft Access este un program pentru crearea si administrarea
bazelor de date ce îmbină modelul relaţional cu cel orientat spre
obiecte, adică organizează relaţional datele si este orientat spre
obiecte care au asociate evenimente sau proprietăţi.

Principalele sale caracteristici sunt:


este relaţional si lucrează sub sistemul de operare Windows;
este deschis comunicării cu alte Sisteme de Gestiune a
Bazelor de Date cum ar fi FoxPro sau Paradox;
permite realizarea unor aplicaţii complexe prin utilizarea
limbajului Visual Basic;
este autodocumentat prin help, apelabil contextual sau la
cerere;
conţine instrumente wizard care permit utilizatorului crearea într-
o manieră foarte simplă a obiectelor bazei de date;
permite crearea de comenzi rapide (shortcuts) în vederea
accesării obiectelor Access;
permite crearea de grupuri de obiecte definite de utilizator în
cadrul bazei de date;
permite personalizarea bazei de date;
pe baza facilităţii de compactare, se minimizează dimensiunea
bazei de date Ia închidere;.
oferă posibilitatea de a încorpora în soluţiile Access date bazate
pe Microsoft SQL. 10
Arhitectura Microsoft ACCESS

11
Tabelele reprezinta nucleul bazei de date. Datele sunt salvate pe
rânduri (înregistrări) si pe coloane (câmpuri).

Orice bază de date trebuie să conţină cel puţin un tabel.

Termeni utilizaţi în cadrul tabelelor:

 Cheia primară a unui tabel reprezintă acel câmp ale cărui


valori pot identifica, în mod unic, valorile celorlalte câmpuri din
cadrul aceleiaşi înregistrări.
 Cheia străină (externă) exprimă acel câmp din cadrul unui
tabel, care, în cadrul altui tabel, se regăseşte sub forma unei
chei primare.
 Asocierea dintre două tabele exprimă legătura care se
creează între cele două tabele, prin intermediul câmpurilor de
legătură cheie primară - cheie externă.
câmpuri

înregistrări

12
Cea mai utilizată metodă pentru crearea tabelelor Access este
apelarea modului de proiectare (Design View). Ea presupune, mai
întâi, definirea câmpurilor tabelului respectiv, a tipurilor de câmp şi
a proprietăţilor fiecărui câmp în parte.

Apelarea acestei metode coincide cu deschiderea unei ferestre


pentru proiectarea tabelului, care conţine două panouri importante:
grila de câmpuri şi panoul de proprietăţi ale fiecărui câmp în
parte.

13
•Fiecare tabel trebuie să aibă definită o cheie primară în mod
obligatoriu!
•Cheia primară poate fi alcătuită fie dintr-un singur câmp, fie din
mai multe.
•Pentru definirea unei chei primare, se selectează câmpul sau
câmpurile dorite şi apoi se apasă butonul (Primary Key) de pe
bara de instrumente a aplicaţiei.
•Câmpul sau câmpurile care formează cheia primară pot fi
recunoscute prin „cheia” care le însoţeşte în dreptul capului de
rând.

Cheie primara
14
Tipuri de date pe care un câmp le poate lua

• Text – caractere alfanumerice; până la 255 de caractere;


• Memo – caractere alfanumerice; şiruri de până la 64000 de
caractere;
• Number – valori numerice de diferite tipuri şi formate;
• Date/Time – formate de dată;
• Currency – date monetare;
• AutoNumber – contor numeric incrementat automat;
• Yes/No – valori logice;
• OLE object – fişiere audio, video, foi de calul tabelar.
• Lookup Wizard – nu este chiar un tip de dată ci o modalitate
de a memora un câmp într-un anumit fel şi de a afişa valori
asociate din alt tabel.

15
Proprietăţi care pot fi atribuite câmpurilor

Lungimea câmpului (Field Size), care permite modificarea dimensiunii implicite


Format, care permite stabilirea formatului de afişare a datelor.
Şablonul de introducere a datelor (Input Mask), care permite definirea măştilor
de introducere a valorilor pentru câmpul respectiv.
Eticheta câmpului (Caption) permite definirea unui text care să fie afişat la
vizualizarea datelor din cadrul tabelului
Default Value, permite definirea unei valori implicite care va fi afişată automat
pentru câmpul în cauză
Regulile de validare (Validation Rule), permit definirea restricţiilor referitoare la
domeniul de valori pe care câmpul respectiv le poate lua.
Textul de validare (Validation Text), permite afişarea unui mesaj cu textul
introdus, în situaţia în care regula de validare, precizată la proprietatea Validation
Rule, este încălcată.
Indexat (Indexed), permite definirea unui fişier index pe atributul respectiv pentru
regăsirea rapidă a datelor din cadrul câmpului respectiv.

16
Definirea relaţiilor între tabele
 Pentru a stabili relaţii între tabele, trebuie stabilită o legătură între
câmpuri ce conţin informaţii comune.

 Câmpurile nu trebuie să aibă acelaşi nume, dar este necesar să fie


acelaşi tip de dată şi lungime.

 Relatiile sunt necesare pentru accesarea simultană a datelor din mai


multe tabele.

 Asocierile cele mai des întâlnite dintre două tabele Access sunt cele
de tipul 1:n (one to many), adică unei înregistrări ale unei tabele, îi
corespund mai multe înregistrări ale tabelei asociate.

 Aceste legături se stabilesc prin intermediul cheilor primare şi a cheilor


straine aferente lor.

 Cheia primară garantează unicitatea înregistrărilor din tabel, iar


câmpul comun din celălalt tabel de care se leagă este cunoscut ca fiind
cheie străină.

 La baza definirii relatiilor dintre tabele stă conceptul de restricţie de


integritate referenţială (Referential Integrity), care presupune că o
cheie externă nu poate lua o valoare atât timp cât acea valoare nu se
regăseşte în cadrul cheii primare asociate ei. 17
Restricţia de integritate
referenţială (Enforce
Referential Integrity)-
linia care desemnează
asocierea dintre cele
două tabele va afişa 1 la
capătul dinspre tabela
primară şi semnul ∞la
capătul dinspre tabela
externă.
Chei
primare Chei straine

Modificarea în cascadă a câmpurilor


legate (Cascade Update Related
Fields) - orice modificare adusă
câmpului cheie primară din cadrul
asocierii, presupune modificarea
automată a câmpului cheie externă,
pentru toate înregistrările asociate
Ştergerea în cascadă a
înregistrărilor legate (Cascade Delete
Related Records)- ştergerea tuturor
înregistrărilor asociate din tabela
externă odată cu ştergerea unei
înregistrări din tabela primară

18
Încărcarea datelor în tabele

• Pentru încărcarea datelor în cadrul tabelelor trebuie să se ţină cont


de rapoartele dintre tabelele aflate într-una sau mai multe relatii.

• Astfel, mai întâi vor fi încărcate date în tabelele care deţin, în cadrul
unei relatii, cheia primară, după care se va trece la încărcarea datelor
în tabelele ce conţin cheile straine aferente, pentru a se respecta
restricţia de integritate referenţială.

Se completeaza
mai intai tabelele
“Persoane” si
“Companii”, apoi
tabelul “Bilete” !

19
Încărcarea datelor se va face în modul de afişare a datelor în
cadrul unui tabel.

O altă variantă de completare a tabelelor este reprezentată de formulare:

20
Formularele sunt ferestre personalizate, care pot fi create cu
ajutorul aplicaţiei Microsoft Access, utilizate pentru a asigura o
interfaţă cât mai agreabilă pentru cel care actualizează datele din
tabele sau le vizualizează.

În acest scop, un formular va conţine o serie de elemente vizuale


(obiecte grafice) numite controale.

Există posibilitatea definirii unor formulare care să preia datele din


două sau mai multe tabele şi să le afişeze sau actualizeze împreună.

Formularele din cadrul unei aplicaţii Access pot fi create în scopul


de a afişa şi actualiza datele din cadrul unor tabele (le vom numi
Formulare legate), care prezintă o sursă de date, sau pentru alte
scopuri, cum ar fi afişarea unor mesaje, afişarea meniurilor aplicaţiei,
deschiderea altor formulare sau rapoarte etc. (se numesc Formulare
Nelegate).

Crearea formularelor legate

Pentru uşurarea efortului de proiectare a unui astfel de formular,


Access ne pune la dispoziţie o serie de asistenţi (Wizards), care ne
invită să parcurgem anumiţi paşi în urma cărora formularul va fi
finalizat.

21
22
Crearea formularelor nelegate

Un formular nelegat se caracterizează prin faptul că nu prezintă o


sursă de date care să stea la baza lui, adică nu există o legătură între
un tabel sau interogare din cadrul bazei de date şi formularul în
cauză.
Orice formular nelegat nu poate fi proiectat decât utilizând
modul Design View. Nu putem crea formulare nelegate cu ajutorul
unui Wizard.

23
Dintre proprietăţile unui formular, există una care ne oferă
posibilitatea să transformăm oricând un formular nelegat într-un
formular legat. Aceasta este proprietatea Record Source, din
categoria Data.

Putem alege sursa de date din lista de tabele sau interogări care va fi
afişată sau putem construi o sursă de date pe baza a mai multor
tabele sau interogări, cu ajutorul asistentului pentru această
proprietate.

24
Obiecte de tip cerere din cadrul unei baze de date Access (Query)
Scopul primar al unei baze de date îl reprezintă stocarea şi
extragerea de informaţii.
Interogarea unei baze de date este un proces foarte important pentru
utilizatorii acestora, întrucât presupune regăsirea şi extragerea
informaţiilor dorite de către utilizator.
Pentru realizarea interogărilor, Access pune la dispoziţia utilizatorilor
obiectele de tip Cerere (Query).
După ce s-a format o interogare, puteţi folosi datele extrase pentru
rapoarte, formulare sau grafice.
Instrumentele interogărilor sunt cele mai puternice caracteristici ale
bazei de date. Iată câteva metode:
-alegerea tabelelor – obtinerea de informaţii dintr-un singur tabel
sau din mai multe tabele ce sunt legate prin anumite date comune.
-alegerea câmpurilor – puteţi specifica ce câmp din ce tabel vreţi
să vedeţi;
-alegerea înregistrărilor – puteţi selecta înregistrările prin
specificarea anumitor criterii;
-sortarea înregistrărilor – puteţi vedea informaţiile obţinute sortate
după o ordine specificată;
-efectuarea de calcule – puteţi folosi interogările pentru a
efectua diferite calcule asupra datelor rezultate;
- crearea de formulare şi rapoarte bazate pe o interogare;
- crearea de grafice bazate pe interogări;
- utilizarea unei interogări ca sursă pentru o altă interogare.
25
Tipuri de cerere pentru interogarea bazelor de date

 Cereri de selecţie (Select Query) - dau posibilitatea stabilirii de


criterii de căutare, regăsirii informaţiei dorite şi afişării acestei
informaţii pentru a fi accesibilă utilizatorului. Tot în această categorie
se înscriu şi cererile prin care se afişează rezultatul unor calcule
dintre valorile unor anumite câmpuri.
La rândul lor, cererile de selecţie se împart în alte categorii mai mici:
Cereri de selecţie propriu-zisă: selectează date din unul sau
mai multe tabele şi/sau interogări, pe baza unor criterii stabilite
iniţial;
Cereri parametrizate: presupun filtrarea datelor din tabele sau
interogări pe baza unor criterii precizate printr-un parametru,
adică, o valoarea care se va stabili de către utilizator la
executarea cererii;
Cereri cu câmpuri calculate: afişează, pe lângă datele din
tabele sau interogări, şi rezultatul unor calcule efectuate între
valorile a două sau mai multe câmpuri, sau între acestea şi valori
scalare.

 Cereri de analiză încrucişată, care permit sintetizarea datelor şi a


rezultatelor obţinute din calcule, sub forma unei foi de calcul tabelar,
făcând informaţia mai uşor de citit şi de înţeles.

 Cereri de acţiune, care modifică date din cadrul tabelelor sau


creează noi tabele, pe baza unor criterii.
26
Crearea cererilor de selecţie

Pentru cererile de selecţie a datelor, se alege opţiunea Design View.


Access va afişa fereastra de interogarea a tabelelor după exemplu,
cunoscută sub denumirea Query By Example (prescurtat Q.B.E.).
Alături de această fereastră, se va afişa şi caseta de selectare a
tabelelor care urmează a fi interogate, denumită Show Table.

27
Grila de câmpuri conţine mai multe rânduri care au destinaţii diferite.

Rândul Field din cadrul grilei se completează automat sau de la


tastatură cu denumirea unui câmp din cadrul tabelelor prezente.

Rândul Table este destinat precizării tabelului din care face parte
câmpul introdus în cadrul primului rând din grilă, având în vedere că
aceeaşi denumire o pot lua două sau mai multe câmpuri, dar din
tabele diferite.

Rândul Sort oferă posibilitatea sortării datelor afişate la executarea


interogării prin ordonarea crescătoare sau descrescătoare a celor din
câmpul sau câmpurile unde se precizează sortarea.
Valorile pentru acest rând pot fi alese dintr-o listă derulantă.

Rândul Show este destinat posibilităţii de afişare sau ascundere la


executarea interogării a datelor din câmpul pentru care se selectează
sau deselectează.

Rândul Criteria prezintă importanţă prin prisma oportunităţilor


oferite pentru filtrarea datelor din tabele. Aici şi în cadrul rândurilor
care urmează vor fi introduse expresiile valide pe baza cărora se va
efectua selectarea doar a acelor înregistrări care îndeplinesc criteriile
precizate. Criteriile vor fi precizate utilizând anumiţi operatori de
comparaţie sau logici.
28
Se vor afisa doar persoanele de cetatenie romana 29
ce au achizitionat bilete cu pretul mai mic de 1000.
Crearea cererilor parametrizate
Cererile parametrizate presupun introducerea unei valori pentru
criteriul unui câmp de către utilizator, în momentul în care interogarea
este lansată în execuţie.
Un parametru constă, de fapt, dintr-un text pe care calculatorul îl va
afişa în momentul în care cererea este lansată în acţiune, text care va
invita utilizatorul să introducă valoarea în urma căreia se va face
filtrarea.
Acest text va trebui, întotdeauna, introdus între paranteze drepte,
pentru ca Access să-l recunoască drept parametru şi nu drept un
criteriu stabilit anterior.
De exemplu, se doreşte afişarea tuturor furnizorilor dintr-o localitate
specificată de utilizator în momentul execuţiei. Fereastra QBE va
arăta astfel:

30
Obiecte de tip raport într-o bază de date Access
Rapoartele sunt,obiecte din cadrul unei baze de date Access care
sunt destinate imprimării pe suport de hârtie şi care fac ca datele din
tabele sau interogări să fie afişate într-o formă cât mai plăcută, uşor de
înţeles şi uşor de analizat.
Rapoartele se aseamănă, din punct de vedere al proiectării lor, cu
formularele.
Diferenţa dintre formulare şi rapoarte este că primele sunt
folosite cu precădere pentru introducerea datelor, iar celelalte
pentru vizualizarea datelor.
Rapoartele sunt folosite pentru a prezenta o formă personalizată a
datelor.

Crearea unui
raport in modul
“Design View”

31
Crearea unui raport cu ajutorul asistentului - “Report Wizard”
Pasul 1

32
Crearea unui raport cu ajutorul asistentului - “Report Wizard”
Pasul 2

33
Crearea unui raport cu ajutorul asistentului - “Report Wizard”
Pasul 3

34
Crearea unui raport cu ajutorul asistentului - “Report Wizard”
Pasul 4

35
Crearea unui raport cu ajutorul asistentului - “Report Wizard”
Pasul 5

36
Crearea unui raport cu ajutorul asistentului - “Report Wizard”
Pasul 6

37
Crearea unui raport cu ajutorul asistentului - “Report Wizard”
Pasul 7

38
Vă mulțumesc pentru atenție !

PS: vă rog ca proiectul HTML să îl trimiteți arhivat până la data de


14 decembrie 2019 la adresa: proiecthtml@yahoo.com

39

S-ar putea să vă placă și