Kiểm tra giữa kỳ #2 Môn Hệ Quản Trị Cơ Sở Dữ Liệu (503004) Ngành Khoa Học Máy Tính – HK2 – 2011 2012 Thời gian làm bài 30 phút (Bài kiểm tra gồm 10 câu hỏi Sinh viên được tham khảo tài liệu ) Sinh viê[.]
Trang 1Môn: Hệ Quản Trị Cơ Sở Dữ Liệu (503004)
Ngành Khoa Học Máy Tính – HK2 – 2011-2012
Thời gian làm bài: 30 phút
(Bài kiểm tra gồm 10 câu hỏi Sinh viên được tham khảo tài liệu.)
Sinh viên chọn 1 câu trả lời đúng nhất Nếu chọn câu (e) thì sinh viên cần trình bày đáp án khác so với đáp án ở các câu (a), (b), (c), và (d) và/hoặc giải thích lựa chọn (e) của mình
Câu 1 Sự khác biệt chính giữa tối ưu hóa truy vấn
dùng qui tắc biến đổi heuristics và dùng chi phí là:
a Tối ưu hóa truy vấn dùng qui tắc biến đổi
heuristics không cho biết nên dùng phương thức truy
đạt (access method) cụ thể nào khi thực hiện mỗi tác
vụ; trong khi đó, tối ưu hóa truy vấn dùng chi phí cho
biết phương thức truy đạt cụ thể nào là hiệu quả dựa
trên chi phí khi thực hiện mỗi tác vụ
b Tối ưu hóa truy vấn dùng qui tắc biến đổi
heuristics đơn giản hơn tối ưu hóa truy vấn dùng chi
phí
c Tối ưu hóa truy vấn dùng qui tắc biến đổi
heuristics là một phần công việc của tối ưu hóa truy
vấn dùng chi phí
d Tối ưu hóa truy vấn dùng qui tắc biến đổi
heuristics cho trường hợp các kết quả trung gian
trong quá trình xử lý truy vấn cần được tinh giản
càng nhiều càng tốt; trong khi đó, tối ưu truy vấn
dùng chi phí không quan tâm đến kích thước các kết
quả trung gian trong quá trình xử lý truy vấn
e Ý kiến khác
Câu 2 Loại chi phí nào sau đây được ưu tiên xem
xét trong trường hợp xử lý truy vấn từ cơ sở dữ liệu
có kích thước rất lớn?
a Chi phí giao tiếp (communication cost)
b Chi phí truy đạt (access cost) đến vùng lưu trữ thứ
cấp
c Chi phí lưu trữ (storage cost)
d Chi phí tính toán (computation cost)
e Ý kiến khác
Câu 3 Đặc tính nào sau đây của một giao tác
(transaction) cần được đảm bảo bởi trình điều khiển
tương tranh (concurrency controller)?
a Tính nguyên tố (atomicity)
b Tính nhất quán (consistency)
c Tính cách ly (isolation)
d Tính bền vững (durability)
e Ý kiến khác
Câu 4 Quay lui dắt dây (cascading rollback) xảy
ra khi nào?
a Một giao tác T1 muốn đọc hay ghi dữ liệu X thì cần đợi giao tác T2 đã ghi dữ liệu X commit Nếu không thì T1 cần quay lui
b Một giao tác đã commit nhưng cần quay lui theo yêu cầu của trình điều khiển tương tranh
c Một giao tác T1 muốn commit thì cần đợi giao tác T2 đã ghi dữ liệu mà T1 đã đọc commit Nếu không thì T1 cần quay lui
d Việc quay lui của một giao tác T sẽ làm cho một hay nhiều giao tác khác cũng cần quay lui do những giao tác này đã đọc dữ liệu được ghi bởi giao tác T
e Ý kiến khác
Câu 5 Cho các giao tác T1 và T2 như sau:
T1 = r1(X), w1(X), r1(Y), r1(Z), c1
T2 = r2(Y), w2(Y), r2(X), w2(X), c2 Chuỗi thực hiện các tác vụ của T1 và T2 khi được đan xen như sau:
S = r1(X), r2(X), w1(X), w2(X), r1(Y), r2(Y), w2(Y), r1(Z), c1, c2
S có phải là một lịch biểu (schedule) không?
a S là một lịch biểu
b S là một lịch biểu không dắt dây
c Không đủ thông tin mô tả để khẳng định S có phải
là một lịch biểu không
d S không là một lịch biểu
e Ý kiến khác
Câu 6 Cho các giao tác T1 và T2 như sau:
T1 = r1(X), r1(Y), w1(Y), r1(X), c1
T2 = r2(X), w2(X), c2
Trang 2Lịch biểu S cho việc thực hiện đan xen các tác vụ của
T1 và T2 như sau:
S = r1(X), r1(Y), r2(X), w1(Y), w2(X), r1(X), c2, c1
Vấn đề nào sau đây xuất hiện với lịch biểu S?
a Cập nhật của T1 bị mất (lost update)
b T1 thấy bóng ma (phantom) của X trong lần thứ 2
đọc X
c T1 không cập nhật X nhưng khi đọc X nhiều lần,
giá trị X khác nhau cho mỗi lần đọc (unrepeatable
read)
d T1 đọc giá trị X lần thứ 2 từ kết quả cập nhật X
của T2 nhưng khi đó T2 chưa commit nên giá trị X
được đọc lần thứ 2 bởi T1 là giá trị sai (temporary
update/dirty read)
e Ý kiến khác
Câu 7 Cho các giao tác T1 và T2 như sau:
T1 = r1(X), r1(Y), w1(Y), c1
T2 = r2(Z), r2(Y), w2(Z), w2(Y), c2
Lịch biểu S cho việc thực hiện đan xen các tác vụ của T1 và T2 như sau:
S = r2(Z), r1(X), r1(Y), w1(Y), c1, r2(Y), w2(Z), w2(Y), c2
Xác định đặc điểm khả phục hồi (recoverability)
đúng nhất của lịch biểu S này?
a Nghiêm cách (strict)
b Không dắt dây (cascadeless)
c Khả phục hồi (recoverable)
d Không khả phục hồi (non-recoverable)
e Ý kiến khác
Câu 8 Cho biểu truy vấn như sau:
DEPARTMENT MGRSSN=SSNEMPLOYEE Thông tin về tập tin (bảng) EMPLOYEE và DEPARTMENT được trình bày như sau:
Lược đồ:
Tập tin EMPLOYEE có:
Số lượng bản ghi rE = 10000 records
Số lượng khối bE = 2000 blocks
Hệ số phân khối bfrE = 5 records/block
Trên thuộc tính khóa SSN, một chỉ mục thứ cấp
(secondary index) được định nghĩa gồm 4 mức (xSSN
= 4) với lượng bản ghi được chọn trung bình là sSSN =
1 và số lượng khối ở tầng cơ sở (tầng lá) là bl1SSN =
50
Trang 3Tập tin DEPARTMENT có:
Số lượng bản ghi rD = 125 records
Số lượng khối bD = 13 blocks
Hệ số phân khối bfrD = 10 records/block
Trên thuộc tính không khóa MGRSSN, một chỉ mục
thứ cấp được định nghĩa gồm 2 mức (xMGRSSN = 2)
với lượng bản ghi được chọn trung bình là sMGRSSN =
1 và số lượng khối ở tầng cơ sở là bl1MGRSSN = 2
Cho trước độ chọn lọc kết (join selectivity) dành cho
biểu thức truy vấn trên là js = 1/rE = 1/10000; hệ số
phân khối của tập tin kết quả kết từ biểu thức truy
vấn trên là bfrED = 4 records/block
Khi xử lý biểu thức truy vấn trên dùng phương pháp
kết 2 vòng lặp lồng nhau (nested loop join) và kết 1
vòng lặp (single loop join) dựa trên tối ưu hóa truy
vấn dùng chi phí, kế hoạch thực thi (execution plan)
nào sau đây là hợp lý nhất cho biểu thức truy vấn
này?
a Single loop join với EMPLOYEE ở vòng lặp ngoài
và dùng chỉ mục thứ cấp trên MGRSSN của
DEPARTMENT
b Single loop join với DEPARTMENT ở vòng lặp
ngoài và dùng chỉ mục thứ cấp trên SSN của
EMPLOYEE
c Nested loop join với EMPLOYEE ở vòng lặp
ngoài và DEPARTMENT ở vòng lặp trong
d Nested loop join với DEPARTMENT ở vòng lặp
ngoài và EMPLOYEE ở vòng lặp trong
e Ý kiến khác
Câu 9 Cho các giao tác T1, T2, và T3 như sau:
T1 = r1(X); w1(X)
T2 = r2(Y); w2(Y); r2(X); w2(X)
T3 = r3(Y);w3(Y)
S = r2(Y); r1(X); w2(Y); r3(Y); w1(X); w3(Y); r2(X);
w2(X)
Hãy cho biết S có phải là một lịch biểu khả tuần tự
hóa xung đột (conflict serializable schedule) không?
a S không là một lịch biểu khả tuần tự hóa xung đột
do không thể tìm thấy một lịch biểu tuần tự tương
đương (equivalent serial schedule) nào cho S
b S là một lịch biểu khả phục hồi nhưng không phải
là một lịch biểu khả tuần tự hóa
c S là một lịch biểu khả tuần tự hóa xung đột tương đương với lịch biểu tuần tự S’ là S’ = r1(X); w1(X); r2(Y); w2(Y); r2(X); w2(X); r3(Y); w3(Y)
d S là một lịch biểu khả tuần tự hóa xung đột tương đương với lịch biểu tuần tự S’ là S’ = T2; T1; T3
e Ý kiến khác
Câu 10 Cho lịch biểu S với sự thực thi đan xen các
tác vụ của các giao tác T1, T2, và T3 như sau:
read_lock(A) read_item(A)
read_lock(B)
write_lock(B) write_item(B)
write_lock( C)
read_lock(C) read_item(C) write_lock(A)
Xác định mô tả đúng về tình trạng thực thi của các
giao tác T1, T2, và T3
a T3 bị quay lui do việc yêu cầu write_lock(A) của T3 làm cho deadlock xảy ra
b Khóa chết (deadlock) xảy ra với việc T1 đợi
read_lock(B) từ T2, T2 đợi write_lock(C) từ T3, và T3 đợi write_lock(A) từ T1
c Deadlock sẽ không xảy ra nếu trước đó, T1 yêu cầu write_lock(B) từ T2 thay cho việc yêu cầu read_lock(B)
d Deadlock vẫn xảy ra nếu trước đó, T2 yêu cầu read_lock(C) từ T3 thay cho việc yêu cầu write_lock(C)
e Ý kiến khác
Trang 4Mã Số Sinh Viên: ………
Phần trả lời
1
2
3
4
5
6
7
8
9
10