TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HỒ CHÍ MINH Họ tên: Đinh Thị Huyền SBD: 13610017 Lớp: CNTT – K3 • Giải toán phân mảng dọc Đề bài: Cho quan hệ toàn cục Project sau: Project(PNo, Name, Location, Budget, MgrName, Duration) Xét truy vấn: q1: Tìm thông tin tên kinh phí dự án: SELECT Name, Budget FROM Project q2: Xác định thông tin tên, địa điểm thời gian thực dự án SELECT Name, Location, Duration FROM Project q3: Tìm tất địa điểm dự án theo người quản lý SELECT Location FROM Project WHERE MgrName = value q4: Tìm thông tin tên, kinh phí dự án theo thời gian thực dự án SELECT Name, Budget FROM Project WHERE Duration = value Tần số sử dụng truy vấn qi site Sj sau: S1 S2 S3 q1 q2 q3 a 10 q4 a Trong đó: a – số cuối mã số sinh viên học viên a/ Xây dựng ma trận lực thuộc tính quan hệ Project; b/ Cho biết số truy xuất đến cặp thuộc tính cho ứng dụng vị trí refi(qj) = Phân đoạn dọc quan hệ Project sử dụng thuật toán lượng kết BEA BÀI LÀM Project(PNo, Name, Location, Budget, MgrName, Duration) Name: A1 Location: A2 Budget: A3 MgrName: A4 Duration: A5 Ma trận Use : Ma trận tần số truy cập: A1 A2 A3 A4 A5 q1 1 0 q2 1 0 q3 q4 1 S1 S2 S3 q1 q2 1 q3 17 10 0 q4 17 - Ta tính ma trận AA: A1 A2 A3 A4 A5 A1 36 32 26 A2 31 27 A3 32 32 22 A4 27 27 A5 26 22 26 Dùng thuật toán lượng liên kết để tính ma trận CA: Xét ma trận AA ma trận CA sau với A1, A2 đặt: A1 A2 A1 36 A2 31 A3 32 A4 27 A5 26 Ta cần chèn thêm A3, có khả năng: Chèn A3 trước A1: A3 A1 A2 A1 32 36 A2 31 A3 32 32 A4 0 27 A5 22 26 Cont (_, A3, A1) = bound(_, A3) + bound(A3,A1) – bound(_,A1) = + 2748 – = 2748 Chèn A3 vào A1, A2: A1 A3 A2 A1 36 32 A2 31 A3 32 32 A4 0 27 A5 26 22 Cont (A1, A3, A2) = bound(A1, A3) + bound(A3,A2) – bound(A1,A2) = 2748 + 216 – 372 = 2592 Chèn A3 sau A2: A1 A2 A3 A1 36 32 A2 31 A3 32 32 A4 27 A5 26 22 Cont (A2, A3, _) = bound(A2, A3) + bound(A3,_) – bound(A2,_) = 216 – = 216 Ta thấy khả thứ cho kết lớn chọn chèn A3 vào trước A1 Ma trận CA sau thêm cột A3: A3 A1 A2 A1 32 36 A2 31 A3 32 32 A4 0 27 A5 22 26 - Tiếp tục chèn thêm A4, có khả năng: Chèn A4 trước A3: A4 A3 A1 A2 A1 32 36 A2 27 31 A3 32 32 A4 27 0 27 A5 22 26 Cont (_, A4, A3) = bound(_, A4) + bound(A4,A3) – bound(_,A3) = 0+0+0=0 Chèn A4 vào A3, A1: A3 A4 A1 A2 A1 32 36 A2 27 31 A3 32 32 A4 27 27 A5 22 26 Cont (A3, A4, A1) = bound(A3, A4) + bound(A4,A1) – bound(A3,A1) = + 108 – 2748 = -2640 Chèn A4 vào A1, A2: A3 A1 A4 A2 A1 32 36 A2 27 31 A3 32 32 0 A4 0 27 27 A5 22 26 Cont (A1, A4, A2) = bound(A1, A4) + bound(A4,A2) – bound(A1,A2) = 108 + 1566 – 372 = 1302 Chèn A4 sau A2: A3 A1 A2 A4 A1 32 36 A2 31 27 A3 32 32 0 A4 0 27 27 A5 22 26 Cont (A2, A4, _) = bound(A2, A4) + bound(A4, _) – bound(A2, _) = 1566 + – = 1566 Ta thấy khả thứ cho kết lớn chọn chèn A4 vào sau A2 Ma trận CA sau thêm cột A4: A3 A1 A2 A4 A1 32 36 A2 31 27 A3 32 32 0 A4 0 27 27 A5 22 26 - Tiếp tục chèn thêm A5, có khả năng: Chèn A5 trước A3: A5 A3 A1 A2 A4 A1 26 32 36 A2 4 31 27 A3 22 32 32 0 A4 0 27 27 A5 26 22 26 Cont (_, A5, A3) = bound(_, A5) + bound(A5, A3) – bound(_, A3) = + 2108 – = 2108 Chèn A5 vào A3 A1: A3 A5 A1 A2 A4 A1 32 26 36 A2 4 31 27 A3 32 22 32 0 A4 0 27 27 A5 22 26 26 Cont (A3, A5, A1) = bound(A3, A5) + bound(A5, A1) – bound(A3, A1) = 2108 + 2332 – 2748 = 1692 Chèn A5 vào A1 A2: A3 A1 A5 A2 A4 A1 32 36 26 A2 4 31 27 A3 32 32 22 0 A4 0 27 27 A5 22 26 26 Cont (A1, A5, A2) = bound(A1, A5) + bound(A5, A2) – bound(A1, A2) = 2332 + 332 – 372 = 2292 Chèn A5 vào A2 A4: A3 A1 A2 A5 A4 A1 32 36 26 A2 31 27 A3 32 32 22 A4 0 27 27 A5 22 26 26 Cont (A2, A5, A4) = bound(A2, A5) + bound(A5, A4) – bound(A2, A4) = 332 + 108 – 1566 = -1126 Chèn A5 sau A4: A3 A1 A2 A4 A5 A1 32 36 26 A2 31 27 A3 32 32 0 22 A4 0 27 27 A5 22 26 26 Cont (A4, A5, _) = bound(A4, A5) + bound(A5, _) – bound(A4, _) = 108 + – = 108 Ta thấy khả thứ cho kết lớn chọn chèn A5 vào A1 A2 Ma trận CA sau thêm cột A5: A3 A1 A5 A2 A4 A3 A1 A5 A2 A4 A1 32 36 26 A3 32 32 22 0 A2 4 31 27 A1 32 36 26 A3 32 32 22 0 A5 22 26 26 A4 0 27 27 A2 4 31 27 A5 22 26 26 A4 0 27 27 Tổ chức lại dòng: A3 A1 A5 A2 A4 A3 A1 A5 A2 A4 A3 32 32 22 0 A3 32 32 22 0 A1 32 36 26 A1 32 36 26 A5 22 26 26 A5 22 26 26 A2 4 31 27 A2 4 31 27 A4 0 27 27 A4 0 27 27 VF1 VF2 VF1 VF2 Access VF1 only: Access VF1 only: 10 Access VF1 and VF2: 32 Access VF1 and VF2: 26 Access VF2 only: 31 Access VF2 only: 27 Sq = (0*31) – 32^2 = -1024 sq = (10*27) – 26^2 = -406 A3 A1 A5 A2 A4 A3 A1 A5 A2 A4 A3 32 32 22 0 A3 32 32 22 0 A1 32 36 26 A1 32 36 26 A5 22 26 26 A5 22 26 26 A2 4 31 27 A2 4 31 27 A4 0 27 27 A4 0 27 27 VF1 VF2 VF1 VF2 Access VF1 only: 22 Access VF1 only: Access VF1 and VF2: Access VF1 and VF2: 27 Access VF2 only: 27 Access VF2 only: Sq = (22*27) – 4^2 = 578 sq = – 27^2 = -729 ...BÀI LÀM Project(PNo, Name, Location, Budget, MgrName, Duration) Name: A1 Location: A2 Budget: A3... tính ma trận AA: A1 A2 A3 A4 A5 A1 36 32 26 A2 31 27 A3 32 32 22 A4 27 27 A5 26 22 26 Dùng thuật toán lượng liên kết để tính ma trận CA: Xét ma trận AA ma trận CA sau với A1, A2 đặt: A1 A2 A1 36