Download as pdf or txt
Download as pdf or txt
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ũ

 Tp. Hồ Chí Minh, 09/2023 


IT004 – Cơ sở dữ liệu
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)

2|Page
IT004 – Cơ sở dữ liệu

MỤC LỤC

I. Ngôn ngữ truy vấn dữ liệu: ....................................................................................... 5

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.......... 5

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.................................................................................. 5

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..................................................................................................... 6

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).....................................................................................................................8

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).................................................................................................................. 9

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........................................................................................................................... 10

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............................................................................................ 10

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”................................................................................................................11

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”................................................................................................................12

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................................................................................................12

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

3|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

4|Page
IT004 – Cơ sở dữ liệu

NỘI DUNG BÀI LÀM

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

5|Page
IT004 – Cơ sở dữ liệu
- Output:

- 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

6|Page
IT004 – Cơ sở dữ liệu
- Output:

- 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.

7|Page
IT004 – Cơ sở dữ liệu
 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.
 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'

8|Page
IT004 – Cơ sở dữ liệu
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).

- 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.

9|Page
IT004 – Cơ sở dữ liệu
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.

- 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

10 | P a g e
IT004 – Cơ sở dữ liệu
- Output:

- 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:

11 | P a g e
IT004 – Cơ sở dữ liệu
- Hướng giải thuật:

 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'.

12 | P a g e
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/v
iew?usp=sharing

13 | P a g e

You might also like