Sunteți pe pagina 1din 8

Baze de date

Modulul 1. Dezvoltarea aplicaiilor cu baze de date


relaionale

Tematica:
1. Fundamentarea conceptelor teoretice cu privire la Baze de date;
2. Familiarizarea cu Microsoft Access ca mediu de dezvoltare de aplicaii;
3. Implementarea accesului la date;
4. Utilizarea generatoarelor - forme, rapoarte, interogri QBE;
5. Organizarea datelor n memoria extern;
6. Nucleul SQL;

Proiect
- crearea tabelelor (35) si a legturilor dintre ele;
- realizarea a 3 interogri (query) pe unul si mai multe tabele (jonciuni);
- un raport;
- una sau mai forme, Forms.

1
I. Fundamentarea conceptelor din teoria BD
Sistem de baze de date (SBD)- ansamblu de componente intercorelate care
contribuie la realizarea i exploatarea unei aplicaii cu baze de date.

Arhitectura pe componente a unui SBD

SBD

Elemente
Date Software auxiliare

utilizatori

1. Componenta de date (baza de date) reprezint coleciile de date propriu-zise si


modul lor de memorare in memoria externa, sub forma de fiiere;

2. Componenta de software reprezint ansamblul de programe care permit lucrul


cu baza de date, de exemplu sistemul de operare, programe de aplicaii,
sistemul de gestiune a bazelor de date + programele de dezvoltare aferente.

3. Componenta Elemente auxiliare se refer la diverse reglementari de ordin


administrativ, juridic, mijloace hardware etc.;

Not: Datele sunt organizate in memoria extern conform unui model: ierarhic, reea,
relaional sau orientat obiect;
Software-ul permite descrierea si manipularea datelor cu ajutorul unui SGBD
Elementele auxiliare sunt utilizate att de componenta de date cat si de
componenta de software;

Sistemul de gestiune a bazelor de date (SGBD)

Definiie Ansamblul de produse software care realizeaz interfaa dintre o baz de


date si utilizatorii acesteia. Acesta asigura realizarea urmtoarelor
obiective:
- independena datelor fata de programe, logic i fizic;
- faciliti pentru descrierea si manipularea datelor;
- protecia datelor: securitatea i integritatea datelor;
- partajabilitatea ntre mai muli utilizatori;
SGBD - ul este caracterizat de modelul de date pe care l implementeaz;

2
Funciile unui SGBD:

1. Funcia de definire a datelor, permite definirea structurii datelor prin Limbajul


de descriere a datelor (vezi comenzile create din Visual FoxPro); descrierea
entitilor i a legturilor dintre ele;
2. Funcia de manipulare a datelor: regsirea datelor cu ajutorul limbajului de
manipulare a datelor;
3. Funcia de administrare a BD, permite gestionarea corect a bazei de date;
4. Funcia de utilizare asigur interfeele necesare comunicrii utilizatorilor cu
baza de date;

Baza de date (BD)

Not: Baza de date este componenta din SBD referitoare la date.


Definiie ansamblu de colecii de date cu urmtoarele atribute:

Organizat pe niveluri, conceptual, logic si fizic;


Coerent conform unor restricii de integritate;
Structurat conform unui model de date;
Cu o redundanta minima si controlata;
Accesibil mai multor utilizatori in timp util;

Nivelurile de organizare a datelor:

Nivelul conceptual , dat de viziunea administratorului BD;

Nivelul logic dat de viziunea programatorului de aplicaii;

Nivel fizic dat de viziunea inginerului de sistem.

Modelul de date

Definiie Modelul de date reprezint un ansamblu de concepte si instrumente pentru


realizarea unei scheme conceptuale i a unei baze de date. Schema conceptuala
descrie entitile din lumea real si legturile dintre ele, precum i a valorilor care li se
atribuie.

Modelul relaional

Datele sunt reprezentate sub forma de tabele (relaii de date). Tabela este o
submulime a produsului cartezian a unor domenii de valori. Tabela este format din
atribute (coloane) si linii (tupluri, nregistrri). Legturile intre tabele sunt realizate
logic, prin valori.

3
II. Realizarea aplicaiilor cu baze de date relaionale

A) Principalele concepte din teoria relaional sunt:

1. Domeniul reprezint un ansamblu de valori caracterizat printr-un nume.


Poate fi definit explicit prin enumerarea tuturor valorilor care aparin acestuia,
de ex. culoare:{rou, galben, } sau implicit, prin precizarea proprietilor
acestuia (a );

2. Tabela subansamblul produsului cartezian dintre mai multe domenii(D1 x


D2 x Dn ) caracterizat printr-un nume. Exemplu : Student

3. Atributul coloana unei tabele, caracterizate printr-un nume; mai multe


atribute pot lua valori din acelai domeniu;

4. Tuplul, inregistrarea, recordul linia, nregistrarea unei tabele; nu are


nume;
5. Schema tabelei - un ansamblu format din numele tabelei urmat intre
paranteze rotunde de numele atributelor(Ai), pentru fiecare atribut precizndu-
se domeniul. R(A1:D1, A2: D2, , An: Dn)
6. Legatura, relatia, asociere intre tabele -
1:1, 1:M, M:N ; reciproc
Asocierea de tip M:N este sparta in asocieri de tip 1:M ,1:N
exemplu profesori:cursuri, incadrare
7. CHEIA un atribut sau un ansamblu de atribute cu ajutorul cruia se poate
identifica un tuplu dintr-o relaie;
Cheia este primar daca identificarea este unica;
Cheia este simpl daca este formata dintr-un singur atribut sau compusa daca
este formata din mai multe atribute;
Cheia este extern intr-o tabela R2 daca ansamblul de atribute care o definete
ia valori din aceleai domenii ca i cheia primar a unei tabele R1 i dac are
rolul de a realiza o legtur, asociere intre cele 2 tabele.

8. Restriciile de integritate
a) structurale:
-cheie unic; nu trebuie s existe mai multe nregistrri cu aceeai
valoare pt. cheie;
- refereniale: Intr-o tabela T1 care refera o tabela T2 valorile cheii
externe din T1 trebuie sa figureze printre valorile cheii primare din T2.
- entitii: cheia primara nu trebuie sa ia valoarea NULL;
b) restricia de domeniu: domeniul corespunztor unui atribut dintr-o
tabela trebuie sa ia valori intr-un anumit interval;

4
B) Analiza domeniului economic (Business Model, Proces Modeling)

Pentru o mai bun nelegere in activitatea de seminar s-a decis realizarea


urmtorului exemplu:

Pentru departamentul Desfacere dintr-o societate comerciala sa se realizeze


un program care sa permit in orice moment obinerea de informaii cu
privire la produsele ce urmeaz a fi livrate, beneficiari, contracte, preturi ,
cantiti, condiii de livrare etc.

Analiza structural: se utilizeaz tehnica de asociere a entitilor


Etapa 1: Se identifica entitile supuse analizei
- produsele livrate (PROD);
- beneficiarii produselor (BENEF);
- comenzi (COMMD);
- furnizori (FURNIZ);
- facturi (FACT);

Etapa 2: Se identific mulimea asocierilor dintre entiti


- un produs este livrat mai multor beneficiari;
- un produs este livrat de 0, 1 sau mai muli furnizori;
- un produs poate fi coninut in mai multe comenzi;
- o comanda conine un singur produs;
- unui beneficiar ii pot fi livrate mai multe produse;
- unui beneficiar i se emite o factura;
- o factura conine mai multe produse;
Realizam o diagram entitate asociere pentru a avea o imagine grafic de ansamblu
a modelului economic:

0,n 1 1 1,n
livrat livrat
FURNIZ PROD BENEF

1 1
0,n

se emite contine se emite

1
1
1 1,n 1
contine
COMMD FACTURA

5
Etapa 3 Proiectarea schemelor bazei de date

Proiectarea schemelor bazei de date se realizeaz pe toate cele 3 niveluri.


- nivelul conceptual, pornind de la analiza economic i
reprezentnd viziunea administratorului bazei de date;
- nivelul logic, se definesc structura tabelelor si legturile dintre ele prin
chei;
- nivelul fizic, conform viziunii inginerului de sistem.

Demersul nostru se orienteaz in principal asupra primelor 2 niveluri, conceptual si


logic. Tehnica utilizata pentru proiectarea schemelor mai sus menionate poarta
numele de normalizare. Aadar, normalizarea este o succesiune de stri succesive,
etape prin care schema bazei de date trebuie sa treac pentru a se nltura eventualele
anomalii de actualizare .
Anomaliile de actualizare constau in:
- anomalii de adugare;
- anomalii de modificare;
- anomalii de tergere;

Forma normal I

O tabela este in forma normal 1 (FN1) dac toate cmpurile (atributele) sunt la nivel
elementar i nu exist cmpuri repetitive. Se elimin cmpurile la nivel de grup ( ex.
adresa este nlocuita n tabel de mai multe cmpuri: localitate, strad, numr,
apartament) n tabela BENEF.

Structura logic a tabelei BENEF este:


- cod_benef : numeric ;- cheie primar (identifica beneficiarul)
- den_benef: chatacter(20);
- strada: character (20)
- numar: numeric;
- cod_postal: numeric;
- cod_fiscal:numeric;
- nr_IBAN: numeric;
Dup analiza tuturor tabelelor daca se observa ca s-au eliminat atributele la nivel de
grup si cele repetitive se trece la pasul II.

Forma normal II

O tabel este in forma normal 2 (FN2) dac toate atributele non-cheie (toate cele de
mai sus in afara de cod_benef) depind funcional complet de cheia tabelei
Un atribut B al unei tabele e dep. funcional complet de cheia A cnd fiecrui atribut
din A ii corespunde o valoare a lui B.
O baza de date este in FN2 atunci cnd toate tabelele sunt in FN2.

6
Furniz
Cod_funizor Den_furnizor Cod_benef Cod_Loc loc str nr Nr_IBAN

Benef
Cod_benef Den_benef Cod_loc Loc str nr Nr_IBAN tel

Commd
Cod_commd Cod_benef Cod_prod cantitate pret Data_liv

Prod
Cod_prod Cod_benef Den_prod U_masura

Forma normal III

O tabel se afl in FN3 daca este in FN2 i nu exist dependene tranzitive. O BD este
FN3 dac toate tabelele ei sunt in FN3. Analiznd schema bazei de date in FN2 se
constat urmtoarele dependente tranzitive. Intr-o tabel exista 3 atribute A,B,C cu A
cheie. Daca B depinde de A si C depinde de B atunci C depinde in mod tranzitiv de A.

Se constata urmtoarele dependente tranzitive:

Furniz
Cod_funizor Cod_loc Loc

Benef
Cod_benef Cod_loc Loc

Aceste dependene tranzitive se elimin prin adugarea unei noi tabele Localitate.
Tabela are urmtoarea structur:
Localitate
s Cod_loc Den_loc

Schema bazei de date in forma normala III va avea urmtoarea forma:

7
Furniz
Cod_funizor Den_furnizor Cod_benef Cod_Loc str nr Nr_IBAN

Localitate
Cod_loc Den_loc
Benef

Cod_benef Den_benef Cod_loc str nr Nr_IBAN tel

Commd

Cod_commd Cod_benef Cod_prod cantitate pret Data_liv

Prod

Cod_prod Cod_benef Den_prod U_masura

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