Académique Documents
Professionnel Documents
Culture Documents
1
CÔ SÔÛ DÖÕ LIEÄU VÍ DUÏ
Cho CSDL goàm caùc Baûng sau:
SINHVIEN (MSSV, HOLOT, TEN, PHAI, NGAYSINH,
QUEQUAN, DIACHI, MALOP)
DSLOP (MALOP, TENLOP, SISO, MAKHOA)
DSKHOA (MAKHOA, TENKHOA)
MONHOC (MAMH, TENMH, SOTC)
KETQUA (MSSV, MAMH, DIEM)
2
CÔ SÔÛ DÖÕ LIEÄU VÍ DUÏ
SINHVIEN
MSSV HOLOT TEN PHAI NGAY QUEQUAN DIACHI MAL
SINH OP
T001 LE VAN TU NAM 13/5/81 TPHCM 12 LELOI-Q1 – TPHCM T1N
D002 TRAN THI DIEM NU 3/12/82 HANOI 3/1A BAHAT - Q10 D1N
H003 NGUYEN VU LINH NAM 1/6/80 DONGTHAP 25 VOTHISAU - Q3 H1N
K004 CAO VAN HUNG NAM 31/7/81 VINHLONG 33/5 HONG HA – TB K1N
T005 LE TIEN DUNG NAM 11/3/84 DONGNAI 77/8 LE LOI - Q1 T2N
T006 DAO VAN DUNG NAM 6/6/79 HUE 38/4 TAM DAO – Q10 T1N
H007 TRAN MINH HANH NU 4/8/81 HANOI 9 BINHGIA – TB H1N
D008 DINH THI TUYET NU 23/4/82 TPHCM 22 CC MIEUNOI D2N
D009 LY HAI TRIEU NAM 18/2/81 CANTHO F7 NGUYEN OANH D1N
K010 HA NGUYEN XUAN NU 16/3/80 ANGIANG 365 CAO THANG K1N
3
CÔ SÔÛ DÖÕ LIEÄU VÍ DUÏ
DSLOP
MALOP TENLOP SISO MAKHOA
T1N TIN HOC 1 75 TH
T2N TIN HOC 2 68 TH
D1N DIEN TU 1 57 DD
D2N DIEN TU 2 61 DD
H1N HOA HOC 1 123 HH
K1N KINH TE 1 84 KT
DSKHOA
MAKHOA TENKHOA
TH CONG NGHE THONG TIN
DD DIEN – DIEN TU
HH CONG NGHE HOA
KT KINH TE
4
CÔ SÔÛ DÖÕ LIEÄU VÍ DUÏ
MONHOC KETQUA
MAMH TENMH SOTC MSSV MAMH DIEM
THCB TIN HOC CAN BAN 4 T001 THVP 6
THVP TIN HOC VAN PHONG 3 T001 CSDL 7
CSDL CO SO DU LIEU 4 D002 THCB 8
LTCB LAP TRINH CAN BAN 5 D002 THVP 5
CTDL CAU TRUC DU LIEU 4 D002 LTCB 3
MANG MANG MAY TINH 3 H003 LTCB 9
H003 CTDL 6
K004 THCB 5
K004 THVP 7
K004 CSDL 9
T005 THCB 1
T005 MANG 5
5
1. Ngoân ngöõ moâ taû döõ lieäu
1. Leänh Taïo Baûng
2. Leänh Xoùa Baûng
3. Leänh Theâm Coät
4. Leänh Xoùa Coät
5. Leänh Söûa Coät
6. Leänh Taïo Khoùa chính
7. Leänh Taïo Khoùa ngoaïi
8. Leänh Taïo raøng buoäc veà mieàn giaù trò
9. Leänh Taïo raøng buoäc duy nhaát
10. Leänh Taïo chæ muïc
11. Leänh Xoùa chæ muïc
6
1. Ngoân ngöõ moâ taû döõ lieäu
1.Leänh Taïo Baûng
CREATE TABLE <teân baûng> (
<teân coät 1> <kieåu döõ lieäu 1> [NOT NULL],
<teân coät 2> <kieåu döõ lieäu 2> [NOT NULL],
…
<teân coät n> <kieåu döõ lieäu n> [NOT NULL]);
7
1. Ngoân ngöõ moâ taû döõ lieäu
1.Leänh Taïo Baûng – Ví duï
CREATE TABLE SINHVIEN (
MSSV char(4) not null,
HOLOT varchar(20) not null,
TEN varchar(7) not null,
PHAI bit,
NGAYSINH datetime,
QUEQUAN varchar(20),
DIACHI varchar(50),
MALOP char(3) not null);
8
1. Ngoân ngöõ moâ taû döõ lieäu
2.Leänh Xoùa Baûng
DROP TABLE <teân baûng>;
Ví duï:
DROP TABLE SINHVIEN;
9
1. Ngoân ngöõ moâ taû döõ lieäu
3.Leänh Theâm Coät
ALTER TABLE <teân baûng>
ADD <teân coät> <kieåu döõ lieäu> [NOT NULL];
Ví duï:
ALTER TABLE SINHVIEN
ADD DOANVIEN bit;
10
1. Ngoân ngöõ moâ taû döõ lieäu
4.Leänh Xoùa Coät
ALTER TABLE <teân baûng>
DROP COLUMN <teân coät>;
Ví duï:
ALTER TABLE SINHVIEN
DROP COLUMN DOANVIEN;
11
1. Ngoân ngöõ moâ taû döõ lieäu
5.Leänh Söûa Coät
ALTER TABLE <teân baûng>
ALTER COLUMN <teân coät> <kieåu döõ lieäu>;
Ví duï:
ALTER TABLE SINHVIEN
ALTER COLUMN Ngaysinh SmallDatetime;
12
1. Ngoân ngöõ moâ taû döõ lieäu
6.Leänh Taïo Khoùa chính
ALTER TABLE <teân baûng>
ADD CONSTRAINT <teân raøng buoäc>
PRIMARY KEY (DS teân coät);
Löu yù:
-Teân raøng buoäc laø duy nhaát
-Caùc coät trong DS teân coät phaûi coù thuoäc tính
NOT NULL
13
1. Ngoân ngöõ moâ taû döõ lieäu
6.Leänh Taïo Khoùa chính - Ví duï:
ALTER TABLE SINHVIEN
ADD CONSTRAINT Kc_Sv
PRIMARY KEY (mssv);
14
1. Ngoân ngöõ moâ taû döõ lieäu
7.Leänh Taïo Khoùa ngoaïi
ALTER TABLE <teân baûng>
ADD CONSTRAINT <teân raøng buoäc>
FOREIGN KEY (DS teân coät)
REFERENCES <teân baûng> (DS teân coät);
Löu yù:
-Teân raøng buoäc laø duy nhaát
15
1. Ngoân ngöõ moâ taû döõ lieäu
7.Leänh Taïo Khoùa ngoaïi - Ví duï:
ALTER TABLE SINHVIEN
ADD CONSTRAINT Kn_Sv
FOREIGN KEY(malop)
REFERENCES DSLOP (malop);
16
1. Ngoân ngöõ moâ taû döõ lieäu
8.Leänh Taïo raøng buoäc veà mieàn giaù trò
ALTER TABLE <teân baûng>
ADD CONSTRAINT <teân raøng buoäc>
CHECK (Ñieàu kieän);
Löu yù:
-Teân raøng buoäc laø duy nhaát
17
1. Ngoân ngöõ moâ taû döõ lieäu
8.Leänh Taïo raøng buoäc mieàn giaù trò - Ví duï:
18
1. Ngoân ngöõ moâ taû döõ lieäu
9.Leänh Taïo raøng buoäc duy nhaát
ALTER TABLE <teân baûng>
ADD CONSTRAINT <teân raøng buoäc>
UNIQUE (DS Teân coät);
Löu yù:
-Teân raøng buoäc laø duy nhaát
19
1. Ngoân ngöõ moâ taû döõ lieäu
9.Leänh Taïo raøng buoäc duy nhaát – Ví duï
Teân moân hoïc khoâng ñöôïc truøng nhau:
ALTER TABLE MONHOC
ADD CONSTRAINT Dn_Mh
UNIQUE (TenMH);
20
1. Ngoân ngöõ moâ taû döõ lieäu
10.Leänh Taïo chæ muïc
CREATE INDEX <teân Index>
ON <teân baûng> (<coät 1>, <coät 2>, ...) ;
Ngöõ nghóa: Taïo chæ muïc ñeå löu thöù töï saép xeáp
caùc baûn ghi theo giaù trò taêng daàn cuûa caùc
coät ñöôïc cho trong danh saùch.
Ghi chuù: Chæ neân taïo chæ muïc cho caùc baûng coù
nhieàu baûn ghi vaø ít ñöôïc caäp nhaät, vaø chæ
neân taïo treân caùc coät maø thoâng tin cuûa noù
thöôøng xuyeân ñöôïc tham khaûo tôùi.
21
1. Ngoân ngöõ moâ taû döõ lieäu
10.Leänh Taïo chæ muïc – Ví duï:
CREATE INDEX Cm_sv1
ON SINHVIEN (Ten);
22
1. Ngoân ngöõ moâ taû döõ lieäu
11.Leänh Xoùa chæ muïc
DROP INDEX <teân Index> ;
Ví duï:
DROP INDEX Cm_sv1
23
2. Ngoân ngöõ thao taùc döõ lieäu
1. Leänh Theâm maãu tin
2. Leänh Xoùa maãu tin
3. Leänh caäp nhaät maãu tin
24
2. Ngoân ngöõ thao taùc döõ lieäu
1.Leänh theâm maãu tin (1)
INSERT INTO <teân baûng> (<teân coät 1>, ...)
VALUES (<bieåu thöùc 1>, <bieåu thöùc 2>, ...);
Löu yù:
-Kieåu döõ lieäu
-Chieàu daøi
-Caùc raøng buoäc toaøn veïn: khoùa chính, khoùa
ngoaïi, kieåm tra, duy nhaát
25
2. Ngoân ngöõ thao taùc döõ lieäu
1.Leänh theâm maãu tin (1) – Ví duï
26
2. Ngoân ngöõ thao taùc döõ lieäu
1.Leänh theâm maãu tin (2)
Neáu caùc bieåu thöùc sau töø khoaù VALUES hoaøn
toaøn phuø hôïp veà thöù töï vôùi caùc coät trong
baûng danh saùch caùc coät sau töø khoùa
INTO coù theå ñöôïc boû qua
27
2. Ngoân ngöõ thao taùc döõ lieäu
1.Leänh theâm maãu tin (2) – Ví duï
29
2. Ngoân ngöõ thao taùc döõ lieäu
1.Leänh theâm maãu tin (3) – Ví duï
Löu yù:
-DSSV_New coù cuøng caáu truùc vôùi SINHVIEN
30
2. Ngoân ngöõ thao taùc döõ lieäu
2.Leänh Xoùa maãu tin
Vieäc loaïi boû maãu tin khoûi 1 baûng trong CSDL laø 1
trong nhöõng thao taùc caäp nhaät döõ lieäu ñöôïc tieán
haønh moät caùch thöôøng xuyeân
Cuù phaùp:
DELETE FROM <teân baûng>
[WHERE <ñieàu kieän>];
Ngöõ nghóa: Caùc maãu tin thoaû maõn ñieàu kieän sau
WHERE seõ bò xoaù khoûi baûng. Neáu khoâng coù meänh
ñeà WHERE thì taát caû caùc maãu tin cuûa baûng seõ bò
xoùa khoûi baûng.
31
2. Ngoân ngöõ thao taùc döõ lieäu
2.Leänh Xoùa maãu tin – Ví duï:
Xoùa Sinh vieân coù Maõ soá laø T005
DELETE FROM SINHVIEN
WHERE MSSV=‘T005’;
32
2. Ngoân ngöõ thao taùc döõ lieäu
3.Leänh caäp nhaät maãu tin
Cuù phaùp
UPDATE <teân baûng>
SET <teân coät 1> = <bieåu thöùc 1>,
<teân coät 2> = <bieåu thöùc 2>,
...
<teân coät n> = <bieåu thöùc n>
[WHERE <ñieàu kieän>];
33
2. Ngoân ngöõ thao taùc döõ lieäu
3.Leänh caäp nhaät maãu tin
Ngöõ nghóa: Giaù trò cuûa caùc field coù teân trong
danh saùch <teân coät 1>, <teân coät 2> ... cuûa
nhöõng maãu tin thoaû maõn ñieàu kieän sau
WHERE seõ ñöôïc söûa ñoåi thaønh giaù trò cuûa
caùc <bieåu thöùc 1>, <bieåu thöùc 2> ... töông
öùng.
Neáu khoâng coù meänh ñeà WHERE thì taát caû caùc
maãu tin cuûa baûng seõ ñöôïc söûa ñoåi.
34
2. Ngoân ngöõ thao taùc döõ lieäu
3.Leänh caäp nhaät maãu tin
Ví duï:
Taêng cho taát caû sinh vieân 1 ñieåm moân THCB
UPDATE KETQUA
SET DIEM = DIEM +1
WHERE MAMH = ‘THCB’;
Caäp nhaät só soá lôùp T2N thaønh 90
UPDATE DSLOP
SET SISO = 90
WHERE MALOP = ‘T2N’;
35
3. Ngoân ngöõ truy vaán döõ lieäu
1. Cuù phaùp toång quaùt
2. Daïng ñôn giaûn
3. Daáu *
4. Meänh ñeà WHERE
5. Meänh ñeà ORDER BY
6. Meänh ñeà GROUP BY
7. Meänh ñeà HAVING
8. Phaùt bieåu Select vôùi AS
9. Phaùt bieåu Select vôùi TOP N
10. Phaùt bieåu Select vôùi DISTINCT
11. Truy vaán töø nhieàu Baûng
12. Truy vaán con 36
3. Ngoân ngöõ truy vaán döõ lieäu
1.Cuù phaùp toång quaùt
37
3. Ngoân ngöõ truy vaán döõ lieäu
2.Daïng ñôn giaûn
SELECT <Danh saùch caùc coät>
FROM <Teân Baûng>
Trích ra moät soá coät trong 1 Baûng naøo ñoù
38
3. Ngoân ngöõ truy vaán döõ lieäu
3.Daáu *
Daáu * ñaïi dieän cho taát caû caùc coät
SELECT *
FROM <Teân Baûng>
39
3. Ngoân ngöõ truy vaán döõ lieäu
4.Meänh ñeà WHERE
Duøng ñeå ñaët ñieàu kieän trích döõ lieäu
SELECT <Danh saùch caùc coät>
FROM <Teân Baûng>
WHERE <Danh saùch ñieàu kieän>
42
3. Ngoân ngöõ truy vaán döõ lieäu
4.Meänh ñeà WHERE
Toaùn töû LIKE: pheùp toaùn so saùnh gaàn gioáng,
söû duïng daáu caùc kyù töï ñaïi dieän nhö _ (1
kyù töï), % (1 chuoãi baát kyø)
43
3. Ngoân ngöõ truy vaán döõ lieäu
4.Meänh ñeà WHERE
Toaùn töû IN: pheùp toaùn so saùnh trong 1 taäp
hôïp, 1 danh saùch
45
3. Ngoân ngöõ truy vaán döõ lieäu
4.Meänh ñeà WHERE
Toaùn töû Exists: traû veà TRUE neáu coù ít nhaát 1
maãu tin toàn taïi
Ví duï: Cho bieát coù sinh vieân naøo Queâ quaùn
‘Nha Trang’ khoâng?
If Exists (SELECT *
FROM SINHVIEN
WHERE QUEQUAN = ‘Nha Trang’)
Print ‘Co sinh vien’;
46
3. Ngoân ngöõ truy vaán döõ lieäu
5.Meänh ñeà ORDER BY
Saép xeáp keát quaû theo thöù töï mong muoán
49
3. Ngoân ngöõ truy vaán döõ lieäu
7.Meänh ñeà HAVING
Ñaët ñieàu kieän choïn sau khi ñaõ nhoùm döõ lieäu
baèng meänh ñeà GROUP BY
Ví duï: Trích ra Danh saùch caùc lôùp coù treân 20
sinh vieân
51
3. Ngoân ngöõ truy vaán döõ lieäu
9.Phaùt bieåu Select vôùi TOP N
Cho pheùp laáy ra chæ moät soá maãu tin naøo ñoù
theo 1 tieâu chuaån naøo ñoù.
SELECT TOP 10 *
FROM SINHVIEN;
52
3. Ngoân ngöõ truy vaán döõ lieäu
10.Phaùt bieåu Select vôùi DISTINCT
Neáu keát quaû truy vaán coù nhieàu maãu tin truøng
nhau, ñeå chæ laáy 1 maãu tin ta duøng
DISTINCT
Ví duï: Trong Danh saùch Sinh vieân, cho bieát coù
nhöõng lôùp naøo
53
3. Ngoân ngöõ truy vaán döõ lieäu
11.Truy vaán töø nhieàu baûng
Khi thoâng tin caàn laáy ra coù töø nhieàu baûng
khaùc nhau, caàn thöïc hieän truy vaán töø
nhieàu baûng
54
3. Ngoân ngöõ truy vaán döõ lieäu
11.Truy vaán töø nhieàu baûng
Löu yù:
Caàn keát caùc baûng laïi vôùi nhau. Vôùi n
baûng caàn coù n-1 ñieàu kieän keát.
Caùc teân coät cuøng coù ôû nhieàu baûng caàn
ghi roõ theo daïng [Teân Baûng].[Teân coät]
55
3. Ngoân ngöõ truy vaán döõ lieäu
11.Truy vaán töø nhieàu baûng
56
3. Ngoân ngöõ truy vaán döõ lieäu
11.Truy vaán töø nhieàu baûng
-Coù theå söû duïng teân taét cuûa caùc Baûng
57
3. Ngoân ngöõ truy vaán döõ lieäu
12.Truy vaán con
-Ñoâi khi ta caàn söû duïng keát quaû cuûa 1 caâu
truy vaán ñeå laøm ñieàu kieän cho 1 caâu truy
vaán khaùc, khi ñoù ta goïi laø truy vaán con.
-Khi thöïc hieän, truy vaán con seõ ñöôïc thöïc
hieän tröôùc, roài laáy keát quaû ñeå thöïc hieän
truy vaán lôùn
58
3. Ngoân ngöõ truy vaán döõ lieäu
12.Truy vaán con
Daïng toång quaùt:
59
3. Ngoân ngöõ truy vaán döõ lieäu
12.Truy vaán con
Ví duï: Trích ra DS nhöõng SV coù ñieåm moân THVP
cao nhaát
SELECT S.MSSV,HOLOT,TEN,MAMH,DIEM
FROM SINHVIEN S, KETQUA K
WHERE S.MSSV = K.MSSV
AND MAMH=‘THVP’
AND DIEM = ( SELECT MAX(DIEM)
FROM KETQUA
WHERE MAMH=‘THVP’)
60