You are on page 1of 13

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN


KHOA HỆ THỐNG THÔNG TIN

MÔN CƠ SỞ DỮ LIỆU
BÀI TẬP THỰC HÀNH 2

GVHD: Nguyễn Ngọc Quí


Sinh viên thực hiện: Nguyễn Hoàng Vũ
IT004 – Cơ sở dữ liệu
 Tp. Hồ Chí Minh, 09/2023 
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................

……., ngày……...tháng……năm 2023

Người nhận xét


(Ký tên và ghi rõ họ tên)

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu

MỤC LỤC

I. Ngôn ng truy vn d liu: ......................................................................................5

1. In ra danh sách (mã hc viên, h tên, ngày sinh, mã lp) lp trng ca các lp ..................5

2. In ra bng im khi thi (mã hc viên, h tên, ln thi, im s) môn CTRR ca lp “K12”, sp xp theo tên, h hc viên
......................................................................................................5

3. In ra danh sách nhng hc viên (mã hc viên, h tên) và nhng môn hc mà hc viên ó thi ln th nht ã t
..................................................................................................................6

4. In ra danh sách hc viên (mã hc viên, h tên) ca lp “K11” thi môn CTRR không
......................................................................................................................................8

5 * Danh sách hc viên (mã hc viên, h tên) ca lp “K” thi môn CTRR không t ( tt c các ln thi)
...................................................................................................................................9

6. Tìm tên nhng môn hc mà giáo viên có tên “Tran Tam Thanh” dy trong hc k 1 nm 2006.
..........................................................................................................................................10

7. Tìm nhng môn hc (mã môn hc, tên môn hc) mà giáo viên ch nhim lp “K11” dy trong hc k 1 nm 2006.
..........................................................................................................10

8. Tìm h tên lp trng ca các lp mà giáo viên có tên “Nguyen To Lan” dy môn “Co So Du Lieu”
....................................................................................................................................11

9. In ra danh sách nhng môn hc (mã môn hc, tên môn hc) phi hc lin trc môn “Co So Du Lieu”..
............................................................................................................................12

10. Môn “Cau Truc Roi Rac” là môn bt buc phi hc lin trc nhng môn hc (mã môn hc, tên môn hc) nào.
..............................................................................................................12

II. Link code sql...........................................................................................................13

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu

DANH MỤC BẢNG

1. Bảng KHOA

2. Bảng MONHOC

3. Bảng DIEUKIEN

4. Bảng GIAOVIEN

5. Bảng LOP

6. Bảng HOCVIEN

7. Bảng GIANGDAY

8. Bảng KETQUATHI

NỘI DUNG BÀI LÀM

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu
Câu III.1: In ra danh sách (mã học viên, họ tên, ngày sinh, mã lớp) lớp trưởng của các
lớp.

- Input: Bảng HOCVIEN, LOP

- Output:

- Hướng giải thuật :

 Câu lệnh SELECT lấy các cột MAHV, HOTEN, NGSINH, và MALOP từ các bảng
HOCVIEN và LOP thông qua một điều kiện kết nối.
 Cột MAHV sẽ được lấy từ bảng HOCVIEN.
 Cột HOTEN là sự kết hợp của cột HO và TEN từ bảng HOCVIEN, được ghép lại bởi dấu
cách (' ').
 Cột NGSINH sẽ được lấy từ bảng HOCVIEN.
 Cột MALOP sẽ được lấy từ bảng LOP.
 Câu lệnh WHERE sau đó sẽ xác định điều kiện kết nối giữa các bảng HOCVIEN và LOP.
Điều kiện này là HV.MAHV = TRGLOP, cho biết rằng các hàng trong bảng HOCVIEN
có MAHV trùng khớp với cột TRGLOP trong bảng LOP sẽ được chọn.

Câu III.2: In ra bảng điểm khi thi (mã học viên, họ tên, lần thi, điểm số) môn CTRR
của lớp “K12”, sắp xếp theo tên, họ học viên.

- Input: Bảng HOCVIEN, KETQUATHI

- Output:

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu

- Hướng giải thuật:

 Câu lệnh SELECT lấy các cột MAHV, HOTEN, LANTHI, và DIEM từ các bảng
HOCVIEN và KETQUATHI thông qua một số điều kiện.
 Cột MAHV sẽ được lấy từ bảng KETQUATHI.
 Cột HOTEN là sự kết hợp của cột HO và TEN từ bảng HOCVIEN, được ghép lại bởi dấu
cách (' ').
 Cột LANTHI sẽ được lấy từ bảng KETQUATHI.
 Cột DIEM sẽ được lấy từ bảng KETQUATHI.
 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:
 HV.MAHV = K.MAHV để kết nối các bảng HOCVIEN và KETQUATHI dựa trên cột
MAHV.
 MAMH = 'CTRR' để lựa chọn những hàng có MAMH là 'CTRR'.
 MALOP = 'K12' để lựa chọn những hàng có MALOP là 'K12'.
 Câu lệnh ORDER BY sau đó sắp xếp kết quả theo cột TEN và HO theo thứ tự tăng dần.

Câu III.3: In ra danh sách những học viên (mã học viên, họ tên) và những môn học
mà học viên đó thi lần thứ nhất đã đạt.

- Input: Bảng HOCVIEN, MONHOC, KETQUATHI

- Output:

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu

- Hướng giải thuật:

 Câu lệnh SELECT lấy các cột MAHV, HOTEN, và TENMH từ các bảng HOCVIEN,
KETQUATHI và MONHOC thông qua một số điều kiện.
 Cột MAHV sẽ được lấy từ bảng KETQUATHI.
 Cột HOTEN là sự kết hợp của cột HO và TEN từ bảng HOCVIEN, được ghép lại bởi dấu
cách (' ').
 Cột TENMH sẽ được lấy từ bảng MONHOC.

 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu
 HV.MAHV = K.MAHV để kết nối các bảng HOCVIEN và KETQUATHI dựa trên cột
MAHV.
 K.MAMH = M.MAMH để kết nối các bảng KETQUATHI và MONHOC dựa trên cột
MAMH.
 LANTHI = 1 để lựa chọn những hàng có LANTHI bằng 1.
 KQUA = 'Dat' để lựa chọn những hàng có KQUA là 'Dat'.

Câu III.4: In ra danh sách học viên (mã học viên, họ tên) của lớp “K11” thi môn
CTRR không đạt (ở lần thi 1).

- Input: Bảng HOCVIEN, KETQUATHI

- Output:

- Hướng giải thuật:

 Câu lệnh SELECT lấy các cột MAHV và HOTEN từ các bảng HOCVIEN và
KETQUATHI thông qua một số điều kiện.
 Cột MAHV sẽ được lấy từ bảng KETQUATHI.
 Cột HOTEN là sự kết hợp của cột HO và TEN từ bảng HOCVIEN, được ghép lại bởi dấu
cách (' ').
 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:
 HV.MAHV = K.MAHV để kết nối các bảng HOCVIEN và KETQUATHI dựa trên cột
MAHV.
 MALOP = 'K11' để lựa chọn những hàng có MALOP là 'K11'.
 MAMH = 'CTRR' để lựa chọn những hàng có MAMH là 'CTRR'.
 LANTHI = 1 để lựa chọn những hàng có LANTHI là 1.
 KQUA = 'Khong Dat' để lựa chọn những hàng có KQUA là 'Khong Dat'
Câu III.5: * Danh sách học viên (mã học viên, họ tên) của lớp “K” thi môn CTRR
không đạt (ở tất cả các lần thi).

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu

- Input: Bảng HOCVIEN, KETQUATHI

- Output:

- Hướng giải thuật:

 Câu lệnh SELECT lấy các cột MAHV và HOTEN từ các bảng HOCVIEN và
KETQUATHI thông qua một số điều kiện.
 Cột MAHV sẽ được lấy từ bảng KETQUATHI.
 Cột HOTEN là sự kết hợp của cột HO và TEN từ bảng HOCVIEN, được ghép lại bởi dấu
cách (' ').
 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:
 HV.MAHV = K.MAHV để kết nối các bảng HOCVIEN và KETQUATHI dựa trên cột
MAHV.
 MALOP LIKE 'K%' để lựa chọn những hàng có MALOP bắt đầu bằng 'K'.
 MAMH = 'CTRR' để lựa chọn những hàng có MAMH là 'CTRR'.
 KQUA = 'Khong Dat' để lựa chọn những hàng có KQUA là 'Khong Dat'.
 Câu lệnh NOT EXISTS kiểm tra sự không tồn tại của các hàng trong bảng KETQUATHI
thỏa mãn điều kiện: KQUA = 'Dat', MAMH = 'CTRR', và MAHV = HV.MAHV. Điều
này đảm bảo rằng chỉ có các hàng không tồn tại thành tích 'Dat' trong môn học 'CTRR' sẽ
được chọn.

Câu III.6: Tìm tên những môn học mà giáo viên có tên “Tran Tam Thanh” dạy trong
học kỳ 1 năm 2006.

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu

- Input: Bảng MONHOC


- Output:

- Hướng giải thuật:

 Câu lệnh SELECT lấy cột TENMH từ bảng MONH thông qua một số điều kiện.
 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:
 GD.MAGV = GV.MAGV để kết nối bảng GIANGDAY và GIAOVIEN dựa trên cột
MAGV.
 M.MAMH = GD.MAMH để kết nối bảng MONHOC và GIANGDAY dựa trên cột
MAMH.
 HOTEN = 'Tran Tam Thanh' để lựa chọn những giảng viên có HOTEN là 'Tran Tam
Thanh'.
 HOCKY = 1 để lựa chọn những hàng có HOCKY bằng 1.
 NAM = '2006' để lựa chọn những hàng có NAM là '2006'.

Câu III.7: . Tìm những môn học (mã môn học, tên môn học) mà giáo viên chủ nhiệm
lớp “K11” dạy trong học kỳ 1 năm 2006.

- Input: Bảng MONHOC

- Output:

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu

- Hướng giải thuật:

 Câu lệnh SELECT lấy các cột M.MAMH và TENMH từ các bảng GIANGDAY,
MONHOC và LOP thông qua một số điều kiện.
 Cột M.MAMH sẽ được lấy từ bảng MONHOC.
 Cột TENMH sẽ được lấy từ bảng MONHOC.
 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:
 GD.MAGV = L.MAGVCN để kết nối bảng GIANGDAY và LOP dựa trên cột
MAGVCN.
 M.MAMH = GD.MAMH để kết nối bảng MONHOC và GIANGDAY dựa trên cột
MAMH.
 L.MALOP = 'K11' để lựa chọn những hàng có MALOP là 'K11'.
 HOCKY = 1 để lựa chọn những hàng có HOCKY bằng 1.
 NAM = '2006' để lựa chọn những hàng có NAM là '2006'.

Câu III.8: . Tìm họ tên lớp trưởng của các lớp mà giáo viên có tên “Nguyen To Lan”
dạy môn “Co So Du Lieu”.

- Input: Bảng HOCVIEN

- Output:

- Hướng giải thuật:

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu
 Câu lệnh SELECT lấy cột HOTEN là sự kết hợp của trường HO và TEN từ bảng
HOCVIEN, thông qua một số điều kiện.
 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:
 GV.HOTEN = 'Nguyen To Lan' để lựa chọn những hàng có HOTEN của giáo viên là
'Nguyen To Lan'.
 TENMH = 'Co So Du Lieu' để lựa chọn những hàng có TENMH là 'Co So Du Lieu'.
 HV.MAHV = L.TRGLOP để kết nối bảng HOCVIEN và LOP dựa trên cột MAHV và
TRGLOP.
 L.MALOP = GD.MALOP để kết nối bảng LOP và GIANGDAY dựa trên cột MALOP.
 GD.MAGV = GV.MAGV để kết nối bảng GIANGDAY và GIAOVIEN dựa trên cột
MAGV.
 GD.MAMH = M.MAMH để kết nối bảng GIANGDAY và MONHOC dựa trên cột
MAMH.

Câu III.9: In ra danh sách những môn học (mã môn học, tên môn học) phải học liền
trước môn “Co So Du Lieu”.

- Input: Bảng MONHOC


- Output:

- Hướng giải thuật:

 Câu lệnh SELECT lấy các cột MAMH và TENMH từ bảng MONHOC AS MH_TRUOC
thông qua một số điều kiện.
 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:
 M.MAMH = DK.MAMH để kết nối bảng MONHOC và DIEUKIEN dựa trên cột
MAMH.
 MH_TRUOC.MAMH = DK.MAMH_TRUOC để kết nối bảng MONHOC AS
MH_TRUOC và DIEUKIEN dựa trên cột MAMH_TRUOC.
 M.TENMH = 'Co So Du Lieu' để lựa chọn những hàng có TENMH là 'Co So Du Lieu'.

PAGE \* MERGEFORMAT 14 | Page


IT004 – Cơ sở dữ liệu
Câu III.10: . Môn “Cau Truc Roi Rac” là môn bắt buộc phải học liền trước những
môn học (mã môn học, tên môn học) nào.

- Input: Bảng MONHOC

- Output:

- Hướng giải thuật:

 Câu lệnh SELECT lấy các cột MaMH và TenMH từ bảng MONHOC AS M thông qua
một số điều kiện.
 Câu lệnh WHERE sẽ xác định các điều kiện để chọn các hàng phù hợp:
 M.MaMH = DK.MaMH để kết nối bảng MONHOC và DieuKien dựa trên cột MaMH.
 MH_TRUOC.MaMH = DK.MAMH_TRUOC để kết nối bảng MONHOC AS
MH_TRUOC và DieuKien dựa trên cột MAMH_TRUOC.
 MH_TRUOC.TENMH = 'Cau Truc Roi Rac' để lựa chọn những hàng có TENMH là 'Cau
Truc Roi Rac' trong bảng MONHOC AS MH_TRUOC.

LINK CODE:

https://drive.google.com/file/d/1vQIF6BTeU593CFP0Icgs1AaXh7he1AKe/
view?usp=sharing

PAGE \* MERGEFORMAT 14 | Page

You might also like