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- ĐềDB141<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 />
Trong CSDL phân tán, thông tin về sự phân đoạn của<br />
một quan hệ tổng thể được lưu trữ bởi :<br />
(A) Lược đồ sắp đặt.<br />
(B) Các lược đồ ngoài tổng thể.<br />
(C) Lược đồ khái niệm tổng thể.<br />
(D) Tất cả các câu trả lời trên đều đúng.<br />
<br />
2.<br />
<br />
Trong CSDL phân tán, sự phân đoạn hỗn hợp một quan<br />
hệ tổng thể được thực hiện bởi :<br />
(A) Phép chiếu trên quan hệ tổng thể.<br />
(B) Phép chọn trên quan hệ tổng thể.<br />
(C) Phép nửa kết nối quan hệ tổng thể với các đoạn<br />
con của một quan hệ khác.<br />
(D) Phép chiếu và phép chọn trên quan hệ tổng thể.<br />
<br />
3.<br />
<br />
Cho R và S là các quan hệ, khi đó:<br />
(A) R<br />
S = (R<br />
S)<br />
S<br />
(B) R<br />
S = (S<br />
∏R∩S(R))<br />
R<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 />
4.<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 ngangtrực 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 />
Thay thế phép kết nối bằng tổ hợp các phép nửa kết<br />
nối và kết nối (theo chiến lược nửa kết nối) sẽ:<br />
(A) Làm giảm kích thước các quan hệ trước khi<br />
kết nối<br />
(B) Làm tăng số phép toán<br />
(C) Tất cả các câu trả lời A và B đều đúng<br />
(D) Tất cả các câu trả lời A và B đều sai.<br />
<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 />
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 />
Thời dấu<br />
<br />
40<br />
<br />
30<br />
<br />
20<br />
<br />
(1)<br />
(2)<br />
(3)<br />
(4)<br />
(5)<br />
(6)<br />
(7)<br />
(8)<br />
<br />
A=0<br />
<br />
READ B<br />
<br />
RT= WT = 0<br />
<br />
B=0<br />
RT= WT = 0<br />
<br />
C=0<br />
RT = WT = 0<br />
<br />
Rt =40<br />
READ C<br />
<br />
Rt = 30<br />
<br />
READ A<br />
<br />
Rt = 40<br />
READ C<br />
<br />
WRITE B<br />
WRITE A<br />
<br />
Wt =40<br />
Wt = 40<br />
WRITE C<br />
<br />
Wt = 30<br />
T3 bị hủy<br />
<br />
WRITE C<br />
<br />
1. Giao dịch T1 và T2 thực hiện bình thường, T3 bị hủy do T3 không thể ghi vào C ( thời dấu của giao dịch < thời<br />
dấu đọc Rt của mục dữ liệu C)<br />
2.<br />
<br />
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 />
<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 />
T3<br />
T2<br />
T1<br />
A=0<br />
B=0<br />
C=0<br />
Thời dấu<br />
Các bước : (1)<br />
(2)<br />
(3)<br />
(4)<br />
(5)<br />
(6)<br />
(7)<br />
(8)<br />
Kết quả<br />
<br />
20<br />
<br />
30<br />
<br />
40<br />
<br />
READ C<br />
WRITE C<br />
<br />
C=5<br />
READ C<br />
WRITE C<br />
<br />
C = 10<br />
READ B<br />
READ A<br />
WRITE B<br />
WRITE A<br />
<br />
B=5<br />
A=5<br />
A=5<br />
<br />
B=5<br />
<br />
C = 10<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 />
<br />
r1<br />
<br />
A<br />
7<br />
8<br />
7<br />
9<br />
8<br />
<br />
B<br />
4<br />
5<br />
6<br />
7<br />
8<br />
<br />
E<br />
1<br />
2<br />
3<br />
4<br />
5<br />
<br />
r2<br />
<br />
B<br />
4<br />
5<br />
4<br />
5<br />
<br />
C<br />
6<br />
6<br />
11<br />
11<br />
<br />
D<br />
7<br />
7<br />
9<br />
9<br />
<br />
F<br />
1<br />
2<br />
3<br />
4<br />
<br />
1.<br />
<br />
(0.5đ) Tính kết nối r1<br />
2<br />
<br />
2.<br />
<br />
(0.5đ) Đánh giá chi phí truyền dữ liệu: Cost (trực tiếp) = min (Tr1, Tr2) = 15<br />
.<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 />
<br />
3.<br />
<br />
r2 =<br />
<br />
A<br />
7<br />
8<br />
7<br />
8<br />
<br />
a.<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 />
<br />
C<br />
6<br />
6<br />
11<br />
11<br />
<br />
D<br />
7<br />
7<br />
9<br />
3<br />
<br />
E<br />
1<br />
2<br />
1<br />
2<br />
<br />
F<br />
1<br />
2<br />
3<br />
4<br />
<br />
r2 = [r1<br />
<br />
r2]<br />
<br />
Chuyển ∏r1∩r2(r2) sang r1, cost1 = 2<br />
.<br />
<br />
c.<br />
<br />
4.<br />
<br />
Tính: ∏r1∩r2(r2) =<br />
<br />
B<br />
4<br />
5<br />
4<br />
5<br />
<br />
B<br />
4<br />
5<br />
<br />
r2 = r1<br />
<br />
∏r1∩r2(r2) =<br />
<br />
A<br />
7<br />
8<br />
<br />
B<br />
4<br />
5<br />
<br />
E<br />
1<br />
2<br />
<br />
r2 sang r2, cost2 = 6<br />
r2 = [r1<br />
<br />
r2]<br />
<br />
r2<br />
<br />
(0.5đ) Chi phí theo nửa kết nối: cost1 + cost2 = 8<br />
<br />
A<br />
7<br />
8<br />
7<br />
8<br />
<br />
B<br />
4<br />
5<br />
4<br />
5<br />
<br />
C<br />
6<br />
6<br />
11<br />
11<br />
<br />
D<br />
7<br />
7<br />
9<br />
3<br />
<br />
E<br />
1<br />
2<br />
1<br />
2<br />
<br />
F<br />
1<br />
2<br />
3<br />
4<br />
<br />
r2,<br />
<br />