Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Cơ Sở Dữ Liệu - Đề 04 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Trong mô hình dữ liệu quan hệ, khái niệm nào sau đây mô tả một thuộc tính hoặc một tập hợp các thuộc tính dùng để xác định duy nhất mỗi bộ (tuple) trong một quan hệ (relation)?
- A. Thuộc tính (Attribute)
- B. Miền giá trị (Domain)
- C. Khóa (Key)
- D. Quan hệ (Relation)
Câu 2: Xét lược đồ quan hệ `NHANVIEN(MaNV, TenNV, PhongBan, MaPB)`. Phụ thuộc hàm nào sau đây có thể tồn tại nếu mỗi nhân viên chỉ thuộc về một phòng ban và mỗi phòng ban có nhiều nhân viên?
- A. MaNV → PhongBan
- B. PhongBan → MaNV
- C. MaPB → TenNV
- D. (MaNV, PhongBan) → MaPB
Câu 3: Chuẩn hóa cơ sở dữ liệu nhằm mục đích chính là gì?
- A. Tăng tốc độ truy vấn dữ liệu
- B. Giảm dư thừa dữ liệu và đảm bảo tính nhất quán
- C. Tăng cường bảo mật dữ liệu
- D. Đơn giản hóa cấu trúc vật lý của CSDL
Câu 4: Trong SQL, câu lệnh nào sau đây được sử dụng để truy xuất dữ liệu từ một hoặc nhiều bảng?
- A. INSERT
- B. UPDATE
- C. SELECT
- D. DELETE
Câu 5: Loại ràng buộc toàn vẹn nào đảm bảo rằng giá trị của một thuộc tính phải tồn tại trong một tập hợp các giá trị hợp lệ được xác định trước?
- A. Ràng buộc khóa chính (Primary Key Constraint)
- B. Ràng buộc khóa ngoại (Foreign Key Constraint)
- C. Ràng buộc thực thể (Entity Integrity Constraint)
- D. Ràng buộc miền giá trị (Domain Constraint)
Câu 6: Giao tác (transaction) trong hệ quản trị CSDL đảm bảo tính chất ACID. Chữ "C" trong ACID đại diện cho tính chất nào?
- A. Availability (Tính khả dụng)
- B. Consistency (Tính nhất quán)
- C. Concurrency (Tính đồng thời)
- D. Cacheability (Tính khả năng lưu trữ cache)
Câu 7: Khi nào thì chỉ mục (index) trên cột của bảng trong CSDL quan hệ mang lại hiệu quả cao nhất?
- A. Khi cột chứa nhiều giá trị trùng lặp
- B. Khi cột được cập nhật thường xuyên
- C. Khi cột được sử dụng thường xuyên trong mệnh đề WHERE với các phép so sánh
- D. Khi bảng có kích thước nhỏ
Câu 8: Trong mô hình ER, hình chữ nhật đại diện cho khái niệm nào?
- A. Thực thể (Entity)
- B. Thuộc tính (Attribute)
- C. Mối quan hệ (Relationship)
- D. Khóa (Key)
Câu 9: Câu lệnh SQL nào sau đây dùng để thêm một cột mới vào bảng đã tồn tại?
- A. CREATE TABLE
- B. MODIFY TABLE
- C. UPDATE TABLE
- D. ALTER TABLE ... ADD COLUMN
Câu 10: Loại CSDL NoSQL nào phù hợp nhất để lưu trữ và truy vấn dữ liệu dạng đồ thị, ví dụ như mạng xã hội?
- A. CSDL dạng khóa-giá trị (Key-Value Database)
- B. CSDL đồ thị (Graph Database)
- C. CSDL dạng tài liệu (Document Database)
- D. CSDL dạng cột (Column-Family Database)
Câu 11: Xét truy vấn SQL sau: `SELECT PhongBan, COUNT() FROM NHANVIEN GROUP BY PhongBan HAVING COUNT() > 5;` Truy vấn này trả về thông tin gì?
- A. Tất cả các phòng ban và số lượng nhân viên trong mỗi phòng ban
- B. Các phòng ban có số lượng nhân viên ít hơn 5
- C. Các phòng ban có số lượng nhân viên lớn hơn 5
- D. Số lượng nhân viên lớn nhất trong tất cả các phòng ban
Câu 12: Trong kiến trúc 3 lớp của hệ quản trị CSDL, lớp nào chịu trách nhiệm giao tiếp trực tiếp với người dùng cuối?
- A. Lớp ngoài (External/Presentation Layer)
- B. Lớp khái niệm (Conceptual/Application Layer)
- C. Lớp trong (Internal/Data Layer)
- D. Tất cả các lớp
Câu 13: Sao lưu và phục hồi dữ liệu (backup and recovery) là một hoạt động quan trọng trong quản trị CSDL. Mục đích chính của việc sao lưu CSDL là gì?
- A. Tăng tốc độ truy cập dữ liệu
- B. Phòng ngừa mất dữ liệu và phục hồi khi có sự cố
- C. Tối ưu hóa hiệu suất CSDL
- D. Đảm bảo tính toàn vẹn dữ liệu trong quá trình giao tác
Câu 14: Trong SQL, mệnh đề `JOIN` được sử dụng để làm gì?
- A. Lọc dữ liệu từ một bảng
- B. Sắp xếp dữ liệu trong một bảng
- C. Kết hợp dữ liệu từ hai hoặc nhiều bảng
- D. Tính toán tổng hợp trên dữ liệu
Câu 15: Hãy chọn phát biểu đúng về khóa ngoại (foreign key) trong CSDL quan hệ.
- A. Khóa ngoại là khóa chính của một bảng khác
- B. Mỗi bảng chỉ có thể có một khóa ngoại
- C. Khóa ngoại không được phép chứa giá trị NULL
- D. Khóa ngoại tham chiếu đến khóa chính của một bảng khác và đảm bảo tính toàn vẹn tham chiếu
Câu 16: Kỹ thuật kiểm soát đồng thời (concurrency control) nào ngăn chặn hiện tượng "đọc bẩn" (dirty read) trong giao tác CSDL?
- A. Khóa hai pha (Two-Phase Locking - 2PL)
- B. Khóa mức độ đọc đã commit (Read Committed Isolation Level)
- C. Kiểm soát đồng thời bi quan (Pessimistic Concurrency Control)
- D. Kiểm soát đồng thời lạc quan (Optimistic Concurrency Control)
Câu 17: Trong thiết kế CSDL, mối quan hệ "một-nhiều" (one-to-many relationship) giữa hai thực thể A và B thường được biểu diễn bằng cách nào trong mô hình quan hệ?
- A. Thêm khóa ngoại vào bảng B, tham chiếu đến khóa chính của bảng A
- B. Thêm khóa ngoại vào bảng A, tham chiếu đến khóa chính của bảng B
- C. Tạo một bảng trung gian để liên kết A và B
- D. Không cần thay đổi cấu trúc bảng, mối quan hệ được thể hiện ngầm định
Câu 18: Cho lược đồ quan hệ `SINHVIEN(MaSV, TenSV, MaLop)` và `LOP(MaLop, TenLop)`. Câu lệnh SQL nào sau đây truy vấn danh sách tên sinh viên và tên lớp của sinh viên đó?
- A. SELECT TenSV, TenLop FROM SINHVIEN, LOP WHERE SINHVIEN.MaSV = LOP.MaLop;
- B. SELECT TenSV, TenLop FROM SINHVIEN UNION LOP;
- C. SELECT TenSV, TenLop FROM SINHVIEN INNER JOIN LOP ON SINHVIEN.MaLop = LOP.MaLop;
- D. SELECT TenSV, TenLop FROM SINHVIEN CROSS JOIN LOP;
Câu 19: Phân mảnh cơ sở dữ liệu (database fragmentation) trong CSDL phân tán nhằm mục đích chính là gì?
- A. Tăng cường bảo mật dữ liệu
- B. Giảm dung lượng lưu trữ CSDL
- C. Đơn giản hóa cấu trúc CSDL
- D. Tăng hiệu suất truy vấn và khả năng quản lý dữ liệu phân tán
Câu 20: Trong SQL, hàm tổng hợp (aggregate function) nào sau đây được sử dụng để tính giá trị trung bình của một cột số?
- A. SUM()
- B. AVG()
- C. MAX()
- D. COUNT()
Câu 21: Hãy xem xét tình huống: Một hệ thống quản lý thư viện cần lưu trữ thông tin về sách, độc giả và việc mượn trả sách. Mối quan hệ giữa "Độc giả" và "Sách" trong ngữ cảnh mượn trả sách là mối quan hệ gì?
- A. Một-một (One-to-one)
- B. Một-nhiều (One-to-many)
- C. Nhiều-nhiều (Many-to-many)
- D. Không có quan hệ
Câu 22: Giả sử bạn có một bảng `DONHANG(MaDH, NgayDatHang, MaKH, TongTien)` và bảng `KHACHHANG(MaKH, TenKH, DiaChi)`. Bạn muốn tìm tổng tiền của các đơn hàng được đặt bởi khách hàng có tên "Nguyen Van A". Câu lệnh SQL nào sau đây thực hiện đúng yêu cầu?
- A. SELECT SUM(TongTien) FROM DONHANG WHERE MaKH IN (SELECT MaKH FROM KHACHHANG WHERE TenKH = "Nguyen Van A");
- B. SELECT TongTien FROM DONHANG JOIN KHACHHANG ON DONHANG.MaKH = KHACHHANG.MaKH WHERE TenKH = "Nguyen Van A";
- C. SELECT AVG(TongTien) FROM DONHANG JOIN KHACHHANG ON DONHANG.MaKH = KHACHHANG.MaKH WHERE TenKH = "Nguyen Van A";
- D. SELECT SUM(TongTien) FROM DONHANG JOIN KHACHHANG ON DONHANG.MaKH = KHACHHANG.MaKH WHERE KHACHHANG.TenKH = "Nguyen Van A";
Câu 23: "Data warehouse" (kho dữ liệu) khác biệt với "operational database" (CSDL tác nghiệp) chủ yếu ở đặc điểm nào?
- A. Kho dữ liệu tập trung vào phân tích và báo cáo, CSDL tác nghiệp tập trung vào xử lý giao dịch hàng ngày.
- B. Kho dữ liệu lưu trữ dữ liệu hiện tại, CSDL tác nghiệp lưu trữ dữ liệu lịch sử.
- C. Kho dữ liệu có cấu trúc phức tạp hơn CSDL tác nghiệp.
- D. Kho dữ liệu chỉ sử dụng mô hình NoSQL, CSDL tác nghiệp chỉ sử dụng mô hình quan hệ.
Câu 24: Trong ngữ cảnh bảo mật CSDL, "SQL injection" là loại tấn công nhắm vào lỗ hổng nào?
- A. Hệ điều hành máy chủ CSDL
- B. Mạng truyền thông giữa máy khách và máy chủ CSDL
- C. Ứng dụng web hoặc ứng dụng khác tương tác với CSDL thông qua SQL
- D. Cơ chế xác thực người dùng của CSDL
Câu 25: Một công ty thương mại điện tử muốn theo dõi hành vi duyệt web của khách hàng để cá nhân hóa trải nghiệm mua sắm. Loại CSDL nào có thể phù hợp để lưu trữ và phân tích dữ liệu hành vi người dùng dạng này?
- A. CSDL quan hệ truyền thống (RDBMS)
- B. CSDL NoSQL (ví dụ: MongoDB, Cassandra)
- C. CSDL hướng đối tượng (Object-Oriented Database)
- D. CSDL phân cấp (Hierarchical Database)
Câu 26: Hãy sắp xếp các bước thiết kế CSDL quan hệ theo thứ tự logic:
- A. Thiết kế logic -> Thiết kế vật lý -> Thu thập yêu cầu -> Thiết kế khái niệm
- B. Thiết kế vật lý -> Thiết kế logic -> Thiết kế khái niệm -> Thu thập yêu cầu
- C. Thu thập yêu cầu -> Thiết kế khái niệm -> Thiết kế logic -> Thiết kế vật lý
- D. Thu thập yêu cầu -> Thiết kế vật lý -> Thiết kế logic -> Thiết kế khái niệm
Câu 27: Trong mô hình dữ liệu quan hệ, phép toán "phép chọn" (selection) thực hiện chức năng gì?
- A. Lọc các bộ thỏa mãn một điều kiện nhất định từ một quan hệ
- B. Kết hợp các bộ từ hai quan hệ dựa trên thuộc tính chung
- C. Chọn ra một tập hợp các thuộc tính (cột) từ một quan hệ
- D. Sắp xếp các bộ trong một quan hệ theo thứ tự nhất định
Câu 28: "Data mining" (khai phá dữ liệu) thường được ứng dụng trên loại dữ liệu nào?
- A. CSDL giao dịch trực tuyến (OLTP)
- B. Kho dữ liệu (Data Warehouse) hoặc Hồ dữ liệu (Data Lake)
- C. CSDL cá nhân (Personal Database)
- D. CSDL nhúng (Embedded Database)
Câu 29: Khi thiết kế một CSDL cho hệ thống quản lý điểm sinh viên, bạn quyết định tạo một bảng `DIEM` với các cột `MaSV`, `MaMH`, `DiemSo`. Khóa chính phù hợp nhất cho bảng `DIEM` là gì?
- A. MaSV
- B. MaMH
- C. DiemSo
- D. (MaSV, MaMH)
Câu 30: Trong môi trường CSDL phân tán, "tính trong suốt phân tán" (distribution transparency) nghĩa là gì?
- A. Dữ liệu được phân tán một cách rõ ràng cho người dùng thấy
- B. Hiệu suất truy vấn dữ liệu phân tán luôn cao hơn CSDL tập trung
- C. Người dùng không cần biết dữ liệu được phân tán và lưu trữ ở nhiều nơi
- D. Việc quản lý và bảo trì CSDL phân tán trở nên phức tạp hơn