Introducere baza de-date

45
BAZE DE DATE BAZE DE DATE Introducere în teoria Introducere în teoria bazelor de date bazelor de date

description

Teoria bazelor de date, prezentata pe MS Office Access

Transcript of Introducere baza de-date

Page 1: Introducere baza de-date

BAZE DE DATEBAZE DE DATE

Introducere în teoria bazelor de dateIntroducere în teoria bazelor de date

Page 2: Introducere baza de-date

Concepte în organizarea datelor

• Entitate• Atribut• ValoareEntitate – obiect (concret sau abstract) reprezentat prin

proprietăţile sale.Proprietatea – exprimată prin perechea

(atribut, valoare)O entitate are mai multe atribute.Fiecărui atribut i se asociază o mulţime de valori.

Page 3: Introducere baza de-date

Exemple

• “Floarea x are culoarea roşie”– Floarea x – obiect– Culoarea – atribut– Roşu – valoarea atributului

• Persoana X: (Nume, Popescu); (CNP, 1600519400535);(Data naşterii, 19.05.1960); (Profesie, economist).

Page 4: Introducere baza de-date

Concepte (continuare)

• Atribut = câmp, caracteristică

• Este caracterizat de natura valorilor pe care le poate lua: numerice, alfanumerice, dată calendaristică, etc..,

• Un atribut care identifică în mod unic o entitate se numeşte atribut cheie.

Page 5: Introducere baza de-date

Concepte (continuare)

• DataData (terminologia prelucrării automate a datelor)(terminologia prelucrării automate a datelor)

– Data este definită ca un model de reprezentare a informaţiei într-un format accesibil unui calculator.

– Din punct de vedere logic data se defineşte prin: • identificator (ex. “Prof”)

• atribut (ex. Profesia)

• valoare (ex. inginer, economist,…)

Page 6: Introducere baza de-date

Structuri de dateStructuri de date

Structurile de dateStructurile de date sunt colecţii de date între care s-au stabilit o serie de relaţiirelaţii care conduc la un anumit mecanism de selecţieselecţie şi şi de de identificareidentificare a componentelor acesteia.

Page 7: Introducere baza de-date

Structuri de date Structuri de date (continuare)(continuare)În funcţie de suportul de stocare structurile de date pot fi:În funcţie de suportul de stocare structurile de date pot fi:

– în memoria internă a calculatorului (în timpul prelucrării datelor), definite de noţiunile: listă, coadă, stivă;

– pe suporturi de stocare în vederea prelucrării ulterioare, definite de: fişier şi bază de date.

• FişierulFişierul - o colecţie de informaţii corelate (date de o colecţie de informaţii corelate (date de prelucrat, programe, comenzi, prelucrat, programe, comenzi, ……), omogenă din ), omogenă din punct de vedere al naturii datelor şi cerinţelor de punct de vedere al naturii datelor şi cerinţelor de prelucrare şi memorată pe un suport de stocare. prelucrare şi memorată pe un suport de stocare.

• Baza de dateBaza de date - un ansamblu de date structurate, - un ansamblu de date structurate, accesibile unei comunităţi de utilizatoriaccesibile unei comunităţi de utilizatori..

Page 8: Introducere baza de-date

Conceptul de bază de date

• Apărut în 1969

• Ideea: existenţa unui fişier de descriere globală a datelor, prin care se asigură independenţa programelor faţă de date.Accesul utilizatorilor la baza de date se realizează prin acest fişier, care conţine colecţiile de date şi legăturile dintre acestea.

• Bază de date – una sau mai multe colecţii de date, aflate în interdependenţă, împreună cu descrierea datelor şi a relaţiilor dintre ele.

O bază de date este creată pentru un anumit scop.

Page 9: Introducere baza de-date

Arhitectura unei baze de date

• baza de date propriu-zisă - în care se memorează datele;

• sistemul de gestiune a bazei de date (SGBD) – ansamblu de programe care realizează gestiunea şi prelucrarea complexă a datelor, asigurând interfaţa între BD şi utilizatori.

Page 10: Introducere baza de-date

Modele de date

• Pentru prelucrarea datelor cu ajutorul calculatorului este necesară modelarea realităţii.

• Definirea unui model de date presupune existenţa a 3 elemente:– Structura modelului

– Operatorii care acţionează asupra structurilor de date (citire, memorare, modificare)

– Restricţiile pentru menţinerea corectitudinii datelor (reguli de integritate)

Page 11: Introducere baza de-date

Modele de date (continuare)

Structura modelului presupune:– Definirea obiectelor utilizând elementele generice:

• Câmp – cel mai mic element al structurii care poate fi identificat în vederea prelucrării;

• Înregistrare – ansamblu de câmpuri, elementul generic al structurii

– Stabilirea relaţiilor (asocierilor) între obiecte.

Page 12: Introducere baza de-date

Modele de date - clasificare

În funcţie de modul de definire a celor 3 elemente, modelele de date se clasifică în:

Modele ierarhice (arborescente) Modele reţea Modele relaţionale Modele orientate pe obiect

(în ordinea apariţiei)

Page 13: Introducere baza de-date

Modelarea datelor

În proiectarea bazelor de date modelarea datelor se bazează pe două moduri de abordare: 1. application database sau baza de date tip aplicaţie - metoda "de jos în sus";

2. subject database sau baza de date de tip subiect - metoda "de sus în jos".

Page 14: Introducere baza de-date

Afişareadatelor

Rapoarte tipărite

Model de dateBazat pe necesităţile

aplicaţiei

Utilizatori

SchemaCuprinde obiectele în

structuri logice

Obiecte

AplicaţiiProiectate pentru a îndeplini

cerinţele utilizatorului

Proiectarea începe cu identificarea obiectelor

Model de dateBazat pe obiectele care au

legătură cu subiectul

SchemaCuprinde obiectele în

structuri logice

Bază de date de tip aplicaţie Bază de date de tip subiect

Page 15: Introducere baza de-date

Sistemul de Gestiune a Bazei de Date (SGBD)Sistemul de Gestiune a Bazei de Date (SGBD)

Reprezintă programul software care asigură :

- definirea bazei de date,

- încărcarea datelor în baza de date,

- accesul la date (interogare, actualizare),

- întreţinerea bazei de date,

- securitatea datelor,

- reorganizarea bazei de date.

Page 16: Introducere baza de-date

Obiectivele unui SGBD• asigurarea independenţei datelor (modificarea structurii de

memorare sau a strategiei de acces la date să nu afecteze aplicaţia);

• asigurarea unei redundanţe minime (datele să apară o singură dată în bază);

• sporirea gradului de securitate a datelor (interzicerea accesului neautorizat la date);

• asigurarea integrităţii datelor (protecţia faţă de ştergeri nepermise, prin intermediul unor proceduri de validare);

• asigurarea proprietăţii de partajare a datelor (asigurarea accesului mai multor utilizatori la aceleaşi date).

Page 17: Introducere baza de-date

Baze de date relaţionale (BDR)• O bază de date relaţionalăO bază de date relaţională are la bază modelul

relaţional, adică este alcătuită din unul sau mai multe obiecte organizate ierarhic, între care s-au stabilit anumite relaţii. Se bazează pe o singură structură de date: tabelUn tabel conţine informaţii despre un singur subiect (clienţi, ordine de plată...)

• RelaţiileRelaţiile între două tabele sunt unidirecţionale, astfel că o tabelă devine principală, iar cealaltă devine subordonată.

Page 18: Introducere baza de-date

Terminologie BDR

• Tabel (table): informaţie despre un singur subiect.• Atribut (attribut): o unitate specifică a informaţiei

despre un subiect; coloană sau câmp în tabel.• Legătură (relationship): modul în care informaţia

dintr-un tabel este legată de informaţia din alt tabel.

• Asociere (join): procesul de legare a tabelelor prin datele corelate.

Page 19: Introducere baza de-date

Funcţiile unui SRGBD • Definirea datelor: categorii de date, tipul acestora,

legături, reguli de validare, formatare.• Manipularea datelor: selectarea oricărui câmp de

date, filtrarea datelor, sortarea, corelarea cu alte informaţii şi totalizarea rezultatelor, actualizare, ştergere, copiere în alt tabel.

• Controlul datelor: definirea utilizatorilor cu drept de citire, actualizare şi inserare date, partajarea datelor.

Page 20: Introducere baza de-date

Crearea bazelor de date relaţionale cu programul

MS ACCESSMS ACCESS

Page 21: Introducere baza de-date

De ce este necesară folosirea BD Access în locul programelor de calcul tabelar?

• Număr mare de date (în multe fişiere sau în fişiere prea mari); greu de urmărit legăturile; depăşirea limitelor sistemului de calcul;

• La introducerea datelor noi nu se pot menţine legăturile între documente;

• Greu de controlat corectitudinea introducerii datelor şi a integrităţii acestora;

• Greu de partajat datele.

Page 22: Introducere baza de-date

SRGBD MS Access• Are cele 3 funcţii ale unui SRGBD pentru volume mari de

date• Se pot defini relaţii între colecţiile de date (reprezentate

prin tabele)• Permite partajarea şi accesul la date pentru mai mulţi

utilizatori• Poate rula stand-alone sau client/server• În modul client/server se pot aloca drepturi asupra

obiectelor BD şi se pot crea copii multiple ale BD master prin replicare, urmând sincronizarea copiilor de către utilizatori

• Poate prelua şi manevra date din programe spreadsheet, fişiere text, baze de date dBase, Paradox, FoxPro.

Page 23: Introducere baza de-date

SRGBD MS Access...

• Conţine un limbaj puternic de programare Visual Basic for Application (VBA) pentru scrierea de module şi macrocomenzi complexe

Page 24: Introducere baza de-date

Funcţii de bază Funcţii de bază ca ca SGBDSGBDRR

1. Organizarea datelor1. Organizarea datelor (Tables)

2. Legarea tabelelor şi extragerea datelor2. Legarea tabelelor şi extragerea datelor (Query)

3. Introducerea şi editarea datelor3. Introducerea şi editarea datelor (Forms)

4. Prezentarea datelor4. Prezentarea datelor (Reports)

Page 25: Introducere baza de-date

Funcţii suport SGBDFuncţii suport SGBD• Macrocomenzile (macro) sunt secvenţe de acţiuni care

automatizează operaţiile repetitive din baza de date. • Modulele şi funcţiile (modules) sunt secvenţe de

program scrise în limbajul VBA. • Securitatea (security) constă în funcţii care, într-un

mediu multiuser permite sau nu accesul la baza de date a unor utilizatori.

• Tipărirea (print) permite tipărirea tuturor obiectelor care se văd pe ecran în Access (cu excepţia macrocomenzilor).

Page 26: Introducere baza de-date

TabelTabel TabelTabel TabelTabel

Interogarea Interogarea datelordatelor

FormularFormular RaportRaport

Organizarea datelorOrganizarea datelor

MacrocomenziMacrocomenzi

ModuleModule

SecuritateSecuritate

TipărireTipărire

Funcţii suportFuncţii suport

Page 27: Introducere baza de-date

În concluzie:

O bază de date MS Access este un fişier cu extensia “. mdb” care conţine următoarele obiecte:

• Tables (Tabele)

• Queries (Interogări)

• Forms (Formulare)

• Reports (Rapoarte)

• Macro (Comenzi macro)

• Modules (Subrutine şi funcţii)• Pages (Pagini de acces la date).

Page 28: Introducere baza de-date

Tabele (Tables)

Obiecte definite de utilizator pentru stocarea datelor. Conţin informaţii despre un singur subiect.

Sunt similare foilor de calcul tabelar care organizează datele pe linii şi coloane.

MS Access îşi construieşte propriile tabele pentru stocarea datelor sau importă structuri de date din alte aplicaţii.

Max. 32768 de tabele din care cel mult 254 de tabele pot fi deschise simultan.

Page 29: Introducere baza de-date

Interogări (Interogări (QueriesQueries)) Obiecte ce permit o vizualizare personalizată a

datelor din unul sau mai multe tabele.

Sunt cereri adresate tabelelor pentru extragerea sau organizarea datelor după anumite criterii în vederea afişării lor.

Interogările sunt proiectate cu ajutorul unei interfeţe grafice accesibile şi sunt memorate în limbajul SQL (Structured Query Language).

Page 30: Introducere baza de-date

Formulare (Forms)• Obiecte proiectate pentru introducerea datelor

în tabele sau pentru afişarea personalizată a datelor din tabele.Sunt mai atractive în utilizare decât tabelele.

• Formularele pot conţine subformulare pentru a afişa datele asociate şi butoane specifice pentru a realiza anumite sarcini.

Page 31: Introducere baza de-date

Rapoarte (Reports)

• Obiecte proiectate pentru a extrage datele din tabele şi a le afişa în vederea tipăririi.

• Pot fi vizualizate pe ecran sau la imprimantă.

• Rapoartele complexe sunt bazate pe interogări

• Într-un raport datele pot fi organizate în diferite moduri, se pot realiza sinteze sau prezenta sub formă de diagramă.

Page 32: Introducere baza de-date

Macro (Macro (MacrosMacros))

• Obiecte care reprezintă o definire structurată a uneia sau mai multor acţiuni care definesc un eveniment.

• Macrocomenzile sunt succesiuni de comenzi executate de Access pentru a automatiza anumite operaţii.

• Exemplu: deschiderea unui formular sau tipărirea unui raport cu ajutorul unor butoane de comandă incluse în formulare.

Page 33: Introducere baza de-date

Module (Modules)

• Obiecte ce conţin proceduri personalizate (subrutine sau funcţii) scrise în limbajul VBA

• Oferă posibilitatea controlării mai fine a acţiunilor şi corectarea erorilor.

• Modulele pot proveni iniţial şi din macrocomenzi salvate în format VBA.

Page 34: Introducere baza de-date

Module Funcţii sau subrutine

Macros

Interogări

Tabele

Formulare Rapoarte

A

A

A

Execută funcţie

Defineşte Formulare, Rapoarte, Tabele

Rulează interogări sau deschide tabele

Acţiune

Date

Execută funcţie

Imprimare/Vizualizare/ Filtrare

Deschidere/Filtrare

Page 35: Introducere baza de-date

Pagini de acces la date (DAP) (Pages)

• Obiecte (pagini web) destinate vizualizării obiectelor din baza de date (tabele, interogări) în Intranet sau Internet.

• Au un rol important în publicarea informaţiilor în Internet

• Sunt un element de bază în comerţul electronic

Page 36: Introducere baza de-date

Proiectarea bazelor de date• Pentru a realiza o bază de date trebuie parcurse

următoarele etape principale:1. Analiza sistemului pentru care se realizează baza de date.

2. Proiectarea structurii bazei de date (modelul conceptual, relaţional, fizic al datelor).

3. Încărcarea datelor în baza de date.

• Exploatarea şi întreţinerea bazelor de date se referă atât la actualizarea datelor cât şi la reproiectarea structurii acestora.

Page 37: Introducere baza de-date

Proiectarea structurii BD1. Identificarea sarcinilor majore (funcţii care vor fi în final

reprezentate sub forma unui formular sau raport).

2. Schiţarea fluxului de sarcini (task-uri).

3. Identificarea datelor (stabilirea datelor cerute de fiecare task şi forma în care vor fi prelucrate).

4. Organizarea datelor după subiect tabele.

5. Proiectarea unui prototip şi a unei interfeţe utilizator.

6. Construirea aplicaţiei.

7. Testare şi eventual modificare.

Page 38: Introducere baza de-date

Conceptele proiectării unei BD Access

Evitarea înregistrărilor multiple prin normalizare.

Metoda normalizării: pornind de la mulţimea atributelor (câmpurilor de date) şi de la dependenţele funcţionale dintre acestea, se elimină anomaliile de înregistrare şi actualizare a datelor.

Page 39: Introducere baza de-date

Teste pentru normalizarea unei BD

Regula #1: Câmpuri unice“Fiecare câmp din tabel trebuie să reprezinte

un tip unic de informaţie”

Regula #2: Chei primare“Fiecare tabel trebuie să aibă un identificator

unic format din unul sau mai multe câmpuri şi denumit cheie primară (sau principală)”

Page 40: Introducere baza de-date

Teste pentru normalizarea unei BD

Regula #3: Dependenţa funcţională“Pentru fiecare valoare unică a cheii primare,

valorile din coloanele de date trebuie să fie relevante şi să descrie complet subiectul tabelului”

Se verifică două aspecte:• Dacă fiecare câmp este dependent funcţional de cheia primară

ce defineşte tabelul (să nu apară informaţii irelevante)• Dacă s-a inclus toată informaţia relevantă pentru acel subiect

în tabel (datele să descrie complet tabelul).

Page 41: Introducere baza de-date

Teste pentru normalizarea unei BD

Regula #4: Independenţa câmpurilor

“Trebuie să fie posibilă orice schimbare a datelor în orice câmp diferit de cheia primară, fără afectarea datelor din alt câmp.”

Page 42: Introducere baza de-date

Conceptele proiectării unei BD Access (continuare)

După stabilirea tabelelor legate de fiecare subiect al BD, datele trebuie puse în legătură.Acest lucru se realizează prin definirea relaţiilor între tabele.

Relaţiile între două tabele se bazează pe asocierea datei din două câmpuri comune (care au acelaşi nume în cele două tabele).

În unul dintre tabele câmpul de legătură este cheie primară, iar în celălalt este cheie externă (străină sau secundară).

Page 43: Introducere baza de-date

Tipuri de legături între tabele

• 1 la n (unu la mulţi)Este cea mai comună.

• 1 la 1Nu este uzuală, deoarece datele pot fi stocate într-un singur tabel.Utilizare: divizarea unui tabel cu multe câmpuri în mai multe tabele sau izolarea unei părţi din tabel pentru securitate sau mai buna organizare a informaţiei.

Page 44: Introducere baza de-date

Tipuri de legături între tabele

• n la n (mulţi la mulţi)Este posibilă numai prin definirea unui al treilea tabel, numit tabel de joncţiune (sau de intersecţie), a cărui cheie primară este compusă din cele două chei primare ale tabelelor legate.

Page 45: Introducere baza de-date

Conceptele proiectării unei BD Access (continuare)

Integritatea bazei de date

MS Access poate menţine automat integritatea bazei de date

Integritatea referenţială este un sistem de reguli incluse în program care asigură validitatea relaţiilor între înregistrările din tabelele corelate, prevenind ştergerea sau modificarea accidentală a datelor corelate.