Thị truy vấn và Đồ thị nối với câu truy vấn sai ngữ nghĩa

Một phần của tài liệu (LUẬN văn THẠC sĩ) tối ưu hóa cơ sở dữ liệu phân tán 04 (Trang 41 - 43)

=> Đồ thị không liên thông. Điều này có nghĩa là câu truy vấn này sai ngữ nghĩa.

P1 P4 P5 P2 PC NV DA KQ P3 PC NV DA P3 P4 PC NV DA KQ P1 P5 PC NV DA

Nhận xét: Câu truy vấn sai ngữ nghĩa nếu đồ thị truy vấn của nó không liên

thông: Một hoặc nhiều đồ thị con bị tách rời với đồ thị kết quả.

2.2.1.3. Loại bỏ dư thừa

Một câu truy vấn thường được diễn tả trên một khung nhìn có thể được bổ sung thêm nhiều vị từ để có được sự tương ứng khung nhìn - quan hệ, đảm bảo tính toàn vẹn ngữ nghĩa và bảo mật. Nhưng lượng từ hoá truy vấn đã được sửa đổi này có thể chứa các vị từ dư thừa, có thể khiến lặp lại một số công việc. Một cách làm đơn giản truy vấn là loại bỏ các vị từ thừa.

Loại bỏ vị từ dư thừa bằng các quy tắc luỹ đẳng:

1. p ʌ p  p 6. p v True  True

2. p v p  p 7. p ʌ  p  False 3. p ʌ True  p 8. p v  p  True 4. p v False  p 9. p1 ʌ (p1 v p2 )  p1 5. p ʌ False  False 10. P1 v (p1 ʌ p2 )  p1 Ví dụ 2.6 : Xét câu truy vấn sau:

Select CVụ From NV

Where (Not (CVụ =’TP’) and (CVụ = ’TP’ or CVụ = ’PP’) and not (CVụ = ’PP’)) or TênNV =’Mai’

Đặt:

p1: CVụ = ’TP’

p2: CVụ = ’PP’ p3: TênNV = ’Mai’

Lượng từ hóa câu truy vấn trên, ta được: ( p1 ʌ (p1 v p2) ʌ  p2 ) v p3

Áp dụng p ʌ (s v q) (p ʌ s) v (p ʌ q): ( p1 ʌ ((p1 ʌ  p2 ) v (p2 ʌ  p2 ))) v p3 Áp dụng quy tắc 3: ( p1 ʌ p1 ʌ  p2 ) v ( p1 ʌ p2 ʌ  p2 ) v p3

Áp dụng quy tắc 7: (False  p2) v ( p1 ʌ False) v p3 Áp dụng quy tắc 5: False v False v p3 = p3

Tức là: Select CVụ From NV

where TênNV = ’Mai’ 2.2.1.4. Viết lại

Bước cuối cùng của phân rã truy vấn là viết lại câu truy vấn dưới dạng đại số quan hệ. Có thể được chia làm hai bước sau:

- Chuyển đổi câu truy vấn phép tính quan hệ sang đại số quan hệ. - Xây dựng lại câu truy vấn đại số quan hệ để cải tiến hiệu năng.

Thông thường người ta biểu diễn câu truy vấn đại số quan hệ bởi một cây đại số quan hệ. Một cây đại số quan hệ là một cây trong đó một nút lá biểu diễn một quan hệ trong cơ sở dữ liệu, còn một nút khác nút lá biểu diễn một quan hệ trung gian sinh bởi

các phép toán đại số quan hệ. Chuỗi các thao tác từ các nút lá đến nút gốc biểu diễn cho kết quả của câu truy vấn.

Biến đổi một câu truy vấn phép tính quan hệ thành một cây đại số quan hệ được thực hiện như sau:

- Các nút lá tương ứng với các quan hệ trong mệnh đề FROM.

- Nút gốc được tạo ra như một phép chiếu chứa các thuộc tính kết quả. Trong SQL, nút gốc được tìm thấy trong mệnh đề SELECT.

- Điều kiện (mệnh đề WHERE trong SQL) được biến đổi thành dãy các phép toán đại số thích hợp (phép chọn, kết nối, phép hợp,…) đi từ nút lá tới gốc, có thể theo thứ tự xuất hiện của các vị từ và các toán tử.

Ví dụ 2.7: Xét câu truy vấn sau: “Tìm tên các nhân viên trừ Hà đã làm cho dự án CAD/CAM trong một hoặc hai năm”.

Biểu thức SQL là:

SELECT TênNV FROM DA, PC, NV

WHERE PC.MNV = NV.MNV

AND PC.MDA = DA.MDA AND TênNV “Hà”

AND DA.TênDA = ”CAD/CAM”

AND (Thời gian = 12 OR Thời gian = 24)

Cây đại số quan hệ như Hình 2.6:

Một phần của tài liệu (LUẬN văn THẠC sĩ) tối ưu hóa cơ sở dữ liệu phân tán 04 (Trang 41 - 43)

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

(79 trang)