Áp dụng các phép tốn vào câu truy vấn

Một phần của tài liệu Mô hình hóa dữ liệu đa chiều (Trang 66)

4. Mơ hình cơ sở dữ liệu đa chiều (Modeling Multidimensional Databases)

4.3.Áp dụng các phép tốn vào câu truy vấn

4.3.1. Nhận xét

Ta cĩ thể nhận xét cĩ sự tương tự trong các phép tốn đã trình bày và đại số quan hệ. Một trong những mục đích của chúng ta là tìm hiểu cĩ bao nhiêu chức năng của sản phẩm đa chiều hiện nay cĩ thể được rút ra trong các hạng thức của đại số quan hệ. Bằng cách phát triển các phép tốn để cĩ thể chuyển sang SQL, ý muốn của chúng ta là tạo ra một con đường nhanh chĩng hỗ trợ cho OLAP cĩ khả năng nhất của hệ thống cơ sở dữ liệu quan hệ. Chúng ta phải đẩy nhanh để thêm vào mà chúng ta khơng bàn luận lại hệ thống OLAP chuyên biệt- chúng ta tin tưởng thiết kế và tạo nguyên mẫu của nhiều kỹ thuật là một định hướng nghiên cứu tốt. Chúng ta cũng khơng đề xuất một cách dễ dàng để chuyển đổi các phép tốn sang SQL sẽ đủ để hỗ trợ cho OLAP trong hệ thống cơ sở dữ liệu quan hệ. Tuy nhiên nĩ là định hướng trong kỹ thuật tối ưu hĩa và các cấu trúc lưu trữ trong các hệ thống cơ sở dữ liệu quan hệ cần phát triển.

Người đọc cĩ thể thảo luận về cách chúng ta chọn để kết hợp thơng tin sắp xếp cơ bản đại số quan hệ. Chúng ta dựa vào các hàm cho đề xuất này, nghĩa là hệ thống khơng thể dùng thơng tin này trong việc tối ưu hĩa các câu truy vấn. Chúng ta tranh

trợ các phép tốn sắp xếp. Chúng ta lại đồng ý với điều đĩ bởi vì một lượng lớn các phép tốn và bởi vì ngữ nghĩa khá phức tạp khi cĩ nhiều phân cấp theo một chiều. Trong thực nghiệm của mơ hình chúng ta, nĩ sẽ đáng để cho phép một sắp xếp thơng thường trở nên lí thuyết với mỗi chiều và làm cho hệ thống nhận thấy một số buit-in các hàm sắp xếp như là “first n”.

Người đọc cũng cĩ thể chú ý những thiếu sĩt của việc hướng theo các quan hệ phép projection, union, intersection, and difference. Các phép tốn cĩ thể biểu diễn theo quan điểm các phép tốn đề xuất như sau.

Phép chiếu (Projection)

Phép chiếu của một khối được tính bằng cách kết hợp mỗi chiều khơng chứa trong phép chiếu và sau đĩ loại bỏ chiều này. Hàm felem chỉ rõ cách nhiều thành phần được nối là cần thiết như bộ phận của kỹ thuật chiếu.

Kết hợp (Union)

Hai khối được kết hợp tương thích nếu (i) chúng cĩ số chiều giống nhau và (ii) mỗi chiều Di trong C, chiều Di trong C1 cùng một kiểu miền. Phép kết hợp được tính bằng cách nối hai khối sử dụng các hàm chuyển đổi đồng nhất cho mỗi chiều của mỗi khối và bằng cách chọn một hàm felemhàm này kết quả trả về một thành khơng phần rỗng cho thành phần e trong Ca khi một thành phần của một trong hai khối ánh xạ vào e. Chiều Ditrong khối kết với giá trị của nĩ chính là kết hợp các giá trị trong

domi(C) và trong domi(C1).

Giao (Intersect)

Giao của hai khối kết hợp tương thích được tính bằng cách nối các khối đĩ thơng qua qua ánh xạ đồng nhất mà chỉ giữ lại kết quả là các giá trị của chiều cĩ mặt trong cả hai khối. Vì vậy, hàm felem làm non-0 một thành phần tiến về duy nhất điểm p

trong Ca khi các thành phần trong hai khối được ánh xạ vào p.

Hiệu (Difference)

Hiệu của hai khối kết hợp tương thích C1C2 như là giao của C1C2, sau đĩ hợp kết quả với C1. Hàm felem kết hợp hai thành phần cho các bước giao loại bỏ giá trị của thành phần ở C1 và giữ lại thành phần của C2. Hàm felem kết hợp hai

thành phần để các bước kết hợp lưu giá trị của thành phần C1 khi hai hai thành phần là khác nhau và cho kết quả 0 nếu chúng giống nhau.

Nhận xét:

Phép tốn đại số trên mơ hình đa chiều cĩ thể xem ít nhất là mạnh bằng các phép tốn đại số quan hệ [Cod70]. Một giới hạn chính xác về ý nghĩa của mơ hình đề xuất là một vấn đề mở. Một quan tâm liên quan đến câu hỏi mở cĩ quan hệ đến hình thức khái niệm của tính đầy đủ cho các truy vần cơ sở dữ liệu đa chiều và ước tính cách thức bổ sung phép tốn đại số trên mơ hình dữ liệu đa chiều. Chúng tơi cĩ một kinh nghiệm cách tiếp cận và dưới đây là thảo luận về các chiều ở mức cao hiện tại các phép tốn cĩ thể xây dựng sử dụng phép tốn đề xuất trên mơ hình dữ liệu đa chiều.

Roll-up: Roll-up là một phép tốn kết hợp mà nĩ cần thiết cho chức năng kết hợp một chiều và chức năng tổ hợp phần tử. Nếu một phân cấp được xác định trong một chiều thì chức năng kết hợp chiều được xác định hồn tồn bới phấn cấp. Các phần tử tương ứng các giá trị kết hợp trong chiều được nối bằng cách sử dụng các phần tử người sử dụng xác định với chức năng kết hợp như SUM.

Drill-down: Phép tốn này thật tế là một phép tốn nhị phân mặc dù hầu hết các sản phẩm cơ sở dữ liệu đa chiều hiện tại làm cho nĩ cĩ vẻ giống như phép tốn một ngơi. Xét việc tính tổng X của 10 giá trị. Drill-dơn từ X đến các giá trị dưới 10 là cĩ thể cĩ trong các hướng vơ hạn. Do đĩ, các giá trị dưới 10 phải được biết đến. Tức là, việc tổng hợp khối phải được nối (thực sự kết hợp) với khối cĩ thơng tin chi tiết. Tiếp tục, để drill down từ X hợp thành nĩ, cơ sở dữ liệu đã cĩ để theo dõi như thế nào X đã đạt được và sau đĩ kết hợp X với những giá trị này. Vì vậy, nếu người sử dụng kết hợp các khối theo đường dẫn lưu trữ và cĩ đường dẫn duy nhất tạo nên cây kết hợp thì drill down là xác định duy nhất. Bởi thơng tin phân cấp lưu trữ và hạn chế phần tử chức năng kết hợp sẽ được sử dụng cùng mỗi phân cấp, drill-down cĩ thể cung cấp như là một phép tốn mức cao trên kết hợp.

Star Join: Nối hình sao [Eri95] một chi tiết lớn “mẹ” bảng M được nối với một phần nhỏ “con” các bảng, mơ tả các khĩa nối trong bảng mẹ. Một phép nối hình sao

chọn mơ tả các thuộc tính của chúng. Chúng tơi mơ tả cách thức các tốn tử giữ một phép nối hình sao, khi cĩ một bảng con F1 mơ tả trường khĩa nối D của M. Bảng

F1 cĩ thể được xem như là một khối đa chiều C1 trường khĩa nối D như một chiều và tất cả các trường mơ tả lấy ra xem như các phần tử. Một phép thu hẹp trên thuộc tính mơ tả A của bảng F1 tương ứng với một chức năng ứng dụng từ trong các phần tử của bàng C1. Các phép thu hẹp trên thuộc tính khĩa nối chuyển đổi sang các phép thu trên chiều D của bảng C1. Việc nối giữa MF1 đạt được bởi việc kết hợp

khối mẹ với khối con trên chiều khĩa D và sử dụng một hàm ánh xạ đồng nhất.

Phép thu hẹp của mỗi giá trị khĩa được lấy ra từ khối con đưa vào trong khối mẹ thơng qua hàm felem.

Biểu diễn một chiều xem như một chức năng của các chiều khác. Chức năng này là cơ bản trong các bảng lớn. Chúng ta cĩ thể tạo ra một chiều mới D biểu diễn như một chức năng f của chiều D’ khác bằng cách, đầu tiên đưa D’ vào các phần tử khối, sau đĩ biến đổi các phần tử của khối bằng cách áp dụng chức năng f và cuối cùng lấy ra phần tương úng của phần tử khối xem như một chiều mới D.

4.3.2. Áp dụng phép tốn vào câu truy vấn

Trong phần này minh họa cách biểu diễn một số câu truy vấn của ví dụ 2.2 sử dụng các tốn tử đã đưa ra. Giả sử chúng ta cĩ một khối C với các chiều product,

month, supplier và thành phần bán hàng (sale).

 Với Supplier “Ace” và với mỗi product, cho biết sự tăng trưởng kéo

theo của bán hàng vào tháng 1/1995 liên quan đến bán hàng trong 1/1994. (adsbygoogle = window.adsbygoogle || []).push({});

Restric (giới hạn) supplier là “Ace” và ngày “1/1994 " hoặc “1/1995”. Merge

(kết hợp) chiều ngày sử dụng hàm felem kết hợp bán hàng bằng (B-A)/A với A là bán (sale) trong tháng 1/1994B là bán (sale) trong tháng 1/1995.

 Với mỗi sản phẩm, cho biết thị phần của nĩ trong category của tháng

này trừ thị phần trong tháng 10/1994.

Restrict (giới hạn) ngày “10/1994 hoặc tháng hiện tại”. Merge (kết hợp)

supplier với một điểm đơn sử dụng tổng bán hàng (sales) bằng hàm felem cho khối C1. Merge chiều sản phẩm (product) với loại (category) sử dụng tổng bằng

hàm felem để đặt vào C2 tổng bán (sale) cho hai tháng của tiền lãi. Associate (kết hợp) C1C2, ánh xạ một loại (category) trong C2 với mỗi sản phẩm của nĩ trong C1. Ánh xạ đồng nhất được sử dụng cho chiều tháng (Month). Hàm felem

chia phần tử từ C1 với phần tử từ C2 đặt vào thị phần. Khối kết quả, Merge

chiều tháng (month) với một điểm đơn sử dụng một hàm felem (A-B) trong đĩ A là một thị phần cho tháng này và B là thị phần trong tháng mười năm 1994.

 Với mỗi loại sản phẩm, chọn ra tổng bán ra trong tháng này của sản

phẩm bán được nhất .

Restric (giới hạn) chiều tháng đến cuối tháng. Merge (kết hợp) supplier với một điểm đơn sử dụng tổng bán hàng bằng hàm felem. Push kết quả chiều sản phẩm trong 2 tuple elements với <Sale và product>. Merge (kết hợp) product với

category sử dụng hàm felem để trả lại một thành phần khi nĩ cĩ lượng bán hàng lớn nhất. Pull product vào trong chiều category. Lấy khối kết quả là C1. Khối này cĩ giá trị bán lớn nhất cho mỗi thành phần ở cuối tháng. Restric (giới hạn) C trên chiều thời gian là tháng này (“this” month), Merge (kết hợp) supplier với một điểm đơn sử dụng tổng bán hàng bằng hàm felemAssociate (kết hợp) nĩ với C1 theo chiều

product sử dụng hàm felem để chỉ cho ra thành phần của C khi nĩ được xem như là các thành phần tương thích từ C1 (ngược lại trả về 0).

 Chọn những Supplier mà cĩ sản phẩm bán ra tăng trong năm năm

trước.

Restrict (giới hạn) các tháng của 6 năm trước. Merge (kết hợp) tháng và năm.

Merge (kết hợp) năm với một điểm đơn sử dụng hàm felem để anh xạ 6 giá trị bán hàng về “1” nếu các giá trị bán đều tăng, về “0” nếu ngược lại. Merge (kết hợp)

product và một điểm khi hàm felem là “1” nếu và chỉ nếu tất cả tham số của nĩ là “1”.

4.4 Kết luận và phương hướng.

Nội dung này giới thiệu một mơ hình dữ liệu và một tập hợp các tốn tử đại số dùng để thống nhất và mở rộng chức năng cung cấp bởi sản phẩm cơ sở dữ liệu đa chiều hiện tại. Như trình bày trong phần 4.1 các tốn tử đề xuất cĩ thể bao gồm việc

xây dựng các tốn tử OLAP như roll-up, drill-down, star-join và một số tốn tử khác. Ngồi ra, mơ hình cung cấp xử lý đối xứng vào các chiều và các sự kiện. Mơ hình cũng cung cấp hổ trợ cho các hệ thống phân cấp phức tạp theo mỗi chiều và hỗ trợ các khối tập hợp đặc biệt. Trong tương lai khơng thể các kết quả trong các sản phẩm đắt tiền hiện tại phải thiết kế lại lược đồ khi sự cần thiết bất ngờ xảy ra cho một tập hợp hay tập hợp theo một thuộc tính đã được ban đầu suy nghĩ để cĩ một biện pháp.

Các tốn tử đề xuất cĩ một vài thuộc tính cần thiết. chúng cĩ ngữ nghĩa xác định rất tốt. Chúng là cực tiểu trong hướng mà nĩ khơng thể biểu diễn trong thời gian của cái khác, cĩ thể cũng khơng được bỏ bất kỳ một trong những chức năng mà khơng bị mất. Mỗi tốn tử được định nghĩa trên các khối và các kết quả như một khối xuất. Tức là, các tốn tử đã được khép kín và cĩ thể được tự do và reordered. Điều này cho phép một tốn tử khơng hiệu quả tại một thời điểm tiếp hiện tại ưu chuộng để thay thế bằng mơ hình truy vấn và nên các truy vấn đa chiều cần phải tối ưu.

Các phép tốn đề xuất cho phép tách logic trước khi người sử dụng đưa vào cửa hàng và yêu cầu chấp nhận sau. Như vậy, các phép tốn cung cấp đại số API cho phép thay đổi trước và sau. Các phép tốn được thiết kế để chuyển sang SQL.Vì vậy, chúng cĩ thể cái đặt trong cả hệ thồng quan hệ và kỷ thuật đặc biệt.

Tương lai, trong các mơ hình mẫu cơng việc là cần thiết để kết hợp các bản sao và các giá trị NULL trrong mơ hình dữ liệu đa chiều. Chúng tơi tin rằng các bản sao cĩ thể được giải quyết bằng cách xử lý các phần tử của khối như cặp gồm một arity và một bộ của các giá trị. Arity cung cấp số lượng tương ứng xuất hiện của sự kết hợp các giá trị của chiều. Các giá trrị NULL cĩ thể được biểu diễn bởi cho phép đại diện một giá trị NULL cho mỗi chiều. Chi tiết của việc mở rộng và các sự lựa chọn khác cầu nghiên cứu nhiều.

Về thực hiện cĩ nhiều vấn đề quan tâm nghiên cứu cho việc thực thi mơ hình dữ liệu đa chiều ở trên một hệ thống quan hệ tốt như bên trong cơ cấu đặc biệt. Mặc dù một trong các phép tốn đề xuất cĩ thể chuyển sang truy vấn SQL, chỉ cần thực hiện chuyển đổi SQL trên một cơ cấu quan hệ là coi như khơng hiệu quả. Thơng tin về truy vấn đa chiều bao gồm một vài phép tốn đề xuất, chúng ta sẽ nhận được một

dãy truy vấn SQL đĩ là cơ hội cho việc tối ưu hĩa truy vấn đa chiều. Nĩ cần phải được điều tra xác định để biết được biết hơn về phương pháp kỹ thuật (ví dụ: [SG90]) sẽ thỏa mãn, chúng ta cần phải phát triển kỹ thuật mới. Tương tự như vậy, cịn cĩ cơ hội cho việc nghiên cứu trong lưu trữ và truy cập cấu trúc vào cụ thể hĩa khung nhìn.

C. KẾT LUẬN

Qua các nghiên cứu, một vài tổ chức kinh doanh đã đầu tư các cơng cụ OLAP/MDD của riêng họ, và đã cĩ hai cách tiếp cận. Cách tiếp cận đầu tiên được gọi là MOLAP (đối với OLAP đa chiều), dựa vào việc xây dựng các cơng cụ chuyên dụng khác nhau trên cơ sở các cách lưu trữ đa chiều. Arbor Software’s Essbase là một ví dụ cho điều này. Cách tiếp cận thứ hai được gọi là ROLAP (đối với OLAP quan hệ), cách tiếp cận này dựa vào sự thích ứng đối với hệ thống cơ sở dữ liệu quan hệ. Red Brick và Oracle là hai ví dụ cho trường hợp này.

Tiểu luận này giới thiệu một mơ hình khái niệm chung cho MDD một cách tồn diện và một mơ hình dữ liệu cơ sở mới (hypercube – based data model), một số hàm cung cấp nền tảng ngữ nghĩa cho cơ sở dữ liệu đa chiều và mở rộng các hàm hiện tại. (adsbygoogle = window.adsbygoogle || []).push({});

Do thời gian và khả năng tiếng Anh cịn hạn chế nên tiểu luận này khơng tránh khỏi những sai sĩt, kính mong thầy gĩp ý thêm.

D. TÀI LIỆU THAM KHẢO

[1] Marc Gyssens, Laks V.S. Lakshmanan, “A foundation for Multi-Demensional

Databases” in Proceedings of the 23rd VLDB Conference Athens, Greece, 1997.

[2] Matteo Golfarelli, Dario Maio, and Stefano Rizzi “Applying Vertical Fragmentation Techniques on logical Design of Multidimensional Databases” DEIS – university of bologna, viale Risorgimento 2, 40136 Bologna, Italy.

[3] Andreas Bauer, Wolfgang Hummer, Wolfgang lehner “An Alternative relationnal OLAP Modeling Approach” University of Erlangen-Nuremberg (database Systems)

[4] Rakesh Agrawal Ashish Gupta Sunita Sarawagi, “Modeling Multidimensional

Databases” IBM Almaden ResearchCenter 650 Harry Road, San Jose CA

95120.

[5] A Foundation for Multi-Dimensional Databases Marc Gyssens Laks V.S. Lakshmanan Department WNI Department of Computer Science University of Limburg (LUC) Concordia University B-3590 Diepenbeek, Belgium. ontreal, Quebec H3G lM8, Canada gyssensQcharlie.luc.ac.be laksQcs.concordia.caơ [6] Applying Vertical Fragmentation Techniques in Logical Design of ultidimensional Databases 1Matteo Golfarelli, Dario Maio, and Stefano Rizzi DEIS - University of Bologna, Viale Risorgimento 2, 40136 Bologna, Italy {mgolfarelli, dmaio, srizzi}@deis.unibo.it

[7] An Alternative Relational OLAP Modeling Approach Andreas Bauer,

Wolfgang Hümmer, Wolfgang Lehner University of Erlangen-Nuremberg (Database Systems) Martensstr. 3, Erlangen, 91058, Germany EMail: {andreas.bauer,

Một phần của tài liệu Mô hình hóa dữ liệu đa chiều (Trang 66)