Thiết kế quản trị sở liệu Tổ chức Index hiệu Vũ Tuyết Trinh trinhvt-fit@mail.hut.edu.vn Bộ môn Hệ thống thông tin, Viện CNTT&TT Đại học Bách Khoa Hà Nội Nội dung SinhVienZone.com Vũ Tuyết Trinh Một sô kiểu truy vấn Đánh mục (mục tiêu) Tổ chức index Tổ chức liệu đĩa Chi phí cho Index (tạo, trì, sử dụng) “Phân tán” liệu https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Một số kiểu truy vấn Truy vấn với điều kiện xác khóa SELECT balance FROM accounts WHERE number = 1023; Truy vấn với điều kiện thuộc tính SELECT balance FROM accounts WHERE branchnum = 100; Truy vấn với điều kiện khoảng SELECT number FROM accounts WHERE balance > 10000; SELECT * FROM employees WHERE name = „Jensen‟ and firstname = „Carl‟ and age < 30; Một số kiểu truy vấn (2) SinhVienZone.com Vũ Tuyết Trinh Truy vấn lồng Truy vấn có xếp Truy vấn nhóm Truy vấn kết nối SELECT * FROM accounts WHERE balance = ( select max(balance) from accounts) SELECT * FROM accounts ORDER BY balance; SELECT branchnum, avg(balance) FROM accounts GROUP BY branchnum; SELECT distinct branch.adresse FROM accounts, branch WHERE accounts.branchnum = branch.number and accounts.balance > 10000; https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Đánh mục CSDL Điều kiện truy nhập liệu index {Tuples} Bản ghi Phù hợp Khóa tìm kiếm (Sequential vs Non sequential) B-Tree 96 75 83 33 48 69 SinhVienZone.com Vũ Tuyết Trinh 75 80 81 107 83 92 95 96 98 103 107 110 120 https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Các tham số ảnh hưởng đến hiệu Số lượng nút Kích thước khóa Độ sâu Số trang nhớ sử dụng Chi phí tri (thêm, cập nhật, xóa) Hash Index Hàm băm (hash function) (key, value) Hashed key values key 2341 Hash function R1 R5 R3 R6 R9 R14 R17 R21 R25 n SinhVienZone.com Vũ Tuyết Trinh https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Clustered vs Unclustered Index Index entries direct search for data entries CLUSTERED Data entries UNCLUSTERED Data entries (Index File) (Data file) Data Records Data Records Dense vs Sparse index P1 SinhVienZone.com Vũ Tuyết Trinh P2 Pi record record record https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Các ràng buộc mục Khóa chính, khóa a non-clustered index Khóa ngồi Khơng tạo index Phân cụm bảng liệu Ví dụ Supplier(supplier_ID, supplier_address) Onorder(supplier_ID, part_ID, quantity) Cluster: gồm liệu từ nhiều bảng có chung số cột Cluster key: cột chung bảng Supplier_ID 12 SinhVienZone.com Vũ Tuyết Trinh https://fb.com/sinhvienzonevn Thiết kế quản trị sở liệu Phân cụm bảng nào? SinhVienZone.com Vũ Tuyết Trinh Truy vấn kết nối bảng tạo cụm? Truy vấn liệu bảng dựa trường liệu khóa (cluster key)? Đọc toàn bảng ? Thêm ghi ? Xóa ghi ? https://fb.com/sinhvienzonevn ... Supplier_ID 12 SinhVienZone. com Vũ Tuyết Trinh https://fb .com/ sinhvienzonevn Thiết kế quản trị sở liệu Phân cụm bảng nào? SinhVienZone. com Vũ Tuyết Trinh Truy vấn kết nối bảng tạo cụm? Truy vấn liệu. .. Sparse index P1 SinhVienZone. com Vũ Tuyết Trinh P2 Pi record record record https://fb .com/ sinhvienzonevn Thiết kế quản trị sở liệu Các ràng buộc mục Khóa chính, khóa a non-clustered index. .. https://fb .com/ sinhvienzonevn Thiết kế quản trị sở liệu Clustered vs Unclustered Index Index entries direct search for data entries CLUSTERED Data entries UNCLUSTERED Data entries (Index File)