Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
592,3 KB
Nội dung
ĐẠ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