Vous êtes sur la page 1sur 1

Họ tên:............................................................

MSSV:............................................................
CƠ SỞ DỮ LIỆU NÂNG CAO
Thời gian 60 phút, không kể thời gian phát đề. Cấm sử dụng tài liệu !

1. Xét lược đồ quan hệ sau (các thuộc tính gạch chân là khoá): (4 points)
DEPT(dname, location)
EMPLOYEE(name, eid, salary, dname, start_date, leave_date)
PROJECT(pid, pname, budget, manager)
WORKS_ON(eid, pid)
Giả sử EMPLOYEE và WORKS_ON có 100.000 bộ, DEPT có 100 bộ và PROJECT có 1.000 bộ. Mỗi
bộ EMPLOYEE có kích thước là 400 bytes, mỗi bộ DEPT là 100 bytes, mỗi bộ PROJECT là 200
bytes và mỗi bộ WORKS_ON là 10 bytes. Kích thước mỗi trang (page) là 1024 bytes, thời gian truy
cập trung bình (read/write) là 10ms và DBMS có 40 buffers còn rảnh, mỗi buffer gồm 8 trang.

Xét truy vấn:


SELECT E.eid, D.dname, P.pname
FROM Employee E, Works_on W, Project P, Dept D
WHERE E.sal = 2.000 AND E.dname = D.dname AND D.location = “Hanoi” AND
P.budget > 100.000 AND E.eid = W.eid AND W.pid = P.pid
Hãy xác định cây thực thi truy vấn tối ưu (nhất) và thời gian ước lượng thực thi truy vấn trên nếu chỉ
xét đến chi phí truy cập đến thiết bị lưu trữ (bỏ qua các tham số khác)

2. Xét lịch (schedule) thực thi gồm 3 giao tác T1, T2, và T3 dưới đây. Ban đầu, các biến toto = 100 và
titi = 10. (4 points)
(chu kỳ) T1 T2 T3
--------------------------------------------------------------------
0 start
1 READ titi
2 titi := titi + 10
3 start
4 READ toto
5 toto := toto + 100
6 WRITE titi
7 commit
8 start
9 READ titi
10 READ toto
11 titi := titi + toto
12 WRITE titi
13 commit
14 ------------------- checkpoint start --------------------------
15 READ titi
16 titi := titi + toto
17 WRITE titi
18 WRITE toto
19 ------------------- checkpoint end --------------------------
20 commit
(i) Sử dụng quy ước giống bài học, viết các entries trong journal log được sinh ra khi thực thi lịch
trên và chu kỳ tương ứng.
(ii) Giả sử giải thuật undo/redo recovery algorithm với checkpoints được sử dụng và DBMS có lỗi
xảy ra sau chu kỳ 7 (các log entries cũng được ghi nhận đến hết chu kỳ này). Những giao tác nào sẽ
phải khôi phục lại (undo)? Những giao tác nào sẽ phải thực thi lại (redo)?
(iii) Với cùng giả thiết trên, nếu lỗi xảy ra sau chu kỳ 19 thì giao tác nào sẽ phải khôi phục lại, giao
tác nào sẽ phải thực thi lại?
3. Sự khác biệt chính của phương pháp indexing dùng cây B+ và cây B là gì? Tại sao các nốt trong các
cây này lại được tổ chức chứa các dữ liệu từ bán đầy (half-full) đến đầy (full)? (2 points)

Vous aimerez peut-être aussi