Thuật toỏn cải tiến cõy biểu diễn biểu thức quan hệ

Một phần của tài liệu tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 34 - 39)

6. Cỏc kết quả dự kiến

2.2.5. Thuật toỏn cải tiến cõy biểu diễn biểu thức quan hệ

Chỳng ta cú thể ỏp dụng cỏc qui tắc trờn để tối ưu cỏc biểu thức quan hệ. Biểu thức "tối ưu" kết quả phải tuõn theo cỏc nguyờn tắc trong mục 2.1, mặc dự cỏc nguyờn tắc khụng cú nghĩa bảo đảm để tối ưu cho tất cả cỏc biểu thức tương đương [5].

Đầu ra của thuật toỏn này là một chương trỡnh, bao gồm cỏc bước như sau: 1. Áp dụng của một phộp chọn hoặc một phộp chiếu đơn giản

2. Áp dụng của một phộp chọn và một phộp chiếu, hoặc

3. Áp dụng của một tớch Decartes, phộp hợp hoặc phộp hiệu tập hợp cho hai biểu thức mà trước đú cỏc phộp chọn và / hoặc cỏc phộp chiếu đó được ỏp dụng cho một hay hai hạng thức

Thuật toỏn: Tối ưu húa biểu thức quan hệ Vào: Cõy biểu diễn biểu thức quan hệ

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

Ra: Chương trỡnh đỏnh giỏ biểu thức đú Phƣơng phỏp:

1.Sử dụng qui tắc  để tỏch mỗi phộp chọn p1p2....pn(E) thành dóy

p1(....(pn(E))).

2. Sử dụng quy tắc ,  để đẩy sõu phộp chọn xuống đến mức cú thể trong biểu diễn.

3. Sử dụng qui tắc , ,  và  để đẩy sõu phộp chiếu đến mức cú thể trong cõy biểu diễn. Chỳ ý: qui tắc ( gõy ra một vài phộp chiếu biến mất, trong khi qui tắc ( tỏch một phộp chiếu thành hai phộp chiếu và một trong chỳng cú thể chuyển xuống. 4. Sử dụng qui tắc (, ( để tổ hợp dóy cỏc phộp chọn thành một phộp chọn, cỏc phộp chiếu thành một phộp chiếu hoặc một phộp chọn xỏc định với một phộp chiếụ 5. Chia cỏc nỳt trong cõy kết quả thành cỏc nhúm sau: Mỗi nỳt biểu diễn một phộp toỏn hai ngụi ,, hoặc - là trong cựng nhúm với bất kỳ cỏc nỳt gốc trực tiếp của nú được gỏn bởi phộp ,. Nhúm cũng bao gồm cỏc nỳt lỏ được gỏn bởi phộp toỏn một ngụi trừ trường hợp phộp toỏn hai ngụi là tớch Decartes và khụng được xỏc định bởi phộp chọn để tạo thành phộp kết nối

6. Đưa ra chương trỡnh đỏnh giỏ mỗi nhúm theo thứ tự bất kỳ. Vớ dụ 2.2: Xột cơ sở dữ liệu thư viện bao gồm cỏc quan hệ sau:

SACH(TENSACH, TACGIA, TEN_NXB, SHTV): Quan hệ sỏch NHAXB(TEN_NXB, DC_NXB, TP_NXB): Quan hệ nhà xuất bản DOCGIĂTEN, DIACHI, THPHO, SOTHE): Quan hệ độc giả MUON(SOTHE, SHTV, NGAY): Quan hệ cho mượn

Trong đú cỏc thuộc tớnh là:

TEN_NXB: Tờn nhà xuất bản SHTV: Số hiệu thư viện

DC_NXB: Địa chỉ nhà xuất bản

TP_NXB: Thành phố nơi nhà xuất bản đúng SOTHE: Số thẻ thư viện của độc giả

TEN: Tờn độc giả

DIACHI: Điạ chỉ độc giả

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

NGAY: Ngày mượn sỏch

Để lưu trữ thụng tin về sỏch, giả sử cú một khung nhỡn XMUON bao gồm một số thụng tin bổ sung về sỏch cho mượn. XMUON là kết nối tự nhiờn của quan hệ SACH, DOCGIA, MUON cú thể xỏc định như sau:

S(P(MUON DOCGIA SACH) Trong đú:

P = DOCGIẠSOTHE = MUON.SOTHE and SACH.SHTV = MUON.SHTV S = TENSACH, TACGIA, TEN_NXB, SHTV, TEN, DIACHI, THPHO, SOTHE, NGAY

Cần đưa ra danh sỏch những cuốn sỏch đó cho mượn trước ngày 1/1/2004

TENSACHNGAY<1/1/2004(XMUON)

Sau khi thay thế cho XMUON, biểu thức trờn biểu diễn dạng cõy như sau:

Hỡnh 2.1: Cõy biểu diễn biểu thức hỏi

Bước1: Tỏch phộp chọn p thành hai phộp chọn với điều kiện

SACH.SHTV=MUON.SHTV và DONGIẠSOTHE=MUON.SOTHE

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

Phộp chọn NGAY<1/1/2004 được đẩy xuống dưới phộp chiếu và hai phộp chọn kia bởi qui tắc  và . Phộp chọn này ỏp dụng cho tớch (MUON DOCGIA) SACH), vỡ thuộc tớnh NGAY trong phộp chọn chỉ ở quan hệ MUON nờn cú thể thay:

NGAY<1/1/2004 ((MUON DOCGIA) SACH bởi:

(NGAY<1/1/2004 (MUON DOCGIA)) SACH Cuối cựng bởi:

((NGAY<1/1/2004 (MUON)) DOCGIA) SACH)

Phộp chọn này đó được đẩy xuống sõu đến mức cú thể. Phộp chọn với điều kiện SACH.SHTV = MUON.SHTV khụng thể đẩy xuống dưới tớch Decartes vỡ nú liờn quan tới một thuộc tớnh của quan hệ SACH và một thuộc tớnh khụng thuộc quan hệ SACH. Tuy nhiờn, phộp chọn DONGIẠSOTHE = MUON.SOTHE cú thể đẩy xuống để ỏp dụng cho tớch Decartes.

NGAY<1/1/2004 (MUON) DOCGIA, MUON.SOTHE là tờn một thuộc tớnh củaNGAY<1/1/2004 (MUON).

Bước 2: Tổ hợp hai phộp chiếu thành một phộp chiếu TENSACH nhờ qui tắc  và kết quả như hỡnh 2.2. Sau đú ỏp dụng qui tắc  thay TENSACH và SACH.SHTV=MUON.SHTV bởi:

TENSACH

SACH.SHTV=MUON.SHTV

TENSACH, SACH.SHTV, MUON.SHTV

Áp dụng qui tắc  để thay thế phộp chiếu cuối cựng bởi

TENSACH,SACH.SHTV ỏp dụng cho SACH và MUON.SHTV ỏp dụng cho hạng thức bờn trỏi của tớch Decartes trong hỡnh 2.2.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

Hỡnh 2.2: Cõy với tổ hợp phộp chọn

Phộp chiếu cuối tỏc động với phộp chọn bởi luật  để cú dóy

MUON.SHTV

DOCGIẠSOTHE=MUON.SOTHE

MUON.SHTV, DOCGIẠSOTHE, MUON.SOTHE

Phộp chiếu cuối cựng được tỏch xuống tớch Decartes bởi qui tắc và một phần xuống phộp chọn NGAY<1/1/2004 bởi qui tắc . Trong biểu thức MUON.SHTV, MUON.SOTHE, NGAY phộp chiếu là khụng cần thiết, vỡ thuộc tớnh của MUON đó được đề cập, vỡ vậy loại bỏ phộp chiếu nàỵ Cõy biểu diễn cuối cựng ứng với hỡnh 2.3.

Số húa bởi Trung tõm Học liệu – Đại học Thỏi Nguyờn http://www.lrc-tnụedụvn

Hỡnh 2.3: Cõy kết quả với sự phõn nhúm cỏc phộp toỏn

Cỏc phộp toỏn được nhúm bởi đường giỏn đoạn, nhúm cỏc phộp toỏn phớa dưới sẽ được thực hiện trước.

Một phần của tài liệu tối ưu hóa truy vấn trong cơ sở dữ liệu phân tán (Trang 34 - 39)

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

(106 trang)