Sunteți pe pagina 1din 46

BAZE DE DATE

Introducere n teoria bazelor de date

Concepte n organizarea datelor


Entitate Atribut Valoare Entitate obiect (concret sau abstract) reprezentat prin proprietile sale. Proprietatea exprimat prin perechea (atribut, valoare) O entitate are mai multe atribute. Fiecrui atribut i se asociaz o mulime de valori.

Exemple
Floarea x are culoarea roie
Floarea x obiect Culoarea atribut Rou valoarea atributului Persoana X: (Nume, Popescu); (CNP, 1600519400535); (Data naterii, 19.05.1960); (Profesie, economist).

Concepte (continuare)
Atribut = cmp, 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 numete atribut cheie.

Concepte (continuare)
Data (terminologia prelucrrii automate a datelor)
Data este definit ca un model de reprezentare a informaiei ntr-un format accesibil unui calculator. Din punct de vedere logic data se definete prin:
identificator (ex. Prof) atribut (ex. Profesia) valoare (ex. inginer, economist,)

Structuri de date
Structurile de date sunt colecii de date ntre care s-au stabilit o serie de relaii care conduc la un anumit mecanism de selecie i de identificare a componentelor acesteia.

Structuri de date (continuare)


n funcie de suportul de stocare structurile de date pot fi:
n memoria intern a calculatorului (n timpul prelucrrii datelor), definite de noiunile: list, coad, stiv;
pe suporturi de stocare n vederea prelucrrii ulterioare, definite de: fiier i baz de date. Fiierul - o colecie de informaii corelate (date de prelucrat, programe, comenzi, ), omogen din punct de vedere al naturii datelor i cerinelor de prelucrare i memorat pe un suport de stocare. Baza de date - un ansamblu de date structurate, accesibile unei comuniti de utilizatori.

Conceptul de baz de date


Aprut n 1969 Ideea: existena unui fiier de descriere global a datelor, prin care se asigur independena programelor fa de date. Accesul utilizatorilor la baza de date se realizeaz prin acest fiier, care conine coleciile de date i legturile dintre acestea.

Baz de date una sau mai multe colecii de date, aflate n interdependen, mpreun cu descrierea datelor i a relaiilor dintre ele. O baz de date este creat pentru un anumit scop.

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, asigurnd interfaa ntre BD i utilizatori.

Modele de date
Pentru prelucrarea datelor cu ajutorul calculatorului este necesar modelarea realitii. Definirea unui model de date presupune existena a 3 elemente:
Structura modelului Operatorii care acioneaz asupra structurilor de date (citire, memorare, modificare) Restriciile pentru meninerea corectitudinii datelor (reguli de integritate)

Modele de date (continuare)


Structura modelului presupune: Definirea obiectelor utiliznd elementele generice:
Cmp cel mai mic element al structurii care poate fi identificat n vederea prelucrrii; nregistrare ansamblu de cmpuri, elementul generic al structurii

Stabilirea relaiilor (asocierilor) ntre obiecte.

Modele de date - clasificare


n funcie de modul de definire a celor 3 elemente, modelele de date se clasific n: Modele ierarhice (arborescente) Modele reea Modele relaionale Modele orientate pe obiect (n ordinea apariiei)

Modelarea datelor
n proiectarea bazelor de date modelarea datelor se bazeaz pe dou moduri de abordare: 1. application database sau baza de date tip aplicaie - metoda "de jos n sus";
2. subject database sau baza de date de tip subiect - metoda "de sus n jos".

Afiarea datelor

Utilizatori

Rapoarte tiprite

Proiectarea ncepe cu identificarea obiectelor

Obiecte Model de date Bazat pe necesitile aplicaiei

Model de date Bazat pe obiectele care au legtur cu subiectul

Schema Cuprinde obiectele n structuri logice

Schema Cuprinde obiectele n structuri logice

Aplicaii Proiectate pentru a ndeplini cerinele utilizatorului


Baz de date de tip subiect

Baz de date de tip aplicaie

Sistemul de Gestiune a Bazei de Date (SGBD) Reprezint programul software care asigur : definirea bazei de date, ncrcarea datelor n baza de date, accesul la date (interogare, actualizare), ntreinerea bazei de date, securitatea datelor, reorganizarea bazei de date.

Obiectivele unui SGBD


asigurarea independenei datelor (modificarea structurii de memorare sau a strategiei de acces la date s nu afecteze aplicaia); asigurarea unei redundane minime (datele s apar o singur dat n baz); sporirea gradului de securitate a datelor (interzicerea accesului neautorizat la date); asigurarea integritii datelor (protecia fa de tergeri nepermise, prin intermediul unor proceduri de validare); asigurarea proprietii de partajare a datelor (asigurarea accesului mai multor utilizatori la aceleai date).

Baze de date relaionale (BDR)


O baz de date relaional are la baz modelul relaional, adic este alctuit din unul sau mai multe obiecte organizate ierarhic, ntre care s-au stabilit anumite relaii. Se bazeaz pe o singur structur de date: tabel
Un tabel conine informaii despre un singur subiect (clieni, ordine de plat...)

Relaiile ntre dou tabele sunt unidirecionale, astfel c o tabel devine principal, iar cealalt devine subordonat.

Terminologie BDR
Tabel (table): informaie despre un singur subiect. Atribut (attribut): o unitate specific a informaiei despre un subiect; coloan sau cmp n tabel. Legtur (relationship): modul n care informaia dintr-un tabel este legat de informaia din alt tabel. Asociere (join): procesul de legare a tabelelor prin datele corelate.

Funciile unui SRGBD

Definirea datelor: categorii de date, tipul acestora, legturi, reguli de validare, formatare. Manipularea datelor: selectarea oricrui cmp de date, filtrarea datelor, sortarea, corelarea cu alte informaii i totalizarea rezultatelor, actualizare, tergere, copiere n alt tabel. Controlul datelor: definirea utilizatorilor cu drept de citire, actualizare i inserare date, partajarea datelor.

Crearea bazelor de date relaionale cu programul


MS ACCESS

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


Numr mare de date (n multe fiiere sau n fiiere prea mari); greu de urmrit legturile; depirea limitelor sistemului de calcul; La introducerea datelor noi nu se pot menine legturile ntre documente; Greu de controlat corectitudinea introducerii datelor i a integritii acestora; Greu de partajat datele.

SRGBD MS Access
Are cele 3 funcii ale unui SRGBD pentru volume mari de date Se pot defini relaii ntre coleciile de date (reprezentate prin tabele) Permite partajarea i accesul la date pentru mai muli 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, urmnd sincronizarea copiilor de ctre utilizatori Poate prelua i manevra date din programe spreadsheet, fiiere text, baze de date dBase, Paradox, FoxPro.

SRGBD MS Access...
Conine un limbaj puternic de programare Visual Basic for Application (VBA) pentru scrierea de module i macrocomenzi complexe

Funcii de baz ca SGBDR


1. Organizarea datelor (Tables) 2. Legarea tabelelor i extragerea datelor (Query) 3. Introducerea i editarea datelor (Forms) 4. Prezentarea datelor (Reports)

Funcii suport SGBD


Macrocomenzile (macro) sunt secvene de aciuni care automatizeaz operaiile repetitive din baza de date. Modulele i funciile (modules) sunt secvene de program scrise n limbajul VBA. Securitatea (security) const n funcii care, ntr-un mediu multiuser permite sau nu accesul la baza de date a unor utilizatori. Tiprirea (print) permite tiprirea tuturor obiectelor care se vd pe ecran n Access (cu excepia macrocomenzilor).

Organizarea datelor

Funcii suport

Tabel

Tabel

Tabel

Macrocomenzi

Interogarea datelor

Module

Securitate

Formular

Raport

Tiprire

n concluzie:
O baz de date MS Access este un fiier cu extensia . mdb care conine urmtoarele obiecte:
Tables (Tabele) Queries (Interogri) Forms (Formulare) Reports (Rapoarte) Macro (Comenzi macro) Modules (Subrutine i funcii) Pages (Pagini de acces la date).

Tabele (Tables)
Obiecte definite de utilizator pentru stocarea datelor. Conin informaii despre un singur subiect.
Sunt similare foilor de calcul tabelar care organizeaz datele pe linii i coloane. MS Access i construiete propriile tabele pentru stocarea datelor sau import structuri de date din alte aplicaii.
Max. 32768 de tabele din care cel mult 254 de tabele pot fi deschise simultan.

Interogri (Queries)
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 afirii lor. Interogrile sunt proiectate cu ajutorul unei interfee grafice accesibile i sunt memorate n limbajul SQL (Structured Query Language).

Formulare (Forms)
Obiecte proiectate pentru introducerea datelor n tabele sau pentru afiarea personalizat a datelor din tabele. Sunt mai atractive n utilizare dect tabelele. Formularele pot conine subformulare pentru a afia datele asociate i butoane specifice pentru a realiza anumite sarcini.

Rapoarte (Reports)
Obiecte proiectate pentru a extrage datele din tabele i a le afia n vederea tipririi. Pot fi vizualizate pe ecran sau la imprimant. Rapoartele complexe sunt bazate pe interogri ntr-un raport datele pot fi organizate n diferite moduri, se pot realiza sinteze sau prezenta sub form de diagram.

Macro (Macros)
Obiecte care reprezint o definire structurat a uneia sau mai multor aciuni care definesc un eveniment. Macrocomenzile sunt succesiuni de comenzi executate de Access pentru a automatiza anumite operaii. Exemplu: deschiderea unui formular sau tiprirea unui raport cu ajutorul unor butoane de comand incluse n formulare.

Module (Modules)
Obiecte ce conin proceduri personalizate (subrutine sau funcii) scrise n limbajul VBA Ofer posibilitatea controlrii mai fine a aciunilor i corectarea erorilor. Modulele pot proveni iniial i din macrocomenzi salvate n format VBA.

Definete Formulare, Rapoarte, Tabele

Module Funcii sau subrutine


Execut funcie

Macros
Deschidere/Filtrare Imprimare/Vizualizare/ Filtrare

Formulare
Execut funcie

Rapoarte

Interogri

Tabele
A
Ruleaz interogri sau deschide tabele Aciune Date

Pagini de acces la date (DAP) (Pages)


Obiecte (pagini web) destinate vizualizrii obiectelor din baza de date (tabele, interogri) n Intranet sau Internet. Au un rol important n publicarea informaiilor n Internet Sunt un element de baz n comerul electronic

Proiectarea bazelor de date


Pentru a realiza o baz de date trebuie parcurse urmtoarele etape principale:
1. Analiza sistemului pentru care se realizeaz baza de date. 2. Proiectarea structurii bazei de date (modelul conceptual, relaional, fizic al datelor). 3. ncrcarea datelor n baza de date.

Exploatarea i ntreinerea bazelor de date se refer att la actualizarea datelor ct i la reproiectarea structurii acestora.

Proiectarea structurii BD
1. Identificarea sarcinilor majore (funcii care vor fi n final reprezentate sub forma unui formular sau raport). 2. Schiarea 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 interfee utilizator. 6. Construirea aplicaiei. 7. Testare i eventual modificare.

Conceptele proiectrii unei BD Access


Evitarea nregistrrilor multiple prin normalizare. Metoda normalizrii: pornind de la mulimea atributelor (cmpurilor de date) i de la dependenele funcionale dintre acestea, se elimin anomaliile de nregistrare i actualizare a datelor.

Teste pentru normalizarea unei BD


Regula #1: Cmpuri unice Fiecare cmp din tabel trebuie s reprezinte un tip unic de informaie
Regula #2: Chei primare Fiecare tabel trebuie s aib un identificator unic format din unul sau mai multe cmpuri i denumit cheie primar (sau principal)

Teste pentru normalizarea unei BD


Regula #3: Dependena funcional 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 cmp este dependent funcional de cheia primar ce definete tabelul (s nu apar informaii irelevante) Dac s-a inclus toat informaia relevant pentru acel subiect n tabel (datele s descrie complet tabelul).

Teste pentru normalizarea unei BD


Regula #4: Independena cmpurilor Trebuie s fie posibil orice schimbare a datelor n orice cmp diferit de cheia primar, fr afectarea datelor din alt cmp.

Conceptele proiectrii unei BD Access (continuare)


Dup stabilirea tabelelor legate de fiecare subiect al BD, datele trebuie puse n legtur. Acest lucru se realizeaz prin definirea relaiilor ntre tabele.
Relaiile ntre dou tabele se bazeaz pe asocierea datei din dou cmpuri comune (care au acelai nume n cele dou tabele). n unul dintre tabele cmpul de legtur este cheie primar, iar n cellalt este cheie extern (strin sau secundar).

Tipuri de legturi ntre tabele


1 la n (unu la muli) Este cea mai comun. 1 la 1 Nu este uzual, deoarece datele pot fi stocate ntrun singur tabel.
Utilizare: divizarea unui tabel cu multe cmpuri n mai multe tabele sau izolarea unei pri din tabel pentru securitate sau mai buna organizare a informaiei.

Tipuri de legturi ntre tabele


n la n (muli la muli) Este posibil numai prin definirea unui al treilea tabel, numit tabel de jonciune (sau de intersecie), a crui cheie primar este compus din cele dou chei primare ale tabelelor legate.

Conceptele proiectrii unei BD Access (continuare)


Integritatea bazei de date
MS Access poate menine automat integritatea bazei de date Integritatea referenial este un sistem de reguli incluse n program care asigur validitatea relaiilor ntre nregistrrile din tabelele corelate, prevenind tergerea sau modificarea accidental a datelor corelate.

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