Professional Documents
Culture Documents
Môn Cơ Sở Dữ Liệu Bài Tập Thực Hành 3
Môn Cơ Sở Dữ Liệu Bài Tập Thực Hành 3
MÔN CƠ SỞ DỮ LIỆU
BÀI TẬP THỰC HÀNH 3
MỤC LỤC
1. Tìm h tên giáo viên dy môn CTRR cho c hai lp “K11” và “K12” trong cùng hc k 1 nm 2006
..........................................................................................................................................................5
2. Tìm nhng hc viên (mã hc viên, h tên) thi không t môn CSDL ln thi th 1 nhng cha thi li môn này.
...............................................................................................................................................5
3. Tìm giáo viên (mã giáo viên, h tên) không c phân công ging dy bt k môn hc nào. ...........6
4. Tìm giáo viên (mã giáo viên, h tên) không c phân công ging dy bt k môn hc nào thuc kh
.....................................................................................................................7
5. Tìm h tên các hc viên thuc lp “K11” thi mt môn bt k quá 3 ln vn “Khong dat” hoc thi ln th 2 môn CTRR c 5 im.
...........................................................................................................8
6. Tìm h tên giáo viên dy môn CTRR cho ít nht hai lp trong cùng mt hc k ca mt nm hc . .9
7. Danh sách hc viên và im thi môn CSDL (ch ly im ca ln thi sau cùng) ..............................10
8. Danh sách hc viên và im thi môn “Co So Du Lieu” (ch ly im cao nht ca các ln thi). .....11
10. Có bao nhiêu giáo viên có hc hàm là “GS” hoc “PGS”. ...............................................................12
11. Thng kê có bao nhiêu giáo viên có hc v là “CN”, “KS”, “Ths”, “TS”, “PTS” trong mi khoa..
................................................................................................................................................................13
13. Tìm giáo viên (mã giáo viên, h tên) là giáo viên ch nhim ca mt lp, ng thi dy cho lp ó ít nht mt môn hc
...........................................................................................................................14
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
- Output:
Câu lệnh truy vấn sẽ trả về tên các giáo viên dạy môn CTRR cho cả hai lớp "K11" và
"K12" trong học kỳ 1 năm 2006.
Để thực hiện việc này, truy vấn kết hợp hai bảng GIAOVIEN và GIANGDAY thông qua
điều kiện GV.MAGV = GD.MAGV và lọc ra các dòng thỏa mãn điều kiện MAMH =
'CTRR' (môn CTRR), HOCKY = 1 (học kỳ 1), NAM = 2006 (năm 2006) và MALOP IN
('K11', 'K12') (lớp "K11" hoặc "K12"). Kết quả sẽ trả về danh sách tên các giáo viên đáp
ứng các điều kiện trên.
Câu 2: Tìm những học viên (mã học viên, họ tên) thi không đạt môn CSDL ở lần thi
thứ 1 nhưng chưa thi lại môn này.
- Output:
Câu lệnh truy vấn sẽ trả về danh sách các học viên (bao gồm mã học viên và họ tên) đã
thi không đạt môn CSDL ở lần thi thứ 1 nhưng chưa thi lại môn này.
Để thực hiện điều này, truy vấn kết hợp hai bảng HOCVIEN và KETQUATHI thông qua
điều kiện HV.MAHV = KQ.MAHV và lọc ra các dòng thỏa mãn điều kiện MAMH =
'CSDL' (môn CSDL), LANTHI = 1 (lần thi thứ 1) và KQUA = 'Khong Dat' (thi không
đạt). Sau đó, truy vấn sử dụng NOT EXISTS để kiểm tra xem có bất kỳ lần thi nào khác
(LANTHI > 1) của môn CSDL với học viên đó không. Kết quả sẽ trả về danh sách học
viên đáp ứng các điều kiện trên.
Câu 3: Tìm giáo viên (mã giáo viên, họ tên) không được phân công giảng dạy bất kỳ
môn học nào.
- Output:
Câu 4: Tìm giáo viên (mã giáo viên, họ tên) không được phân công giảng dạy bất kỳ
môn học nào thuộc khoa giáo viên đó phụ trách.
- Output:
Câu lệnh truy vấn sẽ trả về danh sách các giáo viên (bao gồm mã giáo viên và họ tên)
không được phân công giảng dạy bất kỳ môn học nào thuộc khoa mà giáo viên đó phụ
trách.
Để thực hiện điều này, truy vấn sử dụng NOT EXISTS để kiểm tra xem có bất kỳ phân
công giảng dạy nào (tức là có dòng thỏa mãn các điều kiện GIANGDAY.MAMH =
Câu 5: Tìm họ tên các học viên thuộc lớp “K11” thi một môn bất kỳ quá 3 lần vẫn
“Khong dat” hoặc thi lần thứ 2 môn CTRR được 5 điểm.
- Output:
Câu lệnh truy vấn trên sẽ trả về danh sách họ tên các học viên thuộc lớp
"K11" thỏa mãn một hai điều kiện sau:
Học viên thuộc lớp "K11" và đã thi lần thứ 2 môn CTRR và đạt được 5
điểm.
Học viên thuộc lớp "K11" và đã thi một môn bất kỳ quá 3 lần vẫn "Khong
dat".
Câu 6: Tìm họ tên giáo viên dạy môn CTRR cho ít nhất hai lớp trong cùng một học kỳ
của một năm học.
Câu lệnh truy vấn trên sẽ trả về danh sách các giáo viên dạy môn CTRR cho ít nhất hai
lớp trong cùng một học kỳ của một năm học.
Để thực hiện điều này, truy vấn kết hợp hai bảng GIAOVIEN và GIANGDAY thông qua
điều kiện GV.MAGV = GD.MAGV và lọc ra các dòng thỏa mãn điều kiện
MAMH='CTRR' (môn CTRR). Sau đó, truy vấn sử dụng GROUP BY để nhóm kết quả
theo MAGV (mã giáo viên), HOTEN (họ tên) và HOCKY (học kỳ), và sử dụng
HAVING COUNT(*) >= 2 để chỉ lấy những giáo viên có ít nhất hai phân công dạy môn
CTRR trong cùng một học kỳ.
Kết quả sẽ trả về danh sách họ tên các giáo viên thỏa mãn điều kiện trên.
- Output:
Câu lệnh truy vấn trên sẽ trả về danh sách học viên và điểm thi môn CSDL, chỉ lấy điểm
của lần thi sau cùng của mỗi học viên.
Để thực hiện điều này, truy vấn kết hợp hai bảng HOCVIEN và KETQUATHI dựa trên
điều kiện HV.MAHV = KQ.MAHV, và lọc ra các dòng thỏa mãn điều kiện MAMH =
'CSDL'. Trong đó, điều kiện LANTHI = (SELECT MAX(LANTHI) FROM
KETQUATHI WHERE KETQUATHI.MAHV = HV.MAHV AND MAMH = 'CSDL'
GROUP BY MAHV) sẽ chọn ra điểm thi của lần thi sau cùng cho mỗi học viên.
Kết quả sẽ là danh sách học viên và điểm thi môn CSDL từ lần thi sau cùng.
- Output:
Câu lệnh truy vấn trên sẽ trả về danh sách học viên và điểm thi môn "Cơ Sở Dữ Liệu"
(CSDL), chỉ lấy điểm cao nhất của các lần thi.
Để thực hiện điều này, truy vấn kết hợp hai bảng HOCVIEN và KETQUATHI dựa trên
điều kiện HV.MAHV = KQ.MAHV, và lọc ra các dòng thỏa mãn điều kiện MAMH =
'CSDL'. Điều kiện DIEM = (SELECT MAX(DIEM) FROM KETQUATHI WHERE
KETQUATHI.MAHV = HV.MAHV AND MAMH = 'CSDL' GROUP BY MAHV) sẽ
chọn ra điểm thi cao nhất của mỗi học viên.
Kết quả sẽ là danh sách học viên và điểm thi môn CSDL, chỉ lấy điểm cao nhất của các
lần thi.
Câu lệnh truy vấn trên sẽ trả về thông tin về khoa (mã khoa, tên khoa) mà được thành lập
sớm nhất.
Để thực hiện điều này, truy vấn sử dụng câu lệnh SELECT để lấy ra MAKHOA và
TENKHOA từ bảng KHOA, với điều kiện lấy ra khoa có NGTLAP (ngày thành lập)
bằng giá trị nhỏ nhất (thời gian thành lập sớm nhất) từ bảng KHOA.
Kết quả sẽ là thông tin về khoa được thành lập sớm nhất.
Câu 10: Có bao nhiêu giáo viên có học hàm là “GS” hoặc “PGS”.
- Output:
Câu 11: Thống kê có bao nhiêu giáo viên có học vị là “CN”, “KS”, “Ths”, “TS”,
“PTS” trong mỗi khoa.
- Output:
Câu 13: Tìm giáo viên (mã giáo viên, họ tên) là giáo viên chủ nhiệm của một lớp,
đồng thời dạy cho lớp đó ít nhất một môn học.
- Output:
Câu 14: Tìm họ tên lớp trưởng của lớp có sỉ số cao nhất.
https://drive.google.com/file/d/17cl9V_9cNvZjDD-m_UwJSQ2dDi9oR3QM/view?usp=sharing