Câu 1 · Trắc nghiệm
Phần I — Trắc nghiệm nhiều lựa chọn (3,0 điểm)
Mỗi câu chỉ có một đáp án đúng. Mỗi câu đúng được 0,25 điểm.
Câu 1. Cơ sở dữ liệu (CSDL) là
Đáp án:
A. tập hợp dữ liệu có tổ chức, được lưu trữ và quản lí theo một cấu trúc nhất định để có thể khai thác hiệu quả.
Câu 2 · Trắc nghiệm
Câu 2. Hệ quản trị cơ sở dữ liệu (DBMS) là
Đáp án:
C. phần mềm cho phép người dùng tạo lập, quản lí và khai thác cơ sở dữ liệu.
Câu 3 · Trắc nghiệm
Câu 3. Trong mô hình dữ liệu quan hệ, mỗi hàng của một bảng được gọi là
Đáp án:
B. một bản ghi.
Câu 4 · Trắc nghiệm
Câu 4. Khoá chính của một bảng trong cơ sở dữ liệu quan hệ phải thoả mãn điều kiện nào sau đây?
Đáp án:
D. Giá trị không được trùng lặp và không được để trống.
Câu 5 · Trắc nghiệm
Câu 5. Câu lệnh SQL nào sau đây dùng để truy vấn, lấy dữ liệu từ các bảng?
Đáp án:
B. SELECT.
Câu 6 · Trắc nghiệm
Câu 6. Thiết bị mạng nào có chức năng chính là kết nối các mạng khác nhau với nhau và định tuyến các gói tin, ví dụ kết nối mạng LAN của trường học với Internet?
Đáp án:
A. Bộ định tuyến (router).
Câu 7 · Trắc nghiệm
Câu 7. Trong bảng SINHVIEN(MaSV, HoTen, Lop), trường MaSV được chọn làm khoá chính vì
Đáp án:
D. mỗi sinh viên có một mã riêng, không trùng nhau, giúp xác định duy nhất mỗi bản ghi trong bảng.
Câu 8 · Trắc nghiệm
Câu 8. Trong câu lệnh truy vấn SQL, mệnh đề WHERE có tác dụng
Đáp án:
C. chỉ định điều kiện để lọc ra các bản ghi cần lấy.
Câu 9 · Trắc nghiệm
Câu 9. Bộ giao thức được sử dụng làm nền tảng cho việc truyền thông trên Internet là
Đáp án:
A. TCP/IP.
Câu 10 · Trắc nghiệm
Câu 10. Trong mô hình dữ liệu quan hệ, mỗi cột của một bảng được gọi là
Đáp án:
B. một trường (thuộc tính).
Câu 11 · Trắc nghiệm
Câu 11. Cho bảng HOCSINH(MaHS, HoTen, Lop, DiemTB). Câu lệnh SQL nào sau đây lấy ra họ tên của những học sinh thuộc lớp 12A1 và có điểm trung bình từ 8,0 trở lên?
Đáp án:
D. SELECT HoTen FROM HOCSINH WHERE Lop = '12A1' AND DiemTB >= 8;
Câu 12 · Trắc nghiệm
Câu 12. Trong câu lệnh SQL, cụm từ ORDER BY DiemTB DESC cho kết quả
Đáp án:
C. sắp xếp các bản ghi giảm dần theo DiemTB.
Câu 13 · Đúng / Sai
Phần II — Trắc nghiệm đúng–sai (2,0 điểm)
Mỗi câu 1,0 điểm, gồm 4 ý a), b), c), d). Điểm được tính lũy tiến theo số ý trả lời đúng: đúng 1 ý được 0,1 điểm; đúng 2 ý được 0,25 điểm; đúng 3 ý được 0,5 điểm; đúng cả 4 ý được 1,0 điểm.
Câu 1. Một thư viện xây dựng bảng SACH(MaSach, TenSach, TacGia, NamXB, GiaBan) và chọn MaSach làm khoá chính. Xét tính đúng – sai của các khẳng định sau:
a) Giá trị MaSach của hai cuốn sách khác nhau trong bảng không được trùng nhau.
Đáp án:
Đúng
Câu 14 · Đúng / Sai
b) Khi thêm một cuốn sách mới, có thể để trống giá trị MaSach và bổ sung sau.
Đáp án:
Sai
Câu 15 · Đúng / Sai
c) Trong bảng còn có thể có các trường đóng vai trò khoá ngoài, dùng để liên kết tới khoá chính của một bảng khác.
Đáp án:
Đúng
Câu 16 · Đúng / Sai
d) Một bảng trong cơ sở dữ liệu quan hệ có thể đồng thời có hai khoá chính khác nhau.
Đáp án:
Sai
Câu 17 · Đúng / Sai
Câu 2. Cho câu lệnh truy vấn SQL sau:
SELECT HoTen, DiemTB
FROM HOCSINH
WHERE Lop = '11A2'
ORDER BY DiemTB DESC;
Xét tính đúng – sai của các khẳng định sau về câu lệnh trên:
a) Câu lệnh chỉ lấy ra hai cột HoTen và DiemTB trong kết quả.
Đáp án:
Đúng
Câu 18 · Đúng / Sai
b) Câu lệnh lấy ra toàn bộ học sinh của trường, không phân biệt lớp.
Đáp án:
Sai
Câu 19 · Đúng / Sai
c) Các bản ghi trong kết quả được sắp xếp theo DiemTB từ cao xuống thấp.
Đáp án:
Đúng
Câu 20 · Đúng / Sai
d) Từ khoá DESC trong câu lệnh làm cho kết quả được sắp xếp tăng dần.
Đáp án:
Sai
Câu 21 · Tự luận
Phần III — Trắc nghiệm trả lời ngắn (2,0 điểm)
Mỗi câu 0,5 điểm. Chỉ ghi đáp án ngắn gọn (cụm từ, tên mệnh đề hoặc kết quả).
Câu 1. Trong mô hình dữ liệu quan hệ, mỗi cột của một bảng dùng để mô tả một đặc tính của đối tượng và được gọi là gì?
Chưa có đáp án mẫu.
Giải thích:
Trường (thuộc tính)
Câu 22 · Tự luận
Câu 2. Trong ngôn ngữ SQL, mệnh đề nào được dùng để sắp xếp kết quả của một câu lệnh truy vấn?
Chưa có đáp án mẫu.
Giải thích:
ORDER BY
Câu 23 · Tự luận
Câu 3. Cho bảng SANPHAM(MaSP, TenSP, Gia), trong đó trường Gia (đơn vị: nghìn đồng) của 4 sản phẩm lần lượt là: 50, 120, 80, 200. Câu lệnh sau cho kết quả bằng bao nhiêu?
SELECT COUNT(*)
FROM SANPHAM
WHERE Gia > 100;
Chưa có đáp án mẫu.
Giải thích:
2
Câu 24 · Tự luận
Câu 4. Cho đoạn chương trình Python sau:
diem = [7, 4, 9, 6, 5]
s = 0
for d in diem:
if d >= 5:
s = s + d
print(s)
Hỏi khi chạy chương trình, kết quả in ra màn hình là số nào?
Chưa có đáp án mẫu.
Giải thích:
27
Câu 25 · Tự luận
Phần IV — Tự luận (3,0 điểm)
Bài 1 (1,5 điểm). Đọc tình huống sau: "Cửa hàng sách của bác Tâm quản lí việc bán hàng hoàn toàn bằng sổ tay: mỗi cuốn sổ ghi chép các cuốn sách đã bán và số tiền thu được trong ngày. Sau vài năm, cửa hàng có hàng nghìn đầu sách; mỗi lần cần tra cứu xem một cuốn sách còn hàng hay không, bác Tâm phải dò tìm qua nhiều cuốn sổ, mất rất nhiều thời gian. Đã có lần cùng một thông tin về một cuốn sách được ghi ở hai cuốn sổ với hai giá bán khác nhau, khiến nhân viên bán nhầm giá và khách hàng phàn nàn."
a) (0,75 điểm) Chỉ ra những khó khăn, hạn chế của cách quản lí thủ công được nêu trong tình huống. Theo em, những hạn chế đó xuất phát từ những nguyên nhân nào?
b) (0,75 điểm) Phân tích những lợi ích khi cửa hàng chuyển sang quản lí bằng một cơ sở dữ liệu trên máy tính với hệ quản trị cơ sở dữ liệu. Đồng thời cho biết: nếu bảng dữ liệu sách của cửa hàng không có khoá chính thì điều gì có thể xảy ra?
Chưa có đáp án mẫu.
Giải thích:
Bài 1 (1,5 điểm): a) (0,75 điểm): Hạn chế của quản lí thủ công (phần tái hiện, 0,5 điểm): tra cứu chậm, phải dò tìm qua nhiều cuốn sổ; dữ liệu bị phân tán, ghi trùng lặp ở nhiều nơi; thông tin về cùng một đối tượng không nhất quán (cùng một cuốn sách có hai giá bán) dẫn đến sai sót khi phục vụ khách hàng; khó tổng hợp, thống kê. Nguyên nhân (phần liên hệ, 0,25 điểm): dữ liệu không được tổ chức và quản lí tập trung theo một cấu trúc thống nhất, không có cơ chế kiểm tra tính nhất quán khi ghi chép. b) (0,75 điểm): Lợi ích của CSDL (phần giải thích, 0,5 điểm): dữ liệu được lưu trữ tập trung, có cấu trúc; tra cứu, tìm kiếm gần như tức thì; mỗi thông tin chỉ lưu một nơi nên nhất quán; dễ cập nhật, thống kê doanh thu, quản lí tồn kho; có thể phân quyền và sao lưu để an toàn. Rủi ro khi bảng không có khoá chính (phần phân tích, 0,25 điểm): các bản ghi không có dấu hiệu phân biệt duy nhất, dễ bị nhập trùng cùng một cuốn sách thành nhiều bản ghi khác nhau, không xác định được bản ghi nào là đúng khi sửa/xoá, dữ liệu nhanh chóng rối loạn — chính là sự cố "hai giá bán" trong tình huống.
Câu 26 · Tự luận
Bài 2 (1,5 điểm). Một trường học quản lí điểm bằng hai bảng:
— HOCSINH(MaHS, HoTen, Lop), trong đó MaHS là khoá chính.
— DIEM(MaHS, MonHoc, Diem), trong đó mỗi bản ghi cho biết điểm của một học sinh ở một môn học.
a) (0,75 điểm) Xác định khoá ngoài trong hai bảng trên và giải thích vai trò của khoá ngoài trong việc liên kết dữ liệu giữa hai bảng.
b) (0,75 điểm) Viết câu lệnh SQL liệt kê họ tên và điểm môn Toán của các học sinh lớp 11A1, kết quả sắp xếp theo điểm giảm dần.
Chưa có đáp án mẫu.
Giải thích:
Bài 2 (1,5 điểm): a) (0,75 điểm): Khoá ngoài là trường MaHS trong bảng DIEM (0,25 điểm). Giải thích (0,5 điểm): MaHS trong bảng DIEM tham chiếu tới khoá chính MaHS của bảng HOCSINH; nhờ đó mỗi bản ghi điểm luôn gắn được với đúng học sinh sở hữu điểm đó, cho phép kết hợp dữ liệu của hai bảng khi truy vấn (ví dụ lấy họ tên kèm điểm) và bảo đảm tính toàn vẹn tham chiếu — không thể tồn tại điểm của một học sinh không có trong bảng HOCSINH. b) (0,75 điểm): Câu lệnh SQL mẫu (chấm theo ý: chọn đúng cột HoTen, Diem và hai bảng nguồn 0,25 điểm; điều kiện nối hai bảng HOCSINH.MaHS = DIEM.MaHS cùng điều kiện lọc Lop = '11A1' và MonHoc = 'Toan' 0,25 điểm; sắp xếp ORDER BY Diem DESC 0,25 điểm):
SELECT HoTen, Diem
FROM HOCSINH, DIEM
WHERE HOCSINH.MaHS = DIEM.MaHS
AND Lop = '11A1'
AND MonHoc = 'Toan'
ORDER BY Diem DESC;
Chấp nhận cả cách viết dùng JOIN ... ON với ý nghĩa tương đương.