Trắc nghiệm Cơ sở dữ liệu Bài 44: Phân tích có kết nối không tổn thất (không mất thông tin)

Làm bài thi

Mục Lục

Trắc nghiệm Cơ sở dữ liệu Bài 44: Phân tích có kết nối không tổn thất (không mất thông tin) là một trong những đề thi thuộc Chương 7: PHÂN TÍCH trong học phần Cơ sở dữ liệu chuyên ngành Công Nghệ Thông Tin cấp độ Đại học. Đây là phần học cực kỳ quan trọng trong lý thuyết thiết kế cơ sở dữ liệu, tập trung vào một trong những tính chất cần thiết của quá trình phân rã (decomposition) các bảng.

Trong bài học này, người học cần nắm vững khái niệm Phân rã có kết nối không tổn thất (Lossless-Join Decomposition) là gì và tại sao nó lại quan trọng. Hiểu rõ cách kiểm tra tính chất này cho cả phân rã nhị phân (binary decomposition) và phân rã đa quan hệ (multiple relations), đặc biệt là sử dụng thuật toán dựa trên phụ thuộc hàm, là kỹ năng nền tảng để đảm bảo không có thông tin bị mất đi khi chúng ta chia một bảng lớn thành các bảng nhỏ hơn trong quá trình chuẩn hóa.

Hãy cùng Dethitracnghiem.vn tìm hiểu về đề thi này và tham gia làm kiểm tra ngay lập tức!

Trắc nghiệm Cơ sở dữ liệu Bài 44: Phân tích có kết nối không tổn thất (không mất thông tin)

Câu 1.Phân rã (Decomposition) một quan hệ R thành tập hợp các quan hệ {R1, R2, …, Rn} là gì?
A. Thêm dữ liệu mới vào quan hệ R.
B. Sửa đổi cấu trúc các thuộc tính của R.
C. Thay thế quan hệ R bằng tập hợp các quan hệ R1, R2, …, Rn, trong đó mỗi Ri chứa một tập con các thuộc tính của R và \( \cup_{i=1}^n R_i = R \).
D. Xóa các bộ trùng lặp khỏi R.

Câu 2.Mục đích chính của việc phân rã một quan hệ là gì?
A. Tăng cường sự dư thừa dữ liệu.
B. Làm cho CSDL phức tạp hơn.
C. Loại bỏ các bất thường (anomalies) và đạt được các dạng chuẩn cao hơn.
D. Giảm số lượng thuộc tính.

Câu 3.Tính chất quan trọng nào của quá trình phân rã đảm bảo rằng thông tin ban đầu không bị mất khi quan hệ được phân rã thành các quan hệ con?
A. Bảo toàn phụ thuộc (Dependency Preservation).
B. Kết nối không tổn thất (Lossless-Join).
C. Tối thiểu hóa thuộc tính.
D. Tối đa hóa số lượng bảng.

Câu 4.Một phân rã {R1, R2} của quan hệ R được gọi là có kết nối không tổn thất nếu:
A. \( R = R1 \cup R2 \).
B. \( R1 \cap R2 = \emptyset \).
C. \( R = R1 \natural R2 \).
D. \( R = R1 \times R2 \).

Câu 5.Tính chất kết nối không tổn thất (Lossless-Join) đảm bảo điều gì khi kết nối tự nhiên (Natural Join) các quan hệ con lại?
A. Số lượng bộ ít hơn bảng gốc.
B. Số lượng bộ nhiều hơn bảng gốc.
C. Kết quả chính xác bằng bảng gốc ban đầu (không thêm bộ “sai” hoặc mất bộ “đúng”).
D. Các thuộc tính được sắp xếp theo thứ tự.

Câu 6.Nếu một phân rã là có kết nối tổn thất (Lossy-Join), điều gì có thể xảy ra khi kết nối tự nhiên các quan hệ con lại?
A. Mất mát một số bộ dữ liệu gốc.
B. Sinh ra các bộ “giả” (spurious tuples) không có trong bảng gốc.
C. Không có vấn đề gì xảy ra.
D. Các thuộc tính bị trùng lặp.

Câu 7.Để kiểm tra xem một phân rã nhị phân {R1, R2} của quan hệ R có kết nối không tổn thất dựa trên tập phụ thuộc hàm F, điều kiện nào sau đây phải đúng?
A. \( R1 \cap R2 \rightarrow R1 \) VÀ \( R1 \cap R2 \rightarrow R2 \) trong F+.
B. \( R1 \cap R2 \rightarrow R \) trong F+.
C. \( (R1 \cap R2 \rightarrow R1) \) HOẶC \( (R1 \cap R2 \rightarrow R2) \) trong F+.
D. \( R1 \cup R2 \rightarrow R \) trong F+.

Câu 8.Trong điều kiện kiểm tra tính Lossless-Join cho phân rã nhị phân {R1, R2}, R1 \( \cap \) R2 là tập hợp gì?
A. Tất cả các thuộc tính trong R1.
B. Tất cả các thuộc tính trong R2.
C. Tập hợp tất cả các thuộc tính trong R.
D. Tập hợp các thuộc tính chung giữa R1 và R2.

Câu 9.Tính Lossless-Join của một phân rã {R1, R2} phụ thuộc vào:
A. Số lượng bộ trong R.
B. Thứ tự lưu trữ vật lý của dữ liệu.
C. Tập thuộc tính của R1, R2 và tập phụ thuộc hàm F trên R.
D. Loại HQTCSDL được sử dụng.

Câu 10.Cho lược đồ R(A, B, C) và tập phụ thuộc hàm F = {A \( \rightarrow \) B}. Xét phân rã {R1(A, B), R2(A, C)}. Phân rã này có Lossless-Join không?
A. Không.
B. Không thể xác định.
C. Có, vì A là khóa chính.
D. Có, vì R1 \( \cap \) R2 = {A} và A \( \rightarrow \) R1 ({A, B}) tức là A \( \rightarrow \) A và A \( \rightarrow \) B. A \( \rightarrow \) A là luôn đúng. A \( \rightarrow \) B là có trong F. Do đó A \( \rightarrow \) R1 đúng. Hoặc R1 \( \cap \) R2 = {A} và A \( \rightarrow \) R2 ({A, C}) tức là A \( \rightarrow \) A và A \( \rightarrow \) C. A \( \rightarrow \) A là luôn đúng. A \( \rightarrow \) C có suy diễn từ F không? Từ A \( \rightarrow \) B không suy diễn ra A \( \rightarrow \) C. Tuy nhiên, chỉ cần MỘT trong hai điều kiện đúng. A \( \rightarrow \) R1 là đúng. Vậy phân rã là Lossless-Join.

Câu 11.Cho lược đồ R(A, B, C) và tập phụ thuộc hàm F = {A \( \rightarrow \) B}. Xét phân rã {R1(A, C), R2(B, C)}. Phân rã này có Lossless-Join không?
A. Có.
B. Không. R1 \( \cap \) R2 = {C}. Ta cần kiểm tra C \( \rightarrow \) R1 ({A, C}) HOẶC C \( \rightarrow \) R2 ({B, C}). Tức là C \( \rightarrow \) A HOẶC C \( \rightarrow \) B trong F+. Từ F = {A \( \rightarrow \) B}, không suy diễn ra C \( \rightarrow \) A hay C \( \rightarrow \) B. Do đó, phân rã này là Lossy-Join.
C. Không thể xác định.
D. Có, vì nó bảo toàn phụ thuộc.

Câu 12.Đối với phân rã R thành {R1, R2, …, Rn}, thuật toán ma trận được sử dụng để kiểm tra tính Lossless-Join. Ma trận có kích thước bao nhiêu?
A. Số thuộc tính \( \times \) Số quan hệ con.
B. Số quan hệ con \( \times \) Số thuộc tính.
C. Số bộ \( \times \) Số thuộc tính.
D. Số bộ \( \times \) Số quan hệ con.

Câu 13.Trong thuật toán ma trận kiểm tra Lossless-Join, ma trận được điền các ký hiệu ban đầu như thế nào?
A. Tất cả các ô đều là ‘a’.
B. Tất cả các ô đều là ‘b’.
C. Đối với mỗi hàng i (tương ứng với Ri) và cột j (tương ứng với thuộc tính Aj), điền ‘a’ nếu Aj \( \in \) Ri, ngược lại điền ‘bij’ (trong đó bij là ký hiệu duy nhất).
D. Điền các giá trị dữ liệu ngẫu nhiên.

Câu 14.Trong thuật toán ma trận, bước lặp sử dụng các phụ thuộc hàm để thay đổi các ký hiệu trong ma trận. Nếu có phụ thuộc hàm X \( \rightarrow \) Y và hai hàng rp và rq có cùng giá trị cho tất cả các thuộc tính trong X, thì điều gì xảy ra?
A. Đổi tất cả giá trị trong Y của hàng rp thành giá trị của Y trong hàng rq.
B. Đổi tất cả giá trị trong X của hàng rp thành giá trị của X trong hàng rq.
C. Với mỗi thuộc tính Aj trong Y, đổi giá trị của Aj trong hàng rp thành giá trị chung của Aj trong cả rp và rq (nếu khác nhau, chọn ký hiệu ‘a’ nếu có, nếu không chọn ký hiệu ‘b’ có chỉ số nhỏ nhất).
D. Xóa một trong hai hàng rp hoặc rq.

Câu 15.Trong thuật toán ma trận, quá trình lặp lại việc áp dụng các phụ thuộc hàm dừng lại khi nào?
A. Khi tất cả các ô đều là ‘a’.
B. Khi không còn phụ thuộc hàm nào để áp dụng.
C. Khi không có thay đổi nào xảy ra trong ma trận sau một lượt áp dụng tất cả các phụ thuộc hàm.
D. Sau một số lượng vòng lặp cố định.

Câu 16.Sau khi thuật toán ma trận dừng lại, phân rã là Lossless-Join nếu điều kiện nào sau đây thỏa mãn?
A. Tất cả các ô trong ma trận đều là ‘a’.
B. Tất cả các ô trong ma trận đều là ‘b’.
C. Có ít nhất một cột chỉ chứa ký hiệu ‘a’.
D. Có ít nhất một hàng mà TẤT CẢ các cột trong hàng đó đều chứa ký hiệu ‘a’.

Câu 17.Nếu một hàng trong ma trận trở thành tất cả ‘a’s, điều này có ý nghĩa gì?
A. Quan hệ tương ứng với hàng đó là Khóa chính.
B. Quan hệ tương ứng với hàng đó chứa tất cả các thuộc tính.
C. Quan hệ tương ứng với hàng đó (hoặc sự kết hợp của nó với các quan hệ khác thông qua FD) có thể xác định tất cả các thuộc tính khác trong lược đồ R.
D. Dữ liệu trong quan hệ đó không có giá trị NULL.

Câu 18.Phân rã Lossless-Join đảm bảo tính chính xác của các thao tác nào?
A. INSERT.
B. DELETE.
C. Truy vấn (Query), đặc biệt là các truy vấn yêu cầu kết hợp dữ liệu từ các quan hệ con.
D. UPDATE.

Câu 19.Một phân rã có thể là Lossless-Join nhưng không bảo toàn phụ thuộc (Dependency Preserving) không?
A. Có.
B. Không, Lossless-Join luôn ngụ ý Dependency Preservation.
C. Chỉ khi CSDL rất nhỏ.
D. Chỉ khi CSDL rất lớn.

Câu 20.Một phân rã có thể là bảo toàn phụ thuộc (Dependency Preserving) nhưng không Lossless-Join không?
A. Có.
B. Không, Dependency Preservation luôn ngụ ý Lossless-Join.
C. Chỉ khi CSDL rất nhỏ.
D. Chỉ khi CSDL rất lớn.

Câu 21.Đạt được cả hai tính chất Lossless-Join và Dependency Preservation là mục tiêu lý tưởng của quá trình nào?
A. Thu thập yêu cầu.
B. Thiết kế vật lý.
C. Chuẩn hóa (Normalization) đến các dạng chuẩn như 3NF. (Lưu ý: BCNF không luôn bảo toàn phụ thuộc).
D. Triển khai ứng dụng.

Câu 22.Loại phân rã nào luôn có tính Lossless-Join?
A. Phân rã ngẫu nhiên.
B. Phân rã bảo toàn phụ thuộc.
C. Phân rã dựa trên thuộc tính đa trị.
D. Phân rã thành hai quan hệ R1, R2 sao cho R1 \( \cap \) R2 là Khóa chính của R1 hoặc R2 (đảm bảo điều kiện ở Câu 7).

Câu 23.Nếu lược đồ R(A, B, C) và F = {A \( \rightarrow \) B, B \( \rightarrow \) C}. Xét phân rã {R1(A, B), R2(B, C)}. Phân rã này có Lossless-Join không?
A. Không. R1 \( \cap \) R2 = {B}. Cần kiểm tra B \( \rightarrow \) R1 ({A, B}) HOẶC B \( \rightarrow \) R2 ({B, C}). B \( \rightarrow \) B luôn đúng. Cần B \( \rightarrow \) A HOẶC B \( \rightarrow \) C. Từ F={A\( \rightarrow \)B, B\( \rightarrow \)C}, ta có B\( \rightarrow \)C. Do đó, điều kiện B \( \rightarrow \) R2 là đúng. Vậy phân rã Lossless-Join.
A. Có.
B. Không.
C. Không thể xác định.
D. Chỉ khi không có dữ liệu NULL.

Câu 24.Trong thuật toán ma trận, nếu không có hàng nào trở thành tất cả ‘a’s sau khi thuật toán dừng, phân rã là gì?
A. Bảo toàn phụ thuộc.
B. Tối thiểu.
C. Có kết nối tổn thất (Lossy-Join).
D. Không hợp lệ.

Câu 25.Việc đảm bảo tính Lossless-Join của phân rã là cần thiết để:
A. Tăng tốc độ nhập dữ liệu.
B. Giảm chi phí lưu trữ.
C. Tránh tạo ra dữ liệu sai lệch (spurious tuples) khi truy vấn kết hợp dữ liệu từ các bảng con.
D. Chỉ liên quan đến hiệu suất ghi.

×

Bạn ơi!!! Để xem được kết quả
bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

LƯU Ý: Không sử dụng VPN hoặc 1.1.1.1 khi vượt link

Bước 1: Mở tab mới, truy cập Google.com

Bước 2: Tìm kiếm từ khóa: Từ khóa

Bước 3: Trong kết quả tìm kiếm Google, hãy tìm website giống dưới hình:

(Nếu trang 1 không có hãy tìm ở trang 2, 3, 4... nhé )

Bước 4: Cuộn xuống cuối bài viết rồi bấm vào nút GIỐNG HÌNH DƯỚI và chờ 1 lát để lấy mã: