Tiểu luận học phần cơ sở dữ liệu nâng cao đề tài indexing structure

31 10 0
Tiểu luận học phần cơ sở dữ liệu nâng cao đề tài indexing structure

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC SÀI GÒN Khoa Công Nghệ Thông Tin (CLC) BÀI TIỂU LUẬN HỌC PHẦN CƠ SỞ DỮ LIỆU NÂNG CAO Đề tài Indexing Structure Giáo viên hướng dẫn PGS TS Nguyễn Tuấn Đăng Sinh viên thực hiện Tạ Linh Đạ[.]

TRƯỜNG ĐẠI HỌC SÀI GỊN Khoa: Cơng Nghệ Thơng Tin (CLC) BÀI TIỂU LUẬN HỌC PHẦN CƠ SỞ DỮ LIỆU NÂNG CAO Đề tài: Indexing Structure Giáo viên hướng dẫn: PGS TS Nguyễn Tuấn Đăng Sinh viên thực hiện: Tạ Linh Đạt Lớp: DCT120C1 Mã số sinh viên: 3120411048 Năm học 2022 – 2023, Học kì: Thành phố Hồ Chí Minh, ngày 10 tháng 12 năm 2022 Mục lục Phần mở đầu Mục tiêu đề tài tiểu luận: 1.1 Trình bày cở sở lý thuyết 1.1.1 Primary Index 1.1.2 Clustering Index 1.1.3 Secondary Index 1.1.4 Lời giải toán Chỉ mục: .9 1.1.4.1 Primary Index 1.1.4.2 Clustering Index 10 1.1.4.3 Secondary Index 11 1.1.5 Phần trình bày Lưu đồ thuật tốn ba mục: 12 1.1.5.1 Hình ảnh lưu đồ thuật tốn cho Primary Index: 13 1.1.5.2 Hình ảnh lưu đồ thuật toán Clustering Index 14 1.1.5.3 Hình ảnh lưu đồ thuật tốn SecondaryIndex 15 1.1.6 Phần trình bày kết kiểm thử chương trình: 16 1.1.6.1 Primary Index 16 1.1.6.2 Clustering Index 17 1.1.6.3 Secondary Index 18 Các tài liệu tham khảo: 19 1.2 Thuật toán cài đặt công thức cho mục 19 Page | Phần mở đầu Mục tiêu đề tài tiểu luận: 1.1 Trình bày lý thuyết loại mục: Primary Index, Clustering Index, Secondary Index 1.2 Viết thuật toán cài đặt tính tốn số lượng “ block access “ liên quan đến mục nói Sử dụng kiến thức học, áp dụng vào việc lập trình việc tính tốn tiện ích dễ dàng 1.1 Trình bày cở sở lý thuyết 1.1.1 Primary Index - Chỉ mục định trường khóa đặt hàng đơn đặt hàng tập tin hồ sơ - Trường khóa xếp thứ tự sử dụng để xếp vật lý ghi tệp ổ - đĩa ghi có giá trị cho trường Chỉ mục tệp xếp có thứ tự có ghi có độ dài cố định với hai lĩnh vực: + Trường có kiểu liệu với trường khóa xếp thứ tự—được gọi Khóa chính—của tệp liệu + Trường thứ hai trỏ đến khối đĩa (một địa khối) Có mục nhập mục (hoặc ghi mục) tệp mục cho khối tệp liệu - Mỗi mục nhập mục có giá trị trường khóa cho mục nhập Ghi khối trỏ đến khối làm hai trường Page | giá trị Chúng ta tham khảo hai giá trị trường mục nhập mục i - Tổng số mục nhập mục giống số lượng khối đĩa tệp liệu xếp - Bản ghi khối tệp liệu gọi ghi neo khối, đơn giản khối neo Chỉ mục trường khóa thứ tự Biểu đồ Primary Index (Copyright © 2007 Ramez Elmasri and Shamkant B Navathe) Page | *Phần đọc thêm mục: Các loại mục cấp đơn: - Chỉ số - Được xác định tệp liệu xếp theo thứ tự - Tệp liệu xếp theo thứ tự trường khóa - Bao gồm mục nhập mục cho khối liệu tệp; mục nhập mục có giá trị trường cho ghi khối, gọi khối neo - Một sơ đồ tương tự sử dụng ghi cuối khối Các mục đặc trưng dày đặc thưa thớt - Các số đặc trưng dày đặc thưa thớt + Chỉ mục dày đặc có mục nhập mục cho khóa tìm kiếm giá trị (và ghi) tệp liệu + Mặt khác, số thưa thớt (hoặc khơng dày đặc) có mục nhập mục cho số giá trị tìm kiếm Vậy mục dày đặc thưa thớt? - Chỉ mục thưa thớt có mục nhập số lượng ghi tệp - Do đó, số số nondense (thưa thớt), bao gồm mục nhập cho khối đĩa tệp liệu khóa ghi neo thay cho giá trị tìm kiếm (hoặc ghi) Page | 1.1.2 Clustering Index - Nếu ghi tệp đặt hàng vật lý thuộc tính khơng phải khóa (trường đặt thuộc tính khơng trường hay khơng khóa chính) - Có thể sử dụng loại mục khác, biết mục phân cụm (Clustering Index), dùng để tối ưu tìm tất ghi có giá trị trường phân cụm - Chỉ mục phân cụm tệp đặt theo thứ tự, có trường sau: + Trường loại với trường phân cụm tệp liệu + Trường thứ hai trỏ khối đĩa - Có truy nhập mục phân cụm (Clustering Index) cho giá trị có phân biệt trường phân cụm - Và có chứa giá trị trỏ hướng đến khối tệp liệu, với ghi cí giá trị cho phân cụm Chỉ mục phân cụm trường khóa thứ tự Biểu đồ Clustering Index (Copyright © 2007 Ramez Elmasri and Shamkant B Navathe) Page | Ví dụ khác mục phân cụm: Chỉ mục phân cụm trường khóa thứ tự Biểu đồ Clustering Index (Copyright © 2007 Ramez Elmasri and Shamkant B Navathe) *Phần đọc thêm Clustering Index: - Định nghĩa tệp liệu xếp - Các tệp xếp theo trường khơng khóa khơng giống mục chính, mặc định trường xếp tệp liệu có giá trị riêng biệt cho ghi - Bao gồm mục truy nhập cho giá trị trường; mục truy nhập hướng tới khối liệu mà chứa ghi với trường giá trị - Ở ví dụ thứ không dày đặt (thưa thớt) mục Page | 1.1.3 Secondary Index - Một số phụ cung cấp phương tiện thứ cấp truy cập tệp mà số quyền truy cập có tồn - Chỉ mục phụ nằm trường ứng cử viên khóa có giá trị ghi khơng khóa với giá trị trùng lặp + Chỉ mục tệp xếp có hai trường: Trường có kiểu liệu với số thứ tựtrường tệp liệu trường lập mục + Trường thứ hai trỏ khối trỏ ghi + Có thể có nhiều mục phụ (và đó, việc lập mục trường) cho tệp Dày đặc hay thưa thớt? Bao gồm mục cho ghi tệp liệu; đó, số dày đsố *Có mục? - Lưu ý tệp có nhiều vật lý trường đặt hàng, có nhiều trường mục mục phân cụm, hai - Chỉ mục phụ định trường không theo thứ tự tệp Một tệp liệu có nhiều mục phụ ngồi quyền truy cập phương pháp - Chỉ mục phụ tạo trường khóa ứng viên có giá trị ghi, trường không khóa có giá trị trùng lặp Page | *Cấu trúc truy cập mục phụ bật trường khóa (duy nhất) - Trong trường hợp này, có mục nhập mục cho ghi tệp liệu, chứa giá trị trường cho ghi trỏ tới khối mà ghi lưu trữ để ghi - Do đó, số dày đặc - Các mục xếp theo thứ tự để thực Tìm kiếm nhị phân Ví dụ Dense SecondarSecondary: Chỉ mục phụ trường khóa thứ tự Biểu đồ Secondary Index (nguồn Copyright © 2007 Ramez Elmasri and Shamkant B Navathe) Page | *Phần đọc thêm Secondary Index: - Chỉ mục phụ (Secondary Index) thường xuyên cần nhiều không gian lưu trữ thời gian để tìm mục (Primary Index), có nhiều số lượng mục nhập - Tuy nhiên, cải thiện thười gian tìm kiếm cho ghi tùy ý lớn mục phụ nhiều mục chính, nên phải thực tìm kiếm tuyết tính tệp liệu, mục phụ khơng có tồn Đối với mục chính, sử dụng tìm kiếm nhị phân tệp liệu chính, chí mục khơng có tồn 1.1.4 Lời giải toán Chỉ mục: 1.1.4.1 Primary Index Các liệu đầu vào đề: Record: r = 600000 records Block size: B = 4096 bytes Record length: R = 40 bytes Field size: V = bytes Block pointer: P = bytes Lời giải toán Primary Index: What is the blocking factor value of the data file? Blocking factor value of the data file is: bfr = ⌊B / R⌋ = ⌊4096 / 40⌋ = 102 records/block How many data blocks are there for the data file? Number of blocks need for the data file is: b = ⌈r / bfr⌉ = ⌈600000 / 102⌉ = 5883 blocks How many block accesses for a linear search on the data file? Block accesses for a linear search on the data file is: b / = 5883 / = 2942 block accesses How many block accesses for a binary search on the data file? Block accesses for a binary search on the data file is: ⌈log b⌉ = ⌈log 5883⌉ = 13 block accesses How many block accesses for a binary search on the index file? Block accesses for a binary search on the index file is: : ⌈log bi⌉ = ⌈log 22⌉ = block accesses Page | 1.1.6 Phần trình bày kết kiểm thử chương trình: 1.1.6.1 Primary Index Màn hình nhập từ console: Xuất thơng tin kết chương trình FILE output.txt:: Page | 16 1.1.6.2 Clustering Index Màn hình nhập từ console: Xuất thơng tin kết chương trình FILE output.txt: Page | 17 1.1.6.3 Secondary Index Màn hình nhập từ console: Xuất thơng tin kết chương trình FILE output.txt: Page | 18 Các tài liệu tham khảo: Tài liệu thứ 1: Chapter 14 (fcis2023.me) (Copyright © 2007 Ramez Elmasri and Shamkant B Navathe) Tài liệu thứ 2: https://scanftree.com/dbms/classification-of-indexing (Scanfree) Tài liệu thứ 3: Indexing-Structures-for-File.pdf (11For more details on insertion and deletion algorithms for B+ trees, consult Ramakrishnan and Gehrke [2003]) Phụ lục Toàn source code chi tiết chương trình: 19 1.2 Thuật tốn cài đặt cơng thức cho mục Toàn source code chi tiết chương trình: using System; using System.Collections.Generic; using System.IO; using System.Text; namespace Final_Project { class Program { static void Main(string[] args) { System.IO.FileStream fs = new System.IO.FileStream(@"C:\Users\Admin\Desktop\output.txt", FileMode.Create, FileAccess.Write, FileShare.None); StreamWriter sw = new StreamWriter(fs); Page | 19 ... 18 Các tài liệu tham khảo: Tài liệu thứ 1: Chapter 14 (fcis2023.me) (Copyright © 2007 Ramez Elmasri and Shamkant B Navathe) Tài liệu thứ 2: https://scanftree.com/dbms/classification-of -indexing. ..Mục lục Phần mở đầu Mục tiêu đề tài tiểu luận: 1.1 Trình bày cở sở lý thuyết 1.1.1 Primary Index ... khảo: 19 1.2 Thuật toán cài đặt công thức cho mục 19 Page | Phần mở đầu Mục tiêu đề tài tiểu luận: 1.1 Trình bày lý thuyết loại mục: Primary Index, Clustering Index, Secondary

Ngày đăng: 18/03/2023, 06:39

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan