Hàm băm và cấu trúc bảng

Một phần của tài liệu XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY (Trang 63 - 65)

Hàm băm mà chúng ta sử dụng có tên gọi là GetHashCode có các tính chất sau đây. • Đối số là một chuỗi, kết quả trả về là một số nguyên.

• Hai chuỗi khác nhau có thể có cùng giá trị của hàm băm (trường hợp đụng độ hay tranh chấp)

Do đó, nếu ta lưu kèm với nội dung của đa thức giá trị của hàm băm tương ứng thì nhiều đa thức khác nhau có thể có cùng một giá trị của hàm băm.

Ta sử dụng thêm các thông tin sau đây để giải quyết tranh chấp. • Bậc của đa thức.

• Tổng số các bit có giá trị bằng 1 (còn gọi là trọng lượng (weight) của đa thức). Nếu vẫn chưa thể giải quyết được tranh chấp thì chúng ta sẽ sử dụng thêm một số thứ tự tăng dần (trong từng nhóm các đa thức có cùng các giá trị của hàm băm, bậc của đa thức và trọng lượng của đa thức) để giải quyết dứt điểm quá trình tranh chấp.

Tóm lại, chúng ta sẽ sử dụng cấu trúc bảng được mô tả trong bảng 2.1 dưới đây cho việc lưu trữ các đa thức bất khả quy trong kho cơ sở dữ liệu các đa thức bất khả quy mà chúng ta sẽ phải xây dựng.

Bảng 2.1. Cấu trúc lưu trữ cho đa thức bất khả quy

Table Name: Polynomials

ColumnName Description Primary Key

HashCode Giá trị hàm băm của chuỗi bit biểu diễn cho đa thức Yes

Degree Bậc của đa thức Yes

SumBit Tổng số bit có giá trị bằng 1 Yes

GroupOrder Số thứ tự của đa thức trong nhóm các đa thức có cùng

giá trị của HashCode, Degree và SumBit Yes

Khóa chính bao gồm các cột thuộc tính HashCode, Degree, SumBit và GroupOrder

(khóa chính sẽ được tự động lập chỉ mục tìm kiếm).

Một phần của tài liệu XÂY DỰNG CƠ SỞ DỮ LIỆU CÁC ĐA THỨC BẤT KHẢ QUY (Trang 63 - 65)

Tải bản đầy đủ (PDF)

(72 trang)