Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Hệ Quản Trị Cơ Sở Dữ Liệu - Đề 03 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: Hệ quản trị cơ sở dữ liệu (DBMS) đóng vai trò trung gian giữa người dùng và cơ sở dữ liệu vật lý. Chức năng chính yếu nào sau đây thể hiện rõ nhất vai trò này?
- A. Đảm bảo an toàn vật lý cho thiết bị lưu trữ dữ liệu.
- B. Cung cấp giao diện dòng lệnh để quản trị cơ sở dữ liệu.
- C. Trừu tượng hóa dữ liệu, giúp người dùng thao tác trên mức logic thay vì mức vật lý.
- D. Tối ưu hóa tốc độ truy xuất dữ liệu bằng cách phân mảnh và nhân bản dữ liệu.
Câu 2: Xét mô hình cơ sở dữ liệu quan hệ, thuật ngữ "lược đồ quan hệ" (relation schema) mô tả điều gì chính xác nhất?
- A. Một bản ghi cụ thể (hàng) trong bảng dữ liệu.
- B. Cấu trúc của một bảng, bao gồm tên bảng và các thuộc tính của nó.
- C. Tập hợp tất cả các bảng trong một cơ sở dữ liệu.
- D. Mối quan hệ giữa các bảng trong cơ sở dữ liệu.
Câu 3: Trong quá trình thiết kế cơ sở dữ liệu quan hệ, chuẩn hóa (normalization) là một bước quan trọng. Mục tiêu chính của chuẩn hóa là gì?
- A. Tăng tốc độ truy vấn dữ liệu.
- B. Đơn giản hóa cấu trúc bảng để dễ quản lý.
- C. Tăng cường tính bảo mật cho cơ sở dữ liệu.
- D. Giảm thiểu dư thừa dữ liệu và đảm bảo tính nhất quán, toàn vẹn dữ liệu.
Câu 4: Khóa ngoại (foreign key) được sử dụng để thiết lập mối liên kết giữa các bảng trong cơ sở dữ liệu quan hệ. Phát biểu nào sau đây mô tả đúng nhất về ràng buộc khóa ngoại?
- A. Khóa ngoại là một thuộc tính duy nhất định danh mỗi bản ghi trong bảng.
- B. Khóa ngoại đảm bảo rằng giá trị của thuộc tính không được phép trùng lặp trong bảng.
- C. Khóa ngoại tham chiếu đến khóa chính của một bảng khác, đảm bảo tính toàn vẹn tham chiếu.
- D. Khóa ngoại được sử dụng để mã hóa dữ liệu trong bảng liên kết.
Câu 5: Xét câu lệnh SQL: `SELECT department, AVG(salary) FROM employees GROUP BY department HAVING AVG(salary) > 50000;` Câu lệnh này trả về thông tin gì?
- A. Tất cả các phòng ban và mức lương trung bình của nhân viên trong mỗi phòng ban.
- B. Các phòng ban có mức lương trung bình của nhân viên lớn hơn 50000.
- C. Phòng ban có mức lương trung bình cao nhất.
- D. Danh sách nhân viên có lương trên 50000, được nhóm theo phòng ban.
Câu 6: Giao tác (transaction) là một đơn vị logic của công việc trong DBMS. Tính chất "nguyên tử" (Atomicity) của giao tác đảm bảo điều gì?
- A. Giao tác được thực hiện một cách "tất cả hoặc không có gì" - hoặc tất cả các thao tác thành công, hoặc không có thao tác nào được thực hiện.
- B. Các giao tác được thực hiện một cách độc lập và không can thiệp lẫn nhau.
- C. Dữ liệu phải luôn ở trạng thái hợp lệ sau khi giao tác kết thúc.
- D. Giao tác sau khi hoàn thành sẽ được lưu trữ bền vững, không bị mất mát dữ liệu.
Câu 7: Cơ chế kiểm soát đồng thời (concurrency control) trong DBMS nhằm mục đích gì?
- A. Tăng tốc độ truy xuất dữ liệu cho người dùng đơn lẻ.
- B. Quản lý việc truy cập đồng thời vào dữ liệu bởi nhiều giao tác, đảm bảo tính nhất quán.
- C. Sao lưu và phục hồi dữ liệu khi hệ thống gặp sự cố.
- D. Kiểm soát quyền truy cập của người dùng vào cơ sở dữ liệu.
Câu 8: Phân biệt giữa ngôn ngữ định nghĩa dữ liệu (DDL) và ngôn ngữ thao tác dữ liệu (DML) trong SQL. DDL được sử dụng để làm gì?
- A. Truy vấn và truy xuất dữ liệu từ cơ sở dữ liệu.
- B. Thêm, sửa, xóa dữ liệu trong cơ sở dữ liệu.
- C. Định nghĩa cấu trúc cơ sở dữ liệu, như tạo, sửa đổi, xóa bảng và các đối tượng khác.
- D. Kiểm soát quyền truy cập và bảo mật dữ liệu.
Câu 9: Loại chỉ mục (index) nào phù hợp nhất để tăng tốc độ truy vấn trên cột "status" trong bảng "orders", khi cột này chỉ có 3 giá trị phân biệt: "pending", "shipped", "completed"?
- A. Chỉ mục B-tree
- B. Chỉ mục Hash
- C. Chỉ mục Cluster
- D. Chỉ mục Bitmap
Câu 10: Xét lược đồ quan hệ `SinhVien(maSV, tenSV, maLop)`. Câu lệnh SQL nào hiệu quả nhất để tìm ra danh sách mã sinh viên của tất cả sinh viên thuộc lớp có mã "CNTT1"?
- A. SELECT maSV FROM SinhVien WHERE maLop = "CNTT1";
- B. SELECT * FROM SinhVien WHERE maLop = "CNTT1";
- C. GET maSV FROM SinhVien IF maLop = "CNTT1";
- D. FIND SinhVien WITH maLop = "CNTT1" RETURN maSV;
Câu 11: Trong ngữ cảnh cơ sở dữ liệu NoSQL, loại cơ sở dữ liệu "Document Database" (Cơ sở dữ liệu dạng tài liệu) thích hợp nhất cho loại dữ liệu nào?
- A. Dữ liệu có cấu trúc bảng biểu, quan hệ rõ ràng.
- B. Dữ liệu dạng đồ thị, mối quan hệ phức tạp giữa các thực thể.
- C. Dữ liệu bán cấu trúc, dạng JSON hoặc XML, linh hoạt về lược đồ.
- D. Dữ liệu dạng cặp khóa-giá trị đơn giản.
Câu 12: Phân tích ưu điểm của việc sử dụng Stored Procedure (Thủ tục lưu trữ) trong DBMS so với việc thực thi các câu lệnh SQL trực tiếp từ ứng dụng. Ưu điểm quan trọng nhất là gì?
- A. Tăng cường khả năng bảo mật của cơ sở dữ liệu.
- B. Giảm lưu lượng mạng giữa ứng dụng và máy chủ cơ sở dữ liệu.
- C. Đơn giản hóa logic nghiệp vụ trong ứng dụng.
- D. Tự động tối ưu hóa hiệu suất truy vấn.
Câu 13: Khi nào thì việc sử dụng cơ sở dữ liệu phi quan hệ (NoSQL) trở nên ưu việt hơn so với cơ sở dữ liệu quan hệ truyền thống?
- A. Khi dữ liệu có cấu trúc quan hệ rõ ràng và yêu cầu tính toàn vẹn cao.
- B. Khi ứng dụng có số lượng truy vấn phức tạp và yêu cầu ACID transaction.
- C. Khi quy mô dữ liệu nhỏ và yêu cầu bảo mật dữ liệu nghiêm ngặt.
- D. Khi xử lý lượng lớn dữ liệu phi cấu trúc hoặc bán cấu trúc, yêu cầu mở rộng linh hoạt.
Câu 14: Trong ngữ cảnh Data Warehousing (Kho dữ liệu), mô hình "Star Schema" (Mô hình hình sao) được sử dụng để làm gì?
- A. Tổ chức dữ liệu kho sao cho tối ưu cho việc truy vấn và phân tích báo cáo (OLAP).
- B. Chuẩn hóa dữ liệu để giảm dư thừa và đảm bảo tính nhất quán.
- C. Mô hình hóa dữ liệu giao tác (OLTP) cho các ứng dụng nghiệp vụ hàng ngày.
- D. Quản lý metadata và dòng chảy dữ liệu trong kho dữ liệu.
Câu 15: Cho lược đồ quan hệ `KhachHang(maKH, tenKH, diaChi)` và `DonHang(maDH, maKH, ngayDatHang)`. Câu lệnh SQL nào liệt kê tên khách hàng và số lượng đơn hàng của mỗi khách hàng?
- A. SELECT tenKH, COUNT(maDH) FROM KhachHang, DonHang;
- B. SELECT tenKH, maDH FROM KhachHang JOIN DonHang;
- C. SELECT KhachHang.tenKH, COUNT(DonHang.maDH) AS SoLuongDonHang FROM KhachHang JOIN DonHang ON KhachHang.maKH = DonHang.maKH GROUP BY KhachHang.tenKH;
- D. SELECT KhachHang.tenKH, SUM(DonHang.maDH) FROM KhachHang JOIN DonHang ON KhachHang.maKH = DonHang.maKH;
Câu 16: Trong ngữ cảnh bảo mật cơ sở dữ liệu, "SQL Injection" là một hình thức tấn công lợi dụng lỗ hổng nào?
- A. Lỗ hổng trong hệ điều hành máy chủ cơ sở dữ liệu.
- B. Lỗ hổng trong việc xử lý đầu vào của ứng dụng, cho phép chèn mã SQL độc hại.
- C. Lỗ hổng trong giao thức mạng sử dụng để kết nối đến cơ sở dữ liệu.
- D. Lỗ hổng trong thuật toán mã hóa dữ liệu của cơ sở dữ liệu.
Câu 17: Sao lưu (backup) và phục hồi (recovery) dữ liệu là hoạt động quan trọng trong quản trị DBMS. Mục tiêu chính của việc sao lưu dữ liệu là gì?
- A. Tăng tốc độ truy xuất dữ liệu.
- B. Giảm dung lượng lưu trữ dữ liệu.
- C. Đảm bảo khả năng khôi phục dữ liệu khi có sự cố mất mát (ví dụ: lỗi phần cứng, phần mềm, thiên tai).
- D. Tăng cường tính bảo mật cho cơ sở dữ liệu.
Câu 18: "View" (Khung nhìn) trong cơ sở dữ liệu là gì và nó mang lại lợi ích gì?
- A. Bản sao vật lý của dữ liệu từ một hoặc nhiều bảng khác.
- B. Cơ chế để tối ưu hóa hiệu suất truy vấn.
- C. Công cụ để quản lý quyền truy cập của người dùng.
- D. Bảng ảo được tạo ra từ kết quả truy vấn, giúp đơn giản hóa truy vấn phức tạp và tăng cường bảo mật.
Câu 19: Trong mô hình ER (Entity-Relationship), ký hiệu hình thoi (diamond) thường được sử dụng để biểu diễn khái niệm nào?
- A. Thực thể (Entity).
- B. Mối quan hệ (Relationship).
- C. Thuộc tính (Attribute).
- D. Khóa chính (Primary Key).
Câu 20: Khi thiết kế cơ sở dữ liệu cho một hệ thống quản lý thư viện, bạn cần mô hình hóa mối quan hệ giữa "Sinh viên" và "Sách". Một sinh viên có thể mượn nhiều sách, và một cuốn sách có thể được mượn bởi nhiều sinh viên. Đây là mối quan hệ loại 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. Tự tham chiếu (Self-referencing).
Câu 21: Câu lệnh SQL `UPDATE SinhVien SET diaChi = "Hà Nội" WHERE maLop = "CNTT2";` thực hiện thao tác gì?
- A. Xóa tất cả sinh viên thuộc lớp "CNTT2".
- B. Cập nhật địa chỉ của tất cả sinh viên thuộc lớp "CNTT2" thành "Hà Nội".
- C. Thêm mới một sinh viên có địa chỉ "Hà Nội" vào lớp "CNTT2".
- D. Truy vấn thông tin của sinh viên có địa chỉ "Hà Nội" thuộc lớp "CNTT2".
Câu 22: Trong các hệ quản trị cơ sở dữ liệu hiện đại, cơ chế "Replication" (Nhân bản) được sử dụng cho mục đích chính nào?
- A. Tăng cường khả năng chịu lỗi (fault tolerance) và cải thiện hiệu suất đọc (read performance).
- B. Tăng cường bảo mật dữ liệu bằng cách mã hóa và phân quyền truy cập.
- C. Chuẩn hóa dữ liệu để giảm dư thừa và đảm bảo tính nhất quán.
- D. Tối ưu hóa dung lượng lưu trữ dữ liệu.
Câu 23: "Data Mining" (Khai phá dữ liệu) là quá trình làm gì liên quan đến cơ sở dữ liệu?
- A. Quản lý và bảo trì cơ sở dữ liệu.
- B. Thiết kế cấu trúc cơ sở dữ liệu.
- C. Truy vấn và báo cáo dữ liệu.
- D. Khám phá tri thức, mẫu, và quy luật ẩn từ lượng lớn dữ liệu.
Câu 24: Trong SQL, mệnh đề `UNION` được sử dụng để làm gì?
- A. Lọc dữ liệu từ một bảng dựa trên điều kiện.
- B. Sắp xếp dữ liệu theo thứ tự.
- C. Kết hợp kết quả của hai hoặc nhiều câu lệnh SELECT thành một tập kết quả duy nhất, loại bỏ hàng trùng lặp.
- D. Nhóm các hàng có giá trị giống nhau trong một cột.
Câu 25: Khi thiết kế một cơ sở dữ liệu cho hệ thống thương mại điện tử, bạn cần bảng "Sản phẩm", "Khách hàng", "Đơn hàng". Bảng nào nên được coi là bảng "fact table" (bảng sự kiện) trong mô hình kho dữ liệu?
- A. Sản phẩm.
- B. Đơn hàng.
- C. Khách hàng.
- D. Cả ba bảng đều là fact table.
Câu 26: "Trigger" (Bộ kích hoạt) trong DBMS là gì và nó hoạt động như thế nào?
- A. Một loại chỉ mục đặc biệt để tăng tốc độ truy vấn.
- B. Một công cụ để quản lý phiên làm việc của người dùng.
- C. Một dạng ràng buộc toàn vẹn dữ liệu.
- D. Đoạn mã được thực thi tự động khi có sự kiện (ví dụ: INSERT, UPDATE, DELETE) xảy ra trên một bảng.
Câu 27: "OLTP" (Online Transaction Processing) và "OLAP" (Online Analytical Processing) là hai loại hình xử lý dữ liệu khác nhau. OLAP chủ yếu tập trung vào loại truy vấn nào?
- A. Truy vấn giao dịch đơn giản, tốc độ cao (ví dụ: thêm một đơn hàng mới).
- B. Truy vấn cập nhật dữ liệu theo thời gian thực.
- C. Truy vấn phân tích phức tạp, tổng hợp dữ liệu lớn để đưa ra quyết định.
- D. Truy vấn bảo mật và kiểm soát truy cập dữ liệu.
Câu 28: Trong ngữ cảnh cơ sở dữ liệu phân tán (distributed database), "Data Fragmentation" (Phân mảnh dữ liệu) là kỹ thuật gì?
- A. Nhân bản toàn bộ cơ sở dữ liệu đến nhiều site khác nhau.
- B. Chia nhỏ dữ liệu (ví dụ: bảng) thành các phần nhỏ hơn và lưu trữ ở nhiều site khác nhau trong hệ thống phân tán.
- C. Mã hóa dữ liệu trước khi phân tán đến các site khác nhau.
- D. Tập trung dữ liệu từ nhiều nguồn khác nhau về một site duy nhất.
Câu 29: "CAP Theorem" (Định lý CAP) trong hệ thống phân tán khẳng định rằng, trong một hệ thống phân tán, chỉ có thể đảm bảo tối đa hai trong ba tính chất nào?
- A. Tính toàn vẹn (Integrity), Tính bảo mật (Security), và Tính khả dụng (Usability).
- B. Tính nguyên tử (Atomicity), Tính bền vững (Durability), và Tính độc lập (Isolation).
- C. Tính chính xác (Accuracy), Tính đầy đủ (Completeness), và Tính kịp thời (Timeliness).
- D. Tính nhất quán (Consistency), Tính sẵn sàng (Availability), và Tính chịu phân vùng (Partition Tolerance).
Câu 30: Cho câu lệnh SQL: `SELECT tenSV FROM SinhVien WHERE tenSV LIKE "%Van%";` Câu lệnh này trả về danh sách tên sinh viên như thế nào?
- A. Danh sách tên sinh viên có chứa chuỗi "Van" ở bất kỳ vị trí nào trong tên.
- B. Danh sách tên sinh viên bắt đầu bằng chuỗi "Van".
- C. Danh sách tên sinh viên kết thúc bằng chuỗi "Van".
- D. Danh sách tên sinh viên có tên chính xác là "Van".