1/30/2012
1
Ngôn ng định nghĩa Ngôn ng định nghĩa
và thao tác d liu đối và thao tác d liu đối
vi mô hình quan hvi mô hình quan h
1
NguynNguynHngHng PhươngPhương
phuongnh@soict.hut.edu.vnphuongnh@soict.hut.edu.vn
http://is.hut.edu.vn/~phuongnhhttp://is.hut.edu.vn/~phuongnh
BBmônmôn HHthngthng thôngthông tintin
VinVinCôngCông nghnghthôngthông tin tin và TruynTruyn thôngthông
ĐạiĐạihchcBáchBách KhoaKhoa NiNi
Ni dungNi dung
•Các cách tiếpcnđốivithiếtkế
ngôn ngcaCSDLquanh
–Giithiumtsngôn ng phân loi
So sánh và đánh giá
2
So sánh và đánh giá
•Mt s ngôn ng d liu mc cao
–QBE (Query By Ex am ple)
–SQL (Str uctured Query LLanguage)
•Kếtlun
CSDL ví d 1CSDL ví d 1
Id Na m e Sub urb
1108 Ro b e rt Ke w
3936 G le n Bund o o ra
8507
N
o
rm
a
nB
u
n
d o o
r
a
Stud e nt
SID SNO
1108 21
1108 23
8507
23
SID C o urse
3936 101
1108 113
8507
101
Enro l
Ta ke s
3
8507
o a
udooa
8452 Ma ry Ba lwyn
8507
23
8507 29
No Na m e De p t
21 Syste m s C SC E
23 Da ta b a se C SC E
29 VB C SCE
18 Alg e b ra Ma ths
Sub je c t
8507
101
No Na m e De p t
113 BC S C SC E
101 MC S C SC E
Co urse
CSDL ví d 2CSDL ví d 2
SID SNAME SIZE CITY
S1 Dustin 100 London
S2 Rusty 70 Paris
S3 Lubber 120 London
S4 M&M 60 NewYork
S5 MBI 1000 NewOrlean
Sup p lie r
Sup p lyPro d uc t
SID PID QUANTITY
S1 P1 500
S1 P2 400
P4
100
4
S6 Panda 150 London
PID PNAME COLOR
P1 Screw red
P2 Screw green
P3 Nut red
P4 Bolt blue
P5 Plier green
P6 Scissors blue
Pro d uc t
P4
100
S2 P3 250
S2 P4 50
S3 P1 300
S3 P2 350
S3 P6 200
S4 P1 10
S5 P2 200
Đặt vn đề: các câu hiĐặt vn đề: các câu hi
•Tìm tên ca các sinh
viên nào sng
Bundoora
á b b
Id Na m e Sub urb
1108 Ro b e rt Ke w
3936
G l
Bd
Stud e nt
5
m
c
á
c
b
c
a
b
ng
Student có Suburb =
Bundoora
Đưa ra các giá tr ca
thuc tính Name ca
các b này
3936
G l
e n
B
un
d
o o ra
8507 No rma n Bund o o ra
8452 Ma ry Ba lwyn
Câu hi (tiếp)Câu hi (tiếp)
Tìm các sinh viên
đăng ký khoá hc
có mã s 113
Tìm các giá tr SID
Id Na m e Sub urb
1108 Ro b e rt Ke w
3936 G le n Bund o o ra
8507 No rma n Bund o o ra
8452 Ma r
y
Ba lw
y
n
Enro l
Stud e nt
6
Tìm các giá tr SID
trong bng Enrol có
Course tương ng
là 113
Đưa các b ca
bng Student có
SID trong các giá
tr tìm thy trên
y
y
SID C o urse
3936 101
1108 113
8507 101
Enro l
No Na m e De p t
113 BC S C SC E
101 MC S C SC E
Co urse
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/30/2012
2
Phân loi các ngôn ng truy vnPhân loi các ngôn ng truy vn
Ngôn ngữđis
–1câuhi=1tp các phép toán trên các quan
h
Đượcbiudinbimtbiuthcđạis(quan
h)
N
ô
t
í
h
t
á
t
7
N
g
ô
nng
t
í
n
h
t
o
á
nv
t
–1câuhi=1môtcacácbmong mun
Đượcđặctbimtvt các bphitho
mãn
–Phânbit2lp:
•ngônngtính toán vtbiếnb
•ngônngtính toán vtbiếnmin
N
g
ôn n
g
đ
i s
q
uan h
N
g
ôn n
g
đ
i s
q
uan h
8
ggqggq
Tng quanTng quan
•Gm các phép toán tương ng vicác
thao tác trên các quan h
•Miphéptoán
Đầuvào:mt hay nhiuquanh
Đầu
ra
:
mt
quan
h
9
Đầu
ra
:
mt
quan
h
•Biuthcđạisquan h=chuicác
phép toán
•Kếtquthchinmtbiuthcđạis
mtquanh
ĐượccàiđặttrongphnlncáchCSDL
hinnay
Phân loi các phép toán đại s quan hPhân loi các phép toán đại s quan h
Phép toán quan h
–Phép chiếu (proj ect ion)
–Phép chn (select ion)
–Phép kết ni (j oin )
Phép chia (
division
)
10
Phép chia (
division
)
•Phép toán tp hp
–Phép hp (union)
Phép giao (int ersect ion)
–Phép tr (difference)
–Phép tích đề-các (car tesian product)
Phép toán tp hpPhép toán tp hp
Định nghĩa: Quan h kh hp
–2 quan hrvàsđượcgilàkhhp
nếu chúng đượcxácđịnh trên cùng 1
mi
n
g
i
á
t
r
11
t
–r xác định trên D1x D2 x…x Dn
–s xác định trên D’1x D’2 x…x D’m
Di = D’i và n=m
Phép hpPhép hp
Đ/n: gmcácbthutnht1trong2
quan hệđuvào
•2 quan h đầu vào phi là kh hp
•Cú pháp: R = R1
R2R1
12
Na m e C o urse
Syste m s BC S
Da ta b a se BC S
Da ta b a se MC S
Alg e b ra MC S
Sub je c t1
Na m e C o urse
Da ta Mining MCS
Writing BC S
Sub je c t2
Na m e C o urse
Syste m s BC S
Da ta b a se BC S
Da ta b a se MC S
Alg e b ra MC S
Da ta Mining MC S
Writing BC S
Kết q u
R1 R2 R2
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/30/2012
3
Phép giaoPhép giao
Đ/n: gm các b thuc c hai quan
h đầu vào
•Cúpháp: R1
R2
R1 R2 R1R1
R2R2
13
R2R2
Na m e C o urse
Syste m s BC S
Da ta b a se BC S
Da ta b a se MC S
Alg e b ra MC S
Sub je c t1
Na m e C o urse
Da ta Mining MCS
Da ta b a se MC S
Syste m s BC S
Writing BC S
Sub je c t2
Na m e C o urse
Syste m s BC S
Da ta b a se MC S
Kết q u
Phép trPhép tr
Đ/n: gmcácbthucquanhthnhtnhưng
không thucquanhthhai
2 quan hphilàkhhp
•Cúpháp:R1\R
2hocR1-R
2
R1 R2 R1R1
R2
\
14
R2
Na m e C o urse
Syste m s BC S
Da ta b a se BC S
Da ta b a se MC S
Alg e b ra MC S
Sub je c t1
Na m e C o urse
Da ta Mining MCS
Da ta b a se MC S
Syste m s BC S
Writing BC S
Sub je c t2
Na m e C o urse
Da ta b a se BC S
Alg e b ra MC S
Kết q u
\
Phép tích ĐềPhép tích Đề--cáccác
Đ/n: kếtnigiatng bca
quan hthnhtvimibca
quan hthhai
•Cú pháp: R = R1x R2
15
a
b
c
d
x
y
XX
a
b
c
d
a
b
c
d
x
y
x
y
x
y
x
y
Ví d phép tích ĐềVí d phép tích Đề--cáccác
Id Na m e Sub urb
1108 Ro b e rt Ke w
3936 G le n Bund o o ra
8507 No rm an Bund o o ra
8452 Ma ry Ba lw yn
Stud e nt
Sp o rtID Spo rt
05 Swimming
09 Da nc ing
Sp o rt
XX
Stud e nt S
p
o rt
16
Id Na m e Sub urb Sp o rtID Sp o rt
1108 Ro b e rt Ke w 05 Swim ming
3936 Gle n Bund o o ra 05 Swim ming
8507 No rm a n Bund o o ra 05 Swim ming
8452 Ma ry Ba lw yn 05 Swim m ing
1108 Ro b e rt Ke w 09 Da nc ing
3936 G le n Bund o o ra 09 Da nc ing
8507 No rm a n Bund o o ra 09 Da nc ing
8452 Ma ry Ba lw yn 09 Da nc ing
_
p
Phép chiếuPhép chiếu
Đ/n: La chn mt s thuc tính t mt quan h.
•Cúpháp:
C1 C2 C5C4C3 C2 C5
)(
,...2,1 R
AA
17
Ví d: đưa ra danh sách tên cattccác sinh
viên
Id Name Suburb
1108 Robert Kew
3936 Glen Bundoora
8507 Norman Bundoora
8452 Mary Balwyn
Student
Name
Robert
Glen
Norman
Mary
)(Student
name
Phép chnPhép chn
Đ/n: Lachncácbtrong mtquanh
thomãn điukinchotrước.
•Cúpháp:
R1
R1
R2
R2
R3
R3
R4
R4
R2
R2
R3
R3
)(R
condition
18
•Víd: đưa ra danh sách nhng sinh viên
sng Bundoora
Id Name Suburb
1108 Robert Kew
3936 Glen Bundoora
8507 Norman Bundoora
8452 Mary Balwyn
Student
Id Name Suburb
3936 Glen Bundoora
8507 Norman Bundoora
)(
"Student
Bundoorasuburb
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/30/2012
4
Phép chn Phép chn --Điu kin ?Điu kin ?
Điu kin chn còn gi là biu thc
chn.
•Biu thc chn F: mt t hp logic
ca các toán h
n
g
. Mi toán h
n
g
19
gg
mt phép so sánh đơn gin gia 2
biến là hai thuc tính hoc gia 1
biến là 1 thuc tính và 1 giá tr hng.
Các phép so sánh trong F: , , ,, ,
Các phép toán logic trong F: , ,
Ví d: chn và chiếuVí d: chn và chiếu
Đưaratêncacácsinhviênsng
Bundoora
)( "Student
B
undoora
s
uburbname
20
Id Name Suburb
1108 Robert Kew
3936 Glen Bundoora
8507 Norman Bundoora
8452 Mary Balwyn
Student
Name
Glen
Norman
Phép kết ni (join) 2 quan h r và sPhép kết ni (join) 2 quan h r và s
•Kháinimghépb:u=(a
1,..,an);v=(b1,..,bm)
(u,v) = (a1,..,an,b1,..,bm)
•Phépkếtni2quanhthccht phép ghép các
cpbca2quanhthamãn1điukinnàođó
trên chúng.
Biu
thc
kết
ni
phép
hi
ca
các
toán
hng
21
Biu
thc
kết
ni
phép
hi
ca
các
toán
hng
,
mitoánhng 1 phép so sánh đơngingia1
thuctínhcaquanhrvà1thuctínhcaquan
hs.
•Cúpháp: 2_1 RR conditionjoin

a
a
r
r
b
b
r
r
x
x
x
x
a
a
r
r
b
b
r
r
c
c
v
v
r
r
x
x
s
s
y
y
t
t
z
z
Phép kết ni Phép kết ni --Ví d:Ví d:
Đưaradanhsáchcácsinhviênvà
khoá hc sinh viên đótham
gia
Id Name Suburb
1108
Rb t
K
Student
SID Course
3936
101
Enrol
EnrolStudent SIDId

22
SID Id Name Suburb Course
1108 1108 Robert Kew 113
3936 3936 Glen Bundoora 101
8507 8507 Norman Bundoora 101
1108
R
o
b
er
t
K
ew
3936 Glen Bundoora
8507 Norman Bundoora
8452 Mary Balwyn
3936
101
1108 113
8507 101
Id=SID
Kết qu
Phép kết ni bngPhép kết ni bng--kết ni t nhiênkết ni t nhiên
Định nghĩa: Nếuphépsosánhtrong
điukinkếtnilàphépsosánh
bng thì kếtnigilàkếtnibng
Định nghĩa: Phép kếtnibng trên
các
thuc
tính
cùng
tên
ca
2
quan
23
các
thuc
tính
cùng
tên
ca
2
quan
h sau khi kếtni1thuctính
trong 1 cpthuc tính trùng tên đó
sbloikhiquanhkếtquthì
phép kếtnigilàkếtnitnhiên
pháp phép kếtnitnhiên: R1*
R2
Phép kết ni t nhiên Phép kết ni t nhiên --Ví d:Ví d:
Ta ke s Enro l
S
SO
C
24
SID SNO
1108 21
1108 23
8507 23
8507 29
SID C o urse
3936 101
1108 113
8507 101
S
ID
S
N
O
C
ourse
1108 21 113
1108 23 113
8507 23 101
8507 29 101
*
CuuDuongThanCong.com https://fb.com/tailieudientucntt
1/30/2012
5
Ví d: chn, chiếu, kết niVí d: chn, chiếu, kết ni
Đưa ra tên ca các sinh viên sng
Bundoora và mã khoá hc sinh viên đó
đăng ký:
))(( ", EnrolStudent SIDIdBundoosuburbCoursename

Id
N
Sb b
St d t
25
Id
N
ame
S
u
b
ur
b
1108 Robert Kew
3936 Glen Bundoora
8507 Norman Bundoora
8452 Mary Balwyn
SID Course
3936 101
1108 113
8507 101
St
u
d
en
t
Enrol
Name Course
Glen 101
Norman 101
Kết qu
Phép kết ni ngoàiPhép kết ni ngoài
•Phép kết ni ngoài trái
a
a
r
r
b
b
r
r
c v
x
x
x
x
null
a
a
r
r
b
b
r
r
c v
r
r
x
x
s
s
y
y
t z
26
•Phép kết ni ngoài phi
a
a
r
r
b
b
r
r
null
null
s
s
x
x
x
x
y
y
a
a
r
r
b
b
r
r
c
c
v
v
r
r
x
x
s
s
y
y
t
t
z
z
null
null
t
t
z
z
Phép kết ni ngoài Phép kết ni ngoài --Ví d:Ví d:
Đưa ra danh sách các sinh viên
khoá hc sinh viên đóđăng nếucó
ID Name Suburb
1108 Robert Kew
Student
SID Course
3936
101
Enrol
27
3936 Glen Bundoora
8507 Norman Bundoora
8452 Mary Balwyn
3936
101
1108 113
8507 101
ID Name Suburb Course
1108 Robert Kew 113
3936 Glen Bundoora 101
8507 Norman Bundoora 101
8452 Mary Balwyn null
Kết qu
Phép chiaPhép chia
Định nghĩa: Phép chia gia1quan
hrbcnvàquanhsbcm
(m<n) visơđquan hca s tp
con casơđquan hcarlàmt
tp
c
(n
m)
b
sao
cho
khi
ghép
28
tp
các
(n
-
m)
-
b
sao
cho
khi
ghép
mibthucsvitthìtađềucó
mtbthucr
•Cúpháp:R= R
1: R
2
Phép chia (tiếp)Phép chia (tiếp)
•Ví d:Đưaramônhcđượcdy
tt
c
các
khoá
hc
a
x
z
a
a
a
b
c
x
y
z
x
y
::
29
tt
c
các
khoá
hc
::
Na m e C o urse
Syste m s BC S
Da ta b a se BC S
Da ta b a se MC S
Alg e b ra MC S
Sub je c t
C o urse
BC S
MCS
Co urse
Na m e
Da ta b a se
Kết q u
Luyn tpLuyn tp
•Phép hp (Union)
Ví d:
30
CuuDuongThanCong.com https://fb.com/tailieudientucntt