Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

-employee(ssn, fname, lname, bdate, gender, address, super_ssn, salary, dno), department(dnumber, dname, mgr_ssn, mgr_date, dlocation), trong

đó, ssn là khóa chính của employee,


dnumber là khóa chính của department, dno là khóa ngoạicủa employee tham chiếu đến khóa chính dnumber của department, và mgr_ssn là khóa ngoại củadepartment tham chiếu đến
khóa chính ssn của employee.Tập tin employee:- Số bản ghi: re = 37500 bản ghi- Số khối: be = 7500 khối - Hệ số phân khối: bfre = 5 bản ghi/khối - Trường salary có 50 giá trị phân biệt
và dno có 210 giá trị phân biệt.- Mỗi giá trị ssn chiếm 9 bytes và dno chiếm 6 bytes. Tập tin department:- Số bản ghi: rd = 210 bản ghi- Số khối: bd = 53 khối - Hệ số phân khối: bfrd = 4
bản ghi/khối - Trường mgr_ssn có 210 giá trị phân biệt và dlocation có 50 giá trị phân biệt.- Mỗi giá trị dnumber chiếm 6 bytes và mgr_ssn chiếm 9 bytes
26.1. (L.O.2) (1 điểm) Giả sử kích thước con trỏ khối PB = 6 bytes, kích thước con trỏ bản ghi PR = 7 bytes,và kích thước khối B = 512 bytes. Định nghĩa chỉ mụcthứ cấp có thứ tự đơn
mức trên trường ssn. Chỉ mụcnày giúp truy vấn sau được xử lý hiệu quả hơn so vớitrường hợp không có dùng chỉ mục như thế nào? Giảithích.SELECT *FROM employeeWHERE ssn =
'123456789';
Chỉ mục thứ cấp có thứ tự đơn mức trên trường khóa ssn:Ri = Vssn + PB = 9 + 6 = 15 bytes
bfri = B div Ri = 512 div 15 = 34 index entries/block
ri = số bản ghi của tập tin = re = 37500 index entries
bi = Γri/bfri˥= 37500/34 = 1103 blocks
Nếu dùng chỉ mục này cho việc xử lý câu truy vấn đã cho thì chi phí là: Γlog2bi˥+ 1 = log21103 + 1= 12 truy đạt khối.
Nếu không dùng chỉ mục thì chi phí của tìm kiếm tuần tự trực tiếp trên tập tin dữ liệu là: Γbe/2˥ = 7500/2 = 3750 truy đạt khối.
Như vậy chỉ mục giúp truy vấn được xử lý hiệu quả hơn Γ3750/12˥ = 313 lần so với trường hợpkhông có dùng chỉ mục.
26.2. (L.O.3) (1 điểm) Cho câu truy vấn sau để truy cập chi tiết của nhân viên quản lý sinh trướcnăm 1990. Vẽ 2 cây truy vấn (query tree) tương đương câu truy vấn đã cho. Xác định cây
truy vấnhiệu quả hơn trong 2 cây truy vấn đã vẽ và giải thích vì sao.SELECT *FROM employeeWHERE bdate < '01/01/1990'AND EXISTS (SELECT * FROM department WHERE mgr_ssn =
ssn);
Cây truy vấn hiệu quả hơn là cây truy vấn 2 vì cây truy vấn 2 thực
hiện trước các phép toán chọn vàchiếu trước khi thực hiện phép kết
tự nhiên giữa employee và department.

Giả sử một số chỉ mục dùng B+-tree được định nghĩa trên employee vàdepartment như sau:- Chỉ mục thứ cấp trên dno của employee: xdno = 2, bI1 = 7 khối ở tầng lá, sdno = 179, có 3
khối ở mứctrung gian cho mỗi giá trị dno.- Chỉ mục sơ cấp trên dnumber của department: xdnumber = 2, sdnumber = 1Ngoài ra, giả sử vùng đệm có 3 khối, hệ số phân khối của phép
kết giữa employee và department làbfred = 2 bản ghi/khối, và độ chọn lọc kết tương ứng là jsed = 1/rd = 1/210.Cho câu truy vấn và cây truy vấn trực tiếp của câu truy vấn này như sau.
Xác định kế hoạch thực thicủa câu truy vấn này từ cây truy vấn đã cho với cách tiếp cận tối ưu hóa truy vấn dựa trên chi phí.Câu truy vấn:SELECT *FROM employee JOIN department ON
dno = dnumberWHERE bdate >= '01/01/1993' AND dlocation = 'Houston';
Xác định kế hoạch thực thi với cách tiếp cận tối ưu hóa truy vấn dựa trên chi phí.Kết quả của phép kết giữa employee
và department:- hệ số phân khối của phép kết giữa employee và department là bfred = 2 bản ghi/khối- độ chọn lọc
kết tương ứng là jsed = 1/rd = 1/210 - số bản ghi của kết quả kết là red = jsed*re*rd = (1/210)*37500*210 = 37500
bản ghi- số khối của kết quả kết là bed = Γ37500/2˥= 18750 khốiTối ưu hóa cho phép kết giữa employee và
department:

Pipelining: Sử dụng Hash join để thực hiện kết giữa employee và department với chi phí 41409 truy đạt khối.Cho mỗi khối kết quả từ Hash join, sử dụng pipelining để kiểm tra cho điều
kiện chọn và trả về kếtquả cho câu truy vấn. Khi này, tổng chi phí là 41409 truy đạt khối.
Materialized: Sử dụng Hash join để thực hiện kết giữa employee và department với chi phí 41409 truy đạt khối.Cho mỗi khối kết quả từ Hash join đã được materialized, sử dụng linear
search với chi phí là 18750truy đạt khối để kiểm tra cho điều kiện chọn và trả về kết quả cho câu truy vấn. Khi này, tổng chi phílà 41409 truy đạt khối + 18750 truy đạt khối = 60159 truy
đạt khối.

Các cặp tác vụ xung đột:- r2(A) … w1(A)- w3(B) … r1(B)- r3(C) … w2(C)- r2(C) … w2(C) … w3(C)
Đồ thị tuần tự hóa có chu trình T2-T3-T2. Do đó, lịch biểu S27 không khả tuần tự hóa xung đột.

You might also like