KHOA CÔNG NGHỆ THÔNG TIN<br />
BỘ MÔN TOÁN TIN ỨNG DỤNG<br />
<br />
KIỂM TRA GIỮA KỲ - HỌC KÝ 2 NĂM HỌC 2013-2014<br />
MÔN HỌC CSDL2- Đề DB142<br />
(Thời gian làm bài 45 phút)<br />
<br />
Họ tên Sinh viên :<br />
Mã sinh viên<br />
:<br />
Lớp<br />
:<br />
<br />
ĐIỂM BÀI THI<br />
<br />
________________________________________________<br />
________________________________________________<br />
________________________________________________<br />
<br />
Phần Trắc nghiệm: (5 điểm) Với mỗi câu hỏi từ 1 đến câu 5 dưới đây, hãy khoanh tròn chỉ một phương án trả lời đúng<br />
nhất trong số các phương án A, B, C, D:<br />
1.<br />
<br />
Các khung nhìn trong CSDL phân tán được xác định<br />
bởi:<br />
(A) Lược đồ sắp đặt<br />
(B) Các lược đồ ngoài cục bộ<br />
(C) Các lược đồ ngoài tổng thể<br />
(D) Lược đồ khái niệm tổng thể<br />
<br />
4.<br />
<br />
2.<br />
<br />
Trong CSDL phân tán, sự khôi phục một quan hệ tổng<br />
thể từ các phân đoạn dọc được thực hiện bởi :<br />
(A) Phép kết nối các đoạn con.<br />
(B) Phép hợp các đoạn con.<br />
(C) Tất cả các câu trả lời A và B đều sai.<br />
(D) Tất cả các câu trả lời A và B đều đúng.<br />
<br />
Trong CSDL phân tán, sự khôi phục một quan hệ<br />
tổng thể từ các phân đoạn ngang gián tiếp được thực<br />
hiện bởi :<br />
(A) Phép kết nối các đoạn con.<br />
(B) Phép hợp các đoạn con.<br />
(C) Tất cả các câu trả lời A và B đều sai.<br />
(D) Tất cả các câu trả lời A và B đều đúng.<br />
<br />
5.<br />
<br />
Giả sử cần kết nối 3 quan hệ P, Q, R được đặt trên<br />
3 trạm khác nhau:<br />
(A) Việc thay đổi thứ tự kết nối các quan hệ sẽ<br />
không làm thay đổi chi phí truyền dữ liệu<br />
(B) Việc thay đổi thứ tự kết nối các quan hệ sẽ<br />
không làm thay đổi kết quả của phép kết nối<br />
(C) Tất cả các câu trả lời A và B đều sai<br />
(D) Tất cả các câu trả lời A và B đều đúng<br />
<br />
Cho R và S là các quan hệ, khi đó:<br />
(A) R<br />
S = (S<br />
R)<br />
R<br />
(B) R<br />
S = (S<br />
∏R∩S(R))<br />
S<br />
(C) Tất cả các câu trả lời A và B đều sai<br />
(D) Tất cả các câu trả lời A và B đều đúng<br />
Phần tự luận (trả lời câu 6 và câu 7 vào trang sau của bài kiểm tra này, không cần chép lại đề bài)<br />
3.<br />
<br />
6.<br />
<br />
(2điểm) Hãy xem xét lịch biểu của ba giao dịch T 1 , T2 và T3 (với các thời dấu ban đầu cho trong bảng) truy xuất các<br />
mục dữ liệu A, B và C có thời dấu đọc/ghi ban đầu RT = WT = 0. Giả sử các mục dữ liệu có giá trị ban đầu bằng 0,<br />
các giao dịch đều cộng thêm 5 vào mục dữ liệu khi thực hiện thao tác WRITE.<br />
T1<br />
<br />
T2<br />
<br />
T3<br />
<br />
A=0<br />
<br />
B=0<br />
<br />
C=0<br />
<br />
Thời dấu<br />
<br />
40<br />
<br />
20<br />
<br />
30<br />
<br />
RT= WT = 0<br />
<br />
RT= WT = 0<br />
<br />
RT= WT = 0<br />
<br />
(1)<br />
(2)<br />
(3)<br />
(4)<br />
(5)<br />
(6)<br />
(7)<br />
<br />
READ B<br />
<br />
Rt = 40<br />
WRITE A<br />
<br />
Wt = 20<br />
READ C<br />
<br />
WRITE B<br />
WRITE A<br />
<br />
Rt = 30<br />
Wt = 40<br />
Wt = 40<br />
<br />
READ C<br />
WRITE A<br />
<br />
A. (1đ) Trong các giao dịch trên, có thao tác nào không thực hiện đựoc và có giao dịch nào bị huỷ bỏ? Tại sao?<br />
Trả lời: Không có giao dịch nào bị hủy bỏ: T1, T2 thực hiện bình thường, T3 thực hiện nhưng không ghi gì vào A.<br />
B. (1đ) Viết 1 lịch biểu tuần tự cho các giao dịch, và cho biết giá trị lưu trữ trong các mục dữ liệu khi kết thúc lịch biểu.<br />
Trả lời: Lịch biểu tuần tự cho 3 giao dịch (đảm bảo cả 3 giao dịch được thực hiện một cách tuần tự)<br />
T2<br />
<br />
Kết quả<br />
<br />
(1)<br />
(2)<br />
(3)<br />
(4)<br />
(5)<br />
(6)<br />
(7)<br />
<br />
T1<br />
<br />
20<br />
<br />
Thời dấu<br />
Các bước :<br />
<br />
T3<br />
30<br />
<br />
40<br />
<br />
WRITE A<br />
READ C<br />
<br />
A=0<br />
<br />
B=0<br />
<br />
C=0<br />
<br />
A=5<br />
READ C<br />
WRITE A<br />
<br />
A = 10<br />
READ B<br />
WRITE B<br />
WRITE A<br />
<br />
B=5<br />
A = 15<br />
A = 15<br />
<br />
B=5<br />
<br />
C=0<br />
<br />
7.<br />
<br />
(3 điểm) Trong CSDL phân tán, có các quan hệ r1 , r2 đặt tại hai trạm ở cách xa nhau:<br />
r1<br />
<br />
A<br />
2<br />
6<br />
7<br />
8<br />
11<br />
<br />
B<br />
4<br />
7<br />
8<br />
9<br />
9<br />
<br />
C<br />
6<br />
8<br />
9<br />
10<br />
3<br />
<br />
E<br />
1<br />
2<br />
3<br />
4<br />
5<br />
<br />
r2<br />
<br />
A<br />
2<br />
6<br />
8<br />
10<br />
12<br />
<br />
C<br />
4<br />
8<br />
10<br />
12<br />
14<br />
<br />
D<br />
6<br />
10<br />
12<br />
14<br />
16<br />
<br />
1.<br />
<br />
(0.5đ) Tính kết nối r1<br />
<br />
2.<br />
3.<br />
<br />
F<br />
1<br />
2<br />
3<br />
4<br />
5<br />
<br />
(0.5đ) Đánh giá chi phí truyền dữ liệu: Cost (trực tiếp) = min (Tr1, Tr2) = 20.<br />
(1.5đ) Dùng chiến lược nửa kết nối để tính kết nối trên: Ấp dụng công thức: r1<br />
Trong đó : r1<br />
r2 = r1<br />
∏r1∩r2(r2)<br />
a.<br />
<br />
r2<br />
<br />
A<br />
6<br />
8<br />
<br />
B<br />
7<br />
9<br />
<br />
C<br />
8<br />
10<br />
<br />
D<br />
10<br />
12<br />
<br />
E<br />
2<br />
4<br />
<br />
=<br />
<br />
F<br />
2<br />
3<br />
<br />
r2 = [r1<br />
<br />
E<br />
2<br />
4<br />
<br />
F<br />
2<br />
3<br />
<br />
Tính: ∏r1∩r2(r2) =<br />
A<br />
2<br />
6<br />
8<br />
10<br />
12<br />
<br />
b.<br />
<br />
Tính : r1<br />
<br />
d.<br />
<br />
Chuyển : r1<br />
<br />
e.<br />
<br />
Tính kết nối r1<br />
<br />
C<br />
4<br />
8<br />
10<br />
12<br />
14<br />
<br />
A<br />
6<br />
8<br />
<br />
B<br />
7<br />
9<br />
<br />
C<br />
8<br />
10<br />
<br />
E<br />
2<br />
4<br />
<br />
A<br />
6<br />
8<br />
<br />
B<br />
7<br />
9<br />
<br />
C<br />
8<br />
10<br />
<br />
D<br />
10<br />
12<br />
<br />
Chuyển ∏r1∩r2(r2) sang r1, cost1 = 10.<br />
<br />
c.<br />
<br />
4.<br />
<br />
r2]<br />
<br />
r2 = r1<br />
<br />
∏r1∩r2(r2) =<br />
<br />
r2 sang r2, cost2 = 8<br />
r2 = [r1<br />
<br />
r2]<br />
<br />
r2 =<br />
<br />
(0.5đ) Chi phí theo nửa kết nối: cost1 + cost2 = 18<br />
<br />
r2,<br />
<br />