You are on page 1of 40

Khoa HTTT-i hc CNTT 1

Bi 4: Ngn ng i s quan h
Khoa HTTT-i hc CNTT 2
Ni dung
1. Gii thiu
2. Biu thc i s quan h
3. Cc php ton
4. Biu thc i s quan h
5. V d

Khoa HTTT-i hc CNTT 3
1. Gii thiu
i s quan h (SQH) c nn tng ton hc (c th
l l thuyt tp hp) m hnh ha CSDL quan h.
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.
Khoa HTTT-i hc CNTT 4
2. Biu thc SQH
Biu thc SQH l mt biu thc gm cc php
ton SQH.
Biu thc SQH c xem nh mt quan h
(khng c tn).
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.
Khoa HTTT-i hc CNTT 5
3. Cc php ton
3.1 Gii thiu
3.2 Php chn
3.3 Php chiu
3.4 Php gn
3.5 Cc php ton trn tp hp
3.6 Php kt
3.7 Php chia
3.8 Hm tnh ton v gom nhm
Khoa HTTT-i hc CNTT 6
3.1 Gii thiu (1)
C nm php ton c bn:
Chn ( ) hoc ( : )
Chiu ( ) hoc ( [] )
Tch ( )
Hiu ( )
Hi ( )
o
t

Khoa HTTT-i hc CNTT 7


3.1 Gii thiu (2)
Cc php ton khc khng c bn nhng hu ch:
Giao ( )
Kt ( )
Chia ( )
Php b ( )
i tn ( )
Php gn ( )
Kt qu sau khi thc hin cc php ton l cc quan
h, do c th kt hp gia cc php ton to
nn php ton mi.

Khoa HTTT-i hc CNTT 8


3.2 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: 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
Khoa HTTT-i hc CNTT 9
Lc CSDL qun l gio v
HOCVIEN (MAHV, HO, TEN, NGSINH, GIOITINH, NOISINH, MALOP)
LOP (MALOP, TENLOP, TRGLOP, SISO, MAGVCN)
KHOA (MAKHOA, TENKHOA, NGTLAP, TRGKHOA)
MONHOC (MAMH, TENMH, TCLT, TCTH, MAKHOA)
DIEUKIEN (MAMH, MAMH_TRUOC)
GIAOVIEN(MAGV,HOTEN,HOCVI,HOCHAM,GIOITINH,NGSINH,NGVL,
HESO, MUCLUONG, MAKHOA)
GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY)
KETQUATHI (MAHV, MAMH, LANTHI, NGTHI, DIEM, KQUA)
Khoa HTTT-i hc CNTT 10
3.2 V d php chn
Tm nhng hc vin c gii tnh l nam v c ni
sinh TpHCM
o
(Gioitinh=Nam).(Noisinh=TpHCM)
(HOCVIEN)
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
K1105 Tran Minh Long Nam TpHCM K11
K1106 Le Nhat Minh Nam TpHCM K11
Khoa HTTT-i hc CNTT 11
3.3 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
Khoa HTTT-i hc CNTT 12
3.3 V d
Tm m s, h tn nhng hc vin c gii tnh l nam v c
ni sinh TpHCM
t
Mahv,Hoten
o
(Gioitinh=Nam).(Noisinh=TpHCM)
(HOCVIEN)
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
K1105 Tran Minh Long Nam TpHCM K11
K1106 Le Nhat Minh Nam TpHCM K11
Khoa HTTT-i hc CNTT 13



3.4 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.
Khoa HTTT-i hc CNTT 14
3.5 Cc php ton tp hp
3.5.1 Gii thiu
3.5.2 Php hi
3.5.3 Php tr
3.5.4 Php giao
3.5.5 Php tch
Khoa HTTT-i hc CNTT 15
3.5.1 Gii thiu
Cc php ton thc hin trn 2 quan h xut pht t l
thuyt tp hp ca ton hc: 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.
Khoa HTTT-i hc CNTT 16
3.5.2 Php hi (Union)
} | { S t R t t S R e v e =
DOT1
Mahv Hoten
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
DOT2
Mahv Hoten
K1101 Le Kieu My
K1114 Tran Ngoc Han
Mahv Hoten
K1101 Le Kieu My
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
DOT1DOT2
K hiu: RS
nh ngha: trong R,S l
hai quan h kh hp.
V d: Hc vin c khen thng t 1 hoc t 2
Khoa HTTT-i hc CNTT 17
3.5.3 Php tr (Set Difference)
K hiu: R-S
nh ngha: trong R,S l
hai quan h kh hp.
V d: Hc vin c khen thng t 1 nhng
khng c khen thng t 2
} | { S t R t t S R e . e =
DOT1
Mahv Hoten
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
DOT2
Mahv Hoten
K1101 Le Kieu My
K1114 Tran Ngoc Han
Mahv Hoten
K1103 Le Van Tam
K1203 Le Thanh Hau
K1308 Nguyen Gia
DOT1- DOT2
Khoa HTTT-i hc CNTT 18
3.5.4 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: Hc vin c khen thng c hai t 1 v 2
} | { S t R t t S R e . e =
KT_D1
Mahv Hoten
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
K1308 Nguyen Gia
KT_D2
Mahv Hoten
K1101 Le Kieu My
K1114 Tran Ngoc Han
Mahv Hoten
K1114 Tran Ngoc Han
DOT1 DOT2
Khoa HTTT-i hc CNTT 19
3.5.5 Php tch (1)
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.
V d: t hai quan h HOCVIEN v MONHOC, c
tt c nhng trng hp no hc vin ng k hc
mn hc, gi s khng c bt k iu kin no
} / { S
s
t R
r
t
s
t
r
t S R e . e =
Khoa HTTT-i hc CNTT 20
3.5.5 Php tch (2)
HOCVIEN
Mahv Hoten
K1103 Le Van Tam
K1114 Tran Ngoc Han
K1203 Le Thanh Hau
MONHOC
Mamh
CTRR
THDC
CTDL
Mahv 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
HOCVIENMONHOC
Khoa HTTT-i hc CNTT 21
3.6 Php kt
3.6.1 Php kt
3.6.2 Php kt bng, php kt t nhin
3.6.3 Php kt ngoi
Khoa HTTT-i hc CNTT 22
3.6.1 Php kt (Theta-Join) (1)
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

Khoa HTTT-i hc CNTT 23


3.6.1 Php kt (2)
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
Khoa HTTT-i hc CNTT 24
3.6.2 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 HOCVIEN
Trglop Mahv=

KETQUATHI HOCVIEN
Mahv

KETQUATHI HOCVIEN *
Khoa HTTT-i hc CNTT 25
3.6.3 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 cc hc vin v im
s ca cc mn hc m hc vin thi (nu c)
Khoa HTTT-i hc CNTT 26
3.6.3 Php kt ngoi (2)
HOCVIEN KETQUATHI
mahv
KETQUATHI
Mahv

Mamh

Diem
HV01 CSDL 7.0
HV02 CSDL 8.5
HV01 CTRR 8.5
HV03 CTRR 9.0
HOCVIEN
Mahv

Hoten

HV01 Nguyen Van Lan
HV02 Tran Hong Son
HV03 Nguyen Le
HV04 Le Minh
Mahv Hoten Mahv Mamh Diem
HV01 Nguyen Van Lan HV01 CSDL 7.0
HV01 Nguyen Van Lan HV01 CTRR 8.5
HV02 Tran Hong Son HV02 CSDL 8.5
HV03 Nguyen Le HV03 CTRR 9.0
HV04 Le Minh Null Null Null
Khoa HTTT-i hc CNTT 27
3.7 Php chia (Division)
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)
Khoa HTTT-i hc CNTT 28
3.7 Php chia (2)
V d




A B
o
|
a
a
a
o a
o a
| a
a
a
C D
o

a
b
a
a
b
a
b
| b
E
1
3
1
1
1
1
1
1
R D E
a
S
b
1
1
R S
A B C
o a
a
Khoa HTTT-i hc CNTT 29
3.7 Php chia (3)
V d: Cho bit m hc vin thi tt c cc mn hc
Quan h: KETQUA, MON HOC
Thuc tnh: MAHV


Mahv
HV01
HV03
KETQUATHI
Mahv

Mamh

Diem
HV01 CSDL 7.0
HV02 CSDL 8.5
HV01 CTRR 8.5
HV03 CTRR 9.0
HV01 THDC 7.0
HV02 THDC 5.0
HV03 THDC 7.5
HV03 CSDL 6.0
MONHOC
Mamh Tenmh
CSDL Co so du lieu
CTRR Cau truc roi rac
THDC Tin hoc dai cuong
KETQUA
MONHOC
KETQUAMONHOC
[ , ]
[ ]
KETQUA KETQUATHI Mahv Mamh
MONHOC MONHOC Mamh

Khoa HTTT-i hc CNTT 30


3.7 Php chia (4)
Biu din php chia thng qua tp y cc
php ton SQH



Q1 t
Y
(R)

Q2 Q1 S

Q3 t
Y
(Q2 R)

T Q1 Q3

Khoa HTTT-i hc CNTT 31
3.8 Hm tnh ton v gom nhm
(1)
Hm tnh ton gm cc hm: avg(giatri),
min(giatri), max(giatri), sum(giatri), count(giatri).
Php ton gom nhm:


E l biu thc i s quan h
G
i
l thuc tnh gom nhm (rng, nu khng gom nhm)
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

Khoa HTTT-i hc CNTT 32
3.8 Hm tnh ton v gom nhm
(2)
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
Khoa HTTT-i hc CNTT 33
Bi tp
Lc CSDL qun l bn hng gm c cc quan h sau:

KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH,
DOANHSO, NGDK)
NHANVIEN (MANV,HOTEN, NGVL, SODT)
SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)
HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)
CTHD (SOHD,MASP,SL)
Khoa HTTT-i hc CNTT 34
M t cc cu truy vn sau
bng SQH
1. In ra danh sch cc sn phm (MASP,TENSP) do Trung Quc
sn xut c gi t 30.000 n 40.000
2. In ra danh sch cc khch hng (MAKH, HOTEN) mua hng
trong ngy 1/1/2007.
3. In ra danh sch cc sn phm (MASP,TENSP) do Trung Quoc
sn xut hoc cc sn phm c bn ra trong ngy 1/1/2007.
4. Tm cc s ha n mua cng lc 2 sn phm c m s BB01 v
BB02.
5. In ra danh sch cc sn phm (MASP,TENSP) do Trung Quoc
sn xut khng bn c trong nm 2006.
6. Tm s ha n mua tt c cc sn phm do Singapore sn xut
Khoa HTTT-i hc CNTT 35
Cu 1
In ra danh sch cc sn phm (MASP,
TENSP) do Trung Quc sn xut c gi
t 30.000 n 40.000.
] , ))[ 000 . 40 000 . 30 ( ) ' ' (( : tensp masp gia TrungQuoc nuocsx SANPHAM s s . =
SANPHAM
gia TrungQuoc nuocsx tensp masp ) 000 . 40 000 . 30 ( ) ' ' ( , s s . =
o t
Khoa HTTT-i hc CNTT 36
Cu 2
In ra danh sch cc khch hng (MAKH,
HOTEN) mua hng trong ngy 1/1/2007.
] , [ ) # 2007 / 1 / 1 # ( : hoten makh nghd HOADON KHACHHANG
MAKH
|
.
|

\
|
=
) (
) # 2007 / 1 / 1 # ( ,
KHACHHANG HOADON
MAKH
nghd hoten masp

=
o t
Khoa HTTT-i hc CNTT 37
Cu 3
In ra danh sch cc sn phm do Trung Quoc sn
xut hoc cc sn phm c bn ra trong ngy
1/1/2007.
B A C
tensp masp nghd HOADON CTHD SANPHAM B
tensp masp TrungQuoc nuocsx SANPHAM A
SOHD MASP

=
=
] , ))[ # 2007 / 1 / 1 # ( : (
] , )[ ' ' ( :

B A C
SANPHAM CTHD HOADON B
SANPHAM A
MASP SOHD
nghd tensp masp
TrungQuoc nuocsx tensp masp

=
=
) ) ) ( ((
) (
# 2007 / 1 / 1 # ,
' ' ,
o t
o t
Hoc
Khoa HTTT-i hc CNTT 38
Cu 4
Tm cc s ha n mua cng lc cc sn
phm c m s BB01 v BB02.
B A C
sohd BB masp CTHD B
sohd BB masp CTHD A

=
=
] )[ ' 02 ' ( :
] )[ ' 01 ' ( :
B A C
CTHD B
CTHD A
BB masp sohd
BB masp sohd

=
=
) (
) (
' 02 '
' 01 '
o t
o t
Hoc
Khoa HTTT-i hc CNTT 39
Cu 5
In ra danh sch cc sn phm do TrungQuoc sn
xut khng bn c trong nm 2006.
) (
) (
) ) ((
) (
) 2006 ) ( ( ) ' ' ( ,
' ' ,
C A D
B C
HOADON CTHD SANPHAM B
SANPHAM A
nghd year TrungQuoc nuocsx tensp masp
SOHD MASP
TrungQuoc nuocsx tensp masp

= . =
=
o t
o t

Khoa HTTT-i hc CNTT 40
Cu 6
A B C
CTHD SANPHAM B
SANPHAM A
MASP
Singapore nuocsx sohd masp
Singapore nuocsx masp

=
=
) (
) (
' ' ,
' '
o t
o t
Tm s ha n mua tt c cc sn phm
do Singapore sn xut

You might also like