Bài Tập, Đề Thi Trắc Nghiệm Online - Môn 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: 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 tập hợp các thuộc tính dùng để xác định duy nhất mỗi bộ (row) trong một quan hệ (table)?
- A. Khóa ngoại (Foreign Key)
- B. Khóa phụ (Alternate Key)
- C. Khóa chính (Primary Key)
- D. Siêu khóa (Super Key)
Câu 2: Xét lược đồ quan hệ `NHANVIEN(MaNV, TenNV, PhongBanID)` và `PHONGBAN(PhongBanID, TenPhongBan)`. Thuộc tính `PhongBanID` trong quan hệ `NHANVIEN` được gọi là khóa gì?
- A. Khóa chính (Primary Key)
- B. Khóa ngoại (Foreign Key)
- C. Khóa ứng viên (Candidate Key)
- D. Khóa複合 (Composite Key)
Câu 3: Phát biểu nào sau đây mô tả đúng nhất về ràng buộc toàn vẹn tham chiếu (Referential Integrity Constraint) trong cơ sở dữ liệu quan hệ?
- A. Giá trị của một thuộc tính không được phép là NULL.
- B. Giá trị của một thuộc tính phải là duy nhất trong một bảng.
- C. Dữ liệu nhập vào phải tuân theo định dạng đã được xác định trước.
- D. Giá trị của khóa ngoại phải tồn tại trong bảng quan hệ mà nó tham chiếu đến (hoặc là NULL).
Câu 4: Trong SQL, câu lệnh nào sau đây được sử dụng để truy vấn dữ liệu từ một hoặc nhiều bảng?
- A. SELECT
- B. INSERT
- C. UPDATE
- D. DELETE
Câu 5: Cho bảng `SINHVIEN(MaSV, TenSV, MaLop)`. Câu lệnh SQL nào sau đây trả về danh sách tên sinh viên và mã lớp của tất cả sinh viên thuộc lớp có mã "L001"?
- A. SELECT * FROM SINHVIEN WHERE MaLop = "L001"
- B. SELECT MaSV, TenSV FROM SINHVIEN
- C. SELECT TenSV, MaLop FROM SINHVIEN WHERE MaLop = "L001"
- D. SELECT TenSV, MaLop FROM SINHVIEN AND MaLop = "L001"
Câu 6: Trong SQL, mệnh đề `JOIN` được sử dụng để làm gì?
- A. Lọc dữ liệu theo điều kiện chỉ định.
- B. Kết hợp các hàng từ hai hoặc nhiều bảng dựa trên các cột liên quan giữa chúng.
- C. Sắp xếp dữ liệu trả về theo một thứ tự nhất định.
- D. Nhóm các hàng có giá trị trùng nhau trong một cột.
Câu 7: ACID là tập hợp các thuộc tính quan trọng của một giao dịch (transaction) trong hệ quản trị cơ sở dữ liệu. Chữ "C" trong ACID đại diện cho thuộc tính nào?
- A. Atomicity (Tính nguyên tử)
- B. Durability (Tính bền vững)
- C. Consistency (Tính nhất quán)
- D. Isolation (Tính độc lập)
Câu 8: Chuẩn hóa cơ sở dữ liệu (Database Normalization) là quá trình tổ chức dữ liệu trong cơ sở dữ liệu quan hệ nhằm mục đích chính nào?
- A. Tăng tốc độ truy vấn dữ liệu.
- B. Giảm thiểu dư thừa dữ liệu và cải thiện tính toàn vẹn dữ liệu.
- C. Đơn giản hóa cấu trúc cơ sở dữ liệu.
- D. Tăng cường bảo mật cơ sở dữ liệu.
Câu 9: Mức độ chuẩn hóa 1NF (First Normal Form) yêu cầu điều kiện nào sau đây đối với các thuộc tính trong một quan hệ?
- A. Loại bỏ các phụ thuộc hàm bắc cầu.
- B. Loại bỏ các phụ thuộc hàm từng phần.
- C. Mỗi thuộc tính phải phụ thuộc đầy đủ vào khóa chính.
- D. Mỗi thuộc tính phải chứa giá trị đơn (atomic value), không chứa thuộc tính đa trị hoặc phức hợp.
Câu 10: Trong mô hình ER (Entity-Relationship), 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 chính (Primary Key)
Câu 11: Cho lược đồ quan hệ `KHACHHANG(MaKH, TenKH, DiaChi)` và `DONHANG(MaDH, MaKH, NgayDatHang)`. Giả sử bạn muốn truy vấn ra tên khách hàng và mã đơn hàng của tất cả các đơn hàng được đặt sau ngày "2023-01-01". Câu lệnh SQL nào sau đây là phù hợp nhất?
- A. SELECT TenKH, MaDH FROM KHACHHANG, DONHANG WHERE NgayDatHang > "2023-01-01"
- B. SELECT TenKH, MaDH FROM KHACHHANG JOIN DONHANG ON KHACHHANG.MaKH = DONHANG.MaKH WHERE NgayDatHang > "2023-01-01"
- C. SELECT TenKH, MaDH FROM KHACHHANG INNER JOIN DONHANG WHERE NgayDatHang > "2023-01-01"
- D. SELECT TenKH, MaDH FROM KHACHHANG CROSS JOIN DONHANG WHERE NgayDatHang > "2023-01-01"
Câu 12: Trong SQL, hàm tổng hợp (aggregate function) nào sau đây được sử dụng để đếm số lượng hàng trong một bảng hoặc nhóm?
- A. SUM()
- B. AVG()
- C. COUNT()
- D. MAX()
Câu 13: Cơ chế kiểm soát đồng thời (Concurrency Control) trong hệ quản trị CSDL nhằm mục đích gì?
- A. Đảm bảo tính toàn vẹn dữ liệu khi nhiều giao dịch truy cập và thay đổi dữ liệu đồng thời.
- B. Tăng tốc độ truy cập dữ liệu cho người dùng.
- C. Bảo vệ dữ liệu khỏi các truy cập trái phép.
- D. Sao lưu và phục hồi dữ liệu khi có sự cố.
Câu 14: Kỹ thuật lập chỉ mục (Indexing) trong CSDL được sử dụng để làm gì?
- A. Tăng cường bảo mật dữ liệu.
- B. Tăng tốc độ truy vấn dữ liệu bằng cách tạo ra đường dẫn truy cập nhanh đến dữ liệu.
- C. Giảm dung lượng lưu trữ dữ liệu.
- D. Đảm bảo tính toàn vẹn dữ liệu.
Câu 15: Sao lưu (Backup) và phục hồi (Recovery) dữ liệu là một phần 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 vấn dữ liệu.
- B. Giảm thiểu dư thừa dữ liệu.
- C. Bảo vệ dữ liệu khỏi truy cập trái phép.
- D. Đảm bảo khả năng khôi phục dữ liệu về trạng thái trước đó trong trường hợp xảy ra lỗi hệ thống, hỏng dữ liệu hoặc các sự cố khác.
Câu 16: Trong mô hình CSDL phân tán (Distributed Database), dữ liệu được lưu trữ ở đâu?
- A. Chỉ trên một máy chủ trung tâm duy nhất.
- B. Trên máy tính cá nhân của người dùng.
- C. Trên nhiều máy tính hoặc vị trí khác nhau, kết nối qua mạng.
- D. Trên các thiết bị lưu trữ đám mây tập trung.
Câu 17: NoSQL là viết tắt của cụm từ nào?
- A. New Structure Query Language
- B. Not Only SQL
- C. Non-Operational Structured Query Language
- D. Networked Object System Query Language
Câu 18: Kiến trúc CSDL 3 mức (3-schema architecture) bao gồm các mức nào?
- A. Mức ứng dụng, mức logic, mức vật lý.
- B. Mức người dùng, mức hệ thống, mức lưu trữ.
- C. Mức dữ liệu, mức thông tin, mức tri thức.
- D. Mức vật lý (Physical level), mức khái niệm (Conceptual level), mức ngoài (External level).
Câu 19: Mục tiêu chính của tính độc lập dữ liệu (Data Independence) trong hệ CSDL là gì?
- A. Tăng cường bảo mật dữ liệu.
- B. Tăng tốc độ truy vấn dữ liệu.
- C. Cho phép thay đổi lược đồ ở một mức (ví dụ mức vật lý) mà không cần thay đổi lược đồ ở mức cao hơn (ví dụ mức khái niệm).
- D. Giảm dung lượng lưu trữ dữ liệu.
Câu 20: Trong SQL, câu lệnh `CREATE TABLE` thuộc nhóm ngôn ngữ nào?
- A. DDL (Data Definition Language)
- B. DML (Data Manipulation Language)
- C. DCL (Data Control Language)
- D. TCL (Transaction Control Language)
Câu 21: 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à Phiếu mượn. Quan hệ giữa Sách và Phiếu mượn có thể là 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: Trong SQL, mệnh đề `GROUP BY` thường được sử dụng cùng với các hàm nào?
- A. Hàm chuỗi (String functions)
- B. Hàm ngày tháng (Date functions)
- C. Hàm tổng hợp (Aggregate functions)
- D. Hàm toán học (Mathematical functions)
Câu 23: Phát biểu nào sau đây về View (khung nhìn) trong CSDL là đúng?
- A. View là bản sao vật lý của dữ liệu.
- B. View được sử dụng để tăng tốc độ ghi dữ liệu.
- C. View chỉ chứa dữ liệu tĩnh, không cập nhật theo bảng gốc.
- D. View là một bảng ảo, được tạo ra từ kết quả của một truy vấn và không chiếm dung lượng lưu trữ dữ liệu thực tế.
Câu 24: Thủ tục lưu trữ (Stored Procedure) trong CSDL là gì?
- A. Một tập hợp các câu lệnh SQL được biên dịch trước và lưu trữ trong CSDL, có thể được gọi thực thi nhiều lần.
- B. Một loại chỉ mục đặc biệt để tăng tốc độ truy vấn phức tạp.
- C. Một cơ chế bảo mật để kiểm soát truy cập dữ liệu.
- D. Một công cụ để thiết kế giao diện người dùng cho CSDL.
Câu 25: Trigger (bộ kích hoạt) trong CSDL được sử dụng để làm gì?
- A. Tối ưu hóa hiệu suất truy vấn.
- B. Tự động thực thi một hành động (ví dụ: cập nhật, kiểm tra dữ liệu) khi có một sự kiện nhất định xảy ra trên CSDL (ví dụ: INSERT, UPDATE, DELETE trên một bảng).
- C. Sao lưu dữ liệu định kỳ.
- D. Phân quyền truy cập dữ liệu.
Câu 26: Cho lược đồ quan hệ `SANPHAM(MaSP, TenSP, GiaSP, MaLoaiSP)` và `LOAISANPHAM(MaLoaiSP, TenLoaiSP)`. Câu lệnh SQL nào sau đây liệt kê tên sản phẩm và tên loại sản phẩm của tất cả sản phẩm có giá lớn hơn 100?
- A. SELECT TenSP, TenLoaiSP FROM SANPHAM, LOAISANPHAM WHERE GiaSP > 100
- B. SELECT TenSP, TenLoaiSP FROM SANPHAM INNER JOIN LOAISANPHAM
- C. SELECT TenSP, TenLoaiSP FROM SANPHAM JOIN LOAISANPHAM ON SANPHAM.MaLoaiSP = LOAISANPHAM.MaLoaiSP WHERE GiaSP > 100
- D. SELECT TenSP, TenLoaiSP FROM SANPHAM CROSS JOIN LOAISANPHAM WHERE GiaSP > 100
Câu 27: Trong ngữ cảnh bảo mật CSDL, "SQL Injection" là loại tấn công nào?
- A. Tấn công từ chối dịch vụ (Denial of Service).
- B. Tấn công giả mạo (Phishing Attack).
- C. Tấn công trung gian (Man-in-the-Middle Attack).
- D. Tấn công bằng cách chèn mã SQL độc hại vào các truy vấn CSDL.
Câu 28: Khi thiết kế CSDL, bước đầu tiên thường là gì?
- A. Xác định yêu cầu và mục tiêu của CSDL.
- B. Thiết kế lược đồ quan hệ.
- C. Chọn hệ quản trị CSDL (DBMS).
- D. Cài đặt và cấu hình DBMS.
Câu 29: Phương pháp nào sau đây giúp đảm bảo tính sẵn sàng (Availability) của CSDL?
- A. Mã hóa dữ liệu (Data Encryption).
- B. Nhân bản dữ liệu (Data Replication).
- C. Chuẩn hóa CSDL (Database Normalization).
- D. Kiểm soát đồng thời (Concurrency Control).
Câu 30: Trong mô hình dữ liệu hướng đối tượng (Object-Oriented Database), đơn vị lưu trữ dữ liệu cơ bản là gì?
- A. Bản ghi (Record).
- B. Quan hệ (Relation).
- C. Tài liệu (Document).
- D. Đối tượng (Object).