Khả phân mảnh và toán tử cảm thuộc tính

Một phần của tài liệu mô hình tối ưu hóa truy vấn hai pha trong cơ sở dữ liệu và ứng dụng (Trang 43 - 46)

4. Những nội dung nghiên cứu chính

2.2.2.Khả phân mảnh và toán tử cảm thuộc tính

Một phân mảnh ngang là một cặp (a, h), trong đó a là một thuộc tính và h là một hàm, hàm này ánh xạ một giá trị của a thành một giá trị không âm.

Ví dụ 2.2.2:

Phân mảnh ngang quan hệ NHANVIEN đƣợc biểu diễn nhƣ sau (TEN, hash(TEN) mod 2). Hàm hash(TEN) mod 2 đƣợc áp dụng cho tất cả các bộ của quan hệ NHANVIEN và những bộ này đƣợc đƣa vào các mảnh NHANVIEN0 hoặc NHANVIEN1 tuỳ theo giá trị hàm là 0 hoặc 1.

Việc chọn một ánh xạ h tuỳ thuộc vào mục đích sử dụng và vào miền giá trị thuộc tính a. Ví dụ ta có thể xem hash(TEN) mod 2 là len(TEN) mod 2, trong đó len(TEN) là độ dài (số byte) của giá trị trong trƣờng TEN.

Phân mảnh ngang cho biết khả năng song song hoá dựa vào ngữ nghĩa của hầu hết các phép toán trên cơ sở dữ liệu và cho khả năng tính toán song song trên các mảnh.

Giả sử S0, S1.., Sk và T0, T1,.., Tk là các mảnh ngang của các quan hệ S và T tƣơng ứng đƣợc tạo ra bởi cùng một phân mảnh ngang = (a, h). Ta có các định nghĩa sau:

Định nghĩa 2.2.1:

Toán tử f gọi là khả phân mảnh ngang ứng với phân mảnh ngang một ngôi theo = (a, h) nếu f(S) = f(S0) f(S1) ... f(Sk) và f(S0) f(S1) ... f(Sk) = .

Ví dụ 2.2.3:

Phân mảnh ngang một ngôi quan hệ NHANVIEN theo = (LUONG,

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn

f(NHANVIEN0), = (LUONG, LUONG <=3900000) Kết quả f(NHANVIEN0)

MANV HTENNV LUONG

A1 Phùng Tuấn Dũng 3900000 A2 Nguyễn Văn Giáp 3850000 A4 Nguyễn Nguyệt Nga 2750000 Kết quả f(NHANVIEN1)

MANV HTENNV LUONG

A3 Trần Việt Hùng 4000000 A5 Trần Thị Lan 3950000

Và f(NHANVIEN) = f(NHANVIEN0) f(NHANVIEN1), f(NHANVIEN0) f(NHANVIEN1) =

- Toán tử f gọi là khả phân mảnh ngang ứng với phân mảnh ngang hai ngôi theo = (a, h) nếu f(S,T) = f(S0, T0) f(S1, T1) ... f(Sk,Tk) và f(S0, T0) f(S1, T1) ... f(Sk,Tk) = .

Ví dụ 2.2.4:

Phân mảnh ngang hai ngôi quan hệ NHANVIEN, quan hệ CHUYENMON theo = (MANV, Hash(MANV) mod 2). Trong đó hàm hash đƣợc sử dụng để lấy tổng (theo hệ thập phân) mã Acsii của các ký tự trong MANV.

f(NHANVIEN, CHUYENMON), = (MANV, Hash(MANV) mod 2). Kết quả f(NHANVIEN0)

MANV HTENNV LUONG

A1 Phùng Tuấn Dũng 3900000 A3 Trần Việt Hùng 4000000 A5 Trần Thị Lan 3950000

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn

Kết quả f(NHANVIEN1)

MANV HTENNV LUONG

A2 Nguyễn Văn Giáp 3850000 A4 Nguyễn Nguyệt Nga 2750000 Kết quả f(CHUYENMON0) MANV TENCM A1 KS. Cơ khí A3 KS. Điện A5 CN. Kinh tế quó tế Kết quả f(CHUYENMON1) MANV TENCM

A2 KS. Công nghệ thông tin A4 CN. Kinh tế

A8 Bảo vệ

Và f(NHANVIEN, CHUYENMON) = f(NHANVIEN0, CHUYENMON0) f(NHANVIEN1, CHUYENMON1),

f(NHANVIEN0, CHUYENMON0) f(NHANVIEN1, CHUYENMON1) = (adsbygoogle = window.adsbygoogle || []).push({});

Định nghĩa 2.2.2:

- Một toán tử trên cây toán tử đƣợc gọi là cảm thuộc tính nếu nó chỉ có thể phân mảnh ngang quan hệ đã cho trên thuộc tính duy nhất nào đó trong quan hệ đó.

- Một toán tử trên cây toán tử đƣợc gọi là bất cảm thuộc tính nếu nó có thể phân mảnh trên nhiều hơn một thuộc tính.

Ví dụ 2.2.5: Xét cây truy vấn: "Cho biết tên của các kỹ sƣ cơ khí có lƣơng >= 3900000"

Số hóa bởi Trung tâm Học liệu http://lrc.tnu.edu.vn

Cây toán tử tƣơng ứng

Hình 2-5. Cây toán tử tương ứng với câu truy vấn

Toán tử LUONG <=3900000 là toán tử cảm thuộc tính vì nó chỉ phân mảnh ngang quan hệ NHANVIEN theo thuộc tính LUONG

Toán tử hash là toán tử bất cảm thuộc tính vì nó có thể phân mảnh ngang quan hệ CHUYENMON theo thuộc tính MANV hoặc TENCM.

Một phần của tài liệu mô hình tối ưu hóa truy vấn hai pha trong cơ sở dữ liệu và ứng dụng (Trang 43 - 46)