Tĩm tắt và kết luận:

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

3. Một trong hai phương pháp mới cho mơ hình ROLAP

3.2.3.Tĩm tắt và kết luận:

Phương pháp lược đồ hình sao/bơng tuyết cho phép mơ hình một phạm vi rộng các kịch bản đa chiều đơn lẻ. Từ việc biểu diễn View lược đồ hình sao đã tránh được các kết nối tìm kiếm ở các bảng vệ tinh nhưng nĩ cĩ thể bị chỉ trích khi thiết kế lược đồ của View.

Tuy nhiên cả hai phương pháp truyền thống đều khơng thành cơng với việc cài đặt và thiết kế lược đồ cho View nếu tồn tại các thuộc tính chiều phụ thuộc vào các giá trị các phần tử chiều trong hệ thống phân loại phân cấp. Như chúng ta thấy trong kịch bản nghiên cứu về thị trường, vấn đề này trở nên tồi tệ hơn, chẳng hạn chiều thuộc tính ‘Water’ và ‘Load’ chỉ nằm trong “washers” và khơng trong video

equipment. Nên cĩ thể lựa chọn thay phương pháp Relational OLAP. Với cách giải

quyết của chúng tơi, chúng tơi thơng qua ý tưởng đưa ra một lớp đặc biệt của các thuộc tính, được gọi là các thuộc tính chính(cĩ suy xét). Những loại thuộc tính này nắm giữ các tên của quan hệ cũng như các giá trị thuộc tính của chúng, mà nĩ cho phép biểu diễn sự phân cấp thực của vấn đề ánh xạ thành hình chĩp của các khái niệm (tức là sự phân cấp các lớp) cho mơ hình dữ liệu quan hệ.

Trong bước đầu, chúng tơi cĩ thể mơ hình mỗi nhĩm sản phẩm, tức là nút lá của cây phân lớp, trong một quan hệ tồn tại riêng biệt với các thuộc tính chiều cụ thể của tất cả các nút. Ví dụ bốn dịng sản phẩm tiêu biểu từ hình 1 được mơ hình như sau:

Lược đồ của nút phân loại C ở mức thấp nhất, tức là mức phân loại 1 với thuộc tính CA1 được kí hiệu bởi: C(PA,DA1,…..,DAm)

Thơng thường, PA là thuộc tính chính cho liên kết với bảng thực thể và tập DAk(1<=k<=m) kí hiệu các thuộc tính chiều mà chúng được áp dụng ở nút C.

Cách xây dựng hệ thống phân cấp được tạo theo kiểu từ dưới lên, tức là các tập của các nút được nhĩm vào một mục ở mức mới cao hơn, tức là một nút phân cấp mới. Giả sử, trong bước thứ j, các nút {C1,…,Cq} với tập các thuộc tính chiều hợp lệ cục bộ {DA1i,……,DAmii} cho mỗi Ci tương ứng với thuộc tính phân loại CAJ-1

được xếp vào nút C ở mức cao hơn tương ứng với thuộc tính phân loại CAJ . Tập

các thuộc tính chiều hợp lệ được hồn thành bởi sự giao nhau của tất cả thuộc tính các tập của các nút gộp vào:

Ví dụ, CamcordersHomeVCR được phân vào lớp Video, Washers và Dryers

được gộp vào bởi nút nút phân cấp cao hơn Home Appliances. Hơn nữa, chỉ các

thuộc tính chiều đĩ truyền lại cho các nút cha mới, mà nĩ vẫn hợp lệ ở đĩ. Từ đĩ,

các thuộc tính chiều riêng biệt ‘BLT’(cho Camcorder) và ‘RC’(cho HomeVCD)bị

đánh mất, nhưng trái lại các thuộc tính ‘VSys’ và ‘Brand’ được truyền lại lớp Video.

Nĩi chung, lược đồ của một nút phân loại mới C cho thuộc tính phân loại CAJ(1<j≤p) được làm rõ bởi cơng thức:

C(PA,DA1,…,DAm, CA1,….,CAj-1,CAj)= q i

i PADA DA CA CA C C i j m  1 ( , 1,..., , 1,..., 1,' ') = − Π

Điểm then chốt của kỹ thuật này là mỗi nút phân cấp Ci được thêm như một giá trị hằng cho thuộc tính phân loại mới CAJ của nút phân loại mới C.

Trong xây dựng các lớp ở mức cao hơn, chúng ta sử dụng cơ chế View của hệ thống cơ sở dữ liệu quan hệ ở vị trí cài đặt. Sau đây, các định nghĩa View của các

nhĩm sản phẩm Video và Home Appliances được miêu tả. Tương tự như mơ tả

hình thức, mỗi tên của quan hệ xuất hiện như một giá trị hằng trong View mới:

{ } Iq { } 1 i i m i 1 m 1,...,DA : DA ,...,DA i DA = =

Mỗi View nắm giữ thuộc tính chính, các thuộc tính chiều cĩ thể ứng dụng và (tương tự như trong lược đồ hình sao)tất cả các thuộc tính phân loại. Hơn nữa, mỗi View xây dựng các nền tảng cho việc định nghĩa các nút phân loại ở cấp cao hơn. Việc định nghĩa một cách đệ quy này được minh họa như sau cho hệ thống phân loại phân cấp được mơ tả trong hình sau:

So sánh với phương pháp mơ hình cổ điển(hình 3.4), chỉ những thuộc tính cĩ giá trị trong bảng chiều mà nĩ được ứng dụng cho tất cả các phần tử chiều.Để địa chỉ chính xác các nét đặc trưng, các bảng chiều con tương ứng được sử dụng, mà các tên của chúng được cụ thể như các thể hiện của các thuộc tính phân loại. Hình 3.6 tĩm tắt mơ hình của sự phân loại phân cấp sử dụng cách hành động, được mơ tả trong bài này. Tương tự hình 3.5(lược đồ bơng tuyết), phương pháp của này cũng cĩ thể được đơn giản hĩa sự phức tạp.

Để đặt nĩ vào bảng tĩm tắt, trong trường hợp phương pháp cổ điển, câu truy vấn (vơ nghĩa) như tìm tổng doanh thu của Home Appliances bởi ‘video system’ sẽ dẫn đến một sự tìm kiếm hết trên bảng chiều. Dẫn đến phần liên kết cho các bảng thực thể rỗng và cuối cùng là số 0. Trong phương pháp thay thế của chúng tơi, câu truy vấn trên sẽ bị loại bỏ vì Home Appliances khơng chứa trong chiều thuộc tính ‘video system’.

3.3. Cách thiết kế Object-Relational:

Sự lựa chọn khác và cách tiếp cận mới để khắc phục hạn chế của lược đồ hình sao/ bơng tuyết truyền thống là sử dụng kỹ thuật Object-relational. Từ khi các khái niệm Object-relational được hỗ trợ về nội dung và cài đặt theo cách rất cụ thể-hệ thống, chúng tơi đưa ra cách thiết kế một lược đồ Object-relational trên cơ sở khả năng của hệ thống cơ sở dữ liệu DB2/UDB của IBM.

Thiết kế một lược đồ Object-relational trong DB2 được chia thành hai giai

đoạn. Bước thứ nhất, chúng tơi phải xác định phân loại kiểu và những tham chiếu dựa trên các kiểu. Dựa theo những kiểu này, chúng tơi cĩ thể tạo đối tượng các bảng đầy đủ(cũng cĩ thể xem là: Bảng Types). Ngồi ra, đối lập với phương pháp đưa ra trong phần trước, chúng tơi phải theo tiến trình từ trên xuống khi định nghĩa lược đồ object-relational của các cấu trúc chiều.

3.3.1. Định nghĩa kiểu: (adsbygoogle = window.adsbygoogle || []).push({});

Siêu kiểu của một chiều chỉ nắm giữ các thuộc tính chiều chung nhất và tất cả các thuộc tính phân loại cĩ thể. Cho ví dụ vào của chiều sản phẩm, câu lệnh DDL sau khai báo kiểu chung của Articles_T, mà ở đĩ các hàng hĩa đơn lẻ được xác định

Hình 3.6: Bảng chiều tiêu biểu cho chiều sản phẩm (phương pháp thay thế)

bởi thuộc tính ArticleID.

Create type Articles_T as (brand varchar(30)), Area varchar(30),

Group varchar(30), Family varchar(30));

Tương tự như khái niệm cổ điển của kết thừa, các lớp cụ thể của các sản phẩm được suy ra từ các lớp khái quát hơn của các sản phẩm và các thuộc tính cụ thể của chiều được thêm vào kiểu được suy ra. Sau đây là các lệnh SQL để định nghĩa các kiểu con cần thiết của sản phẩm trong hệ thống phân cấp. Đối với mỗi kiểu con, từ khĩa UNDER chỉ đến Siêu kiểu tương ứng.

create type ConsElectr_T under Articles_T as ( ... ); create type WhiteGoods_T under Articles_T as ( ... );

create type Video_T under ConsElectr_T as(vidsys varchar(30) ); create type HomeAppl_T under WhiteGoods_T as(load varchar(30) ); create type HomeVCR_T under Video_T as (RC char(1) );

create type Camcorder_T under Video_T as (BLT varchar(5) ); create type Washer_T under HomeAppl_T as (Water varchar(5) ); create type Dryer_T under HomeAppl_T as (Temp short) ;

Một khi chúng tơi định nghĩa các kiểu của cấu trúc chiều, ví dụ cho chiều

Products và chiều Shops, chúng tơi cĩ thể tạo một kiểu cho bản thực thể. Mặc dù điều này khơng là bắt buộc để thiết kế lược đồ của bảng thực thể sử dụng cơng nghệ của Object-relational, nhưng chúng ta cĩ thể đạt được các lợi ích khi truy vấn cớ sở dữ liệu sau này. Do đĩ kiểu của bảng thực thể chứa hai tham chiếu tới các Siêu kiểu của các chiều tham gia.

create type Facts_T as (

ArticleIDREF(Articles_T),

ShopIDREF(Shops_T), Period date,

Stock integer, Price integer);

Sự xây dựng kiểu bảng này rất cĩ giá trị vì nĩ tạo ra được các tiện ích sau: Xem xét vị trí mà chúng ta cài đặt chợ dữ liệu cho một nhĩm sản phẩm cụ thể, ví dụ

video equipment. Bây giờ chúng ta cĩ thể tạo một kiểu của một bảng thực thể tùy ý cho phép chỉ tham chiếu tới các hàng hĩa thuộc lớp video. Do đĩ chúng ta sẽ thay thế tham chiếu tới kiểu các hàng hĩa khái quát bằng một tham chiếu tới kiểu cụ thể của Video_T (... ArticleID REF(Video_T), ...). Cách thiết kế này chắc chắn ở mức lược đồ đã cĩ rằng bảng thực thể cho chợ dữ liệu này sẽ khơng bao giờ chứa sản phẩm khác hàng hĩa Video.

3.3.2. Các định nghĩa Bảng Typed:

Sau khi chúng ta định nghĩa được phân cấp kiểu cho lược đồ phân loại, chúng sang bước tạo đối tượng cụ thể của các kiểu này, kết quả đươc gọi là các bảng Typed. Tương tự như định nghĩa kiểu, chúng tơi theo quá trình từ trên xuống. Để minh họa về Siêu kiểu, chúng ta cần đưa ra một thuộc tính định danh đối tượng. Ví dụ tiếp theo, chúng ta sử dụng ArticleID như thuộc tính tham chiếu (hoặc thuộc tính khĩa chính trong thuật ngữ quan hệ), mà nội dung của nĩ được cho như người sử dụng đã phát sinh(trái ngược với hệ thống phát sinh). Tất cả các bảng con phụ thuộc được tạo ra theo kiểu của chúng và tham chiếu tới Siêu khĩa trực tiếp của chúng.

create table Articles of Articles_T (REF IS ArticleID user generated);

create table ConsElectr of ConsElectr_T under Articles inherit select privileges; create table WhiteGoods of WhiteGoods_T under Articles inherit select privileges;

create table Video of Video_T under ConsElectr inherit select privileges;

create table HomeAppl of HomeAppl_T under WhiteGoods inherit select privileges;

create table HomeVCR of HomeVCRF_T under Video inherit select privileges; create table Camcorder of Camcorder_T under Video inherit select privileges; create table Washer of Washer_T under HomeAppl inherit select privileges;

create table Dryer of Dryer_T under HomeAppl inherit select privileges;

Một lần nữa ta cĩ thể thấy sự xây dựng này rất cĩ giá trị vì nĩ cung cấp thuận lợi to lớn cho việc giải quyết các chiều thay đổi. Xem xét lại chiều sản phẩm. Các hàng hĩa mới cĩ thể được thêm, một số hàng hĩa cĩ thể bị phân loại lại và các sản phẩm khác cĩ thể bị xĩa bởi vì chúng khơng cịn được bán nữa hoặc việc bán của chúng khơng cịn được theo dõi. Tuy nhiên vì tất cả các hàng hĩa của cùng kiểu, chúng ta cĩ thể đơn giản tạo đối tượng một kiểu cụ thể nhiều lần. Mỗi bảng kết quả phản ánh trạng thái phù hợp của một hệ thống phân cấp và cĩ thể được sử dụng để phân tích dữ liệu thực thể theo chiều thời gian phù hợp nào đĩ.

Sau khi tạo ra các phân cấp chiều, chúng tơi tạo đối tượng bảng thực thể từ kiểu

Facts_T. Hai khía cạnh phải được xem xét một cách rõ ràng. Trước hết mỗi thực thể nhận một định danh đối tượng phát sinh của một hệ thống. Mỗi tham chiếu được trỏ tới một bảng thích hợp, ví dụ như: ArticleID thì tham chiếu bảng Articles,khơng cịn kiểu Articles_T nữa.

create table Facts of Facts_T (ref is FactID system generated,

ArticleID with options scope Articles, ShopID with options scope Shops); (adsbygoogle = window.adsbygoogle || []).push({});

3.3.3. Thao tác dữ liệu:

Thiết kế theo mơ hình OR của kho dữ liệu cơ sở dữ liệu cũng cĩ một số tác động đến thao tác dữ liệu. Xét một câu lệnh chèn đơn giản vào chiều sản phẩm. Sự khác nhau duy nhất với thao tác chèn của quan hệ thuần túy là thêm vào của chứng thực hàng hĩa tới bộ phận xác định chứng thực đối tượng cụ thể. Sau đây là một ví dụ về một hàng hĩa camcorder và một Dryer.

insert into Camcorders ( ArticleID, brand, vidsys, blt, family, group, area) values (Camcorders_T(’TR-75’), ’Sony’, ’HI8’, ’2h’, ’Camcorder’, ’Video’, ’ConsElectr’);

insert into Dryers ( ArticleID, brand, load, temp, family, group, area) values (Dryers_T(’Duett’), ’Miele’, ’6kg’, ’37oC’, ’Dryer’, ’HomeAppl’, ’WhiteGoods’);

Để đảm bảo sự ổn định của các tham chiếu, bây giờ chúng tơi cĩ thể chèn các thực thể vào bảng thực thể. Một lần nữa chúng ta phải gộp các giá trị của các tham chiếu tới kiểu các bảng chiều tương ứng của chúng, nghĩa là các chứng thực hàng hĩa được gộp vào Articles_T , các tên cửa hàng được gộp vào Shops_T.

insert into Facts (FactID, ArticleID, ShopID, Period, Sales, Stock, Price) values (Facts_T(’1’), Article_T(’TR-75’), Shops_T(’TeVi’), ’1999-12-02’, 45, 22, 998);

Khi truy vấn cơ sở dữ liệu chúng ta cĩ thể tận dụng các tham chiếu mà chúng cĩ thể được xem như các đường dẫn liên kết định nghĩa trước. Ví dụ như nhĩm dữ liệu

thực thể theo khu vực(từ bảng các Shop) và các nhĩm các sản phẩm (từ bảng các

Article) cĩ thể được sử dụng kí hiệu cụ thể’->’ mà khơng cĩ liên kết nào.

select f.ShopID->region, f.ArticleID->group, SUM(sales)

from Facts f

group by f.ShopID->region, f.ArticleID->group

Tuy nhiên, chúng tơi khơng khơi phục lại các thuộc tính cụ thể sử dụng thiết lập này. Nhĩm theo Video Systems cho tất cả video equipment sẽ được biểu diễn với

’Video’ như bảng chiều chính xác như sau:

select f.ShopID->region, a.vidsys, SUM(sales)

from Facts f, Articles a

where f.ArticleID = a.ArticleID group by f.ShopID->region, a.vidsys

Tĩm lại, kỹ thuật object-relational cung cấp một cơng cụ mạnh mẽ cho việc

thiết kế lược đồ trong các mơi trường kho dữ liệu. Đặc biệt là thiết kế một hệ thống phân cấp thực với các thuộc tính chiều và sự phân loại tìm ra một miêu tả phù hợp sử dụng các kỹ thuật thừa kế các kiểu và các bảng kiểu.

Mở rộng sự biểu diễn object-relational cho bảng thực thể cho phép người thiết kế xác định một số loại cấu trúc khĩ khăn ở mức lược đồ.

3.4. Tĩm tắt và kết luận:

Bài báo này nĩi về vấn đề các thuộc tính chiều hợp lệ trong hệ thống phân cấp trong bối cảnh thiết kế lược đồ đa chiều. Chúng tơi chứng tỏ rằng phương pháp truyền thống của một mơ hình quan hệ là khơng khả thi và đưa ra hai phương pháp khả thi cho vấn đề này. Ý tưởng chính của kỹ thuật được đề xuất thứ nhất là dựa trên the article of [SmSm77] . Xây dựng một hình tháp các khái niệm theo cách từ dưới lên sử dụng thường xuyên các khung nhìn(Views) quan hệ cĩ thể được xem như sự mở rộng hồn hảo của phương pháp lược đồ hình sao hoặc bơng tuyết. Phương pháp thứ hai kiểu từ trên xuống được dựa trên các kỹ thuật object- relational . Chúng tơi giải thích vấn đề này bằng cách sử dụng các khái niệm của

object- relational như: Các kiểu, các typed subtable, kế thừa trên các kiểu và các bảng, và các tham chiếu. Nhắc lại phương pháp này cho phép thiết kế một lược đồ linh hoạt.

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