Download - co so du lieu SQL
-
7/28/2019 co so du lieu SQL
1/228
Khoa HTTT-i hc CNTT 1
i hc Cng Ngh Thng Tin
Mn: C S D LiuThi lng: 45LT+30TH
-
7/28/2019 co so du lieu SQL
2/228
Khoa HTTT-i hc CNTT 2
Ni dung
Bi 1: Cc khi nim ca mt h CSDL Bi 2: Cc m hnh CSDL
Bi 3: M hnh d liu quan h (ca Codd) Bi 4: Ngn ng i s quan h Bi 5: Ngn ng SQL
Bi 6: Ngn ng tn t Bi 7: Rng buc ton vn trong mt CSDL Bi 8: Ti u ha cu hi bng i s quan h
-
7/28/2019 co so du lieu SQL
3/228
Khoa HTTT-i hc CNTT 3
Bi 1: Cc khi nim ca mt hCSDL
-
7/28/2019 co so du lieu SQL
4/228
Khoa HTTT-i hc CNTT 4
Bi 1: Cc khi nim ca mt
h CSDL1. Gii thiu
2. H thng tp tin (File System)3. nh ngha mt CSDL
4. Cc i tng s dng CSDL
5. H qun tr CSDL6. Cc mc ca mt CSDL
-
7/28/2019 co so du lieu SQL
5/228
Khoa HTTT-i hc CNTT 5
1. Gii thiu
Ti sao cn phi c mt c s d liu?
-
7/28/2019 co so du lieu SQL
6/228
Khoa HTTT-i hc CNTT 6
2. H thng tp tin
L tp hp cc tp tin ring l phc v cho mt mcch ca n v s dng.
u im: Trin khai ng dng nhanh Kh nng p ng nhanh chng, kp thi (v ch phc v
cho mc ch hn hp)
Khuyt im: Trng lp d liu lng ph, d liu khng nht qun Chi ph cao
Chia s d liu km
-
7/28/2019 co so du lieu SQL
7/228Khoa HTTT-i hc CNTT 7
3. C s d liu (1)
nh ngha:
C s d liu l mt h thng cc thng tin ccu trc, c lu tr trn cc thit b lu trnhm tha mn yu cu khai thc thng tin ngthi ca nhiu ngi s dng hay nhiu chng
trnh ng dng vi nhng mc ch khc nhau
-
7/28/2019 co so du lieu SQL
8/228Khoa HTTT-i hc CNTT 8
3. C s d liu (2)
u im:
Gim trng lp thng tin xung mc thp nht,m bo tnh nht qun v ton vn d liu.
m bo d liu c truy xut theo nhiu cchkhc nhau.
Kh nng chia s thng tin cho nhiungi,nhiu ng dng khc nhau.
-
7/28/2019 co so du lieu SQL
9/228Khoa HTTT-i hc CNTT 9
3. C s d liu (3)
Nhng vn cn gii quyt:
Tnh ch quyn d liu. Tnh bo mt v quyn khai thc thng tin ca
ngi s dng
Tranh chp d liu
m bo d liu khi c s c
-
7/28/2019 co so du lieu SQL
10/228Khoa HTTT-i hc CNTT 10
4. Cc i tng s dng
Ngi s dng CSDL khng chuyn v lnh vc tinhc v CSDL -> cn cng c h c th khai thcCSDL khi cn.
Chuyn vin tin hc xy dng cc ng dng phcv cho cc mc ch qun l
Qun tr CSDL: t chc CSDL, bo mt, cp quyn,sao lu, phc hi d liu, gii quyt cc tranh chpd liu
-
7/28/2019 co so du lieu SQL
11/228Khoa HTTT-i hc CNTT 11
5. H qun tr c s d liu (1)
H qun tr c s d liu (DBMS DataBaseManagement System) l h thng cc phn mm htr tch cc cho cc nh phn tch, thit k v khaithc CSDL.
Cc DBMS thng dng: Visual FoxPro, Microsoft
Access, SQL Server, DB2, Oracle hu ht ccDBMS hin nay u da trn m hnh quan h.
-
7/28/2019 co so du lieu SQL
12/228Khoa HTTT-i hc CNTT 12
5. H qun tr c s d liu (2)
Mt DBMS phi c:
Ngn ng giao tip gia ngi s dng v CSDL
T in d liu (Data Dictionary)
C bin php bo mt khi c yu cu
C ch gii quyt tranh chp d liu
C c ch sao lu (backup), phc hi (restore)
m bo tnh c lp gia d liu v chng trnh
-
7/28/2019 co so du lieu SQL
13/228Khoa HTTT-i hc CNTT 13
5. H qun tr c s d liu (3)
Ngn ng giao tip: Ngn ng m t d liu (DDLData Definition Language):
cho php khai bo cu trc CSDL, cc mi lin h ca d liu,cc quy nh, rng buc d liu. Ngn ng thao tc d liu (DMLData Manipulation
Language): cho php thc hin thao tc thm, xa, sa d liu. Ngn ng truy vn c cu trc (SQL Structured Query
Language): cho php ngi khai thc s dng truy vnthng tin cn thit.
Ngn ng qun l d liu (DCL Data Control Language) chophp thay i cu trc bng, khai bo bo mt, cp quyn cho
ngi s dng.
-
7/28/2019 co so du lieu SQL
14/228Khoa HTTT-i hc CNTT 14
6. Cc mc biu din 1 CSDL
Mc trong: (mc vt l Physical) l mc lu tr CSDL(cn gii quyt vn g? D liu g? Lu tr nh th
no? u? Cn cc ch mc g? Truy xut tun t hayngu nhin. Dnh cho ngi qun tr v ngi s dngchuyn mn.
Mc quan nim: (Conception hay Logical) cn phi lu
tr bao nhiu loi d liu? l d liu g? mi quan h Mc ngoi: ca ngi s dng v cc chng trnh ng
dng
-
7/28/2019 co so du lieu SQL
15/228Khoa HTTT-i hc CNTT 15
6. Cc mc biu din 1 CSDL
Cu trc
ngoi 1
Cu trcngoi 2
Cu trcngoi n
Chng trnhng dng n
Mcquan
nimhocmclogic
Mc vt l Cu trc vt l
CSDL
Mi trngthc th gii
thc
NSD1
NSD2
-
7/28/2019 co so du lieu SQL
16/228Khoa HTTT-i hc CNTT 16
Bi 2: Cc m hnh d liu
-
7/28/2019 co so du lieu SQL
17/228Khoa HTTT-i hc CNTT 17
Ni dung
1. Gii thiu
2. M hnh d liu mng3. M hnh thc th mi kt hp
-
7/28/2019 co so du lieu SQL
18/228Khoa HTTT-i hc CNTT 18
1. Gii thiu
M hnh d liu l s tru tng ha ca mitrng thc, biu din d liu mc quan nim.Gii thiu mt s m hnh nh:
M hnh d liu mng
M hnh d liu phn cp
M hnh d liu thc th mi kt hp
M hnh d liu quan h
M hnh d liu hng i tng
-
7/28/2019 co so du lieu SQL
19/228
Khoa HTTT-i hc CNTT 19
2. M hnh d liu mng (1)
M hnh d liu mng (Network Data Model) cngi tt l m hnh mng hoc m hnh li l mhnh c biu din bi mt th c hng. Mu tin (record)
Loi mu tin
Loi lin h (set type) Bn s
-
7/28/2019 co so du lieu SQL
20/228
Khoa HTTT-i hc CNTT 20
2. M hnh d liu mng (2)
Mu tin: m t 1 i tng trong th gii thc.(NV001,Nguyen Lam,Nam,10/10/1970,Dong Nai)
Loi mu tin: l 1 tp cc mu tin c cng tnhcht. V d: NHANVIEN K hiu:
Loi lin h: m t s lin kt gia 1 loi mu tinch v 1 loi mu tin thnh vin K hiu:
NHANVIEN
Tham gia
CONGVIEC
-
7/28/2019 co so du lieu SQL
21/228
Khoa HTTT-i hc CNTT 21
2. M hnh d liu mng (3)
Bn s:ch ra s lng cc mu tin tham gia trongmi lin h (1:1) (one-to-one): mi mu tin ca loi mu tin ch kthp vi ng 1 mu tin ca loi mu tin thnh vin. (1:n) (one-to-many): mi mu tin ca loi mu tin ch
kt hp vi 1 hay nhiu mu tin thnh vin.
(n:1) (many-to-one): nhiu mu tin ca loi mu tin chkt hp vi ng 1 mu tin ca loi mu tin thnh vin. (Recursive): mt loi mu tin ch cng c th ng thi
l loi mu tin thnh vin vi chnh n. Loi lin h nyl quy
-
7/28/2019 co so du lieu SQL
22/228
Khoa HTTT-i hc CNTT 22
2. M hnh d liu mng (4)
PHONG
CONGVIEC
NHANVIEN
LYLICH
gm c
qun ltrc tipcng lm
n:1
1:11:n
1:n
-
7/28/2019 co so du lieu SQL
23/228
Khoa HTTT-i hc CNTT 23
2. M hnh d liu mng (5)
M hnh d liu mng: Tng i n gin
D s dng
Khng thch hp biu din CSDL c quy m ln
Kh nng din t ng ngha km
-
7/28/2019 co so du lieu SQL
24/228
Khoa HTTT-i hc CNTT 24
2. M hnh d liu mng (6)
Bi tp:
Xy dng m hnh d liu mng cho c sd liu qun l bn hng trong mt siu th(gio vin m t hin trng, xc nh cc yucu)
-
7/28/2019 co so du lieu SQL
25/228
Khoa HTTT-i hc CNTT 25
3. M hnh thc th mi kt hp
3.1 Gii thiu3.2 Loi thc th, thc th
3.3 Thuc tnh ca loi thc th3.4 Kho ca loi thc th3.5 Loi mi kt hp, mi kt hp
3.6 Thuc tnh ca loi mi kt hp3.7 Bn s3.8 M hnh ER m rng
-
7/28/2019 co so du lieu SQL
26/228
Khoa HTTT-i hc CNTT 26
3.1 Gii thiu
M hnh thc th mi kt hp (Entity-Relationship Modelvit tc ER)c CHENgii thiu nm 1976.
M hnh ER c s dng nhiu trong thit
k d liu mc quan nim.
-
7/28/2019 co so du lieu SQL
27/228
Khoa HTTT-i hc CNTT 27
3.2 Loi thc th
nh ngha: loi thc th (Entity Type) lnhng loi i tng hay s vt ca th gii
thc tn ti c th cn c qun l. V d: HOCVIEN, LOP, MONHOC, K hiu:
HOCVIEN LOP
-
7/28/2019 co so du lieu SQL
28/228
-
7/28/2019 co so du lieu SQL
29/228
Khoa HTTT-i hc CNTT 29
3.3 Thuc tnh ca loi thc th
(Entity Attribute)
nh ngha: thuc tnh l nhng tnh chtc trng ca loi thc th cn lu tr.
V d: Loi thc th HOCVIEN c ccthuc tnh: M hc vin, h tn, gii tnh,ngy sinh, ni sinh
K hiu:HOCVIEN
HotenGioitinh
Mahv
NgaysinhNoisinh
-
7/28/2019 co so du lieu SQL
30/228
Khoa HTTT-i hc CNTT 30
3.3 Cc loi thuc tnh (1)
n tr (Simple): mi thc th ch c mt gi tr ng vi ccthuc tnh.
V d: Mahv,Hoten a hp (Composite): thuc tnh c th c to thnh t
nhiu thnh phn.V d: DCHI(SONHA,DUONG,PHUONG,QUAN)
hay thuc tnh HOTEN(HO,TENLOT,TEN). a tr (Multi-valued): thuc tnh c th c nhiu gi tr i
vi mt thc th.V d: BANGCAP k hiu {BANGCAP}
-
7/28/2019 co so du lieu SQL
31/228
Khoa HTTT-i hc CNTT 31
3.3 Cc loi thuc tnh (2)
Tm li, cc thuc tnh a hp v a tr cth lng nhau ty . V d: thuc tnh BANGCAP ca HOCVIEN l
mt thuc tnh a hp c k hiu bng
{BANGCAP(TRUONGCAP,NAM,KETQUA,CHUYENNGANH)}
-
7/28/2019 co so du lieu SQL
32/228
Khoa HTTT-i hc CNTT 32
3.4. Kho ca loi thc th
(entity type key)
Kha ca loi thc th l thuc tnh nhndin thc th.
Cn c vo gi tr ca kha c th xc nhduy nhtmt thc th.
V d: Mi hc vin c mt m s duy nht => Kho
ca loi thc th HOCVIEN l M hc vin
-
7/28/2019 co so du lieu SQL
33/228
-
7/28/2019 co so du lieu SQL
34/228
Khoa HTTT-i hc CNTT 34
3.5 Loi mi kt hp (2)
Gia hai loi thc th c th tn ti nhiuhn mt loi mi kt hp.
V dThuc
HOCVIEN LOP
L trng lp
-
7/28/2019 co so du lieu SQL
35/228
Khoa HTTT-i hc CNTT 35
3.5 S ngi ca loi mi kt hp
(relationship degree)
S ngi ca loi mi kt hpl s loi thcth tham gia vo loi mi kt hp .
V d 1: Loi mi kt hp Thuckt hp 2loi thc th HOCVIEN v LOP nn c sngi l 2.
V d 2: Loi mi kt hp Ging dykthp 3 loi thc th GIAOVIEN, MONHOC,LOP nn c s ngi l 3.
-
7/28/2019 co so du lieu SQL
36/228
-
7/28/2019 co so du lieu SQL
37/228
Khoa HTTT-i hc CNTT 37
3.6 Thuc tnh ca loi mi kt hp
(relationship type attribute)
Thuc tnh ca loi mi kt hp bao gm ccthuc tnh kho ca cc loi thc th tham gia vo
loi mi kt hp . Ngoi ra cn c th c thmnhng thuc tnh b sung khc.
V d: Loi mi kt hp Ging dygia ba loi
thc th GIAOVIEN, MONHOC v LOP c ccthuc tnh l Magv,Mamh,Malop, ngoi ra cn cthuc tnh ring l Hocky, Nam
-
7/28/2019 co so du lieu SQL
38/228
Khoa HTTT-i hc CNTT 38
LOP MONHOC
Giang day
GIAOVIEN
Hocky
Nam
-
7/28/2019 co so du lieu SQL
39/228
Khoa HTTT-i hc CNTT 39
3.7 Bn s(relationship cardinality)
Loi mi kt hp th hin lin kt gia ccthc th, mi lin kt c gi l mt nhnh.
nh ngha: bn s ca nhnh l s lng tithiu v s lng ti a cc thc th thucnhnh tham gia vo loi mi kt hp.
K hiu: (bn s ti thiu, bn s ti a) V d: Loi thc th NhanVien v DeAn c
loi mi kt hp ThamGia.
-
7/28/2019 co so du lieu SQL
40/228
Khoa HTTT-i hc CNTT 40
Thuc
HOCVIEN LOP
(1,1) (1,n)
-
7/28/2019 co so du lieu SQL
41/228
Khoa HTTT-i hc CNTT 41
Thuc
HOCVIEN LOP
L trng lp
(1,1) (1,n)
(0,1) (1,1)
-
7/28/2019 co so du lieu SQL
42/228
-
7/28/2019 co so du lieu SQL
43/228
Khoa HTTT-i hc CNTT 43
3.7.1 Chuyn bit ha (tng
qut ha)
GiaoVien HocVien
ConNguoi
HocVi
NgayVL
NgayNH
Kha
SoCMND
HoTen
...
-
7/28/2019 co so du lieu SQL
44/228
-
7/28/2019 co so du lieu SQL
45/228
Khoa HTTT-i hc CNTT 45
nh ngha: L loi thc th khng c thuc tnh kha
Phi tham gia trong mt loi mi kt hp xc nh trong c mt loi thc th ch.
K hiu:
V d:loi thc th LANTHI c thuc tnh Ln vtham gia trong loi mi kt hp Thivi loi thcth HOCVIEN v MONHOC l loi thc th yu.
Thc th
3.7.3 Loi thc th yu
-
7/28/2019 co so du lieu SQL
46/228
Khoa HTTT-i hc CNTT 46
3.7.3 Loi thc th yu
Thi
HOCVIEN LANTHI
(1,n) (1,n)
MONHOC
(1,n)
-
7/28/2019 co so du lieu SQL
47/228
Khoa HTTT-i hc CNTT 47
Bi tp
Xy dng m hnh ER Xy dng m hnh ER cho CSDL qun l
gio v gm c cc chc nng sau: Lu tr thng tin: Hc vin , gio vin, mn hc Xp lp cho hc vin, chn lp trng cho lp Phn cng ging dy: gio vin dy lp no vi
mn hc g, hc k, nm hc no. Lu tr kt qu thi: hc vin thi mn hc no,
ln thi th my, im thi bao nhiu.
-
7/28/2019 co so du lieu SQL
48/228
Khoa HTTT-i hc CNTT 48
Bi 3: M hnh d liu quan h(Relational Data Model)
-
7/28/2019 co so du lieu SQL
49/228
Khoa HTTT-i hc CNTT 49
1. Gii thiu
2. Cc khi nim 2.1 Thuc tnh
2.2 Quan h
2.3 B gi tr
2.4 Th hin ca quan h
2.5 Tn t
2.6 Php chiu 2.7 Kha
2.8 Lc quan h v lc CSDL
2.9 Hin thc m hnh ER bng m hnh d liu quan h.
Ni dung
-
7/28/2019 co so du lieu SQL
50/228
Khoa HTTT-i hc CNTT 50
1. Gii thiu
M hnh D liu Quan h (Relational DataModel) da trn khi nim quan h.
Quan hl khi nim ton hc da trn nntng hnh thc v l thuyt tp hp.
M hnh ny do TS. E. F. Codd a ra nm1970.
-
7/28/2019 co so du lieu SQL
51/228
Khoa HTTT-i hc CNTT 51
2.1 Thuc tnh (attribute)
Thuc tnh: Tn gi: dy k t (gi nh)
Kiu d liu: S, Chui, Thi gian, Lun l, OLE. Min gi tr: tp gi tr m thuc tnh c th nhn. K
hiu min gi tr ca thuc tnh A l Dom(A).
V d:GIOITINH kiu d liu l Chui,min gi tr
Dom(GIOITINH)=(Nam,Nu) Ti mt thi im, mt thuc tnh khng c gi tr
hoc cha xc nh c gi tr => gi tr Null
-
7/28/2019 co so du lieu SQL
52/228
Khoa HTTT-i hc CNTT 52
2.2 Quan h (relation)
nh ngha: quan h l mt tp hu hn ccthuc tnh. K hiu: Trong Q l tn quan h, l tp
cc thuc tnh ca quan h Q
V d:HOCVIEN (Mahv, Hoten, Ngsinh, Gioitinh, Noisinh, Malop)LOP (Malop, Tenlop, Siso, Trglop, Khoa)
),...,,( 21 nAAAQ
nAAAQ ,...,, 21
-
7/28/2019 co so du lieu SQL
53/228
Khoa HTTT-i hc CNTT 53
2.3 B (tuple)
nh ngha:B l cc thng tin ca mt i tngthuc quan h, c gi l mu tin (record), dng.
Quan h l mt bng (table) vi cc ct l ccthuc tnh v mi dng c gi l b.
Mt b ca quan h lvi
V d: HOCVIEN(Mahv, Hoten, Ngsinh, Noisinh)c q=(1003,Nguyen Van Lam, 1/1/1987,Dong Nai)ngha l hc vin c m s l 1003, h tn l
Nguyen Van Lam, sinh ngy 1/1/1987 Dong Nai
),...,,( 21 nAAAQ ),...,,( 21 nAAAQ
)( ii ADoma
-
7/28/2019 co so du lieu SQL
54/228
Khoa HTTT-i hc CNTT 54
2.4 Th hin ca quan h
(instance) nh ngha: th hin ca mt quan h l tp hp cc
b gi tr ca quan h ti mt thi im nht nh.
K hiu:th hin ca quan h Q lTQ V d:THOCVIENl th hin ca quan h HOCVIEN ti
thi im hin ti gm c cc b nh sau:
HOCVIENMahv 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
-
7/28/2019 co so du lieu SQL
55/228
Khoa HTTT-i hc CNTT 55
2.5 Tn t
nh ngha: tn t l mt quy tc dng m t mt quan h.
K hiu: ||Q|| V d: THI (Mahv, Mamh, Lanthi, Diem)
||THI||: mi hc vin c php thi mt mn
hc nhiu ln, mi ln thi lu tr hc vinno thi mn g? ln thi th my? v im lbao nhiu?
-
7/28/2019 co so du lieu SQL
56/228
Khoa HTTT-i hc CNTT 56
2.6 Php chiu (1)
Php chiu: Dng trch gi tr ca mt s thuc tnhtrong danh sch cc thuc tnh ca quan h.
K hiu: php chiu ca quan h R ln tp thuc tnh Al R[A] hoc R.A.
V d:
hv1=
hv2 =
hv3 =
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
-
7/28/2019 co so du lieu SQL
57/228
Khoa HTTT-i hc CNTT 57
2.6 Php chiu (2)
Php chiu ca quan h HOCVIEN ln thuctnh NoiSinh ca quan h HOCVIEN:
HOCVIEN[Noisinh] = {Nghe An,Kien Giang,Tay Ninh}
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
-
7/28/2019 co so du lieu SQL
58/228
Khoa HTTT-i hc CNTT 58
Php chiu ln 1 tp thuc tnhK={Hoten,Noisinh} ca quan h HOCVIEN
HOCVIEN[Hoten, Noisinh] = {{Ha Duy Lap, NgheAn},{Tran Ngoc Han, Kien Giang},{Tran NgocLinh,Tay Ninh}}
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
2.6 Php chiu (3)
-
7/28/2019 co so du lieu SQL
59/228
-
7/28/2019 co so du lieu SQL
60/228
Khoa HTTT-i hc CNTT 60
Php chiu 1b ln 1 thuc tnh
hv1[Hoten] = {Ha Duy Lap}
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11
K1102 Tran Ngoc Han Nu Kien Giang K11K1104 Tran Ngoc Linh Nu Tay Ninh K11
hv1=
hv2=hv3=
2.6 Php chiu (5)
-
7/28/2019 co so du lieu SQL
61/228
Khoa HTTT-i hc CNTT 61
2.6 Php chiu (6)
Php chiu 1b ln 1 tp thuc tnh tp thuc tnh K={Hoten, Gioitinh} hv2[K] = {Tran Ngoc Han,Nu}
hv1 = hv2 =
hv3 =
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11K1102 Tran Ngoc Han Nu Kien Giang K11
K1104 Tran Ngoc Linh Nu Tay Ninh K11
-
7/28/2019 co so du lieu SQL
62/228
Khoa HTTT-i hc CNTT 62
2.7 Kha
2.7.1 Siu kha (super key)
2.7.2 Kha (key)
2.7.3 Kha chnh (primary key)
2.7.5 Kha ngoi (foreign key)
-
7/28/2019 co so du lieu SQL
63/228
Khoa HTTT-i hc CNTT 63
2.7.1 Siu kha (super key) (1)
Siu kha: l mt tp con cc thuc tnh ca Q+m gi tr ca chng c th phn bit 2b khc
nhau trong cng mt th hinTQbt k.Ngha l: t1, t2TQ, t1[K] t2[K] K l siukha ca Q.
Mt quan h c t nht mt siu kha (Q+
) v c thc nhiu siu kha.
-
7/28/2019 co so du lieu SQL
64/228
Khoa HTTT-i hc CNTT 64
2.7.1 Siu kha (super key) (2)
V d: cc siu kha ca quan h HOCVIEN l:{Mahv};{Mahv,Hoten};{Hoten};{Noisinh,Hoten}
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
-
7/28/2019 co so du lieu SQL
65/228
-
7/28/2019 co so du lieu SQL
66/228
Khoa HTTT-i hc CNTT 66
V d: cc siu kha ca quan h HOCVIEN l:{Mahv};{Mahv,Hoten};{Hoten};{Hoten,Gioitinh};
{Noisinh,Hoten};{Mahv,Hoten,Gioitinh,Noisinh}
=> th kha ca quan h HOCVIEN c th l{Mahv}; {Hoten}
V d: kha ca quan h GIANGDAY lK={Magv,Mamh,Malop}. Nh vy thuc tnh khas l: Magv,Mamh,Malop.
2.7.2 Kha (key) (2)
-
7/28/2019 co so du lieu SQL
67/228
Khoa HTTT-i hc CNTT 67
2.7.3 Kha chnh (primary key)
Khi ci t trn mt DBMS c th, nu quan h cnhiu hn mt kha, ta ch c chn mt v gi l
kha chnh K hiu: cc thuc tnh nm trong kha chnh khi
lit k trong quan h phi c gch di.
V d: HOCVIEN (Mahv,Hoten,Gioitinh,Noisinh,Malop)
GIANGDAY(Magv,Mamh,Malop,Hocky,Nam)
-
7/28/2019 co so du lieu SQL
68/228
-
7/28/2019 co so du lieu SQL
69/228
-
7/28/2019 co so du lieu SQL
70/228
Khoa HTTT-i hc CNTT 70
2.7.4 Kha ngoi (3)
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
LOP
Malop Tenlop Trglop Siso Magvcn
K11 Lop 1 khoa 1 K1106 11 GV07
K12 Lop 2 khoa 1 K1205 12 GV09
K13 Lop 3 khoa 1 K1305 12 GV14
-
7/28/2019 co so du lieu SQL
71/228
-
7/28/2019 co so du lieu SQL
72/228
Khoa HTTT-i hc CNTT 72
2.8 Lc quan h (2)
Lc quan h c c trng bi: Mt tn phn bit
Mt tp hp hu hn cc thuc tnh (A1, , An)
K hiu ca lc quan h Qgm nthuctnh (A1, A2, ... An) l :
Q(A1, A2, ..., An)
-
7/28/2019 co so du lieu SQL
73/228
Khoa HTTT-i hc CNTT 73
2.8 Lc quan h (3)
HOCVIEN(Mahv,Hoten,Gioitinh,Noisinh,Malop
Tn t: mi hc vin c mt m hc vin phn bit
vi cc hc vin khc. Cn lu tr h tn, gii tnh, nisinh v thuc lp no.
HOCVIEN
Mahv HoTen Gioitinh Noisinh Malop
K1103 Ha Duy Lap Nam Nghe An K11K1102 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
-
7/28/2019 co so du lieu SQL
74/228
-
7/28/2019 co so du lieu SQL
75/228
Khoa HTTT-i hc CNTT 75
HOCVIEN(MAHV, HO, TEN, NGSINH, GIOITINH, NOISINH, MALOP)
Tn t: mihc vin phn bitvi nhau bng m hc vin, lu trh tn, ngy sinh,gii tnh, ni sinh, thuclp no.
LOP(MALOP, TENLOP, TRGLOP, SISO, MAGVCN)Tn t: milpgm c m lp, tn lp,hc vin lm lptrngcalp,sslp vgio vin chnhim.
KHOA(MAKHOA, TENKHOA, NGTLAP, TRGKHOA)
Tn t: mi khoa cn lu tr m khoa, tn khoa, ngy thnh lp khoa v trng khoa(cng l mt gio vin thuc khoa).
MONHOC(MAMH, TENMH, TCLT, TCTH, MAKHOA)Tn t:mi mn hccnlutr tn mn hc,s tn ch l thuyt,s tn chthc hnh
v khoa noph trch.
DIEUKIEN(MAMH, MAMH_TRUOC)
Tn t: c nhng mn hchc vinphi c kinthctmts mn hctrc.
Lc CSDL qun l sinhvin
-
7/28/2019 co so du lieu SQL
76/228
Khoa HTTT-i hc CNTT 76
GIAOVIEN(MAGV,HOTEN,HOCVI,HOCHAM,GIOITINH,NGSINH,NGVL,
HESO, MUCLUONG, MAKHOA)
Tn t: m gio vin phnbitgia cc gio vin, cnlutrh tn, hcv,hc
hm, gii tnh, ngy sinh, ngy vo lm, hs,mclng v thucmt khoa.
GIANGDAY(MALOP,MAMH,MAGV,HOCKY, NAM,TUNGAY,DENNGAY)
Tn t: mihckcanmhcs phn cng gingdy: lp no hc mn g dogio vin noph trch.
KETQUATHI(MAHV, MAMH, LANTHI, NGTHI, DIEM, KQUA)
Tn t: lu trktqu thi cahc vin: hc vin no thi mn hc g, ln thi thmy, ngy thi l ngy no, im thi bao nhiu v ktqu l t hay khng t.
-
7/28/2019 co so du lieu SQL
77/228
-
7/28/2019 co so du lieu SQL
78/228
-
7/28/2019 co so du lieu SQL
79/228
-
7/28/2019 co so du lieu SQL
80/228
Khoa HTTT-i hc CNTT 80
2. Biu thc SQH
Biu thcSQH l mtbiu thcgm cc phpton SQH.
Biu thc SQH c xem nh mt quan h(khng c tn).
C tht tn cho quan hc to tmtbiu
thcSQH. C thi tn cc thuc tnh ca quan hcto
tmtbiuthcSQH.
-
7/28/2019 co so du lieu SQL
81/228
Khoa HTTT-i hc CNTT 81
3. Cc php ton
3.1 Gii thiu3.2 Php chn
3.3 Php chiu3.4 Php gn
3.5 Cc php ton trn tp hp
3.6 Php kt3.7 Php chia3.8 Hm tnh ton v gom nhm
-
7/28/2019 co so du lieu SQL
82/228
Khoa HTTT-i hc CNTT 82
3.1 Gii thiu (1)
C nm php ton c bn: Chn ( ) hoc ( : )
Chiu ( ) hoc ( [] ) Tch ( )
Hiu ( )
Hi ( )
-
7/28/2019 co so du lieu SQL
83/228
Khoa HTTT-i hc CNTT 83
3.1 Gii thiu (2)
Cc php ton khc khng c bn nhng hu ch: Giao ( )
Kt ( ) Chia ( )
Php b ( )
i tn ( )
Php gn ( ) Ktqu sau khi thchin cc php ton l cc quan
h, do c thkthpgia cc php ton tonn php ton mi.
-
7/28/2019 co so du lieu SQL
84/228
Khoa HTTT-i hc CNTT 84
3.2 Php chn (Selection)
Trch chn cc b (dng) t quan h R. Cc bctrch chnphitha mn iukinchn p.
K hiu: nhngha: p(t):thaiukin p
Ktqutrv l mt quan h, c cng danh sch thuc
tnh vi quan h R. Khng c ktqu trng. Php chn c tnh giao hon
)(Rp
)}(,/{)( tpRttRp
)())(())(()21(1221
RRRpppppp
-
7/28/2019 co so du lieu SQL
85/228
Khoa HTTT-i hc CNTT 85
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)
-
7/28/2019 co so du lieu SQL
86/228
Khoa HTTT-i hc CNTT 86
3.2 V d php chn
Tm nhnghc vin Nam c ni sinh TpHCM
(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
-
7/28/2019 co so du lieu SQL
87/228
Khoa HTTT-i hc CNTT 87
3.3 Php chiu (Project)
S dng trch chn gi tr mt vi thuc tnh caquan h
K hiu:
trong Ail 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
Rk
AAA
-
7/28/2019 co so du lieu SQL
88/228
Khoa HTTT-i hc CNTT 88
3.3 V d
Tm m s, h tn nhng hc vin Nam c ni sinh TpHCM
Mahv,Hoten(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
-
7/28/2019 co so du lieu SQL
89/228
-
7/28/2019 co so du lieu SQL
90/228
-
7/28/2019 co so du lieu SQL
91/228
Khoa HTTT-i hc CNTT 91
3.5.1 Gii thiu
Cc php ton thc hin trn 2 quan h xut pht t lthuyt tp hp ca ton hc: php hi (RS), phpgiao (RS), php tr (R-S), php tch (RS).
i vi cc php hi, giao, tr, cc quan h R v Sphi kh hp: S lng thuc tnh ca R v S phi bng nhau:
R(A1,A2,An) v S(B1,B2,Bn) Min gi tr ca thuc tnh phi tng thch
dom(Ai)=dom(Bi)
Quan h kt qu ca php hi, giao, tr c cng tnthuc tnh vi quan h u tin.
-
7/28/2019 co so du lieu SQL
92/228
Khoa HTTT-i hc CNTT 92
3.5.2 Php hi (Union)
}|{ StRttSR
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
-
7/28/2019 co so du lieu SQL
93/228
-
7/28/2019 co so du lieu SQL
94/228
-
7/28/2019 co so du lieu SQL
95/228
-
7/28/2019 co so du lieu SQL
96/228
Khoa HTTT-i hc CNTT 96
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
-
7/28/2019 co so du lieu SQL
97/228
Khoa HTTT-i hc CNTT 97
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
-
7/28/2019 co so du lieu SQL
98/228
Khoa HTTT-i hc CNTT 98
3.6.1 Php kt (Theta-Join) (1)
Theta-join (): Tng t nh php tch kt hp viphp 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 khngxuthin trong ktquca php kt.
Php kt vi iu kin tng qut gi l -kt vi lmt trong nhng php so snh (,,,,,)
SRp
-
7/28/2019 co so du lieu SQL
99/228
-
7/28/2019 co so du lieu SQL
100/228
Khoa HTTT-i hc CNTT 100
3.6.2 Php kt bng, kt t nhin
Nu l php so snh bng (=), php kt gi lphp 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 1trong 2 ct ging nhau)
K hiu: hoc
LOPHOCVIENTrglopMahv
KETQUATHIHOCVIENMahv
KETQUATHIHOCVIENMahv
*
-
7/28/2019 co so du lieu SQL
101/228
Khoa HTTT-i hc CNTT 101
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 vicc 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 ims ca cc mn hc m hc vin thi (nu c)
-
7/28/2019 co so du lieu SQL
102/228
Khoa HTTT-i hc CNTT 102
3.6.3 Php kt ngoi (2)
HOCVIEN KETQUATHImahv
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
-
7/28/2019 co so du lieu SQL
103/228
Khoa HTTT-i hc CNTT 103
nhngha:
R v S l hai quan h, R+ v S+ ln lt l tp
thuc tnh ca R v S. iukin S+
l tp conkhng bngca R+. Q l ktqu php chia gia Rv S, Q+ = R+ - S+
C thdintbng php ton isnh sau:
3.7 Php chia (Division)
}),(,/{ RstSstSRQ
21
12
1
))((
)(
TTT
RTST
RT
SR
SR
-
7/28/2019 co so du lieu SQL
104/228
Khoa HTTT-i hc CNTT 104
3.7 Php chia (2)
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
][
],[
MamhMONHOCMONHOC
MamhMahvKETQUATHIKETQUA
3 8 Hm tnh ton v gom nhm
-
7/28/2019 co so du lieu SQL
105/228
Khoa HTTT-i hc CNTT 105
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
Gil thuc tnh gom nhm (rng, nu khng gom nhm) Fi l hm tnh ton
Ail tn thuc tnh
)()(),...,(),(,...,, 221121 Ennn AFAFAFGGG
3 8 Hm tnh ton v gom nhm
-
7/28/2019 co so du lieu SQL
106/228
Khoa HTTT-i hc CNTT 106
3.8 Hm tnh ton v gom nhm(2)
im thi cao nht, thp nht, trung bnh camn CSDL ?
im thi cao nht, thp nht, trung bnh ca
tng mn ?)()(),min(),max( KETQUATHIDiemavgDiemDiemMamh
)(CSDL''Mamh)(),min(),max( KETQUATHIDiemagvDiemDiem
-
7/28/2019 co so du lieu SQL
107/228
M t cc cu truy vn sau
-
7/28/2019 co so du lieu SQL
108/228
Khoa HTTT-i hc CNTT 108
M t cc cu truy vn saubng SQH
1. In ra danh sch cc sn phm (MASP,TENSP) do Trung Qucsn xut c gi t 30.000 n 40.000
2. In ra danh sch cc khch hng (MAKH, HOTEN) mua hngtrong ngy 1/1/2007.
3. In ra danh sch cc sn phm (MASP,TENSP) do Trung Quocsn 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
-
7/28/2019 co so du lieu SQL
109/228
-
7/28/2019 co so du lieu SQL
110/228
Khoa HTTT-i hc CNTT 110
Cu 2
In ra danh sch cc khch hng (MAKH,
HOTEN) mua hng trong ngy 1/1/2007.
],[)#2007/1/1#(: hotenmakhnghdHOADONKHACHHANGMAKH
)()#2007/1/1#(, KHACHHANGHOADONMAKH
nghdhotenmasp
-
7/28/2019 co so du lieu SQL
111/228
-
7/28/2019 co so du lieu SQL
112/228
Khoa HTTT-i hc CNTT 112
Cu 4
Tm cc s ha n mua cng lc cc snphm c m s BB01 v BB02.
BAC
sohdBBmaspCTHDB
sohdBBmaspCTHDA
])['02'(:
])['01'(:
BAC
CTHDB
CTHDA
BBmaspsohd
BBmaspsohd
)(
)(
'02'
'01'
Hoc
-
7/28/2019 co so du lieu SQL
113/228
C 6
-
7/28/2019 co so du lieu SQL
114/228
Khoa HTTT-i hc CNTT 114
Cu 6
ABC
CTHDSANPHAMB
SANPHAMA
MASP
Singaporenuocsxsohdmasp
Singaporenuocsxmasp
)(
)(
'',
''
Tm s ha n mua tt c cc sn phmdo Singapore sn xut
-
7/28/2019 co so du lieu SQL
115/228
-
7/28/2019 co so du lieu SQL
116/228
1 Gii hi
-
7/28/2019 co so du lieu SQL
117/228
Khoa HTTT-i hc CNTT 117
L ngn ng chun truy vn v thao tc trnCSDL quan h
L ngn ng phi th tc Khi ngun ca SQL l SEQUEL - Structured
English Query Language, nm 1974) Cc chun SQL
SQL89 SQL92 (SQL2)
SQL99 (SQL3)
1. Gii thiu
2 C i i
-
7/28/2019 co so du lieu SQL
118/228
Khoa HTTT-i hc CNTT 118
2. Cc ngn ng giao tip
Ngn ng nh ngha d liu (Data DefinitionLanguage - DDL): cho php khai bo cu trc bng,cc mi quan h v cc rng buc.
Ngn ng thao tc d liu (Data ManipulationLanguage - DML): cho php thm, xa, sa d liu.
Ngn ng truy vn d liu (Structured Query
LanguageSQL): cho php truy vn d liu. Ngn ng iu khin d liu (Data Control
LanguageDCL): khai bo bo mt thng tin, cpquyn v thu hi quyn khai thc trn c s d liu.
3 N h h d li
-
7/28/2019 co so du lieu SQL
119/228
Khoa HTTT-i hc CNTT 119
3.1 Lnh to bng (CREATE)3.1.1 C php
3.1.2 Mt s kiu d liu3.2 Lnh sa cu trc bng (ALTER)
3.2.1 Thm thuc tnh3.2.2 Sa kiu d liu ca thuc tnh
3.2.3 Xo thuc tnh3.2.4 Thm rng buc ton vn3.2.5 Xo rng buc ton vn
3.3 Lnh xa bng (DROP)
3. Ngn ng nh ngha d liu
3 1 L h t b
-
7/28/2019 co so du lieu SQL
120/228
Khoa HTTT-i hc CNTT 120
3.1.1 C php
CREATE TABLE (
[not null], [not null],
[not null],khai bo kha chnh, kha ngoi, rng buc)
3.1 Lnh to bng
-
7/28/2019 co so du lieu SQL
121/228
3 1 L h t b (3)
-
7/28/2019 co so du lieu SQL
122/228
Khoa HTTT-i hc CNTT 122
3.1 Lnh to bng (3)
Lc CSDL qun l bn hng gm c cc quan h sau:
KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH,DOANHSO, NGDK, CMND)
NHANVIEN (MANV,HOTEN, NGVL, SODT)
SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)
HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)
CTHD (SOHD,MASP,SL)
3 1 L h t b (4)
-
7/28/2019 co so du lieu SQL
123/228
Khoa HTTT-i hc CNTT 123
3.1 Lnh to bng (4)
Create table KHACHHANG
(
MAKH char(4) primary key,
HOTEN varchar(40),
DCHI varchar(50),
SODT varchar(20),
NGSINH smalldatetime,
DOANHSO money,
NGDK smalldatetime,
CMND varchar(10)
)
3 1 L h t b (5)
-
7/28/2019 co so du lieu SQL
124/228
Khoa HTTT-i hc CNTT 124
3.1 Lnh to bng (5)
Create table CTHD
(
SOHD int foreign keyreferences HOADON(SOHD),
MASP char(4) foreign keyreferences SANPHAM(MASP),
SL int,constraint PK_CTHD primary key (SOHD,MASP)
)
3 2 S t b (1)
-
7/28/2019 co so du lieu SQL
125/228
Khoa HTTT-i hc CNTT 125
3.2.1 Thm thuc tnhALTER TABLE tnbng ADD tnct kiudliu
V d: thm ct Ghi_chu vo bng khch hngALTER TABLE KHACHHANG ADD GHI_CHU varchar(20)
3.2.2 Sa kiu d liu thuc tnhALTER TABLE tnbng ALTER COLUMN tnct
kiudliu_mi
Lu :
Khng phi sa bt k kiu d liu no cng c
3.2 Sa cu trc bng(1)
3 2 S t b (2)
-
7/28/2019 co so du lieu SQL
126/228
Khoa HTTT-i hc CNTT 126
V d: Sa Ct Ghi_chu thnh kiu d liu varchar(50)ALTER TABLE KHACHHANG ALTER COLUMN GHI_CHU varchar(50)
Nu sa kiu d liu ca ct Ghi_chu thnh varchar(5), m
trc nhp gi tr cho ct Ghi_chu c di hn 5kt th khng c php.
Hoc sa t kiu chui k t sang kiu s,
3.2.3 Xa thuc tnhALTER TABLE tn_bng DROP COLUMN tn_ct
V d: xa ct Ghi_chu trong bng KHACHHANGALTER TABLE NHANVIEN DROP COLUMN Ghi_chu
3.2 Sa cu trc bng(2)
3 2 Sa c trc bng(3)
-
7/28/2019 co so du lieu SQL
127/228
Khoa HTTT-i hc CNTT 127
3.2.4 Thm rng buc ton vn
ALTER TABLE ADD CONSTRAINT
UNIQUE tn_ct
PRIMARY KEY (tn_ct)
FOREIGN KEY (tn_ct)REFERENCES tn_bng(ct_l_kha_chnh) [ONDELETE CASCADE] [ON
UPDATE CASCADE]
CHECK (tn_ctiu_kin)
3.2 Sa cu trc bng(3)
-
7/28/2019 co so du lieu SQL
128/228
3 2 Sa cu trc bng(5)
-
7/28/2019 co so du lieu SQL
129/228
Khoa HTTT-i hc CNTT 129
3.2.5 Xa rng buc ton vnALTER TABLE tn_bng DROP CONSTRAINT
tn_rng_buc V d:
Alter table CTHD drop constraint FK_CT_SP
Alter table SANPHAM drop constraint ck_gia
Lu : i vi rng buc kha chnh, mun xarng buc ny phi xa ht cc rng buc khangoi tham chiu ti n
3.2 Sa cu trc bng(5)
3 3 Lnh xa bng
-
7/28/2019 co so du lieu SQL
130/228
Khoa HTTT-i hc CNTT 130
C php
DROP TABLE tn_bng
V d: xa bng KHACHHANG.DROP TABLE KHACHHANG
Lu : khi mun xa mt bng phi xa tt
c nhng kha ngoi tham chiu ti bng trc.
3.3 Lnh xa bng
4 Ngn ng thao tc d liu
-
7/28/2019 co so du lieu SQL
131/228
Khoa HTTT-i hc CNTT 131
Gm cc lnh:
4.1 Lnh thm d liu (INSERT)
4.2 Lnh sa d liu (UPDATE)
4.3 Lnh xa d liu (DELETE)
4. Ngn ng thao tc d liu
4 1 Thm d liu
-
7/28/2019 co so du lieu SQL
132/228
Khoa HTTT-i hc CNTT 132
C php
INSERT INTO tn_bng (ct1,,ctn) VALUES(gi_tr_1,., gi_tr_n)
INSERT INTO tn_bng VALUES (gi_tr_1,gi_tr_2,, gi_tr_n)
V d: insert into SANPHAM values('BC01','But chi', 'cay',
'Singapore', 3000)
insert into SANPHAM(masp,tensp,dvt,nuocsx,gia)
values ('BC01','But chi','cay','Singapore',3000)
4.1 Thm d liu
4 2 Sa d liu
-
7/28/2019 co so du lieu SQL
133/228
Khoa HTTT-i hc CNTT 133
C php
UPDATE tn_bngSET ct_1 = gi_tr_1, ct_2 = gi_tr_2 .
[WHERE iu_kin] Lu : cn thn vi cc lnh xa v sa, nu khng
c iu kin WHERE ngha l xa hoc sa tt c. V d: Tng gi 10% i vi nhng sn phm do
Trung Quoc sn xutUPDATE SANPHAMSET Gia = Gia*1.1WHERE Nuocsx=Trung Quoc
4.2 Sa d liu
4 3 Xa d liu
-
7/28/2019 co so du lieu SQL
134/228
Khoa HTTT-i hc CNTT 134
4.3 Xa d liu
C php
DELETE FROM tn_bng [WHERE iu_kin]
V d: Xa ton b nhn vin
DELETE FROM NHANVIEN
Xa nhng sn phm do Trung Quc sn xut c gi thp
hn 10000DELETE FROM SANPHAMWHERE (Gia
-
7/28/2019 co so du lieu SQL
135/228
Khoa HTTT-i hc CNTT 135
g g y cu trc
5.1 Cu truy vn tng qut5.2 Truy vn n gin
5.3 Php kt5.4 t b danh, s dng *, distinct5.5 Cc ton t5.6 Cu truy vn con (subquery)5.7 Php chia
5.8 Hm tnh ton, gom nhm
5 1Cu truy vn tng qut
-
7/28/2019 co so du lieu SQL
136/228
Khoa HTTT-i hc CNTT 136
SELECT [DISTINCT] *|tn_ct | hm
FROM bng
[WHERE iu_kin][GROUP BY tn_ct]
[HAVING iu_kin]
[ORDER BY tn_ct ASC | DESC]
5.1Cu truy vn tng qut
5 2 Truy vn n gin(1)
-
7/28/2019 co so du lieu SQL
137/228
Khoa HTTT-i hc CNTT 137
5.2 Truy vn n gin(1)
SELECT
Tng ng php chiu ca SQH Lit k cc thuc tnh cn hin th trong kt qu
WHERE
Tng ng vi iu kin chn trong SQH iu kin lin quan ti thuc tnh, s dng cc php ni
lun l AND, OR, NOT, cc php ton so snh,BETWEEN
FROM
Lit k cc quan h cn thit, cc php kt
5 2 Truy vn n gin(2)
-
7/28/2019 co so du lieu SQL
138/228
Khoa HTTT-i hc CNTT 138
5.2 Truy vn n gin(2)
Tm masp, tensp do Trung Quoc sn xutc gi t 20000 n 30000
Select masp,tensp
From SANPHAM
Where nuocsx=Trung Quocand gia between 20000 and 30000
5 3 Php kt(1)
-
7/28/2019 co so du lieu SQL
139/228
Khoa HTTT-i hc CNTT 139
5.3 Php kt(1)
Inner Join, Left Join, Right Join, Full Join
V d: In ra danh sch cc khch hng (MAKH,
HOTEN) mua hng trong ngy 1/1/2007.select KHACHHANG.makh,hotenfrom KHACHHANG inner join HOADON on
KHACHHANG.makh=HOADON.makhwhere nghd='1/1/2007'
-
7/28/2019 co so du lieu SQL
140/228
5 4 t b danh s dng * distinct
-
7/28/2019 co so du lieu SQL
141/228
Khoa HTTT-i hc CNTT 141
5.4 t b danh, s dng , distinct
t b danh Alias: cho thuc tnh v quan h:tn_c AS tn_mi Select manv,hoten as [ho va ten] From NHANVIEN
Lit k tt c cc thuc tnh ca quan h: Select * from Nhanvien
Select NHANVIEN.* from NHANVIEN
Distinct: trng ch ly mt ln Select distinct nuocsx from SANPHAM
Sp xp kt qu hin th: Order by Select * from SANPHAM order by nuocsx, gia DESC
5 5 Ton t truy vn(1)
-
7/28/2019 co so du lieu SQL
142/228
Khoa HTTT-i hc CNTT 142
5.5 Ton t truy vn(1)
Ton t so snh: =, >,=,
-
7/28/2019 co so du lieu SQL
143/228
Khoa HTTT-i hc CNTT 143
5.5 Ton t truy vn(2)
IS NULL, IS NOT NULL
Select sohd from HOADON where makh is Null
Select * from HOADON where makh is Not Null
Ton t so snh, php ton Select gia*1.1 as [gia ban] from SANPHAM where
nuocsxViet Nam Select * from SANPHAM where (gia between 20000 and
30000) OR (nuocsx=Viet Nam) Ton t IN, NOT IN
Select * from SANPHAM where masp NOT IN(BB01,BB02,BB03)
5 5 Ton t so snh(3)
-
7/28/2019 co so du lieu SQL
144/228
Khoa HTTT-i hc CNTT 144
Ton t LIKE
So snh chui tng i
C php: s LIKE p, p c th cha % hoc _
% : thay th mt chui k t bt k
_ : thay th mt k t bt k V d: Select masp,tensp from SANPHAM
where masp like 'B%01
5.5 Ton t so snh(3)
5 6 Cu truy vn con (1)
-
7/28/2019 co so du lieu SQL
145/228
Khoa HTTT-i hc CNTT 145
5.6 Cu truy vn con (1)
In hoc Exists V d: Tm cc s ha n mua cng lc 2 sn phm
c m s BB01 v BB02. select distinct sohd
from CTHD where masp='BB01' and sohd IN(select distinct sohd from CTHD where masp='BB02')
select distinct A.sohd
from CTHD A where A.masp='BB01' andEXISTS (select * from CTHD B
where B.masp='BB02 and A.sohd=B.sohd)
5 6 Cu truy vn con (2)
-
7/28/2019 co so du lieu SQL
146/228
Khoa HTTT-i hc CNTT 146
5.6 Cu truy vn con (2)
Not In hoc Not Exists V d: Tm cc s ha n c mua sn phm m s
BB01 nhng khng mua sn phm m s BB02. select distinct sohd
from CTHD where masp='BB01' and sohd NOT IN(select distinct sohd from CTHD where masp='BB02')
select distinct A.sohd
from CTHD A where A.masp='BB01' andNOT EXITST (select * from CTHD B
where B.masp='BB02 and A.sohd=B.sohd)
5 7 Php chia
-
7/28/2019 co so du lieu SQL
147/228
Khoa HTTT-i hc CNTT 147
5.7 Php chia
S dng NOT EXISTS V d: Tm s ha n mua tt c nhng sn
phm do Trung Quoc sn xut.
Select sohd from HOADON where not exists(select * from SANPHAM
where nuocsx=Trung Quoc and not exists(select * from CTHD whereHOADON.sohd=CTHD.sohd andCTHD.masp=SANPHAM.masp))
5.8 Cc hm tnh ton v gomh (1)
-
7/28/2019 co so du lieu SQL
148/228
Khoa HTTT-i hc CNTT 148
5.8.1 Cc hm tnh ton c bn
COUNT: m s b d liu ca thuc tnh
MIN: Tnh gi tr nh nht
MAX: Tnh gi tr ln nht
AVG: Tnh gi tr trung bnh
SUM: Tnh tng gi tr cc b d liu
nhm (1)
-
7/28/2019 co so du lieu SQL
149/228
V d
-
7/28/2019 co so du lieu SQL
150/228
Khoa HTTT-i hc CNTT 150
V d
1. Tnh lng thp nht, cao nht, trung bnh v tnglng ca tt c cc nhn vin.
2. C tt c bao nhiu nhn vin3. Bao nhiu nhn vin c ngi qun l
4. Bao nhiu phng ban c nhn vin trc thuc
5. Tnh lng trung bnh ca cc nhn vin
6. Tnh lng trung bnh ca cc nhn vin theotng phng ban
-
7/28/2019 co so du lieu SQL
151/228
Khoa HTTT-i hc CNTT 151
1. Tnh lng thp nht, cao nht, trung bnhv tng lng ca tt c cc nhn vin.
SELECT min(luong) as thapnhat,max(luong) as caonhat,avg(luong) as trungbinh,
sum(luong) as tongluong
FROM NhanVien
-
7/28/2019 co so du lieu SQL
152/228
Khoa HTTT-i hc CNTT 152
2. C tt c bao nhiu nhn vin
SELECT count(*) FROM NhanVien
3. Bao nhiu nhn vin c ngi qun l
Select count(*) FROM NhanVien WHERE manql is not null
SELECT count(Manql) FROM NhanVien
4. Bao nhiu phng ban c nhn vin trc thuc
SELECT count(distinct phong) FROM NhanVien
5.8 Cc hm tnh ton v gomh (2)
-
7/28/2019 co so du lieu SQL
153/228
Khoa HTTT-i hc CNTT 153
nhm (2)
5.8.2 Gom nhm: mnh GROUP BY
S dng hm gom nhm trn cc b trong quan h.
Mi nhm b bao gm tp hp cc b c cng gi tr trncc thuc tnh gom nhm
Hm gom nhm p dng trn mi b c lp nhau.
SQL c mnh GROUP BY ch ra cc thuc tnhgom nhm, cc thuc tnh ny phi xut hin trong mnh SELECT
-
7/28/2019 co so du lieu SQL
154/228
Khoa HTTT-i hc CNTT 154
5. Tnh lng trung bnh ca cc nhn vin
SELECT avg(LUONG) as LUONGTBFROM NhanVien
6. Tnh lng trung bnh ca cc nhn vin theo tngphng ban.
SELECT phong, avg(LUONG) as LUONGTBFROM NhanVienGROUP BY phong
5.8 Cc hm tnh ton v gomh (3)
-
7/28/2019 co so du lieu SQL
155/228
Khoa HTTT-i hc CNTT 155
nhm (3)
5.8.3 iu kin sau gom nhm: mnh HAVING Lc kt qu theo iu kin, sau khi gom nhm
iu kin HAVING c thc hin sau khi gom nhm,cc iu kin c lin quan n thuc tnh Group By
V d: tm phng c s lng nhn vin N trn 5 ngiSELECT phong
FROM NhanVienWHERE phai = N
GROUP BY phong
HAVING count(manv) > 5
-
7/28/2019 co so du lieu SQL
156/228
Khoa HTTT-i hc CNTT 156
Bi 6: Ngn ng tn t
Ni dung
-
7/28/2019 co so du lieu SQL
157/228
Khoa HTTT-i hc CNTT 157
N du g
1. Gii thiu2. C php
3. Cc nh ngha4. Din gii ca mt cng thc5. Quy tc lng gi cng thc
6. Ngn ng tn t c bin l n b7. Ngn ng tn t c bin l min gi tr
1. Gii thiu
-
7/28/2019 co so du lieu SQL
158/228
Khoa HTTT-i hc CNTT 158
Ngn ng tn t l ngn ng truy vn hnh thc do Codd ngh (1972-1973) c Lacroit, Proix v Ullman phttrin, ci t trong mt s ngn ng nh QBE, ALPHA..
c im: Ngn ng phi th tc Rt trch ci g ch khng phi rt trch nh th no Kh nng din t tng ng vi i s quan h
C hai loi: C bin l n b C bin l min gi tr
2. C php
-
7/28/2019 co so du lieu SQL
159/228
Khoa HTTT-i hc CNTT 159
p p
( ) : biu thc trong ngoc Bin: dng ch thng cui b k t: x,y,z,t,s Hng: dng ch thng u b k t: a,b,c, Hm: l mt nh x t mt min gi tr vo tp hp gm 2
gi tr: ng hoc sai. Thng dng ch thng gia bk t: h,g,f,
Tn t: l mt biu thc c xy dng da trn biu thc
logic. Dng ch in hoa gia b k t P,Q,R Cc php ton logic: ph nh (), ko theo (), v (),
hoc (). Cc lng t: vi mi (), tn ti ()
3. Cc nh ngha (1)
-
7/28/2019 co so du lieu SQL
160/228
Khoa HTTT-i hc CNTT 160
g ( )
nh ngha 1: Tn t 1 ngi Tn t 1 ngi c nh ngha trn tp X v bin x c gi tr
chy trn cc phn t ca X. Vi mi gi tr ca x, tn t P(x) l mt mnh logic, tc l nc gi tr ng () hoc sai (S) V d
P(x), x l bin chy trn X, l mt tn t
P(gt), gtX l mt mnh , X = {Nguyen Van A, Tran Thi B} Vi tn t N(x) c xc nh: x l ngi n. Khi Mnh N(Nguyen Van A): cho kt qu Sai N(Tran Thi B): cho kt qu ng
3. Cc nh ngha (2)
-
7/28/2019 co so du lieu SQL
161/228
Khoa HTTT-i hc CNTT 161
g ( )
nh ngha 2: Tn t n ngi Tn t n ngi c nh ngha trn cc tp X1, X2, , Xn v
n bin x1
, x2
, , xn
ly gi tr trn cc tp Xi
tng ng.
Vi mi gi tr aiXi, xi=ai.Tn t n ngi l mt mnh .
K hiu: P(x1, x2, , xn)
V d: CHA(x1,x2): x1l CHA ca x2
Ch : Cc Xikhng nht thit phi l ri nhau
Vi xi=ai, P(x1, x2, , ai, , xn) l tn t n-1 ngi
3. Cc nh ngha (3)
-
7/28/2019 co so du lieu SQL
162/228
Khoa HTTT-i hc CNTT 162
g ( )
nh ngha 3: T T l mt hng hay l mt bin Nu f(t1, t2, , tn) l hm n ngi th f l mt t
nh ngha 4: Cng thc Cng thc nguyn t: P(t1, t2, , tn), til cc t Nu F1, F2l cc cng thc th cc biu thc sau cng l cc
cng thc: F1F2, F1F2, F1=>F2, F1 Nu F1l mt cng thc th :F1, x:F1cng l cc cng thc Nu F1l cng thc th (F1) cng l mt cng thc
3. Cc nh ngha (4)
-
7/28/2019 co so du lieu SQL
163/228
Khoa HTTT-i hc CNTT 163
g ( )
nh ngha 4: Cng thc ngl cng thc nu mi bin u c km
vi lng t. (khng nh , S) Cng thc ml cng thc tn ti 1bin khng km
lng t. (tm kim thng tin)
V d: C1:xty(P(x,y,a)z(Q(y,z,t)R(x,t)) l cng thc
ng v cc bin x,y,z,t u c km lng t , C2:x t (P(x,y,a)z(Q(y,z,t)R(x,t)) l cng thc m
v bin y khng c lng t ,
4. Din gii ca mt cng thc
-
7/28/2019 co so du lieu SQL
164/228
Khoa HTTT-i hc CNTT 164
g g
Gm 4 phn: Min gi tr ca cc bin ca cng thc (k
hiu l tp M) S dng cc hng, cc tn t ( ngha tn t,
xc nh c quan h n ngi)
ngha ca cng thc Xc nh 1 quan h n ngi trn tp Mn
5. Quy tc lng gi cng thc
-
7/28/2019 co so du lieu SQL
165/228
Khoa HTTT-i hc CNTT 165
Q y g g g
Lng gi tn t: xt tn t bc n: P(x1,x2,xn) v linkt vi quan h R, n ngi.
P(a1,a2,,an): (a1,a2,,an) RP(a1,a2,,an): S (a1,a2,,an) R
Cc php ton ,,,dng bng chn tr Lng t : gi x l bin. Cng thc x F(x) l ng
khi c t nht mt ai
M/F(ai):M={a1,a2,,an} F(ai), aiM Lng t : x l bin, x F(x): vi aiM/F(ai):
M={a1,a2,,an} F(ai), aiM
6. Ngn ng tn t c bin l n b
-
7/28/2019 co so du lieu SQL
166/228
Khoa HTTT-i hc CNTT 166
g g
6.1 Qui tc
6.2 nh ngha
6.3 Cng thc an ton
6.4 Biu din cc php ton
6.1 Quy tc (1)
-
7/28/2019 co so du lieu SQL
167/228
Khoa HTTT-i hc CNTT 167
Q y ( )
1. Bin l 1b ca quan h2. T: hng, bin hoc biu thc c dng s[C], s:
bin, C: tp cc thuc tnh ca quan h c gil t chiu.
3. Cng thc: Rs (R l quan h, s l bin) c gi l t. Min gi tr
s nh ngha min bin thin ca s. t1 a , t1 t2 y t1,t2l cc t chiu, cn a l mt
hng, l ton t so snh dc gi l cng thcnguyn t
6.1 Quy tc (2)
-
7/28/2019 co so du lieu SQL
168/228
Khoa HTTT-i hc CNTT 168
Q y ( )
4. Mt cng thc nguyn tl mt cng thc
5. F1 v F2l cng thc: F1F2, F1F2,
F1F2, F1 l cng thc6. F l cng thc , s l bin sF, sF l cng
thc
7. F l cng thc, (F) l cng thc
6.2 nh ngha
-
7/28/2019 co so du lieu SQL
169/228
Khoa HTTT-i hc CNTT 169
g
Mt cu hi trong ngn ng tn t c bin ln b c biu din nh sau: {s | F} . Trong
s l bin n b, F l mt cng thc ch cmt bin t do l s. V d: BIENGIOI(nuoc,tinhtp). Php ton
quan h BIENGIOI[nuoc] c chuyn
thnh cu hi trong ngn ng tn t c binl b: {s[nuoc] BIENGIOI s}
6.3 Cng thc an ton
-
7/28/2019 co so du lieu SQL
170/228
Khoa HTTT-i hc CNTT 170
F l cng thc an ton: nu n tho mn 3 iu kin sau:i) Nu s l b n tha: F(s) l ng th mi thnh phn ca s
l phn t ca DOM(F):
ii) F l cng thc con ca F:
iii)
g
)():( FDOMsngsF
)'(:',' FDOMsngsFssF
)'(:',' FDOMsngsFssF
6.4 Biu din cc php ton (1)
-
7/28/2019 co so du lieu SQL
171/228
Khoa HTTT-i hc CNTT 171
1. Php hi Q1,Q2l cc quan h n chiu F1, F2l cc cng thc ng vi Q1, Q2 Cng thc ca Q= Q1Q2 Fs=F1sF2s
2. Php tr Q
1
,Q2
l cc quan h n chiu F1, F2l cc cng thc ng vi Q1, Q2 Cng thc ca Q= Q1-Q2 Fs=F1F2s
6.4 Biu din cc php ton (2)
-
7/28/2019 co so du lieu SQL
172/228
Khoa HTTT-i hc CNTT 172
3. Php tch
Q1(x1,,xm), Q2(y1,,yn)
F1, F2l cc cng thc ng vi Q1, Q2 Cng thc ca Q= Q1 x Q2
Fs: s(x1,,xm,y1,,yn)
Fs=(v) ( p) (F1v F2p s1=v1sm=vm sm+1=p1 sm+n=pn)
6.4 Biu din cc php ton (3)
-
7/28/2019 co so du lieu SQL
173/228
Khoa HTTT-i hc CNTT 173
4. Php chiu Q1(x1,,xn), F1l cc cng thc ng vi Q1
Cng thc ca Q= Q1 [xi1, xi2,,xik]Fs=(v) (F1v s1=vi1s2=vi2 sk=vik)
5. Php chn Q1l quan h n chiu, F1l cng thc ng vi Q1 Cng thc Q=Q1:iu kin K (K:xixjhoc xia)
Fs=F1s si sj hoc F1s si a (1i, j n, ij)
7. Ngn ng tn t c bin l min gitr
-
7/28/2019 co so du lieu SQL
174/228
Khoa HTTT-i hc CNTT 174
tr
7.1 Quy tc
7.2 Biu din cu hi
7.3 Cng thc an ton
7.4 Biu din cc php ton
7.1 Quy tc
-
7/28/2019 co so du lieu SQL
175/228
Khoa HTTT-i hc CNTT 175
1. T: l hng hoc bin2. Cng thc nguyn t
Q(t1
,t2
,,tn
): ti
l cc t, Q l quan h ti tj ,tia vi til t, a l mt hng, l php ton
3. Mt cng thc nguyn tl mt cng thc4. F1 v F2l cng thc: F1F2, F1F2, F1F2, F1 l
cng thc5. F l cng thc , t:bin t do, sF,sF cng cng thc6. F l cng thc, (F) l cng thc
7.2 Biu din cu hi
-
7/28/2019 co so du lieu SQL
176/228
Khoa HTTT-i hc CNTT 176
{(x1,x2,,xn) | F(x1,x2,,xn)}
xil cc bin t do ca F
Q= {(x1,x2,,xn) | F(x1,x2,,xn)} nn(x1,x2,,xn)Q F(x1,x2,,xn):ng
7.3 Cng thc an ton
-
7/28/2019 co so du lieu SQL
177/228
Khoa HTTT-i hc CNTT 177
F l cng thc an ton: nu n tho mn 3 iu kin sau:i) Nu s l b n tha: F(s) l ng th mi thnh phn ca s
l phn t ca DOM(F):
ii) F l cng thc con ca F:
iii)
niFDOMi
xngnxxF ,...,1,)():),...,1((
)'(:' FDOMxngxF
)'(:' FDOMxngxF
niFDOMi
xngnxxF ,...,1,)():),...,1((
7.4 Biu din cc php ton (1)
-
7/28/2019 co so du lieu SQL
178/228
Khoa HTTT-i hc CNTT 178
1. Php hi Q1,Q2l cc quan h n chiu F1, F2l cc cng thc ng vi Q1, Q2 Cng thc ca Q= Q1Q2 F=F1F2
2. Php tr Q
1
,Q2
l cc quan h n chiu F1, F2l cc cng thc ng vi Q1, Q2 Cng thc ca Q= Q1-Q2 F=F1F2
7.4 Biu din cc php ton (2)
-
7/28/2019 co so du lieu SQL
179/228
Khoa HTTT-i hc CNTT 179
3. Php tch
Q1(x1,,xm), Q2(y1,,yn)
F1, F2l cc cng thc ng vi Q1, Q2 Cng thc ca Q= Q1 x Q2
F(x1,,xm,y1,,yn) =F1(x1,,xm)F2(y1,,yn)
7.4 Biu din cc php ton (3)
-
7/28/2019 co so du lieu SQL
180/228
Khoa HTTT-i hc CNTT 180
4. Php chiu Q1(x1,,xn), F1(x1,,xn) l cc cng thc ng vi Q1 Cng thc ca Q= Q1 [xi1, xi2,,xik]
Fs(xi1, xi2,,xik)= (xji)(xjz)(xjn-k)(F1(x1,,xn))trong (xi1, xi2,,xik)(xj1, xj2,,xjn-k)=(x1, x2,,xn)
5. Php chn Q1(x1,,xn), F1(x1,,xn) l cc cng thc ng vi Q1 Cng thc Q=Q1:iu kin K (K:xixjhoc xia)
F1(x1,,xn)= F1(x1,,xn) xi xj hoc= F1(x1,,xn) xi a
Bi 7: Rng buc ton vn
-
7/28/2019 co so du lieu SQL
181/228
Khoa HTTT-i hc CNTT 181
Bi 7: Rng buc ton vn
Ni dung chnh
-
7/28/2019 co so du lieu SQL
182/228
Khoa HTTT-i hc CNTT 182
1. Gii thiu rng buc ton vn (RBTV)
2. Cc c trng ca mt RBTV
3. Phn loi RBTV4. Bng tm nh hng tng hp
1. Gii thiu
-
7/28/2019 co so du lieu SQL
183/228
Khoa HTTT-i hc CNTT 183
Rng buc ton vn l cc quy nh, iu kin tng dng thc t, cc iu kin ny l bt bin.
V th phi lun m bo c s d liu tho rngbuc ton vn sau mi thao tc lm thay i tnhtrng ca c s d liu.
2. Cc c trng ca mtRBTV
-
7/28/2019 co so du lieu SQL
184/228
Khoa HTTT-i hc CNTT 184
2.1 Ni dung
2.2 Bi cnh
2.3 Bng tm nh hng
RBTV
2.1 Ni dung
-
7/28/2019 co so du lieu SQL
185/228
Khoa HTTT-i hc CNTT 185
M t cht ch ngha ca rng buc tonvn.
Ni dung c pht biu bng ngn ng tnhin hoc bng ngn ng hnh thc (ngnng tn t, i s quan h, m gi,) Ngn ng t nhin: d hiu nhng khng cht
ch, logic. Ngn ng hnh thc: cht ch, c ng
2.2 Bi cnh
-
7/28/2019 co so du lieu SQL
186/228
Khoa HTTT-i hc CNTT 186
L tp cc quan h khi thao tc trn nhngquan h c kh nng lm cho rng buc b
vi phm. l nhng quan h c th vi phm rng
buc ton vn khi thc hin cc thao tc
thm, xo, sa.
2.3 Bng tm nh hng (1)
-
7/28/2019 co so du lieu SQL
187/228
Khoa HTTT-i hc CNTT 187
Nhm xc nh khi no tin hnh kim trarng buc ton vn. Thao tc no thc hin
c th lm vi phm rng buc ton vn. Phm vi nh hng ca mt rng buc ton
vn c biu din bng mt bng 2 chiu
gi l bng tm nh hng.
2.3 Bng tm nh hng (2)
-
7/28/2019 co so du lieu SQL
188/228
Khoa HTTT-i hc CNTT 188
Mt s quy nh Nhng thuc tnh kho (nhng thuc tnh nm
trong kho chnh ca quan h) khng c phpsa gi tr
Thao tc thm v xo xt trn mt b ca quan h.Thao tc sa xt sa tng thuc tnh trn b caquan h
Trc khi xt thao tc thc hin c th lm vi phmrng buc hay khng th CSDL phi tho rng bucton vn trc.
2.3 Bng tm nh hng (3)
-
7/28/2019 co so du lieu SQL
189/228
Khoa HTTT-i hc CNTT 189
Rng bucRi
Thm Xa Sa
Quan h 1
Quan h n
Bng tm nh hng ca mt rng buc
+ : thc hin thao tc c th lm vi phm RBTV- : thc hin thao tc khng th lm vi phm RBTV+(A) : c th lm vi phm RBTV khi sa trn thuc tnh A
(*) : khng vi phm RBTV do thao tc khng thc hin c
3. Phn loi
-
7/28/2019 co so du lieu SQL
190/228
Khoa HTTT-i hc CNTT 190
3.1 RBTV c bi cnh trn 1 quan h
3.2 RBTV c bi cnh trn nhiu quan h
3.3 Ph thuc hm (functional dependency)
3.1 RBTV c bi cnh 1 quan h
-
7/28/2019 co so du lieu SQL
191/228
Khoa HTTT-i hc CNTT 191
3.1.1 RBTV min gi tr.
3.1.2 RBTV lin thuc tnh
3.1.3 RBTV lin b
Lc CSDL qun l gio v
-
7/28/2019 co so du lieu SQL
192/228
Khoa HTTT-i hc CNTT 192
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)
3.1.1 Rng buc min gi tr
-
7/28/2019 co so du lieu SQL
193/228
Khoa HTTT-i hc CNTT 193
L tp gi tr m mt thuc tnh c th nhn.
R1:Gii tnh ca hc vin ch l Nam hoc N
Ni dung:hv HOCVIEN: hv.Gioitinh {Nam,N}
Bi cnh: quan h HOCVIEN
Bng tm nh hng:
R1 Thm Xa Sa
HOCVIEN + - +(Gioitinh)
3.1.2 Rng buc lin thuc tnh
-
7/28/2019 co so du lieu SQL
194/228
Khoa HTTT-i hc CNTT 194
L rng buc gia cc thuc tnh vi nhau trn 1 bca quan h
R2:Ngy bt u (TUNGAY) ging dy mt mn hc cho mt
lp lun nh hn ngy kt thc (DENNGAY)
Ni dung:gd GIANGDAY: gd.TUNGAY < gd.DENNGAY
Bicnh : GIANGDAY
Bng tm nh hng:
R2 Thm Xa Sa
GIANGDAY + - +(Tungay, Denngay)
3.1.3 Rng buc lin b (1)
-
7/28/2019 co so du lieu SQL
195/228
Khoa HTTT-i hc CNTT 195
L rng buc gia cc b trn cng mt quan h (c thlin quan n nhiu thuc tnh).
R3: Tt c cc hc vin phi c m s phn bit vi nhau
Ni dung:h1,h2HOCVIEN: Nu h1h2 th h1.Mahvh2.Mahv Bi cnh: quan h HOCVIEN Bng tm nh hng:
R3 Thm Xa Sa
HOCVIEN + - -(*)
-
7/28/2019 co so du lieu SQL
196/228
3.2 RBTV c bi cnh nhiu quanh
-
7/28/2019 co so du lieu SQL
197/228
Khoa HTTT-i hc CNTT 197
3.2.1 RBTV tham chiu (kho ngoi, phthuc tn ti)
3.2.2 RBTV lin thuc tnh3.2.3 RBTV do thuc tnh tng hp
3.2.4 RBTV do chu trnh trong lc biu
din quan h
3.2.1 Rng buc tham chiu (1)
-
7/28/2019 co so du lieu SQL
198/228
Khoa HTTT-i hc CNTT 198
L rng buc quy nh gi tr thuc tnhtrong mt b ca quan h R (tp thuc tnh
ny gi l kho ngoi), phi ph thuc vo stn ti ca mt b trong quan h S (tp thuctnh ny l kho chnh trong quan h S).
RBTV tham chiu cn gi l rng buc phthuc tn ti hay rng buc kha ngoi
3.2.1 Rng buc tham chiu (2)
-
7/28/2019 co so du lieu SQL
199/228
Khoa HTTT-i hc CNTT 199
R5: Hc vin thi mt mn hc no th mn hc phi c trong danh sch cc mn hc
Ni dung:
k KETQUATHI, m MONHOC: k.Mamh = m.Mamh Hoc: KETQUATHI[Mamh] MONHOC[Mamh]
Bi cnh: quan h KETQUATHI, MONHOC
Bng tm nh hng:
R5 Thm Xa Sa
KETQUATHI + - -(*)
MONHOC - + -(*)
3.2.2 Rng buc lin thuc tnh (1)
-
7/28/2019 co so du lieu SQL
200/228
Khoa HTTT-i hc CNTT 200
L rng buc gia cc thuc tnh trn nhng quan hkhc nhau
R6: Ngy gio vin ging dy mt mn hc phi ln hn hoc
bng ngy gio vin vo lm. Ni dung: gd GIANGDAY
Nu gv GIAOVIEN: gd.Magv = gv.Magv thgv.NGVL gd.TUNGAY
Bi cnh: GIANGDAY, GIAOVIEN Bng tm nh hng: R6 Thm Xa Sa
GIANGDAY + - +(Tungay)
GIAOVIEN - - +(Ngvl)
3.2.2 Rng buc lin thuc tnh (2)
-
7/28/2019 co so du lieu SQL
201/228
Khoa HTTT-i hc CNTT 201
R7:Ngy thi mt mn hc phi ln hn ngy kt thc hcmn hc .
Ni dung:
kq KETQUATHINu gd GIANGDAY, hv HOCVIEN:
(gd.Malop=hv.Malop)(kq.Mamh=gd.Mamh) th
gd.Denngay < kq.Ngthi
Bi cnh: GIANGDAY, HOCVIEN, KETQUATHI
3.2.2 Rng buc lin thuc tnh (3)
-
7/28/2019 co so du lieu SQL
202/228
Khoa HTTT-i hc CNTT 202
Bng tm nh hng:
R7 Thm Xa Sa
HOCVIEN - - +(Malop)
GIANGDAY - - +(Denngay)
KETQUATHI + - +(Ngthi)
-
7/28/2019 co so du lieu SQL
203/228
3.2.3 RBTV do thuc tnh tng hp (2)
-
7/28/2019 co so du lieu SQL
204/228
Khoa HTTT-i hc CNTT 204
Doanh s ca mt khch hng bng tng tr gi ccho n m khch hng mua Ni dung:
kh KHACHHANG,
kh.Doanhso = (hd HOADON: hd.Makh=kh.Makh)(hd.Trigia)
Bi cnh: KHACHHANG, HOADON
Bng tm nh hng:
Thm Xa Sa
KHACHHANG + - +(Doanhso)
HOADON + + +(Makh)
3.2.3 RBTV do thuc tnh tng hp (3)
-
7/28/2019 co so du lieu SQL
205/228
Khoa HTTT-i hc CNTT 205
R8: S s ca mt lp l s lng hc vin thuc lp
Ni dung:
l LOP,
l.Siso = Count(hv HOCVIEN: hv.Malop = lp.Malop)(*)
Bi cnh: quan h LOP, HOCVIEN
Bng tm nh hng:
R8 Thm Xa Sa
LOP + - +(Siso)
HOCVIEN + + +(Malop)
3.2.4 Do hin din ca chu trnh (1)
-
7/28/2019 co so du lieu SQL
206/228
Khoa HTTT-i hc CNTT 206
Biu din lc quan h di dng th: Quan h c biu din bng nt trn rng to
Thuc tnh c biu din bng nt trn c nh Tt c cc nt u c ch r bng tn ca quan h
hoc thuc tnh. Thuc tnh thuc mt quan hc biu din bi mt cung ni gia nt trn to v
nt trn nh Nu th biu din xut hin mt ng khp kn
=> lc CSDL c s hin din ca chu trnh.
3.2.4 Do hin din ca chu trnh (2)
-
7/28/2019 co so du lieu SQL
207/228
Khoa HTTT-i hc CNTT 207
GIAOVIEN
GIANGDAY
MONHOCTenmh
TCLT
Mamh
MalopMagv
Hoten
Hocvi
Makhoa
Y
X
3.2.4 Do hin din ca chu trnh (3)
-
7/28/2019 co so du lieu SQL
208/228
Khoa HTTT-i hc CNTT 208
X = GIANGDAY[Magv, Mamh]
Y = (GIAOVIENMONHOC) [Magv,Mamh]
ngha: X: gio vin v nhng mn hc c phn cng cho
gio vin ging dy
Y: gio vin v nhng mn hc thuc khoa gio vin ph trch
Mi quan h gia X v Y trong cc rng buc sau:
Makhoa
3.2.4 Do hin din ca chu trnh (4)
-
7/28/2019 co so du lieu SQL
209/228
Khoa HTTT-i hc CNTT 209
Rng buc 1: gio vin ch c phn cngging dy nhng mn thuc khoa gio vin ph trch XY
Rng buc 2: gio vin phi c phn cngging dy tt c nhng mn thuc khoa giovin ph trch X=Y
Rng buc 3: c th phn cng gio vinging dy bt k mn hc no X Y
3.2.4 Do hin din ca chu trnh (4)
-
7/28/2019 co so du lieu SQL
210/228
Khoa HTTT-i hc CNTT 210
R9: gio vin ch c phn cng ging dy nhngmn thuc khoa gio vin ph trch XY
R9 Thm Xa Sa
MONHOC - - +(Makhoa)
GIAOVIEN - - +(Makhoa)
GIANGDAY + - +(Magv)
3.3 Ph thuc hm (1)
-
7/28/2019 co so du lieu SQL
211/228
Khoa HTTT-i hc CNTT 211
Cho quan h Q(A, B, C). Ph thuc hm A xc nh
B. K hiu A B nu:
q1,q2Q: Nu q1.A=q2.A th q1.B=q2.B
A B c gi lph thuc hm hin nhinnu
BA
A B c gi lph thuc hm nguyn tnuAA, AA sao cho A B
3.3 Ph thuc hm (2)
-
7/28/2019 co so du lieu SQL
212/228
Khoa HTTT-i hc CNTT 212
Mi quan h u c t nht mt ph thuc hm
Rng buc kho cng l mt ph thuc hm
Mamh Tenmh, Tclt, Tcth, Makhoa R4: Cc gio vin c cng hc v, cng h s lng
th mc lng s bng nhau. Rng buc ny c th
biu din bng ph thuc hm nh sau:Hocvi,Heso Mucluong
4. Bng tm nh hng tng hp (1)
-
7/28/2019 co so du lieu SQL
213/228
Khoa HTTT-i hc CNTT 213
Bng tm nh hng tng hpca m rng buc trn nquan h bi cnh
QH1
QH2
QHn
T X S T X S T X S
R1
R2
Rm
4. Bng tm nh hng tng hp (2)
-
7/28/2019 co so du lieu SQL
214/228
Khoa HTTT-i hc CNTT 214
HOCVIEN GIAOVIEN LOP MONHOC GIANGDAY KETQUA
THI
T X S T X S T X S T X S T X S T X S
R1 + - +
R2 + - +
R3 + - -*
R4 + - +
R5 - + -* + - -*
R6 - - + + - +R7 - - + - - + + - +
R8 + + + + - +
R9 - - + - - + + - +
Bi 8: Ti u ha cu hi
-
7/28/2019 co so du lieu SQL
215/228
Khoa HTTT-i hc CNTT 215
Ni dung
-
7/28/2019 co so du lieu SQL
216/228
Khoa HTTT-i hc CNTT 216
1. Gii thiu2. Cc nguyn tc tng qut ti u ha cu hi
2.1 Biu thc tng ng
2.1.1 nh ngha2.1.2 Tnh cht ca php kt v php tch
2.2 Nguyn tc tng qut2.3 Cc php bin i tng ng
3. Mt s k thut ti u ha cu hi bng SQH3.1 K thut (dy php chn, php chiu, hon v )3.2 Thut gii ti u ho cu hi trong .
1. Gii thiu (1)
-
7/28/2019 co so du lieu SQL
217/228
Khoa HTTT-i hc CNTT 217
Mc ch: Gim thi gian x l cu hi, gim khi lng
d liu trung gian. Kt hp gia cc php tch, php kt vi php
chn vi php chiu.
V d:
])[):((
])[:)((
201
021
CQaAQ
CaAQQ
1. Gii thiu (2)
-
7/28/2019 co so du lieu SQL
218/228
Khoa HTTT-i hc CNTT 218
K hiu:
X
R
Q
D
R
Q
AB
R S
Q
Q=R[S]
Q=R:D
Q=R S
BA
1. Gii thiu (3)
-
7/28/2019 co so du lieu SQL
219/228
Khoa HTTT-i hc CNTT 219
V d
Q1 Q2
AA=a0
C
A
Q1
C
Q2A=a0
])[:)(( 021 CaAQQ ])[):(( 201 CQaAQ
2.1 Tnh tng ng (1)
-
7/28/2019 co so du lieu SQL
220/228
Khoa HTTT-i hc CNTT 220
2.1.1 nh ngha: hai biu thc A, B l tngng nu c cng mt tnh trng CSDL th ucho mt kt qu.
2.1.2 Tnh cht ca php kt v php tch Php kt
Giao hon
Kt hp
Php tch
Giao hon:
Kt hp:
1221 QQQQdkdk
3
2
2
1
13
2
2
1
1 )()( QQQQQQdkdkdkdk
1221 QQQQ
321321 )()( QQQQQQ
2.1 Tnh tng ng (2)
-
7/28/2019 co so du lieu SQL
221/228
Khoa HTTT-i hc CNTT 221
2.1.3 Cc php bin i tng ng
]))[,(][][((][),(),(.5
),...,(])[...][][(),...,(.4
))()((.3
):(),(),(.2
])[][:(),(),(.1
121121
1211
2121
2121
212121
BBAQAQBQBQBAQBAQ
XXQXQXQXQXXQ
QQQQ
DBQQDCQBAQ
BQBQQQCBQBAQ
nnn
DB
B
2.2 Nguyn tc tng qut
-
7/28/2019 co so du lieu SQL
222/228
Khoa HTTT-i hc CNTT 222
1. Thc hin php chiu, php chn cng sm cng tt
2. Gom cc php chn v chiu cng quan h thc
hin cng lc3. Bin php tch thnh php kt t nhin hay theta kt
4. Tm cc biu thc con chung trong mt biu thc
5. Tin x l cc quan h: lp ch mc6. nh gi trc khi thc hin tnh ton
3.1 Cc k thut ti u (1)
-
7/28/2019 co so du lieu SQL
223/228
Khoa HTTT-i hc CNTT 223
1. Dy cc php chn2. Dy cc php chiu3. Hon v gia php chiu v php chn4. Hon v gia php chn v php tch5. Hon v gia php hp v php chn6. Hon v gia php chn v php tr
7. Hon v gia php chiu v php hi8. Hon v gia php chiu v php tch
3.1 Cc k thut ti u (2)
-
7/28/2019 co so du lieu SQL
224/228
Khoa HTTT-i hc CNTT 224
1. Dy cc php chn
2. Dy php chiu
V d:
dkndkdkQdkndkdkQ ...21:):)...2:)1:(((
YZZQZYQ ,][]])[[(
][]])[,,[(
),,,(
ADQADDCAQ
DCBAQCho
3.1 Cc k thut ti u (3)
-
7/28/2019 co so du lieu SQL
225/228
Khoa HTTT-i hc CNTT 225
3. Hon v gia php chiu v php chn Nu
Nu YX
YX
)(:])[(]))[(:( XdkYXQYXdkQ
)(:])[(]))[(:( XdkYQYXdkQ
3.1 Cc k thut ti u (4)
-
7/28/2019 co so du lieu SQL
226/228
Khoa HTTT-i hc CNTT 226
4. Hon v gia php chn v php tch: iu kin dk xc lp trn cc thuc tnh ca X
Nu , dk1 xc lp trn cc thuctnh ca X, dk2 xc lp trn cc thuc tnh ca Y.
Nu dk1 xc lp trn cc thuc tnh ca X v dk2xc lp trn cc thuc tnh ca XY
dkYQXQYQXdkXQ :))()(()()(:))(( 2121
21 dkdkdk
)2:)(()1:)((()(2)(1:))()((( 2121 dkYQdkXQYdkXdkYQXQ
))(2:))(()1:)(((
)(2)(1:))()(((
21
21
YXdkYQdkXQ
YXdkXdkYQXQ
3.1 Cc k thut ti u (5)
-
7/28/2019 co so du lieu SQL
227/228
Khoa HTTT-i hc CNTT 227
5. Hon v gia php hi v php chn
6. Hon v gia php chn v php tr
7. Hon v gia php chiu v php hi
8. Hon v gia php chiu v php tch
):():(:)( 2121 dkQdkQdkQQ
):():(:)( 2121 dkQdkQdkQQ
])[(])[(])[( 2121 ZQZQZQQ
YXZZYQZYQZYQXQ ,])[(])[(]))[()(( 2121
3.2 Thut ton
-
7/28/2019 co so du lieu SQL
228/228
Bc 1: p dng cc php bin i tng ng Bc 2: p dng (1) Bc 3: i vi cc php chn p dng (3), (4), (5), (6)
nhm a php chn cng su cng tt Bc 4: i vi cc php chiu p dng (2), (3), (7), (8)
nhm a php chiu cng su cng tt