Vous êtes sur la page 1sur 49

Curs: Informatică II (Baze de date)

 Programa analitică:
1. Concepte de bază
2. Proiectarea BD
3. Dezvoltarea BD folosind SGBD ACCESS 2000
4. Limbajul SQL
5. Baze de date avansate:
 Sisteme client/server
 BD on-line
 BD distribuite
 BD multidimensionale
 Evaluare:PV
 Laborator 50%
 Lucrare curs 50%

Bibliografie
1
Concepte de bază ale Bazelor de date -DB
 Bază de date
 Definiţie:
 Ansamblu de date structurate

 Legate funcţional

 Stocate pe suporturi tehnice adresabile

 Accesate de mai mulţi utilizatori de o manieră


selectivă şi într-un timp oportun
 O bază de date se descrie independent de programele
care utilizează datele
 Descrierea datelor formează Dicţionarul Datelor şi
vizează:
 Structurile de date;

 Legăturile dintre date

 Regulile care să asigure coerenţa datelor

2
Modele de date
Un model de date este un ansamblu de concepte, o convenţie
de reprezentare care permite descrierea datelor de administrat

 Modelul IERARHIC
 Modelul REŢEA
 Modelul RELAŢIONAL
 Modelul OBIECT
 Permite modelarea realităţii prin intermediul
obiectelor definite ca entităţi cu identitate
proprie şi caracterizate prin stare şi
comportament
 Modelul OBIECT-RELAŢIONAL

3
Modele de date: modelul IERARHIC
 Datele sunt organizate sub formă de structură arborescentă;
 Datele sunt grupate în tipuri înregistrări ce descriu o ierarhie simplă (“un
tată poate avea mai mulţi fii, în timp ce un fiu poate avea un singur tată”)
 Singurele asocieri posibile sunt 1-1 şi 1-n
 O înregistrare “fiu” nu poate exista independent de o înregistrare ierarhic
superioară “tată” de care este legată şi nu poate fi manipulată independent
de aceasta

Servicii_funcţionale
Servicii_funcţionale Cod_serv Denumire_serviciu
1 Conducere 8 Contabilitate

Angajaţi Marca Nume_salariat Funcţie Salariu 12 Ionescu Director 15000000

82 Popa Contabil 2000000

83 Gogu G Ec. 4000000


 DEZAVANTAJE
 Dificultate în formularea interogărilor ce manipulează 84 Petre V Ec. 3000000

simultan mai multe ramuri


4
 Redundanţa informaţiei ce antrenează incoerenţă
Modele de date: modelul REŢEA
 Datele sunt organizate sub formă de reţea;
 Modelul reţea completează modelul ierarhic (“un nod părinte poate
avea mai mulţi fii, în timp ce un fiu poate avea mai multe noduri
părinte”)
 Asocierile posibile sunt 1-1; 1-n; m-n

Servicii_funcţionale Funcţiii Cod_serv Denumire_serviciu

Cod_fun Denumire_funcţie
Angajaţi

Marca Nume_salariat Salariu

5
Modele de date: modelul RELAŢIONAL
 Un model de organizare bidimensională a datelor în
tabele
 Implementează schema relaţională (MRD)
 Tabele
 Relaţii între tabele
 Reguli de validare
 Algebra relaţională (Operatori relaţionali)
 Operatori de asambalare (Reuniunea, Produsul caretezian)
 Operatori unari (Proiecţia, Selecţia)
 Operatori de extensie (Compunerea, Diviziunea)
 Un limbaj standard de gestiune a BDR
6
Modele de date: modelul RELAŢIONAL
 Modelul relaţional introdus de Codd în 1970 se fundamentează pe
noţiunea matematică de relaţie R(X1,X2,....Xn)
 unde, pentru fiecare element Xi se defineşte un domeniu de valori
 Domeniul reprezintă mulţimea valorilor posibile care definesc o
anumită proprietate aferentă unui obiect
 Atributul reprezintă mulţimea valorilor existente în coloana pe care
o desemnează în cadrul relaţiei. Într-o relaţie pot exista mai multe
atribute care iau valori în aceleaşi domenii.
 Relaţiile se reprezintă prin tabele care sunt supuse următoarele
restricţii:
 În fiecare coloană, toate valorile sunt de acelaşi tip;
 Ordinea liniilor (tuplurilor sau înregistrărilor) nu este predefinită;
 Nu sunt admise înregistrări duplicate
 Coloanele sunt identificate prin nume distincte (atribute sau proprietăţi)
 Tuplurile unei relaţii se pot identifica de o manieră unică prin
intermediul valorilor unuia sau mai multor atribute care joacă rol de
CHEIE PRIMARĂ a relaţiei respective

7
Modele de date: modelul RELAŢIONAL
 Se numeşte DOMENIU PRIMAR acel domeniu pe care este definit
un singur atribut drept cheie primară
 CHEIA EXTERNĂ: Fiind două relaţii R1 şi R2, cu atributele A1 şi
A2 chei primare definite pe acelaşi domeniu primar D, se spune că
în relaţia R1, A2 este cheie externă dacă, utilizând o parte din
valorile ei sau toate, pot fi regăsite tuplurile relaţiei R2 (altfel spus,
un atribut al unei relaţii este cheie externă, dacă se regăseşte pe
post de cheie primară în altă relaţie)

Relaţii

R1(A1,B1,C1,D1,A2) R2(A2,B2,C2,D2)
Cheie externă

Chei primare
8
Modele de date: modelul RELAŢIONAL
 RESTRICŢIILE DE INTEGRITATE depind de semantica valorilor
domeniilor
 Integritatea entităţii prin care valorile cheii primare trebuie să fie diferite
de zero
 Integritatea referirii potrivit căreia valorile unei chei externe trebuie să
se refere la tuplurile unei alte relaţii
 ALTE RESTRICŢII care se aplică asupra domeniilor (validări prin
care se reflectă alte corelaţii de ordin valoric)
 SCHEMA unei relaţii este formată din:
 Numele relaţiei
 Atributele relaţiei
 Restricţiile de integritate

9
Tipologia Bazelor de Date
 După utilizarea în întreprindere:
 Baze de date operaţionale (BD de domeniu) = nucleul sistemului
informaţional al întreprinderii
 Baze de date de informare a executivului (EIS)
 Baze de date multidimensionale (OLAP)
 Baze de date externe (On-Line)

 După modul de accesare:


 BD colective
 BD individuale

 După modul de stocare şi localizare a datelor:


 BD locale (Stocate pe server şi distribuite Clienţilor)
 BD distribuite (stocate în dif. Puncte ale unei reţele
distribuite)

10
Administrator BD

SGBD SGBD
BD Utilizator final 1
 Rol : DD

 Interfaţă între BD şi utilizatori


Utilizator final n
 Permite:
 Crearea
 Consultarea Programe de
 Actualizarea BD aplicaţii

 SGBD = un instrument de asamblare, codificare, aranjare, protecţie şi


regăsire a datelor în BAZELE DE DATE

 Funcţii principale:
 descrierea datelor prin schemele: externă, conceptuală, internă şi
legăturile corespondente, prin intermediul unui limbaj specializat (LDD)
 vizează deopotrivă structurile de date, legăturile între acestea şi
regulile care să asigure coerenţa datelor (numite şi reguli de
integritate)
 manipularea datelor (LMD)
 Interogarea bazelor de date
 Actualizarea datelor
 protejarea bazelor de date
 utilizatori, drepturi de acces, reluare în caz de pană, copii de
siguranţă

11
SGBD: niveluri de descriere a datelor

 Nivelul intern de descriere a BD se face de către Administratorul BD


care:
 Defineşte schema internă de organizare a datelor

 Defineşte regulile de trecere de la schema conceptuală la cea

internă
 Nivelul conceptual de descriere a BD se face de către
Administratorul Întreprinderii
 Nivelul extern de descriere a BD se face de către Administratorul
aplicaţiei, care:
 Defineşte schema externă
 Defineşte regulile de corespondenţă cu schema conceptuală

12
 Niveluri de reprezentare a unei Baze de
date Domeniul de
studiu

Schema Proces
Grup utilizatori
externă 1 modelare
1

Grup Schema
Schema Schemă
utilizatori 2 externă 2
conceptuală fizică
Grup
Schema
utilizatori n
externă n
BD

Nivel extern Nivel Nivel fizic


conceptual

13
SGBD
 SGBDR
 Pentru baze de date în volume mici/ medii

ACCESS, Visual Fox, Dbase, Approach


 Date în volume medii/mari

 Oracle, Informix, etc.

14
Proiectarea BDR
 Dezvoltarea unei aplicaţii cu baze de date
Problemă Schema relaţională
Proiectare MRD
BD
normalizare
Modelul E-A Descriere
conversia MCD - MRD
LDD
SGBD
LMD
( )
Manipularea
datelor

BD

LDD, limbaj de descriere date, LMD, limbaj de manipulare date

15
Normalizarea Bazelor de Date
 Normalizarea se bazează pe următoarele concepte:
 Proces de normalizare

 Dependenţa funcţională

 Diagrama dependenţelor funcţionale

 Dependenţe Inter-Tabele şi Multivaloare

 Forme normale

 Matricea dependenţelor funcţionale

 Etapele proiectării MR prin normalizare

 Exemplul II (facturi către clienţi)


 Exemplul III (editură)

16
Normalizarea Bazelor de Date:
Procesul de normalizare
Normalizarea este un demers ce conduce la construirea
modelului relaţional al bazei de date
Se descompune o tabelă complexă în subtabele mai mici şi mai uşor de
manipulat

DD
+RG NORMALIZARE MRD

SCOP: Normalizarea garantează coerenţa bazei de date în timpul


operaţiilor de actualizare (CMS) de date, evitând redundanţele

REZULTAT: Un model ne-decompozabil ce respectă regulile de


definire semantică şi de integritate a datelor
17
Normalizarea Bazelor de Date:
Dependenţa funcţională
 Există o dependenţă funcţională între 2 atribute atunci când
cunoscând valoarea luată de către un atribut, se furnizează
sistematic valoarea pentru celălalt atribut
 X -> Y (Y depinde funcţional de X, dacă la orice valoare a lui X
corespunde în orice moment o valoare unică a lui Y)
 Exemple de dependenţe funcţionale: Tranzitivitate:
 Cod Produs -> Denumire produs Dacă X -> Y şi Y -> Z, atunci
 Cod Produs -> Preţ de referinţă
X ->Z
 Număr Comandă -> Dată Comandă
 Număr Comandă -> Cod Client -> Nume Client
 -> Cod Fiscal

Dacă un atribut sau un grup de atribute dintr-un tabel determină


funcţional celelalte atribute ale tabelului, rezultă că atributul sau grupul de
atribute constituie cheia primară a tabelului
18
Normalizarea Bazelor de Date:
Diagrama dependenţelor funcţionale
 Reprezentarea grafică a dependenţelor funcţionale

Cod Produs Denumire, UM, Preţ de referinţă

NrComandă
Dată comandă, Cantitate comandată
Cod Produs

19
Normalizarea Bazelor de Date:
Dependenţe Inter-Tabele şi Multivaloare
 Dependenţe Inter-Tabele (1-1)
 Când la o valoare a atributului Cheie primară dintr-o tabelă, se
asociază o singură valoare a atributului Cheie primară dintr-o altă
tabelă, se poate spune că există o dependenţă funcţională între
tabele, exprimată prin dependenţa funcţională dintre atributele
chei primare aferente celor două tabele

Nr.factură Cod Client

 Dependenţe Multivaloare (1-n) (n-m)


 În cazul în care la o valoare a atributului Cheie primară dintr-o
tabelă, corespund mai multe valori ale altui atribut dintr-o altă
tabelă, se poate spune că există o dependenţă funcţională
multivaloare
Nr.factură Cod Produs

CodProfersor Cod Carte


20
Normalizarea Bazelor de Date : DD+RG
Formele normale 1, 2, 3 1FN
 Dicţionar de date şi Reguli de gestiune 2FN
 Potrivit regulilor de gestiune coroborate cu
analiza informaţională referitoare la aplicaţia 3FN
de informatizat se declară într-un tablou toate
atributele disponibile (Identificatorul +
Denumirea în clar)

 1 FN
 O relaţie R este în 1FN atunci când atributele sale nu pot fi
descompuse în unităţi mai mici
 2 FN
 O relaţie R este în 2FN, dacă este în 1FN şi toate dependenţele
între cheia primară a lui R şi celelalte atribute a lui R sunt
elementare (atributele nu depind de o parte din cheie)
 3 FN
 O relaţie R este în 3FN, dacă este în 2FN şi dacă sunt eliminate
toate dependenţele funcţionale tranzitive (dacă nu există nici o
dependenţă funcţională între atributele
21 non-cheie)
Normalizarea Bazelor de Date : 3FN
Formele normale BC, 4, 5 Boyce-Codd
4FN
 Boyce-Codd
 O relaţie R este în forma BC dacă este în 5FN
3FN şi dacă fiecare determinant în
diagrama de dependenţe este un candidat
pentru a deveni cheia relaţiei.
 Dacă o relaţie are un identificator
concatenat, unul dintre elementele care-l
compun nu trebuie să depindă de alt
atribut
 4 FN
 O relaţie R este în 4FN, dacă este în forma BC şi dacă nu există
două dependenţe funcţionale multivaloare în aceeaşi relaţie

 5 FN
 O relaţie R este în 5FN, dacă este în 4FN şi tratează cazurile în
care există mai multe dependenţe funcţionale multivaloare care
sunt interlegate între ele 22
Exemplu Forma Normală Boyce-Codd

CURS(Cod disciplină, Număr grupă, Cod profesor

PROFESOR(Cod profesor, Cod disciplină)

CURS(Cod profesor, Număr grupă)

GRUPĂ(Număr grupă)
23
Normalizarea Bazelor de Date:
Matricea Dependenţelor Funcţionale
 Formalizarea procesului de normalizare este
operaţională prin Matricea Dependenţelor
Funcţionale:
 MDF are pe linie toate atributele dicţionarului de
date
 MDF are pe coloană toate atributele sau numai
atributele care pot avea rol de cheie primară
 Se notează 1 la intersecţia liniei cu coloana pentru
care există dependenţă funcţională
 Se notează 1T dependenţele funcţionale tranzitive
 Liniile care NU AU 1 desemnează fie atribute care nu sunt
dependente funcţional de un identificator simplu, fie
desemnează atribute parametru
24
Normalizarea Bazelor de Date:
Etapele procesului de NORMALIZARE
 Inventarierea atributelor (se vor selecta toate atributele referitoare la facturile
primite)
 Număr factură
 Dată factură
 Cod furnizor
 Denumire furnizor
 Adresa, etc.

 Se specifică regulile de gestiune şi algoritmii de calcul asociaţi (se vor specifica


diversele restricţii şi condiţii impuse datelor)
 O factură este emisă de un singur furnizor
 Codul materialului este unic
 O factură conţine mai multe produse aprovizionate
 Furnizorii pot fi numai persoane juridice
 Algoritmii de calcul: (Val_mat_fact=Cant_facturată*Preţ_unitar)

25
Normalizarea Bazelor de Date:
Etapele procesului de NORMALIZARE
 Se întocmeşte dicţionarul datelor
 Un atribut poate fi înscris o singură dată în dicţionar
 Se elimină atributele sinonime (de ex. Cod furnizor = Simbol furnizor)
 Dicţionarul datelor nu admite atribute derivate sau calculate (Valoare, TVA)

Nr.crt Atribut În clar


1 CodFz Cod Furnizor
2 DenFz Denumire Furnizor
3 AdrFz Adresă Furnizor
4 NrFact Număr Factură
5 DataFact Dată Factură
26
Normalizarea Bazelor de Date:
Etapele procesului de NORMALIZARE
 Se stabilesc dependenţele funcţionale între atribute prin MDF

CodFz DenFz AdrFz NrFact DataFact


CodFz NU 1 1
DenFz NU
AdrFz NU
NrFact 1 1T 1T NU 1
DataFact NU

27
Normalizarea Bazelor de Date:
Etapele procesului de NORMALIZARE
 Sau se stabilesc dependenţele funcţionale între atribute prin DDF

Denumire Furnizor

Cod Furnizor
Adresă Furnizor

Număr Factură Dată Factură

28
Normalizarea Bazelor de Date:
Etapele procesului de NORMALIZARE
 Pentru atributele izolate se vor căuta grupuri de atribute ce pot
constitui determinanţi ai acestora
 Toate atributele sau grupurile de atribute determinante, devin
CHEI CANDIDATE (posibile chei ale relaţiei). Cheile candidate
aparţinând aceleiaşi relaţii sunt caracterizate prin dependenţe
funcţionale reciproce.
 Se stabilesc CHEILE PRIMARE dintre cheile candidate
 Cu fiecare cheie primară şi cu atributele determinate direct (fără
tranzitivitate) se formează o nouă relaţie.
 Se stabilesc CHEILE EXTERNE

FURNIZOR(CodFz, DenFz, AdrFz)


FACTURĂ(NrFact, DataFact, CodFz)
29
Normalizarea Bazelor de Date:
EXEMPLUL II: Evidenţa facturilor emise
 FN1
 Descompunerea atributelor compuse ale dicţionarului de date în
atribute simple şi precizarea identificatorului.
 Dicţionar (NrFact, CodCli, Nume, Telefon, Fax,: Strada, Nr, CodPostal,
Localitate , DenProd, PretRef, DataFact, CodProd, CantFact, PretFact)
 FN2
 Fiecare atribut non-cheie să depindă de întreaga cheie primară.
 CLIENT (CodCli, Nume, Telefon, Fax, Strada, Nr, CodPostal, Localitate)
 FACTURA(NrFact, DataFact, CodCli)
 PRODUS(CodProd, DenProd, PretRef)
 FACTURAT(NrFact, CodProd, CantFact, PretFact)
 FN3
 Eliminarea dependenţelor tranzitive
 CLIENT (CodCli, Nume, Telefon, Fax, Strada, Nr, CodPostal)
 FACTURA(NrFact, DataFact, CodCli)
 PRODUS(CodProd, DenProd, PretRef)
 FACTURAT(NrFact, CodProd, CantFact, PretFact)
 LOCALIZARE(CodPostal, Localitate)

30
EXEMPLUL III: Enunţ + RG

O editură doreşte informatizarea activităţii legate de evidenţa


stocurilor de carte produse, a autorilor şi a facturilor către clienţi.

Reguli de gestiune:
a. O carte primeşte un alt Cod ISBN la fiecare retipărire;
b. Clienţii editurii sunt numai persoane juridice;
c. Preţul de vânzare se stabileşte în momentul producerii unei
cărţi, acesta fiind un preţ orientativ, rămânând neschimbat
până la epuizare, preţul efectiv de vânzare fiind negociat cu
fiecare client;
d. Numărul unei facturi şi codul ISBN luate împreună sunt
unice la nivel naţional;
e. Numele unei persoane juridice este considerat unic la nivel
naţional;
31
EXEMPLUL III – D.A.
1 Cod ISBN

Din studiul activităţii 2


3
Denumire carte
Data apariţiei

editurii au rezultat 4
5
Stocul tipărit
Preţul de bază
următoarele atribute: 7 Număr factură
8 Data factură

Se elimină “atributele” 9
10
Cantitatea facturată
Denumire Carte facturată
sinonime şi calculate 11 Pret Carte factură

12 Valoare Carte factură

CĂRŢI ? AUTORI 13 Total factură

14 Cod Fiscal Client


Cod ISBN CNP autor
15 Denumire Client
......... .........
? 16 Adresa client

17 Telefon

CLIENŢI
18 CNP autor
FACTURI 19 Nume Prenume
CF client Nr Factură 20 Data naşterii
......... ......... 21 Adresa autor
32
Matricea dependentelor functionale

Data factura

CNP autor
Cod fiscal
Cod ISBN
Denumire

Denumire
Pret carte

prenume
Cantitate
facturata
aparitiei

Telefon

nasterii
Pret de

Adresa

Adresa
factura

factura
Numar
Stocul

Nume
tiparit

client

client

client

autor
carte

baza
Data

Data
Cod ISBN 1 1 1 1

Denumire carte
Data aparitiei
Stocul tiparit
Pret de baza
T T T
Numar factura 1 1 1 1 1
Data factura
Cantitate
facturata
Pret carte
factura
Cod fiscal
client 1 1 1
Denumire
client 1 1 1
Adresa client
Telefon
CNP autor 1 1 1

Nume prenume
Data nasterii
Adresa autor
Cod ISBN +
Numar factura 1T 1T 1T 1T 1T 1 1 1T 1T 1T 1T
33
AUTORI
Nume camp Tip date Obligatoriu Unic Integritate Reguli de
Referentiala validare

CNP Number,LI Da Da

Nume prenume Text, 50 Da

Adresa Text, 100 Da

Data nasterii Date/Time Da <=Data curenta

AUTORI-CĂRŢI
Nume camp Tip date Obligatoriu Unic Integritate Reguli de
Referentiala validare

CNP Number,LI Da Da

Cod ISBN Text,13,M Da Da

CĂRŢI CONŢINUT
Nume camp
FACTURĂ
Tip date Obligatoriu Unic Integritate Reguli de
Referentiala validare
Text,
Cod ISBN
13,M
Da Da
........
Denumire carte Text, 50 Da
Cod ISBN
Data aparitiei Date/Time Da <=Data curenta

Stocul tiparit Currency Da >0


........
Pret baza Currency Da 34 >0
FACTURI
Nume camp Tip date Obligatoriu Unic Integritate Reguli de validare
Referentiala

Serie factura Text,5,M Da Da

Numar factura Number, LI Da

Cod Fiscal Number , LI Da Da

CONŢINUT FACTURĂ
Nume camp Tip date Obligatoriu Unic Integritate Reguli de validare
Referentiala
Serie factura Text,5,M Da Da Da

Numar factura Number, LI Da Da

Cod ISBN Text, 13,M Da Da

Cantitate fact Number, Int Da >0

Pret factura Currency Da >0

CLIENŢI
Nume camp Tip date Obligatoriu Unic Integritate Reguli de validare
Referentiala
Cod fiscal Number, LI Da Da

Denumire client Text,50 Da Da

Adresa Text,100 Da
35
Telefon Text,20
36
Algebra relaţională

Algebra relaţională poate fi definită ca un set de operatori, care


prelucrează relaţii în scopul obţinerii altor relaţii.

Operatorii relaţionali se pot grupa în:


• operatori de bază, care pot genera toată clasa operatorilor
relaţionali
• operatori auxiliari

Operatorii relaţionali de bază se împart în :


•operatori de asamblare (reuniunea, intersecţia, diferenţa,
produsul cartezian);
•operatori unari (proiecţia, selecţia);
•operatori de extensie

37
Algebra relaţională: Operatori de Asamblare

Operatorii de asamblare sunt operatori binari, care


primesc la intrare două relaţii şi generează la ieşire o
singură relaţie.
Operatori
Binari
Relaţie1 Relaţie3

Relaţie2

Operatorii de asamblare sunt:


•Reuniunea;
•Intersecţia;
•Diferenţa;
•Produsul cartezian.
38
Algebra relaţională: Operatori de Asamblare:R
Reuniunea a două relaţii R şi S, cu aceeaşi structură, unde R este
formată din n tupluri şi S este formată din m tupluri, are ca
rezultat o a treia relaţie T, având aceeaşi structură cu a relaţiilor
sursă şi conţinând m+n tupluri.
Relaţia R Relaţia S Relaţia T  (R reunit cu S)
A B C A B C A B C

a1 b1 c1 a3 b3 c3 a1 b1 c1
a2 b2 c2
a4 b4 c4
a2 b2 c2
a5 b5 c5
a3 b3 c3

a4 b4 c4

a5 b5 c5

39
Algebra relaţională: Operatori de Asamblare:I

Intersecţia a două relaţii R şi S cu aceeaşi structură este o relaţie


T, (cu aceeaşi structură), conţinând tuplurile identice aparţinând
atât lui R cât şi lui S.

Relaţia R Relaţia S Relaţia T (R


intersectat cu S)
A B C A B C

a1 b1 c1 a3 b3 c3
A B C
a2 b2 c2 a4 b4 c4

a4 b4 c4
a4 b4 c4
a5 b5 c5

40
Algebra relaţională: Operatori de Asamblare:D

Diferenţa a două relaţii R şi S având aceeasi structură (R-S), este


o relaţie T, cuprinzând mulţimea tuplurilor aparţinând lui R dar
neaparţinând lui S.

Relaţia R Relaţia S Relaţia T  R-S


A B C A B C
A B C
a1 b1 c1 a3 b3 c3
a2 b2 c2
a4 b4 c4 a1 b1 c1
a5 b5 c5
a2 b2 c2

41
Algebra relaţională: Operatori de Asamblare:PC
Produsul cartezian a două relaţii R şi S (RxS) este o relaţie T
stocând mulţimea perechilor obţinute prin concatenarea
înregistrărilor aparţinând lui R cu cele aparţinând lui S.
Relaţia T  RxS
Relaţia R Relaţia S
A B C D E
C D E
A B a1 b1 c1 d1 e1
c1 d1 e1
a1 b1 a1 b1 c2 d2 e2
c2 d2 e2
a2 b2 a1 b1 c3 d3 e3
c3 d3 e3
a2 b2 c1 d1 e1

a2 b2 c2 d2 e2
a2 b2 c3 d3 e3
42
Algebra relaţională: Operatori Unari

Operatorii unari se aplică asupra unei relaţii şi generează


o altă relaţie.
Operatori
Unari
Relaţie1 Relaţie2

Operatorii unari sunt:


•Proiecţia;
•Selecţia;

43
Algebra relaţională: Operatori Unari:Pr
Proiecţia unei relaţii R după anumite atribute, este relaţia R1 cu
structura R1 (Ai1, Ai2, … , Aip), ale cărei tupluri se obţin prin eliminarea
valorilor atributelor din R care nu apar în R1 şi prin suprimarea sau
nesuprimarea tuplurilor multiple.
Altfel spus, prin intermediul proiecţiei, dintr-un tabel cu un anumit
număr de coloane se obţine unul cu un număr mai mic de coloane
Relaţia R Relaţia R1
A B C D
A B
a1 b1 c1 d1 R1 (R;A,B)
a1 b1
a2 b2 c2 d2
a2 b2
a3 b3 c3 d3
a3 b2
44
Algebra relaţională: Operatori Unari:Pr
Selecţia relaţiei R faţă de criteriul Q este relaţia R1 cu aceeaşi structură
ca şi R, ale cărei tupluri satisfac criteriul specificat.

Altfel spus, prin operatorul de selecţie, dintr-un tabel cu un anumit


număr de coloane se obţine unul cu aceleaşi coloane, dar cu un număr
mai mic de rânduri.

Relaţia R1
Relaţia R

A B R1SELECTIE(R;A=a2 A B
a1 b1 OR A=a3)
a2 b2 a2 b2
a3 b3
a3 b3

45
Algebra relaţională: Operatori de Extensie

Operatorii de extensie joacă un rol foarte important în


interogarea bazelor de date relaţionale.

Operatorii de extensie sunt:


•Compunerea;
•Diviziunea.

46
Algebra relaţională: Operatori de Extensie: Join

Compunerea naturală este o echicompunere pe R1 şi R2 după toate


atributele având acelaşi nume în R1 şi R2, urmată de o proiecţie care
permite conservarea unuia dintre aceste atribute, egale ca nume

Relaţia R1 Relaţia
TJOIN(R1,R2;Bi = Bj)
A B C
A B C D
a1 b1 c1 Relaţia R2

B D a1 b1 c1 d1
b1 d1

b1 d2 a1 b1 c1 d2

47
Algebra relaţională: Operatori de Extensie: Div
Diviziunea relaţiei R1 (A1, A2 … An) prin relaţia R2 (Ap+1, …, Am) este
relaţia E (A1, A2, …, Ap) formată din toate tuplurile care, concatenate cu
fiecare tuplu din R2, dă totdeauna un tuplu din R1 (E = R1 ÷ R2).

Relaţia RS
Relaţia S Relaţia R
A B C D E C D E A B
a1 b1 c1 d1 e1 c1 d1 e1 a1 b1
c2 d2 e2 a2 b2
a2 b2 c2 d2 e2
c3 d3 e3 a3 b3
a3 b3 c3 d3 e3

48
SGBD ACCESS : Caracteristici generale
 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)
 Pagină Web(Page)
 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)

49

Vous aimerez peut-être aussi