Download as pdf or txt
Download as pdf or txt
You are on page 1of 50

Khoa HTTT - i hc CNTT 1

Chng 3:
Ngn ng i s quan h


Thi lng: 6 tit
2
Ni dung
1. Gii thiu
2. i s quan h
3. Cc php ton
4. Biu thc i s quan h
3
1. Gii thiu
Xt mt s x l trn quan h NHANVIEN
Thm mi mt nhn vin
Chuyn nhn vin c tn l Tng sang phng s 1
Cho bit h tn v ngy sinh cc nhn vin c lng thp
hn 50000


5
4
TENNV HONV NS DCHI GT LUONG PHONG
Tung Nguyen 12/08/1955 638 NVC Q5 Nam 40000
Hang Bui 07/19/1968 332 NTH Q1 Nu 25000
Nhu Le 06/20/1951 291 HVH QPN Nu 43000 4
Hung Nguyen 09/15/1962 Ba Ria VT Nam 38000 5
Quang Pham 11/10/1937 450 TV HN Nam 55000 1
1
Tung Nguyen 12/08/1955
Hang Bui 07/19/1968
Nhu Le 06/20/1951
Hung Nguyen 09/15/1962
4
1. Gii thiu (2)
C 2 loi x l
Lm thay i d liu (cp nht)
Thm mi, xa v sa
Khng lm thay i d liu (rt trch)
Truy vn (query)
Thc hin cc x l
i s quan h (Relational Algebra)
Biu din cu truy vn di dng biu thc
Php tnh quan h (Relational Calculus)
Biu din kt qu
SQL (Structured Query Language)
5
2. i s quan h (1)
SQH l mt m hnh ton hc da trn l thuyt
tp hp
i tng x l l cc quan h trong c s d
liu quan h.
Chc nng:
Cho php m t cc php ton rt trch d liu
t cc quan h trong c s d liu quan h.
Cho php ti u qu trnh rt trch bng cc
php ton c sn ca l thuyt tp hp.
Gm c:
Cc php ton i s quan h
Biu thc i s quan h
6
Nhc li
i s
Ton t (operator)
Ton hng (operand)
Trong s hc
Ton t: +, -, *, /
Ton hng - bin (variables): x, y, z
Hng (constant)
Biu thc
(x+7) / (y-3)
(x+y)*z and/or (x+7) / (y-3)
7
2. i s quan h (2)
Bin l cc quan h
Tp hp (set)
Ton t l cc php ton (operations)
Da trn l thuyt tp hp
Hi (union)
Giao (intersec)
Tr (difference)
Rt trch 1 phn ca quan h
Chn o (selection)
Chiu t (projection)
Kt hp cc quan h
Tch -cc (Cartesian product)
Ni (join)
i tn
8
2. i s quan h (3)
Hng s l th hin ca quan h
Biu thc
c gi l cu truy vn
L chui cc php ton i s quan h
Kt qu tr v l mt th hin ca quan h
9
3. Cc php ton (1)
C nm php ton c bn:
Chn ( ) hoc ( : )
Chiu ( ) hoc ( [] )
Tch ( )
Hiu ( )
Hi ( )
o
t

10
3. Cc php ton (2)
Cc php ton khc:
Giao ( )
Kt ( )
Chia ( )
Php b ( )
i tn ( )
Php gn ( )

L cc php ton khng c bn nhng hu ch
(c suy t 5 php ton trn, tr php i tn).

11
3. Cc php ton (3)
Cc php ton tp hp:
Cc php ton thc hin trn 2 quan h: php
hi (RS), php giao (RS), php tr (R-S),
php tch (RS).
i vi cc php hi, giao, tr, cc quan h R v
S phi kh hp:
S lng thuc tnh ca R v S phi bng nhau:
R(A
1
,A
2
,A
n
) v S(B
1
,B
2
,B
n
)
Min gi tr ca thuc tnh phi tng thch:
dom(A
i
)=dom(B
i
)
Quan h kt qu ca php hi, giao, tr c cng
tn thuc tnh vi quan h u tin.
12
3. Cc php ton (4)
V d:
TENNV NS PHAI
Tung 12/08/1955 Nam
Hang 07/19/1968 Nu
Nhu 06/20/1951 Nu
Hung 09/15/1962 Nam
NHANVIEN TENTN NS_TN
PHAI_TN
Trinh 04/05/1986 Nu
Khang 10/25/1983 Nam
Phuong 05/03/1958 Nu
Minh 02/28/1942 Nam
THANNHAN
Chau 12/30/1988 Nu
Bc n=3
DOM(TENNV) = DOM(TENTN)
DOM(NS) = DOM(NS_TN)
DOM(GT) = DOM(GT_TN)
13
3.1. Php chn (Selection)
Trch chn cc b (dng) t quan h R. Cc b
c trch chn phi tha mn iu kin chn p.
K hiu:
nh ngha:
trong p(t): tha iu kin p
Kt qu tr v l mt quan h, c cng danh sch
thuc tnh vi quan h R. Khng c kt qu trng.
Php chn c tnh giao hon
) (R
p
o
)} ( , / { ) ( t p R t t R
p
e = o
) ( )) ( ( )) ( (
) 2 1 ( 1 2 2 1
R R R
p p p p p p .
= = o o o o o
14
V d php chn (1)
Biu din cch 1:

o (Quan h)
(iu kin 1 . iu kin 2 . .)
C php :
Biu din cch 2:
o
(NhanVien)
Cu hi 1:
C php : (Quan h: iu kin chn)
Cu hi 1:
Phai=Nam
(NhanVien: Phai=Nam)
NHANVIEN
MANV HOTEN NTNS PHAI
NV001 Nguyn Tn t 10/12/1970 Nam
NV002 Trn ng Anh 01/08/1981 N
NV003 L Phc Mn 02/04/1969 Nam
NHANVIEN
MANV HOTEN NTNS PHAI
NV001 Nguyn Tn t 10/12/1970 Nam
NV003 L Phc Mn 02/04/1969 Nam
Kt qu php chn
Cu hi 1: Cho bit cc nhn vin nam ?
15
V d php chn (2)
Biu din cch 1:

Biu din cch 2:

o
(NhanVien)
(Phai=Nam . Year(NTNS)>1975)
(NhanVien: Phai=Nam . Year(NTNS)>1975)
NHANVIEN
MANV HOTEN NTNS PHAI
NV001 Nguyn Tn t 10/12/1970 Nam
NV002 Trn ng Anh 01/08/1981 N
NV003 L Phc Mn 02/04/1969 Nam
NHANVIEN
MANV HOTEN NTNS PHAI
Kt qu php chn
Cu hi 2: Cho bit cc nhn vin nam sinh sau nm 1975 ?
(khng c b no tha)
Cu hi 2:
Cu hi 2:
16
3.2. Php chiu (Project)
S dng trch chn gi tr mt vi thuc tnh ca
quan h
K hiu:

trong A
i
l tn cc thuc tnh c chiu
Kt qu:
Tr v mt quan h c k thuc tnh theo th t nh lit k.
Cc dng trng nhau ch ly mt.
Php chiu khng c tnh giao hon
) (
,...,
2
,
1
R
k
A A A
t
17
V d php chiu (1)
Biu din cch 1 :

(Quan h)
Ct1, ct2, ct 3, .
C php :
Ngoi ra, c th biu din cch 2:
(NhanVien)
Cu hi 3 :
C php:
Quan h [ct1,ct2,ct3,]
Cu hi 3:
HOTEN, PHAI
NhanVien [HoTen, Phai]
NHANVIEN
MANV HOTEN NTNS PHAI
NV001 Nguyn Tn t 10/12/1970 Nam
NV002 Trn ng Anh 01/08/1981 N
NV003 L Phc Mn 02/04/1969 Nam
Kt qu
php chiu
Cu hi 3: Cho bit h tn nhn vin v gii tnh ?
t
t
NHANVIEN
HOTEN PHAI
Nguyn Tn t Nam
Trn ng Anh N
L Phc Mn Nam
18
V d php chiu (2)
Biu din cch 1:
Biu din cch 2:

Cu hi 4: (NhanVien: Phai=Nam) [HoTen, NTNS]
NHANVIEN
MANV HOTEN NTNS PHAI
NV001 Nguyn Tn t 10/12/1970 Nam
NV002 Trn ng Anh 01/08/1981 N
NV003 L Phc Mn 02/04/1969 Nam
Kt qu
php chiu
Cu hi 4: Cho bit h tn v ngy thng nm sinh ca cc nhn vin nam?
o
(NhanVien)
(Phai=Nam)
Bc 1:
Q
Kt qu php chn
(cn gi l biu thc
SQH) c i tn
thnh quan h Q
Bc 2:
(Q)
t
HOTEN, NTNS
NHANVIEN
HOTEN NTNS
Nguyn Tn t 10/12/1970
L Phc Mn 02/04/1969
19



3.3. Php gn (Assignment)
Dng din t cu truy vn phc tp.
K hiu: A B
V d:
R(HO,TEN,LUONG) t
HONV,TENNV,LUONG
(NHANVIEN)
Kt qu bn phi ca php gn c gn
cho bin quan h nm bn tri.
20
3.4. Php hi (Union)
K hiu: RS
nh ngha:
trong R,S l hai quan h kh hp.
V d: Sinh vin c khen thng t 1 hoc t 2
DOT1
Masv Hoten
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
DOT2
Masv Hoten
K1101 Le Kieu My
K1114 Tran Ngoc Han
Masv Hoten
K1101 Le Kieu My
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
DOT1DOT2
R S = { t / teR v teS }
21
3.5. Php tr (Set Difference)
K hiu: R-S
nh ngha:
Trong R,S l hai quan h kh hp.
V d: Sinh vin c khen thng t 1 nhng
khng c khen thng t 2
DOT1
Masv Hoten
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
DOT2
Masv Hoten
K1101 Le Kieu My
K1114 Tran Ngoc Han
Masv Hoten
K1103 Le Van Tam
K1203 Le Thanh Hau
K1308 Nguyen Gia
DOT1- DOT2
R S = { t / teR . teS }
22
3.6. Php giao (Set-Intersection)
K hiu: RS
nh ngha:
Trong R,S l hai quan h kh hp.
Hoc RS = R (R S)
V d: Sinh vin c khen thng c hai t 1 v 2
KT_D1
Masv Hoten
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
KT_D2
Masv Hoten
K1101 Le Kieu My
K1114 Tran Ngoc Han
Masv Hoten
K1114 Tran Ngoc Han
DOT1 DOT2
R S = { t / teR . teS }
23
Cc tnh cht
Giao hon



Kt hp
R S = S R
R S = S R
R (S T) = (R S) T
R (S T) = (R S) T
24
Tm tt
R
HONV TENNV
Vuong Quyen
Nguyen Tung
S
HONV TENNV
Le Nhan
Vuong Quyen
Bui Vu


Kt qu php tr Q =
Kt qu php hi Q =
Kt qu php giao Q =
Php tr: Q = R S

= { t/ teR . teS}
Php hi: Q = R S
= { t/ teR v teS}
Php giao: Q = R S = R (R S) = { t/teR . teS}
R
S
{Nguyen Tung}
{Vuong Quyen, Nguyen Tung, Le Nhan, Bui Vu}
{Vuong Quyen}
25
Cu hi 9: Cho bit nhn vin khng lm vic ?
(NHANVIEN[MANV]) (PHANCONG[MANV])
V d: Php tr, php hi, php giao tp hp(1)
Cch 2:
t
MANV
(NHANVIEN) t
MANV
(PHANCONG)
Cch 1:
Nhc li:
NHANVIEN (MaNV, HoTen, Phai, Luong,NTNS, Ma_NQL, MaPH)
PHANCONG (MaNV, MaDA, ThoiGian)
26
V d: Php tr, php hi, php giao tp hp(2)
Cu hi 11: Cho bit nhn vin c phn cng tham gia c 2
n TH01 v n TH02?
((PHANCONG: MADA=TH01)[MANV]) ((PHANCONG:
MADA=TH02)[MANV])

Cu hi 10: Cho bit nhn vin c phn cng tham gia n c
m s TH01 hoc n c m s TH02?
((PHANCONG: MADA=TH01)[MANV]) ((PHANCONG :
MADA=TH02)[MANV])

27
3.7. Php tch Descartes
K hiu: RS
nh ngha:
Nu R c n b v S c m b th kt qu l n*m b
KQ(A
1
,A
2
,A
m
,B
1
,B
2
,B
n
)R(A
1
,A
2
,A
m
) S(B
1
,B
2
,B
n
)
Php tch thng dng kt hp vi cc php chn
kt hp cc b c lin quan t hai quan h.
} / { S
s
t R
r
t
s
t
r
t S R e . e =
28
V d: Php tch Descartes (1)
SINHVIEN
MaSV Hoten
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
MONHOC
Mamh
CTRR
THDC
CTDL
MaSV Hoten Mamh
K1103 Le Van Tam CTRR
K1114 Tran Ngoc Han CTRR
K1203 Le Thanh Hau CTRR
K1103 Le Van Tam THDC
K1114 Tran Ngoc Han THDC
K1203 Le Thanh Hau THDC
K1103 Le Van Tam CTDL
K1114 Tran Ngoc Han CTDL
K1203 Le Thanh Hau CTDL
SINHVIENMONHOC
T hai quan h SINHVIEN v MONHOC, c tt c
nhng trng hp no sinh vin ng k hc
mn hc, gi s khng c bt k iu kin no.
29
V d: Php tch Descartes (2)
Quan-h-1
C php:
Cu hi 5: Tnh tch Descartes gia 2 quan h nhn vin v phng ban
Quan-h-2

PHONGBAN
MAPH TENPH TRPH
NC Nghin cu NV001
DH iu hnh NV002
NHANVIEN
PHONGBAN


Quan-h-k
Cu hi 5 c vit li:
Nam
N
Nam
02/04/1969
01/08/1981
10/12/1970
NTNS HOTEN MANV
Nguyn Tn t NV001
L Phc Mn NV003
Trn ng Anh NV002
NHANVIEN
PHAI PHONG
DH
NC
NC
NHANVIEN X PHONGBAN

MANV

HOTEN

NTNS

PHAI

PHONG

MAPH
TENPH

TRPH

NV001

Nguyn Tn t

10/12/1970

Nam

NC

NC

Nghin cu

NV001

NV001

Nguyn Tn t

10/12/1970

Nam

NC

DH

iu hnh

NV002

NV002

Trn ng Anh

01/08/1981

N

DH

NC

Nghin cu

NV001

NV002

Trn ng Anh

01/08/1981

N

DH

DH

iu hnh

NV002

NV003

L Phc Mn

02/04/1969

Nam

NC

NC

Nghin cu

NV001

NV003

L Phc Mn

02/04/1969

Nam

NC

DH

iu hnh

NV002

30
3.8. Php kt (Theta-Join)
Theta-join (u): Tng t nh php tch kt
hp vi php chn. iu kin chn gi l
iu kin kt.
K hiu:
trong R,S l cc quan h, p l iu kin kt
Cc b c gi tr NULL ti thuc tnh kt ni
khng xut hin trong kt qu ca php kt.
Php kt vi iu kin tng qut gi l u-kt
vi u l mt trong nhng php so snh
(=,=,>,>,<,s)
S R
p

31
V d: Php kt
S R
B A
2 1
>

R
A
1
A
2
1 2
1 8
0 0
8 4
0 3
S
B
1
B
2
B
3
0 2 8
7 8 7
8 0 4
1 0 7
2 1 5
A
1
A
2
B
1
B
2
B
3
1 2 8 0 4
1 2 1 0 7
1 8 8 0 4
1 8 1 0 7
8 4 0 2 8
8 4 8 0 4
8 4 1 0 7
8 4 2 1 5
32
Php kt bng, kt t nhin
Nu u l php so snh bng (=), php kt gi l
php kt bng (equi-join).
K hiu:

Nu iu kin ca equi-join l cc thuc tnh
ging nhau th gi l php kt t nhin (natural-
join). Khi kt qu ca php kt loi b bt 1
ct (b 1 trong 2 ct ging nhau)
K hiu:
Hoc:
LOP SINHVIEN
Trglop Masv=

KETQUATHI SINHVIEN
Masv

KETQUATHI SINHVIEN*
33
Php kt ngoi (outer join)
M rng php kt trnh mt thng tin
Thc hin php kt v sau thm vo
kt qu ca php kt cc b ca quan h
m khng ph hp vi cc b trong
quan h kia.
C 3 loi:
Left outer join R S
Right outer join R S
Full outer join R S
34
V d: Php kt
Cu hi 6: Cho bit m nhn vin, h tn v tn phng m n/v trc thuc.
((NHANVIEN X PHONGBAN) : NHANVIEN.PHONG=PHONGBAN.MAPH)

MANV

HOTEN

NTNS

PHAI

PHONG

MAPH
TENPH

TRPH

NV001

Nguyn Tn t

10/12/1970

Nam

NC

NC

Nghin cu

NV001

NV001

Nguyn Tn t

10/12/1970

Nam

NC

DH

iu hnh

NV002

NV002

Trn ng Anh

01/08/1981

N

DH

NC

Nghin cu

NV001

NV002

Trn ng Anh

01/08/1981

N

DH

DH

iu hnh

NV002

NV003

L Phc Mn

02/04/1969

Nam

NC

NC

Nghin cu

NV001

NV003

L Phc Mn

02/04/1969

Nam

NC

DH

iu hnh

NV002

-t vn : tr li cu hi 5, ta thy nu thc hin php tch Decartes
NHANVIEN X PHONGBAN th mi nhn vin u thuc 2 phng (v c
tng cng l 2 phng ban, nu c 3, 4,phng ban th s dng cho mt
nhn vin trong NHANVIEN X PHONGBAN s l 3, 4,..dng.
- Thc t mi nhn vin ch thuc duy nht 1 phng ban do rng buc
kha ngoi (PHONG), do ly c gi tr MAPH ng ca mi
nhn vin phi c iu kin chn:
NHANVIEN.PHONG = PHONGBAN.MAPH
Biu din php chn theo cch 2
(Theta-Join)
35
Cch 1:
(NHANVIEN

PHONGBAN): (NHANVIEN.PHONG=PHONGBAN.MAPH)
o
(NHANVIEN X PHONGBAN)
NHANVIEN.PHONG=PHONGBAN.MAPH
Cch 2:
Cu hi 6 vit li cch 1:
t
MANV,HOTEN,TENPH
(NHANVIEN
PHONG=MAPH
PHONGBAN)
Cu hi 6 vit li cch 2:
(NHANVIEN
PHONG=MAPH
PHONGBAN) [MANV,HOTEN,TENPH]
(Theta-Join)
V d: Php kt
36
V d: kt bng, kt t nhin
( Kt bng )
NHANVIEN
PHONG=MAPH
PHONGBAN
Nu PHONG trong NHANVIEN c i thnh MAPH th
ta b i 1 ct MAPH thay v phi MAPH=MAPH, lc
ny gi l php kt t nhin (natural-join)
( Kt t nhin )
NHANVIEN
MAPH
PHONGBAN
Kt bng:
Kt t nhin:
Hoc vit cch khc: NHANVIEN * PHONGBAN
equi-join
natural-join
37
Cu hi 7: Tm h tn cc trng phng ca tng phng ?
t
HOTEN, TENPH
(PHONGBAN
TRPH=MANV
NHANVIEN)
Cu hi 8: Cho lc CSDL nh sau:
TAIXE (MaTX, HoTen, NgaySinh, GioiTinh, DiaChi)
CHUYENDI (SoCD, MaXe, MaTX, NgayDi, NgayVe, ChieuDai, SoNguoi)
Cho bit h tn ti x, ngy i, ngy v ca nhng chuyn i c chiu di
>=300km, ch t12 ngi tr ln trong mi chuyn?
t
HoTen, NgayDi, NgayVe
(Q
MATX
TAIXE)
o
(ChieuDai>=300
.
SoNguoi>=12)

(CHUYENDI)
Q
Kt qu:
V d: Php kt

((CHUYENDI : ChieuDai>=300 . SoNguoi>=12)
Cch 1:
Cch 2:
TAIXE)

[HoTen, NgayDi, NgayVe]
MATX
38
Php kt ngoi (outer join)
M rng php kt trnh mt thng tin
Thc hin php kt v sau thm vo kt
qu ca php kt cc b ca quan h m
khng ph hp vi cc b trong quan h kia.
C 3 loi:
Left outer join R S
Right outer join R S
Full outer join R S
V d: In ra danh sch tt c ti x v s
chuyn i, m xe m ti x li (nu c)
39
V d left outer join
TAIXE CHUYENDI
matx
TAIXE
MaTX

Hoten

TX01 Huynh Trong Tao
TX02 Nguyen Sang
TX03 Le Phuoc Long
TX04 Nguyen Anh Tuan
CHUYENDI
SoCD

MaTX

MaXe
CD01 TX01 8659
CD02 TX02 7715
CD03 TX01 8659
CD04 TX03 4573
Matx Hoten SoCD Matx Maxe
TX01 Huynh Trong Tao CD01 TX01 8659
TX01 Huynh Trong Tao CD03 TX01 8659
TX02 Nguyen Sang CD02 TX02 7715
TX03 Le Phuoc Long CD04 TX03 4573
TX04 Nguyen Anh Tuan Null Null Null
{
B ca quan h TAIXE c thm
Vo d khng ph hp vi kt qu
ca quan h CHUYENDI
Tng t right outer join v full outer join (ly c 2)
(ly ht tt c b ca quan h bn tri)
40
nh ngha:
R v S l hai quan h, R
+
v S
+
ln lt l tp
thuc tnh ca R v S. iu kin S
+
=C l tp
con khng bng ca R
+
. Q l kt qu php
chia gia R v S, Q
+
= R
+
- S
+
C th din t bng php ton i s nh
sau:


3.9. Php chia (Division) (1)
} ) , ( , / { R s t S s t S R Q e e = =
2 1
1 2
1
) ) ((
) (
T T T
R T S T
R T
S R
S R

+ +
+ +

t
t
41
3.9. Php chia (Division) (2)
c dng ly ra mt s b trong quan h R
sao cho tha vi tt c cc b trong quan h S
K hiu: R S
R(Z) v S(X)
Z l tp thuc tnh ca R, X l tp thuc tnh ca S
X _ Z
Kt qu ca php chia l mt quan h T(Y)
Vi Y=Z-X
C t l mt b ca T nu vi mi b t
S
eS, tn ti b
t
R
eR tha 2 iu kin
t
R
(Y) = t
t
R
(X) = t
S
(X)
X Y
T(Y) S(X) R(Z)
42
V d - Php chia tp hp ( / hay ) (1)
Q= PHANCONG/DEAN
MADA
TH001
TH002
DT001


MANV
002


MANV MADA
001 TH001
001 TH002
002 TH001
002 TH002
002 DT001
003 TH001


R=PHANCONG S=DEAN
Kt qu Q
Cho bit nhn vin lm vic cho
tt c cc n ? (c phn
cng tham gia tt c cc n)

Hoc vit Q= PHANCONG DEAN
43
V d - Php chia tp hp ( / hay ) (2)
Cho bit m nhn vin tham gia tt c cc
n
Quan h: PHANCONG, DEAN
Thuc tnh: MANV
DA t
MADA
(DEAN)
NV_DEAN t
MANV, MADA
(PHANCONG)
MA_NV t
MANV
(NV_DEANDA)
B1:
B2:
B3:
44
V d - Php chia tp hp ( / hay ) (3)
Cho bit m nhn vin tham gia tt c cc
n do phng s 4 ph trch
Quan h: NHANVIEN, PHANCONG, DEAN
Thuc tnh: MANV
iu kin: PHONG=4
P4_DA t
MADA
((o
PHG=4
(NHANVIEN)) DEAN)
NV_DA t
MANV, MADA
(PHANCONG)
MA_NV t
MANV
(NV_DAP4_DA)
B1:
B2:
B3:
MANV
45
V d - Php chia tp hp ( / hay )(4)
Masv
SV01
SV03
R=KETQUATHI
Masv

Mamh

Diem
SV01 CSDL 7.0
SV02 CSDL 8.5
SV01 CTRR 8.5
SV03 CTRR 9.0
SV01 THDC 7.0
SV02 THDC 5.0
SV03 THDC 7.5
SV03 CSDL 6.0
S=MONHOC
Mamh Tenmh
CSDL Co so du lieu
CTRR Cau truc roi rac
THDC Tin hoc dai cuong
KETQUATHI[Mahv,Mamh] /MONHOC[Mamh]
Q=KETQUA/MONHOC
] [
] , [
Mamh MONHOC MONHOC
Mamh Masv KETQUATHI KETQUA

* Vit cch khc


46
Tm tt
Biu din php chia thng qua tp y
cc php ton SQH

T
1
t
Y
(R)

T
2
T
1
S

T
3
t
Y
(T
2
R)

T T
1
T
2
47
3.10. Hm tnh ton v gom nhm
Cc hm tnh ton gm 5 hm: avg(gi-tr), min(gi-
tr), max(gi-tr), sum(gi-tr), count(gi-tr).
Php ton gom nhm: (Group by)


E l biu thc i s quan h
G
i
l thuc tnh gom nhm (nu khng c G
i
no=> khng
chia nhm (1 nhm), ngc li (nhiu nhm) => hm F s
tnh ton trn tng nhm nh c chia bi tp thuc tnh
ny)
F
i
l hm tnh ton
A
i
l tn thuc tnh
) (
) ( ),..., ( ), ( ,..., ,
2 2 1 1 2 1
E
n n n
A F A F A F G G G

48
V d Hm tnh ton trn 1 nhm v tnh ton trn
nhiu nhm (gom nhm group by)
im thi cao nht, thp nht, trung bnh ca
mn CSDL ?


im thi cao nht, thp nht, trung bnh ca
tng mn ?
) (
) ( ), min( ), max(
KETQUATHI
Diem avg Diem Diem Mamh

) (
CSDL' ' Mamh ) ( ), min( ), max(
KETQUATHI
Diem agv Diem Diem =
o
49
4. Biu thc i s quan h (2)
Biu thc SQH l mt biu thc gm cc
php ton SQH.
Biu thc SQH c xem nh mt quan h
(khng c tn).
Kt qu thc hin cc php ton trn cng l
cc quan h, do c th kt hp gia cc
php ton ny to nn cc quan h mi.
C th t tn cho quan h c to t mt
biu thc SQH.
C th i tn cc thuc tnh ca quan h c
to t mt biu thc SQH.
50
Bi tp

You might also like