Sunteți pe pagina 1din 32

Dr. ing.

Liviu PERNIU
PROCESAREA
DATELOR
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
DATE
DATE
fapte culese din lumea real pe baz de observaii i msurtori
fapte culese din lumea real pe baz de observaii i msurtori
constituie orice mesaj primit de un receptor sub o anumit form
constituie orice mesaj primit de un receptor sub o anumit form
MODEL DE DATE
MODEL DE DATE
o mulime formal i consistent de reguli
o mulime formal i consistent de reguli
trebuie alese i folosite acele entiti, aciuni, precum i relaiile
dintre ele care prezint interes pentru utilizator
trebuie alese i folosite acele entiti, aciuni, precum i relaiile
dintre ele care prezint interes pentru utilizator
CARACTERISTICI
CARACTERISTICI
nsuiri, proprieti
nsuiri, proprieti
determin modul de organizare a datelor
determin modul de organizare a datelor
permit extragerea esenei nelesului datelor
permit extragerea esenei nelesului datelor
COLECIE DE DATE
COLECIE DE DATE
un ansamblu de date organizat dup anumite criterii
un ansamblu de date organizat dup anumite criterii
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
MULIME
MULIME
CARACTERISTICI/ATRIBUTE
CARACTERISTICI/ATRIBUTE
determin modul de organizare a datelor
determin modul de organizare a datelor
permit extragerea esenei nelesului datelor
permit extragerea esenei nelesului datelor
o colecie de obiecte care au identitate proprie i sunt caracterizate
de o condiie de apartenen
o colecie de obiecte care au identitate proprie i sunt caracterizate
de o condiie de apartenen
ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
procesul de definire i structurare a datelor n colecii, gruparea lor
precum i stabilirea elementelor de legtur dintre
componentele coleciei i ntre colecii
procesul de definire i structurare a datelor n colecii, gruparea lor
precum i stabilirea elementelor de legtur dintre
componentele coleciei i ntre colecii
definesc un aspect sau o proprietate
definesc un aspect sau o proprietate
descrierea mulimii obiectelor reale sau abstracte ale unui
domeniu se realizeaz cu ajutorul unei serii de
caracteristici/atribute, sub forma:
descrierea mulimii obiectelor reale sau abstracte ale unui
domeniu se realizeaz cu ajutorul unei serii de
caracteristici/atribute, sub forma:
C
i
, i = 1,n
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
CARACTERISTICI/ATRIBUTE
CARACTERISTICI/ATRIBUTE
fiecrei caracteristici i se asociaz o mulime de valori numite date
X
i
fiecrei caracteristici i se asociaz o mulime de valori numite date
X
i
pentru a arta c o dat aparine sau nu mulimii de valori ai
caracteristicii C
i
se scrie:
pentru a arta c o dat aparine sau nu mulimii de valori ai
caracteristicii C
i
se scrie:
Exemplu
Exemplu
Nume student = {nume
1
, nume
2
,nume
n
}
Nume student = {nume
1
, nume
2
,nume
n
}
n care:
n care:
Nume student reprezint caracteristica
Nume student reprezint caracteristica
Nume
i
reprezint datele
Nume
i
reprezint datele
x
i
X
i

Dr. ing. Liviu PERNIU


Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
FAMILIE DE CARACTERISTICI
FAMILIE DE CARACTERISTICI
reprezint mulimea de caracteristici necesare pentru descrierea
unei mulimi:
reprezint mulimea de caracteristici necesare pentru descrierea
unei mulimi:
Exemplu
Exemplu
= {Nume, prenume, sex, situatie, adresa}
= {Nume, prenume, sex, situatie, adresa}
fiecare element al mulimii reprezint o caracteristic ce
ajut la descrierea unei persoane
fiecare element al mulimii reprezint o caracteristic ce
ajut la descrierea unei persoane
RELAII
RELAII
au semnificaia de raport, legtur, asociere
au semnificaia de raport, legtur, asociere
= {C
i
| i N}
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
RELAII
RELAII
Definiie
Definiie
fie
1
i
2
2 mulimi; se numete relaie ntre cele dou
mulimi un triplet = {
1
, G,
2
} unde G este o
submulime a produsului cartezian
1
x
2
fie
1
i
2
2 mulimi; se numete relaie ntre cele dou
mulimi un triplet = {
1
, G,
2
} unde G este o
submulime a produsului cartezian
1
x
2
mulimea G se numete graful corespondenei
mulimea G se numete graful corespondenei
fiind dat o familie:
fiind dat o familie:
ntre caracteristicile acesteia se pot stabili o mulime de
tipuri de relaii: binare, ternare, n-are, de echivalen,
de ordine, de apartenen
ntre caracteristicile acesteia se pot stabili o mulime de
tipuri de relaii: binare, ternare, n-are, de echivalen,
de ordine, de apartenen
= {C
i
| i N }
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
RELAII
RELAII
Proprieti matematice
Proprieti matematice
relaia poate fi interpretat ca fiind un tabel care este alctuit din
coloane i rnduri
relaia poate fi interpretat ca fiind un tabel care este alctuit din
coloane i rnduri
o coloan se numete cmp sau atribut (caracteristica)
o coloan se numete cmp sau atribut (caracteristica)
un rnd se numete nregistrare (tuplu)
un rnd se numete nregistrare (tuplu)
reflexivitate adica
simetrie , adica
tranzitivitate , adica
antisimetrie
reflexivitate adica
simetrie , adica
tranzitivitate , adica
antisimetrie y x R x y R y x = ) , ( ) , (
yRx xRy
xRz yRz xRy
R y x , R x y ) , (
R x x x ) , ( , xRx
R y x , R x y ) , (
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
RELAII
RELAII
Proprieti
Proprieti
1. nu sunt admise tupluri duplicat;
2. tuplurile sunt neordonate;
3. atributele sunt neordonate;
4. toate valorile atributelor sunt atomice (nu se mai pot
descompune)
1. nu sunt admise tupluri duplicat;
2. tuplurile sunt neordonate;
3. atributele sunt neordonate;
4. toate valorile atributelor sunt atomice (nu se mai pot
descompune)
Relaia binar
Relaia binar
se poate stabili ntre valorile a dou caracteristici C
1
i C
2
ale
aceleiai familii sau familii diferite
se poate stabili ntre valorile a dou caracteristici C
1
i C
2
ale
aceleiai familii sau familii diferite
este o submulime a produsului cartezian X
1
x X
2
ce satisface
o anumit relaie R
este o submulime a produsului cartezian X
1
x X
2
ce satisface
o anumit relaie R
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
RELAII
RELAII
Relaia binar
Relaia binar
n care :
n care :
X
1
= domeniul valorilor caracteristicii C
1
X
2
= domeniul valorilor caracteristicii C
2
X
1
= domeniul valorilor caracteristicii C
1
X
2
= domeniul valorilor caracteristicii C
2
pentru a arta c elementele x
1i
X
1
i x
2k
X
2
ele sunt
asociate prin relaia R sub forma x
1i
Rx
2k
pentru a arta c elementele x
1i
X
1
i x
2k
X
2
ele sunt
asociate prin relaia R sub forma x
1i
Rx
2k
Relaia de ordin n
Relaia de ordin n
reprezint o parte a produsului cartezian dintre valorile
caracteristicilor unei familii
reprezint o parte a produsului cartezian dintre valorile
caracteristicilor unei familii
determinarea unei pri de produs cartezian se poate realiza n
dou moduri:
determinarea unei pri de produs cartezian se poate realiza n
dou moduri:
1. prin enumerarea elementelor produsului cartezian ce
fac parte din relaie;
2. prin utilizarea unui predicat P care s realizeze
selectarea produsului cartezian;
1. prin enumerarea elementelor produsului cartezian ce
fac parte din relaie;
2. prin utilizarea unui predicat P care s realizeze
selectarea produsului cartezian;
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
RELAII
RELAII
Relaia de ordin n
Relaia de ordin n
Exemplu
Exemplu
fie relaia de ordinul 2:
fie relaia de ordinul 2:
R={(NUME_STUDENT,NOTA):P[(nume_student,nota)]=Adevarat}
R={(NUME_STUDENT,NOTA):P[(nume_student,nota)]=Adevarat}
P - definete regula dup care unui student i se asociaz
nota corespunztoare.
P - definete regula dup care unui student i se asociaz
nota corespunztoare.
Relaia de echivalen
Relaia de echivalen
este orice relaie reflexiv, simetric i tranzitiv
este orice relaie reflexiv, simetric i tranzitiv
Exemple
Exemple
ntr-o baz de date referitoare la STUDENI: "aflai n
acelai an de studii";
ntr-o baz de date referitoare la STUDENI: "aflai n
acelai an de studii";
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
Relaia de echivalen
Relaia de echivalen
Exemple
Exemple
ntr-o baz de date referitoare la FACULTATE "profesorii
ce au aceeai dat de angajare"
ntr-o baz de date referitoare la FACULTATE "profesorii
ce au aceeai dat de angajare"
n mulimea notelor obinute de studeni "note ce au
aceeai valoare"
n mulimea notelor obinute de studeni "note ce au
aceeai valoare"
o relaie de echivalen n cadrul unui fiier sau 2 nregistrri
asociate prin aceeai relaie se numesc echivalene
o relaie de echivalen n cadrul unui fiier sau 2 nregistrri
asociate prin aceeai relaie se numesc echivalene
mai multe nregistrri echivalente formeaz o clas de
echivalen
mai multe nregistrri echivalente formeaz o clas de
echivalen
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
COLECIE DE DATE
COLECIE DE DATE
1. o familie de caracteristici alctuit din atribute ce definesc
aspecte ale obiectelor din lumea real;
2. un predicat aplicat familiei de caracteristici ce conduce la o
submulime ce definete o relaie de ordine ntre caracteristici;
3. o suit temporal T={t
0
, t
1
, t
j
,} ce definete un decalaj al
timpului n intervale discrete;
4. posibilitatea modificrii n orice moment t
j
a unei relaii asociat
predicatului
1. o familie de caracteristici alctuit din atribute ce definesc
aspecte ale obiectelor din lumea real;
2. un predicat aplicat familiei de caracteristici ce conduce la o
submulime ce definete o relaie de ordine ntre caracteristici;
3. o suit temporal T={t
0
, t
1
, t
j
,} ce definete un decalaj al
timpului n intervale discrete;
4. posibilitatea modificrii n orice moment t
j
a unei relaii asociat
predicatului
descrierea datelor se ntlnete sub denumirile de catalog de
sistem, dicionar de date sau meta-date (date despre date)
descrierea datelor se ntlnete sub denumirile de catalog de
sistem, dicionar de date sau meta-date (date despre date)
reprezint o submulime cu o anumit semnificaie, care prezint
componentele:
reprezint o submulime cu o anumit semnificaie, care prezint
componentele:
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
COLECIE DE DATE
COLECIE DE DATE
Exemplu
Exemplu
o colecie de date ce reprezint o submulime a studenilor
dintr-o facultate
o colecie de date ce reprezint o submulime a studenilor
dintr-o facultate
predicatul P poate consta din enumerarea caracteristicilor
coleciei
predicatul P poate consta din enumerarea caracteristicilor
coleciei
CodS Nume Prenume
001 Banu Andrei
002 Manta Andrei
003 Dima Cristina
004 Stroie Camelia
005 Radu Tiberiu
006 Dima Carmen
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Concepte
Concepte
COLECIE DE DATE
COLECIE DE DATE
colecia de date se regsete sub denumirile:
colecia de date se regsete sub denumirile:
1. fiier, n cazul organizrii clasice
2. entitate (domeniu), n concepia bazelor de date n reea
3. tabel, relaie, vedere, cluster, n concepia bazelor de date
relaionale
1. fiier, n cazul organizrii clasice
2. entitate (domeniu), n concepia bazelor de date n reea
3. tabel, relaie, vedere, cluster, n concepia bazelor de date
relaionale
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii pe mulimi folosite n variant SQL
Operaii pe mulimi folosite n variant SQL
sistemele de gestiune a bazelor de date (SGBD) folosesc limbajul standard
de manipulare a bazelor de date SQL (Structured Query Language) n
una din versiunile sale
sistemele de gestiune a bazelor de date (SGBD) folosesc limbajul standard
de manipulare a bazelor de date SQL (Structured Query Language) n
una din versiunile sale
se pune la dispoziie o singur fraz cu structura general minim:
se pune la dispoziie o singur fraz cu structura general minim:
SELECT - lista coloanelor ce apar n rspuns
FROM - tabelele din care se preiau coloanele
[WHERE] - condiiile ce trebuie ndeplinite (predicat)
SELECT - lista coloanelor ce apar n rspuns
FROM - tabelele din care se preiau coloanele
[WHERE] - condiiile ce trebuie ndeplinite (predicat)
REUNIUNEA
REUNIUNEA
reprezint mulimea tuturor tuplurilor ce aparin fie unei relaii fie
alteia
reprezint mulimea tuturor tuplurilor ce aparin fie unei relaii fie
alteia
R
1
=

2 2 2
1 1 1
c b a
c b a
R
2
=

5 5 5
4 4 4
3 3 3
c b a
c b a
c b a

Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
drept rezultat apare o nou relaie:
drept rezultat apare o nou relaie:
Operaii pe mulimi folosite n variant SQL
Operaii pe mulimi folosite n variant SQL
REUNIUNEA
REUNIUNEA
R
3
=R
1
U R
2
=

5 5 5
4 4 4
3 3 3
2 2 2
1 1 1
c b a
c b a
c b a
c b a
c b a

din punct de vedere al standardului SQL acest lucru se poate scrie
sub forma:
din punct de vedere al standardului SQL acest lucru se poate scrie
sub forma:
SELECT R1.* FROM R1
UNION
SELECT R2.* FROM R2
SELECT R1.* FROM R1
UNION
SELECT R2.* FROM R2
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii pe mulimi folosite n variant SQL
Operaii pe mulimi folosite n variant SQL
INTERSECIA
INTERSECIA
reprezint mulimea tuturor tuplurilor ce aparin att lui R
1
ct i lui
R
2
reprezint mulimea tuturor tuplurilor ce aparin att lui R
1
ct i lui
R
2
R
1
=

2 2 2
1 1 1
c b a
c b a
R
2
=

4 4 4
3 3 3
2 2 2
c b a
c b a
c b a
R
3
=R
1
R
2
=(a
2
b
2
c
2
)
din punct de vedere al standardului SQL acest lucru se poate scrie
sub forma:
din punct de vedere al standardului SQL acest lucru se poate scrie
sub forma:
SELECT R1.* FROM R1
INTERSECT
SELECT R2.* FROM R2
SELECT R1.* FROM R1
INTERSECT
SELECT R2.* FROM R2
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii pe mulimi folosite n variant SQL
Operaii pe mulimi folosite n variant SQL
INTERSECIA
INTERSECIA
sau:
sau:
SELECT NUME_TABEL1.CAMP1.CAMP2.CAMPN FROM NUME_TABEL1
INTERSECT
SELECT NUME_TABEL2.CAMP1.CAMP2CAMPN FROM NUME_TABEL2
SELECT NUME_TABEL1.CAMP1.CAMP2.CAMPN FROM NUME_TABEL1
INTERSECT
SELECT NUME_TABEL2.CAMP1.CAMP2CAMPN FROM NUME_TABEL2
OBS
OBS
SQL Server, dar i alte sisteme de gestiune a bazelor de date nu
cunosc noiunea de INTERSECT, pentru astfel de situaii
aplicndu-se operaia de jonciune.
SQL Server, dar i alte sisteme de gestiune a bazelor de date nu
cunosc noiunea de INTERSECT, pentru astfel de situaii
aplicndu-se operaia de jonciune.
DIFERENA
DIFERENA
reprezint mulimea tuturor tuplurilor ce aparin unei relaii, dar nu
aparin i celeilalte relaii:
reprezint mulimea tuturor tuplurilor ce aparin unei relaii, dar nu
aparin i celeilalte relaii:
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii pe mulimi folosite n variant SQL
Operaii pe mulimi folosite n variant SQL
DIFERENA
DIFERENA
R
1
=( )
1 1 1
c b a R
2
=

3 3 3
2 2 2
1 1 1
c b a
c b a
c b a
diferena:
diferena:
- fie:
- fie:
- ceea ce n SQL se scrie sub forma:
- ceea ce n SQL se scrie sub forma:
SELECT *
FROM R1
WHERE (a,b,c) NOT IN
(SELECT *
FROM R2)
SELECT *
FROM R1
WHERE (a,b,c) NOT IN
(SELECT *
FROM R2)
R
3
= R
2
- R
1
=

3 3 3
2 2 2
c b a
c b a
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii pe mulimi folosite n variant SQL
Operaii pe mulimi folosite n variant SQL
PRODUSUL CARTEZIAN
PRODUSUL CARTEZIAN
R
1
=

b
a
, R
2
=

z
y
x

produsul cartezian:
produsul cartezian:
- fie:
- fie:
R
1
xR
2
=

bz
by
bx
az
ay
ax
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii pe mulimi folosite n variant SQL
Operaii pe mulimi folosite n variant SQL
PRODUSUL CARTEZIAN
PRODUSUL CARTEZIAN
semnificaia practic a produsului cartezian corespunde generrii
unei relaii din dou relaii prin combinarea fiecrui tuplu din
prima relaie cu fiecare tuplu al celei de-a II-a relaii
semnificaia practic a produsului cartezian corespunde generrii
unei relaii din dou relaii prin combinarea fiecrui tuplu din
prima relaie cu fiecare tuplu al celei de-a II-a relaii
- ceea ce n SQL se scrie sub forma:
- ceea ce n SQL se scrie sub forma:
SELECT * FROM R1, R2
SELECT * FROM R1, R2
OBS
OBS
produsul cartezian este foarte rar folosit n practic
produsul cartezian este foarte rar folosit n practic
operatorii neexperimentai cad de multe ori n capcana ntins
de o cunoatere insuficient i de o abordare
necorespunztoare din punct de vedere conceptual
operatorii neexperimentai cad de multe ori n capcana ntins
de o cunoatere insuficient i de o abordare
necorespunztoare din punct de vedere conceptual
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii relaionale efectuate n bazele de date
Operaii relaionale efectuate n bazele de date
OPERAIA DE SELECIE
OPERAIA DE SELECIE
operatorul algebric de selecie produce o subrelaie sau subset al
unei relaii date supuse operaiei de selecie
operatorul algebric de selecie produce o subrelaie sau subset al
unei relaii date supuse operaiei de selecie
subrelaia va conine multitudinea tuplurilor relaiei supuse seleciei
care satisfac un predicat specificat
subrelaia va conine multitudinea tuplurilor relaiei supuse seleciei
care satisfac un predicat specificat
predicatul poate fi o expresie logic
predicatul poate fi o expresie logic
SELECT R1.*
FROM R1
WHERE predicat
SELECT R1.*
FROM R1
WHERE predicat
OPERAIA DE PROIECIE
OPERAIA DE PROIECIE
proiecia unei relaii determin o alt relaie obinut prin selectarea
atributelor specificate i eliminarea tuplurilor duplicat
(folosirea clauzei DISTINCT)
proiecia unei relaii determin o alt relaie obinut prin selectarea
atributelor specificate i eliminarea tuplurilor duplicat
(folosirea clauzei DISTINCT)
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii relaionale efectuate n bazele de date
Operaii relaionale efectuate n bazele de date
OPERAIA DE PROIECIE
OPERAIA DE PROIECIE
Exemplu
Exemplu
se d un tabel referitor la studeni
se d un tabel referitor la studeni
se cere s se realizeze proiecia structurii tabelului pe
atributul Nume
se cere s se realizeze proiecia structurii tabelului pe
atributul Nume
ca rezultat se va obine mulimea numelor studenilor, fiecare
nume luat o singur dat
ca rezultat se va obine mulimea numelor studenilor, fiecare
nume luat o singur dat
n limbaj SQL aceasta se traduce prin:
n limbaj SQL aceasta se traduce prin:
SELECT DISTINCT NUME FROM STUDENT;
SELECT DISTINCT NUME FROM STUDENT;
OPERAIA DE JONCIUNE
OPERAIA DE JONCIUNE
este o derivaie a produsului cartezian i este n anumite situaii
identic cu acesta
este o derivaie a produsului cartezian i este n anumite situaii
identic cu acesta
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii relaionale efectuate n bazele de date
Operaii relaionale efectuate n bazele de date
OPERAIA DE JONCIUNE
OPERAIA DE JONCIUNE
presupune utilizarea unui calificator care s permit compararea
valorilor diferitelor sau acelorai cmpuri din 2 relaii sau
dintr-o singur relaie
presupune utilizarea unui calificator care s permit compararea
valorilor diferitelor sau acelorai cmpuri din 2 relaii sau
dintr-o singur relaie
are sens atunci cnd la intersectarea relaiilor nu apare mulimea
vid, adic exist cel puin un atribut comun
are sens atunci cnd la intersectarea relaiilor nu apare mulimea
vid, adic exist cel puin un atribut comun
nu este obligatoriu ca denumirea relaiilor s fie identic
nu este obligatoriu ca denumirea relaiilor s fie identic
R
1
/ R
2
JOIN(R
1
,R
2
| (R
1
xR
2
[]))
- calificator multiatribut ce permite compararea atributelor relaiei
R
1
cu atributele relaiei R
2
- calificator multiatribut ce permite compararea atributelor relaiei
R
1
cu atributele relaiei R
2
n care:
n care:
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii relaionale efectuate n bazele de date
Operaii relaionale efectuate n bazele de date
OPERAIA DE JONCIUNE
OPERAIA DE JONCIUNE
presupunem nmulirea fiecrui tuplu (nregistrare) dintr-o relaie R
1
cu fiecare tuplu dintr-o relaie R
2
ce ndeplinete o anumit
condiie
presupunem nmulirea fiecrui tuplu (nregistrare) dintr-o relaie R
1
cu fiecare tuplu dintr-o relaie R
2
ce ndeplinete o anumit
condiie
pentru realizarea operaiei de jonciune, cele 2 tabele trebuie s
aib un atribut comun, adic:
pentru realizarea operaiei de jonciune, cele 2 tabele trebuie s
aib un atribut comun, adic:
R1 R2 0
atributul comun trebuie s aib semnificaie de cheie extern n
relaia R
1
i cheie primar n relaia R
2
atributul comun trebuie s aib semnificaie de cheie extern n
relaia R
1
i cheie primar n relaia R
2
ca rezultat se va obine o nou tabel ce va conine doar tuplurile ce
ndeplinesc condiia prealabil
ca rezultat se va obine o nou tabel ce va conine doar tuplurile ce
ndeplinesc condiia prealabil
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii relaionale efectuate n bazele de date
Operaii relaionale efectuate n bazele de date
OPERAIA DE JONCIUNE
OPERAIA DE JONCIUNE
Exemplu
Exemplu
Student
CodS Nume Prenume
001 Banu Andrei
002 Manta Andrei
003 Di ma Cristina
004 Stroie Camelia
005 Radu Tiberiu
006 Di ma Carmen

Note
CodS Curs
005 Fizica
005 Chi mie
002 Fizica
002 Chi mie
005 Istorie
005 Engl eza
006 T.B.D.
006 P.C.
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Operaii relaionale efectuate n bazele de date
Operaii relaionale efectuate n bazele de date
OPERAIA DE JONCIUNE
OPERAIA DE JONCIUNE
Exemplu
Exemplu
n limbaj SQL:
n limbaj SQL:
SELECT STUDENT.CODS, NUME, PRENUME, CURS
FROM STUDENT INNER JOIN NOTE ON STUDENT.CODS = NOTE.CODS
SELECT STUDENT.CODS, NUME, PRENUME, CURS
FROM STUDENT INNER JOIN NOTE ON STUDENT.CODS = NOTE.CODS
ceea ce este echivalent cu:
ceea ce este echivalent cu:
SELECT STUDENT.CODS, NUME, PRENUME, CURS
FROM STUDENT, NOTE
WHERE STUDENT.CODS = NOTE.CODS
SELECT STUDENT.CODS, NUME, PRENUME, CURS
FROM STUDENT, NOTE
WHERE STUDENT.CODS = NOTE.CODS
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Erori aprute la conversia date-informaie
Erori aprute la conversia date-informaie
pentru evitarea redundanelor se apeleaz la aa numita normalizare a
bazelor de date
pentru evitarea redundanelor se apeleaz la aa numita normalizare a
bazelor de date
pentru evitarea introducerii de mai multe ori a aceleiai nregistrri se
apeleaz la cheia primar
pentru evitarea introducerii de mai multe ori a aceleiai nregistrri se
apeleaz la cheia primar
cheia primar este singurul mecanism ce poate fi folosit cu scopul de a
identifica n mod unic o nregistrare
cheia primar este singurul mecanism ce poate fi folosit cu scopul de a
identifica n mod unic o nregistrare
ntr-un tabel nu poate exista dect o singur cheie primar, dar aceasta
poate fi alctuit din dou sau mai multe coloane ale tabelului
(surs de erori - interogarea nu poate folosi asocierea prin
intermediul cheii primare, deoarece aceasta nu are corespondent n
tabelul asociat)
ntr-un tabel nu poate exista dect o singur cheie primar, dar aceasta
poate fi alctuit din dou sau mai multe coloane ale tabelului
(surs de erori - interogarea nu poate folosi asocierea prin
intermediul cheii primare, deoarece aceasta nu are corespondent n
tabelul asociat)
Exemplu
Exemplu
ntr-un sistem de gestiune al informaiilor se pstreaz date
despre o faculti
ntr-un sistem de gestiune al informaiilor se pstreaz date
despre o faculti
printre altele, exist i date referitoare la cadrele didactice
care sunt titulare ale unor discipline
printre altele, exist i date referitoare la cadrele didactice
care sunt titulare ale unor discipline
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Erori aprute la conversia date-informaie
Erori aprute la conversia date-informaie
Exemplu
Exemplu
se mai ofer date i despre limbile strine cunoscute de ctre
cadrele didactice respective
se mai ofer date i despre limbile strine cunoscute de ctre
cadrele didactice respective
se dorete s se afle n ce limbi strine sunt predate cursurile
n cadrul instituiei de nvmnt respective
se dorete s se afle n ce limbi strine sunt predate cursurile
n cadrul instituiei de nvmnt respective
dac schema bazei de date ar fi incorect conceput, s-ar
putea obine rezultatele din figur
dac schema bazei de date ar fi incorect conceput, s-ar
putea obine rezultatele din figur
Acest curs nu se preda
n limba germana
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Erori aprute la conversia date-informaie
Erori aprute la conversia date-informaie
Exemplu
Exemplu
tabelele care conin datele sunt tblPLimba care are cheia
primar alctuit din coloanele NumeP i Limba,
respectiv tblPCurs care are cheia primar alctuit din
coloanele NumeP i NumeC
tabelele care conin datele sunt tblPLimba care are cheia
primar alctuit din coloanele NumeP i Limba,
respectiv tblPCurs care are cheia primar alctuit din
coloanele NumeP i NumeC
n urma interogrii tabelelor tblPLimba i tblPCurs:
n urma interogrii tabelelor tblPLimba i tblPCurs:
SELECT DISTINCT TBLPLIMBA.NUMEP, TBLPCURS.NUMEC,
TBLPLIMBA.LIMBA
FROM TBLPLIMBA INNER JOIN TBLPCURS ON
TBLPLIMBA.NUMEP=TBLPCURS.NUMEP
SELECT DISTINCT TBLPLIMBA.NUMEP, TBLPCURS.NUMEC,
TBLPLIMBA.LIMBA
FROM TBLPLIMBA INNER JOIN TBLPCURS ON
TBLPLIMBA.NUMEP=TBLPCURS.NUMEP
se obin date false
se obin date false
din punctul de vedere al sistemului de gestiune al bazelor de
date lucrurile sunt corecte
din punctul de vedere al sistemului de gestiune al bazelor de
date lucrurile sunt corecte
rezultatul putea fi anticipat i din punct de vedere matematic,
deoarece avem de a face aici cu un produs cartezian
rezultatul putea fi anticipat i din punct de vedere matematic,
deoarece avem de a face aici cu un produs cartezian
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Erori aprute la conversia date-informaie
Erori aprute la conversia date-informaie
Exemplu
Exemplu
din punct de vedere al logicii aplicaiei lucrurile nu sunt n
ordine atta timp ct sunt obinute informaii false:
din punct de vedere al logicii aplicaiei lucrurile nu sunt n
ordine atta timp ct sunt obinute informaii false:
un profesor pred un curs ntr-o limb nerepartizat
cursului respectiv
un profesor pred un curs ntr-o limb nerepartizat
cursului respectiv
utilizarea de informaii false conduce la formularea unor
concluzii care pot contribui la luarea unor decizii ce pot avea
efecte dezastruoase pentru utilizator (mai bine nu am date
dect s folosesc informaii false)
utilizarea de informaii false conduce la formularea unor
concluzii care pot contribui la luarea unor decizii ce pot avea
efecte dezastruoase pentru utilizator (mai bine nu am date
dect s folosesc informaii false)
OBS
OBS
Dr. ing. Liviu PERNIU
Curs 3 ORGANIZAREA DATELOR
ORGANIZAREA DATELOR
Laborator 3 - prezentare
Laborator 3 - prezentare

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