Tải bản đầy đủ (.doc) (74 trang)

Mô hình hóa dữ liệu đa chiều

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.73 MB, 74 trang )

ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC
TIỂU LUẬN MÔN HỌC
DATA WAREHOUSE

Đề tài:
MÔ HÌNH HÓA DỮ LIỆU ĐA
CHIỀU
Giáo viên hướng dẫn : TS. Nguyễn Thanh Bình
Học viên thực hiện: Nhóm 7
Nguyễn Trí Nhân
Trần Thái Sơn
Trần Kiên
Lớp Cao học Khoa học máy tính – Khoá 2008 - 2010
Hueá, thaùng 6/2009
A. MỞ ĐẦU...............................................................................................................2
B. NỘI DUNG.............................................................................................................3
1. Nền tảng cho cơ sở dữ liệu đa chiều (A Foundation for Multi-Dimensional
Databases)...............................................................................................................3
1.1. Giới thiệu......................................................................................................3
1.2. Mô hình dữ liệu đa chiều(Multi-Dimensional Data Model).......................5
1.3.Toán tử đại số(Algebra)................................................................................9
1.4. Phép tính (Calculus)...................................................................................16
2. Ứng dụng kỹ thuật phân mảnh theo chiều dọc trong thiết kế logical của cở sở
dữ liệu đa chiều (Applying vertical fragmentation techniques in logical design of
Multidimensional Databases)................................................................................20
2.1. Giới thiệu....................................................................................................20
2.2. Kiến thức nền(Background).......................................................................22
2.2.1 Khối và mô hình(Cubes and Patterns).............................................................22
2.2.2 The Workload....................................................................................................23
2.2.3 Các view............................................................................................................25


2.3. Phân mảnh dọc của các view......................................................................26
2.3.1 Problem Statement............................................................................................27
2.3.2 Hàm chi phí (Cost Function).............................................................................30
2.3.3. Tiếp cận nhánh và cận (Branch-and-Bound)...................................................31
2.4 . Test thử nghiệm.........................................................................................32
3. Một trong hai phương pháp mới cho mô hình ROLAP....................................35
3.1. Giới thiệu:...................................................................................................35
3.2. Phương pháp ROLAP truyền thống:........................................................37
3.2.1. Lược đồ hình sao:.............................................................................................38
3.2.2. Lược đồ bông tuyết:.........................................................................................39
3.2.3. Tóm tắt và kết luận:..........................................................................................40
3.3. Cách thiết kế Object-Relational:................................................................43
3.3.1. Định nghĩa kiểu:...............................................................................................43
3.3.2. Các định nghĩa Bảng Typed:............................................................................45
3.3.3. Thao tác dữ liệu:...............................................................................................46
3.4. Tóm tắt và kết luận:....................................................................................48
4. Mô hình cơ sở dữ liệu đa chiều (Modeling Multidimensional Databases).....49
4.1. Cơ sở dữ liệu đa chiều hiện tại...................................................................51
4.1.1. Ví dụ ................................................................................................................51
4.1.2. Thuật ngữ..........................................................................................................51
4.1.3. Ví dụ ................................................................................................................52
4.1.4. Thực hiện xây dựng..........................................................................................53
4.1.5. Chức năng yêu cầu thêm vào...........................................................................53
4.2. Mô hình dữ liệu đề xuất.............................................................................54
4.2.1. Mô hình............................................................................................................54
4.2.2. Các phép toán...................................................................................................55
4.3. Áp dụng các phép toán vào câu truy vấn....................................................64
4.3.1. Nhận xét............................................................................................................64
4.3.2. Áp dụng phép toán vào câu truy vấn...............................................................67
4.4 Kết luận và phương hướng.........................................................................68

C. KẾT LUẬN..........................................................................................................71
D. TÀI LIỆU THAM KHẢO....................................................................................72
1
A. MỞ ĐẦU
Hiện nay, cơ sở dữ liệu đa chiều được quan tâm đáng kể cho sự phát triển trong
lĩnh vực phân tích kinh doanh và các ứng dụng hỗ trợ quyết định. Codd đã đề xuất
khái niệm OLAP để biểu diễn dữ liệu của tổ chức kinh doanh bằng mô hình đa
chiều, thực hiện phân tích dữ liệu trực tuyến bằng cách sử dụng các công thức toán
học hoặc sự phân tích thống kê phức tạp hơn và dữ liệu tổng kết thống nhất. Công
nghệ cơ sở dữ liệu quan hệ được cho là thích hợp hơn đối với việc quản lí các giao
tác thực tế và các truy vấn đặc biệt. Mặc khác, OLAP hỗ trợ phân tích trực tuyến
phức tạp, một vài vấn đề mà mô hình quan hệ truyền thống ít được hỗ trợ. Để giải
quyết điều này, nhiều nhà cung cấp đã phát triển sản phẩm OLAP, ví dụ như Arbor
Software’s Essbase và Oracle Express…
Mô hình đa chiều đang trở nên quan trọng như một tầng logic đối với dữ liệu
truy vấn trong OLAP. Khía cạnh chính của dữ liệu đa chiều là sự tách rời các chiều
và các dữ kiện. Trong khi các chiều mô tả dữ liệu tĩnh một cách tương đối, các dữ
kiện cơ sở đã được mô tả giống như các điểm trong các không gian đã định nghĩa
bởi các chiều. Một số mô hình đa chiều cho OLAP gần đây đã hợp nhất các chiều
như là các thực thể.
Tiểu luận “Mô hình hoá dữ liệu đa chiều” là tổng hợp nội dung của bốn bài
báo tương ứng với bốn phần:
Phần 1
Nền tảng cho cơ sở dữ liệu đa chiều
A Foundation for Multi-Dimensional Databases
(Thực hiện: Nguyễn trí Nhân)
Phần 2
Ứng dụng kỹ thuật phân mảnh theo chiều dọc trong thiết kế logical của
cở sở dữ liệu đa chiều
Applying vertical fragmentation techniques in logical design of

Multidimensional Databases
(Thực hiện: Nguyễn Trí Nhân)
Phần 3
Một trong hai phương pháp mới cho mô hình ROLAP
(Thực hiện: Trần Kiên )
Phần 4
Trình bày mô hình cơ sở dữ liệu đa chiều
(Thực hiện: Trần Thái Sơn)
2
B. NỘI DUNG
1. Nền tảng cho cơ sở dữ liệu đa chiều (A Foundation for Multi-
Dimensional Databases)
Tóm tắt
Chúng tôi trình bày mô hình khối dữ liệu đa chiều có thể phục vụ như một mô
hình khái niệm cho các ứng dụng phân tích trực tuyến on line (On-Line Analytical
Processing (OLAP)). Bên cạnh cung cấp các chức năng cần thiết cho các ứng dụng
dựa trên OLAP, nổi bậc của mô hình hỗ trợ sự tách biệt rõ ràng giữa cấu trúc và nội
dung liên quan cho phép chúng ta định nghĩa ngôn ngữ thao tác, cách trong suốt. Cụ
thể chỉ ra rằng thao tác khối(cube) dữ liệu có thể được trình bày dễ dàng. Cụ thể
định nghĩa đại số và phép tính để biểu diễn chúng tương đương. Kết luận bởi việc so
sánh phương pháp tới công việc liên quan.
Khái niệm của mô hình cơ sở dữ liệu đa chiều là trực giao tới sự cài đặc, nó
không phải là chủ đề của bài này.
1.1. Giới thiệu
Gần đây, có sự quan tâm quan trọng trong hệ thống cơ sở dữ liệu đa chiều cho
phân tích thương mại tiến triển và các ứng dụng hỗ trợ quyết định. Codd đưa ra khái
niệm OLAP cho dữ liệu doanh nghiệp biểu diễn trong viễn cảnh đa chiều, thực hiện
phân tích on-line của công thức toán học sử dụng dữ liệu hoặc phức tạp hơn phân
tích thống kê và dữ liệu hợp nhất (consolidating and summarizing data) [Cod93,
CCS93]. Điều đó tin rằng công nghệ cơ sở dữ liệu quan hệ là phù hợp tốt hơn cho

quản lý giao dịch mạnh mẽ. Nói cách khác, OLAP gọi cho phân tích trực tuyến on-
line phức tạp, đôi khi mô hình quan hệ truyền thống tỏ ra hỗ trợ ít. Cung cấp thêm
cần thiết này, một vài máy bán tự động (vendor) thực sự phát triển các sản phẩm
OLAP ví dụ Arbor Software’s Essbase and Oracle Ex- press gọi tên chỉ hai. Nhiều
sản phẩm này chụi sự giới hạn theo:
(i) Ad-hoc(truy vấn bộc phát) và không hỗ trợ ngôn ngữ truy vấn phức tạp tương
tự như SQL;
(ii) Tương tác người sử dụng thường bị giới hạn một thao tác ở một thời điểm.
3
(iii) Khung nhìn dữ liệu trong viễn cảnh đa chiều phức tạp bao gồm thuộc tính
chứa đựng xử lý như các tham chiều và duy trì chúng như là dữ kiện(measures),
phân tích chúng như một “hàm”(“function”) của các tham biến; nhiều sản phẩm xử
lý bất đồng bộ các chiều và dữ kiện cuối cùng.
(iv) Không giống như mô hình quan hệ, không có rõ ràng, thích hợp chung
chung, mô hình khái niệm cho OLAP hoặc cũng được gọi là cơ sở dữ liệu đa chiều
(MDD). Nhiều sự thành công của cơ sở dữ liệu quan hệ có thiết lập logic rõ ràng
cho mô hình dữ liệu, đầu tiên là Codd phát triển và sau đó đông đảo các nhà nghiên
cứu.
Trong phần này chúng tôi đưa ra như sau:
1. Phát triển mô hình khái niệm đơn giản cho OLAP hoặc MDD.
2. Có hỗ trợ kiến trúc bốn tầng cho ngôn ngữ truy vấn OLAP. Chỉ rằng sự tách
biệt liên quan của nội dung chống lại cấu trúc, còn có thể phát triển đơn giản đại số
mạnh mẽ và một tính toán tương đương, cả hai phù hợp đặc trưng xử lý tới tất cả
bốn mức của kiến trúc.
Hình 1.1: một ví dụ bảng hai chiều Sales với các chiều Category và Time. Tập
hợp tham biến kết hợp là: {Part, City} và {Year, Month}, riêng biệt. Thuộc tính dữ
kiện là Cost và Sale;
Minh họa ở trên, chúng ta trình bày trong đại số thao tác khối dữ liệu thông dụng
gần đây hỗ trợ bởi Gray et al.[GBLP95] cũng như hữu dụng và thực hành giá trị thu
hút hơn.

4
Trong phần này tổ chức như sau. Trong đoạn 1.2 trình một sự giới thiệu không
hình thức mô hình dữ liệu cho MDD. Trong đoạn 1.3 và 1.4, trình bày một đại số và
phép tính cho MDD và minh họa năng lực biểu diễn theo các ví dụ. Biểu diễn cả hai
ngôn ngữ tương đương trong khả năng biểu diễn.
1.2. Mô hình dữ liệu đa chiều(Multi-Dimensional Data Model)
Từ quan điểm nhận thức, OLAP được gọi cho 4 loại cơ bản sau:
1. Truy vấn(Querying): khả năng đưa ra truy vấn bộc phát một sự đơn giản giao
diện khai báo.
2. Cấu trúc lại(Restrucring): khả năng cấu trúc lại thông tin trong sự bùn nổ cơ
sở dữ liệu đa chiều của dữ liệu và đưa ra(bring out) phối cảnh khác của dữ liệu.
3. Sự phân loại(Classifition): khả năng phân loại hoặc nhóm tập dữ liệu trong
phong cách thích hợp cho tổng kết theo sau:
4. Tổng kết(Summarization/Consolidation): Đây là tổng quát hóa của các phép
toán đại số trong chuẩn SQL. Tổng quát summarization ánh xạ đa tập(multisets) của
giá trị của một kiểu số tới một kiểu chuỗi(single), giá trị“hợp nhất”.
Chúng tôi truy tìm một mô hình khái niệm và ngôn ngữ truy vấn đó là có thể hỗ
trợ tất cả các chức năng ở trên và cho phép chúng tương tác với mỗi đối tượng khác
kiểu liền mảnh(seamless).
Cấu trúc dữ liệu cơ bản của dữ liệu đa chiều là cái chúng tôi gọi là bảng n
chiều(n-dimensional table). Trước tiên đưa ra trực giác bên cạnh nó. Chúng ta mong
ước có thể nhìn giá trị thuộc tính chắc chắn như một “chức năng” khác, trong bất kỳ
cái cách nào phù hợp với chúng, khả năng bùn nổ vữa lót(rendering) đa chiều. Vẽ
trên thuật ngữ của dữ liệu thông kê, chúng ta có thể phân loại tập thuộc tính kết hợp
với lược đồ của một bảng vào trong hai loại: tham biến và dữ kiện. Không có sự
phân biệt ưu tiên(priori) giữa tham biến và dữ kiện trong thuộc tính bất kỳ đó có
chọn lựa vai trò. Một ví dụ bảng hai chiều được cho trong hình 1.1.
Ở mức khái niệm, chúng ta cần mô hình của chúng ta duy trì thân thiện mô hình
quan hệ chuẩn nếu có thể, do đâu thân dôi ra(rich body) của lý thuyết và công nghệ
phát triển tốt cho mô hình quan hệ sẽ lúc đó dồn cho mô hình OLAP Một cách tự

nhiên thực thi đối tượng này là thừa nhận đó chiều của các bảng là một đặc trưng
cấu trúc vốn có, cái mà đầy đủ ý nghĩa nhất khi bảng là đưa tới cho người dùng. Nội
5
dung thực tế của bảng là trực giao cần thiết cho việc kết hợp cấu trúc, nghĩa là sự
phân tán của các thuộc tính lên trên các chiều và dữ kiện. Việc phân tách cả hai đặc
tính dẫn đến view quan hệ của một bảng. Ví dụ đầu vào trong “ô”đầu tiên(tức là đầu
cực trái) của bảng trong hình 1.1 đầu vào chứa (5, 6) tương ứng với bộ (PC,
Montreal, 1996, Jan, 5,6) trên lược đồ {Part, City, Year, Month, Cost, Sale}trong
view quan hệ của bảng đó.
Hình 1.2: view khái niệm của bảng hình 1.1. Cấu trúc lưu trữ thực sự và sự thực
thi không cần quan hệ.
Chúng ta bây giờ chính thức mô tả không hình thức ở trên, trong định nghĩa của
một bảng n chiều.
Như thường lệ, chúng tôi giả sử hai tập hợp các ký hiệu phân biệt và vô hạn: N là
một tập hợp tên và V là tập hợp các giá trị.
Định nghĩa 1.2.1 (lược đồ bảng và thể hiện-Table Schemas and
Instances)
Một lược đồ bảng (Table Schema) n chiều là một bộ ba <D, R, par> ở đây
D={ d
1
,..., d
n
} là một tập hợp các tên chiều, R={A
1
, ..., A
m
} là tập các thuộc tính và
par: D → 2
{
1

A
,...,
m
A
}
, thoả mãn
(i) Với mọi i,j=1,..,n, i

j, par(d
i
)
I
par(d
j
) =


(ii)
U
d

D
par(d)

R
Chúng ta thường ký hiệu par(d
i
) bởi X
i
Cho M = R –

1 i n
≤ ≤
U
X
i.
Một thể hiện(instance) của một bảng lược đồ n chiều
<D, R, par> là một tập hợp n + 1 quan hệ hữu hạn theo dạng rd
1
(Tid, X
1
), ... ,
rd
n
(Tid, X
n
), r
m
(rd
1
.Tid, ..., rd
n
.Tid, M), thoả mãn
6
(i) Sự kết hợp
Tid 1 Tid n
(rd ) ... (rd )π × ×π
bằng
)(
.,...,.
1

rm
TidrdTidrd
n
π
, nghĩa là với
mỗi sự kết hợp của các giá trị Tid trong các quan hệ rd
1
,

..., rd
n
, có ít nhất một bản
ghi tương ứng trong rm, và mỗi bản ghi trong rm tương ứng với một số sự kết hợp
của các giá trị Tid trong các quan hệ rd
1,
...rd
n
;
(ii) Với mọi i = 1, ...., n, Tid là một khoá của quan hệ rd
i
; và
(iii) với mọi i,j=1,..,n, i

j,
Tid i Tid j
(rd ) (rd )
π π =∅
I
, nghĩa là các giá
trị Tid trong các quan hệ khác nhau rd

i
và rd
j
là rời nhau.
Như vậy, một cơ sở dữ liệu được xếp thành bảng đa chiều (MDD–Multi
Dimensional Databasse) là một tập các bảng.
Trong định nghĩa 1.2.1, một bảng có một tập R gồm m thuộc tính và n chiều (n

0) d
1
,..., d
n
kết hợp với nó. Mỗi chiều được mô tả bởi một tập hợp con riêng biệt
của các thuộc tính từ R, gọi là các tham số của chiều đó. Các thuộc tính trong R mà
chúng không phải là tham số của bất kỳ chiều nào thì chúng được gọi là các thuộc
tính dữ kiện của bảng.
Bằng trực giác, chúng ta có thể xem các bản ghi trong các quan hệ rd
1
,..., rd
n
như
là “các tọa độ”(coordinates) trong các chiều d
1
,..., d
n
theo thứ tự định sẵn. Từ quan
điểm này, một bảng có thể được xem như là sự kết hợp của một tập các bộ trên các
thuộc tính dữ kiện với mỗi điểm (t
1
, ..., t

n
) trong không gian n chiều, ở đây i=1,..., n,
t
i
là giá trị T
id
duy nhất kết hợp với một bộ trong quan hệ rd
i
. Ngược lại, với mỗi bản
ghi (t
i
,
i i
a ) rd∈
ur
, chúng ta nói rằng
i
a
ur
là bộ X
i
đã trình bày bởi t
i.
Rõ ràng rằng, Các quan hệ truyền thống tương ứng với tất cả các bảng 0 chiều
của các thuộc tính của chúng về cơ bản là các thuộc tính dữ kiện.
Chúng ta đồng ý khung nhìn khái niệm của bảng đa chiều là hoàn toàn độc lập
với cấu trúc lưu trữ hoặc chỉ đạo thực thi sử dụng cho các bảng này.
Ví dụ 1.2.1 xem lược đồ bảng hai chiều Sales = ( {Category, Time}, {Part,
City, Year, Month, Cost, Sale}, par), ở đây par(Category) = {Part, City} và
par( Time) = {Year, Month}. Một thể hiện của lược đồ này bao gồm 3 quan hệ

rCategory(Tid, Part, City),
rTime(Tid, Year, Month), và
rm((r)C(ategory).Tid, (r)T(ime).Tid, Cost, Sale) là biểu diễn trong hình 1.2. được
hiển thị trong hình 1.2. Thể hiện này thực sự thoả mãn các ràng buộc trong định
7
nghĩa 1.2.1. Bảng thể hiện này thực sự tương ứng với bảng được chỉ ra trong hình
1.2.1.
Chúng ta biểu diễn Tiếp theo rằng mọi bảng MDD có thể biểu diễn chính xác bởi
quan hệ truyền thống và ngược lại trong trực giác đó chúng ta hẳn làm chính xác ở
mức dưới. Chúng ta cần kết quả kết quả trong đoạn 1.3 để phát triển ngữ nghĩa đơn
giản cho mỗi phép toán đại số cổ điển.
Trước khi chúng ta có thể biểu kết quả trên, chúng tôi phải giới thiệu khái niệm
đầy đủ của quan hệ với lược đồ bảng.
Định nghĩa 1.2.2(Đầy đủ-Completion)
Cho r(A
1
, ..., A
m
) là một quan hệ và S = <D, {A
1
, ..., A
m
}, par> là một lược đồ
bảng. Như thường lệ, chúng ta ký hiệu X
i
=par (d
i
). Thì sự đầy đủ(completion) của r
với mối liên hệ S, ký hiệu
S

r
, được định nghĩa là quan hệ nhỏ nhất thoả mãn.
(i)
r ⊆

S
r

(ii) Với tất cả các sự kết hợp của bộ
n
aa ...,,
1
, với mọi i =1, ..., n,
i
a
uv
ở trong
i
X
π
(r), nhưng (
n
aa ...,,
1
) không ở trong
1 n
X ,... X

(r), chúng ta thấy rằng (
1 n

a ,....,a
u uuv v
,

uv
) ở trong
S
r
. Ở đây

uv
là một bộ gồm |M| ký hiệu

tương ứng với các thuộc tính
dữ kiện.
Bằng trực giác, quan hệ r ở trên là tương đương với
S
r
đầy đủ (completion) của
nó: Các ký hiệu

thêm vào ở đó chỉ đơn thuần là do các giá trị rỗng không thích
hợp trong việc biểu diễn dữ liệu đa chiều.
Cho R là lược đồ quan hệ, và S = <D, R, par> là một lược đồ bảng. Cho

(R)
là lớp của tất cả các quan hệ hữu hạn trên R và T(S) là lớp của tất cả của các thể
hiện của bảng lược đồ S. Cuối cùng, cho
s
R(R)

= {
S
r
| r



(R) }. Chúng ta nói
rằng lược đồ bảng S biểu diễn chính xác lược đồ quan hệ R (và ngược lại)đã cho và
có sự tương ứng 1 – 1 từ lớp của các bảng T(S) đến lớp của các quan hệ
s
R)(

.
Định lý 1.2.1 Cho R là lược đồ quan hệ, và cho S = <D, R, par> là lược đồ bảng.
Thì R biểu diễn chính xác S (và ngược lại).
8
Từ chứng minh của định lý 1.2.1, chúng ta duy trì sử dụng lần sau tồn tại 1-1
hàm f từ T(S) đến
s
R(R)
, điều đó có thể được tính toán có hiệu quả. Vì vậy, hàm
ngược của nó là g cũng có thể tính toán được.
Theo định lí trên thì tất cả các toán tử truyền thống từ đại số quan hệ có thể có
quan hệ trực tiếp đến cấu trúc của các bảng đa chiều, xét cho cùng thì kết quả của
các toán tử được biểu diễn thành bảng là thích hợp với việc các quan hệ đã biểu diễn
bằng cơ sở dữ liệu được xếp thành bảng ban đầu. Ý tưởng này sẽ được phát triển
trong phần sau.
1.3.Toán tử đại số(Algebra)
Trong đoạn này, chúng tôi phát triển một phép toán đại số cho dữ liệu đa chiều.

Trước khi tiến hành với trình bày toán tử đại số thực sự, đầu tiên chúng ta minh
họa bằng một ví dụ đó tiếp cận trực tiếp với định nghĩa các toán tử đại số sẽ dẫn đến
sự phức tạp không cần thiết.
Ví dụ 1.3.1 Xét bảng hiển thị trong hình 1.1. Giả sử chúng ta gán sự phân chia
bảng tương ứng tới sự thực hiện của PC trong năm 1996. Thao tác ảnh hưởng như
số lượng của thao tác trong OLAP là được tham chiếu như lát cắt hình vuông. Bảng
kết quả là được hiển thị trong hình 1.3.
Một định nghĩa trực tiếp của sự lựa chọn này bao gồm phép lựa chọn tọa độ
Category của form (PC, _C) cho giá trị thành phố -C và phép chọn tọa độ Time của
form (1996, _M) cho giá trị tháng _M và nữa nối cả hai cho quan hệ rm. Một sự
chọn quan hệ trở nên phức tạp nếu chuyển trực tiếp tới các bảng MDD. Hơn nửa
nếu sự lựa chọn bao gồm các thuộc tính dữ kiện, định nghĩa của nó hơi khác và bất
đối xứng ở trên. Một định nghĩa trực tiếp sự lựa chọn bao gồm các tham biến và dữ
kiện thậm chí phức tạp hơn. Người đọc có thể dễ dàng hình dung sự phức tạp trong
trường hợp nối giữa hai bảng MDD.
9
Hình 1.3 kết quả của một toán tử lát cắt hình vuông trên bảng ở hình 1.1. Lát cắt
hình vuông chỉ là một trường hợp đặc biệt của phép chọn quan hệ đã mở rộng cho
các bảng MDD.
Vì một tiếp cận trực tiếp định nghĩa các phép toán đại số cổ điển sẽ kết quả phức
tạp. Mục tiêu của chúng ta là đạt được sự đơn giản và ngôn ngữ thanh lịch gần gũi
với view khái niệm của các bảng MDD hơn là định nghĩa hình thức của chúng.
Chúng ta sẽ thu được định nghĩa đơn giản của các phép toán đại số bởi việc bùn nổ
tương ứng 1-1 giữa các bảng quan hệ thiết lập trong định lý 1.2.1, tức là các hàm f
và g, bằng cách tách nội dung từ sự liên quan cấu trúc. Cho S=<D, R, par> là lược
đồ bảng. Nếu T là một biểu hiện bảng với lược đồ S, chúng ta biểu diễn sự miêu tả
quan hệ f(T), một lược đồ quan hệ với lược đồ R bởi rep(T). Ngược lại, nếu r là một
quan hệ với lược đồ R thì sự biểu diễn dưới dạng bảng của nó là một bảng thể hiện
của lược đồ S chính là g(r) và được kí hiệu là tab
s

(r).
Định nghĩa 1.3.1 (Classical Algebraic Operators)
1. Các toán tử một ngôi: Cho T là một thể hiện với lược đồ S = <D, R, par>, và
op là phép chọn
C
σ
, phép chiếu
X
π
, hoặc phép đổi tên
B A
ρ
¬
, ở đây C là điều kiện
của phép chọn và X là tập các thuộc tính còn A, B là tên các thuộc tính. Chúng ta
định nghĩa op(T) = tab
s
(op(rep(T)).
2. Phép hợp, phép giao và phép hiệu: Cho T
1
và T
2
là các thể hiện dạng bảng,
cả hai cùng lược đồ S và cho op là phép hợp

, phép giao

, hoặc phép hiệu \.
Chúng ta định nghĩa
T

1

op T
2
= tab
s
(rep(T
1
) op rep(T
2
)), ở đây S=S
1
=S
2
.
3. Tích Đề Các: Cho T
1
và T
2

là hai bảng với các lược đồ S
1
=<D
1
, R
1,
par
1
> và
S

2
=<D
2
, R
2,
par
2
>, và giả sử D
1

D
2
=

và R
1

R
2
=

. Chúng ta định nghĩa lược
10
đồ của tích đề các T
1

×
T
2
là S = <D

1

D
2
, R
1

R
2
, par
1

par
2
> và thể hiện là
tab
s
(rep(T
1
)
×
rep(T
2
)).
Chú ý
(i) Tính đơn giản so sánh định nghĩa các phép toán với tiếp cận trực tiếp và
(ii) Xử lý đối xứng của tham biến và dữ kiện.
Thêm vào đó các phép toán ở trên biến đổi chủ yếu nội dung của bảng, chúng tôi
giới thiệu hai phép toán cấu trúc lại (restructuring) nó chỉ ảnh hưởng đến cấu trúc
của bảng. Sử dụng này có thể giảm hoặc tăng vào các tham biến từ một chiều hoặc

thay đổi trạng thái của thuộc tính từ tham biến đến dữ kiện hoặc ngược lại trong khi
lưu trữ nội dung thông tin.
Định nghĩa 1.3.2 (Restructuring Operators)
1. Unfold: Cho T là một bảng với lược đồ S = <D, R, par>, cho d là tên mới N
không xuất hiện ở đâu ngoài T ,
MX

là tập thuộc tính dữ kiện. Chúng ta định
nghĩa unfold
d
x
(T) như một bảng với lược đồ S’ = <D ⋃{d}, R, par’>, ở đây tất cả d
i
trong D, par’(d
i
) = par(d
i
), par’(d) = X, và với trường hợp(with instance)
tab
s’
(rep(T)).
2. Fold: Cho T là một bảng với lược đồ S = <D, R, par>, và cho d là một chiều
của D. Chúng ta định nghĩa fold
d
(T) như một bảng với lược đồ S’=<D\ {d},
R,par’>, ở đây với mọi d
i
trong D\{d}, par’(d
i
) = par(d

i
), và với trường hợp (with
instance) tab
s’
(rep(T)).
Chú ý tính đơn giản của các định nghĩa toán tử và sự giải quyết giống nhau của
các tham số và các dữ kiện. Ví dụ sau là minh hoạ cho định nghĩa các toán tử trên.
Ví dụ 1.3.2. Hình 1.4 minh họa một ứng dụng của phép toán fold và unfold

Hình 1.4. Đầu ra của biểu thức
11

Location Component
City Part
(Unfold (Unfold ( ( ))))
Time Category
fold fold Sales
áp dụng cho bảng Sales
đầu vào ở hình 1.1. Bảng kết quả hiển thị Year, Month, Cost, và Sale như một dữ
kiện của Part và City. Nó có hai chiều Location và Component, với các tham số City
và Part riêng biệt.
Sự phân loại liên quan phép toán. Sự phân loại là sự tổng quát hóa của nhóm
SQL quen thuộc bởi phép toán. Ví dụ theo sau trình bày thực hành tiêu biểu sự phân
loại bao gồm truy vấn xuất hiện.
Ví dụ 1.3.3 Xét một quan hệ cổ phần(Stocks) với lược đồ {Ticker, Day, Price,
Vol}, chứa giá đóng và volume của giao dịch(trading) cổ phần khác nhau trong trao
đổi cổ phần ở New York. Truy vấn đưa lên thực hành tiêu biểu là được tìm thấy giá
đóng trung bình thay đổi 3 ngày cho mỗi cổ phần. Dù là truy vấn này bao gồm sự
kết tập, chú ý rằng nó cũng bao gồm phân loại dữ liệu vào trong các nhóm thay đổi
theo điều kiện chắc chắn trứơc khi sự kết tập là được áp dụng. Cụ thể truy vấn ở

trên bao gồm sự phân loại việc sử dụng một cửa sổ ba ngày.
Một trường hợp khác của cửa sổ phân loại của bề rộng thay đổi (ví dụ trung bình
tích lũy) hoặc cửa sổ của bề rộng dữ liệu phụ thuộc (ví dụ giá cổ phần trung bình
tương ứng đến thời kỳ cổ phần tăng(bullish)) là cũng được phủ bởi sàn(framework).
Chúng tôi chính thức hóa kế tiếp biểu diễn sự phân loại, địa chỉ đầu trong ngữ
cảnh của quan hệ
Định nghĩa 1.3.3 (phân loại quan hệ-Classification on Relations)
Cho R={A
1
, …, A
m
} là lược đồ quan hệ và X = {A
l
,..., A
k
} là tập con tùy ý của
R. Hàm phân loại trên X cho quan hệ R là hàm

)(...)(
1
1
2)(...)()(:
k
AdomAdom
k
AdomAdomRf
××
→×××ℜ
Cho r là một quan hệ với lược đồ R, và f là hàm phân loại trên X cho quan hệ R.
Chúng ta định nghĩa phép toán phân loại K(r, f) khi quan hệ với lược đồ.

(f.A
1
, …, f.A
k
, A
1
, …, A
k
, A
k+1
, ...A
m
)
Và trường hợp cụ thể(instance)
{(a
l
,...,a
k
, a’
1
,...,a’
k
, a’
k+l
,..., a’
m
) |
(a’
1
,.., a’

k
)

f (r, a
l
,. . . , a
k
)

(a’
1
,...,a’
k
, a’
k+1
,..., a’
m
)

r}.
Phân loại ánh xạ thiết yếu các bộ của quan hệ một hoặc nhiều (vì vậy, rời rạc là
không cần thiết) nhóm. Trực quan, chúng ta nghỉ các thuộc tính f.A
1
, . . . , f.A
k
tương ứng ”nhóm id”. Vì vậy một bộ (a
l
,...,a
k
, a’

1
,...,a’
k
, a
k+l
,..., a’
m
) trong quan hệ đã
12
phân lớp cho rằng bộ (a
l
,...,a
k
, a’
1
,...,a’
k
, a
k+l
,..., a’
m
) của r thuộc nhóm ”id” là (a
1
, ...,
a
k
).
Ví dụ 1.3.4: Bên cạnh phần sự phân loại truy vấn của ví dụ 1.3.3 có thể biểu
diễn như sau. Định nghĩa một hàm phân loại
)(

1
2)(}),Pr,ker,({:
Daydom
DaydomVoliceDayTicf
→×ℜ
theo
f
1
(r,_Day) = {(_Day’) | (_Day’ = Day)

(_Day’ = succ(_Day))

(_Day = succ(succ(_Day)))}.
Thì áp dụng sử dụng phân loại f
1
đến Cổ phần(Stocks). Trong quan hệ kết quả
đổi tên f
1
.Day đến Bắt đầu.
Cho phép thực thi hiệu quả, chúng ta chỉ nên xét các hàm phân loại khả định thứ
tự đầu (first-order) nghĩa là các hàm khả định trong logic thứ tự đầu với bằng ở trên
từ vựng r, < , với r xác nhận của quan hệ đến phân loại là được áp dụng.
Chúng ta bây giờ mở rộng phân loại ứng dụng từ các bảng:
Định nghĩa 1.3.4 (Sự phân loại bảng-Classification on Tables) cho T là một
biểu diễn bảng với lược đồ S =<D, R, par>, X ={A
l
,..., A
k
} là tập con tùy ý của R
={A

1
,...,A
m
}, và f là hàm phân loại trên X, cho quan hệ trên R. Định nghĩa S’ =<D,
R

{f.A
l
,... , f.A
k
}, par’), khi đó i = 1,..., m, f.A
i


par’(d),với d trong D, nếu và
chỉ nếu A
i


par(d). Chúng ta định nghĩa kết quả của phép toán phân loại K(T, f),
as
'
S
tab
(K(rep(T), f)).
Cuối cùng, chúng ta suy xét tổng kết, chúng bao gồm không chỉ sự áp dụng của
các hàm như: max, min, sum, count đến đa tập định nghĩa giá trị bởi nhóm của các
bộ mà còn các hàm thống kê như: variance(phương sai), mode(kiểu), tính toán
thương mại như: proportions(tỉ lệ), quartiles.
Tránh rõ ràng của đa tập theo Klug [Klu82], chúng ta làm mẫu hàm tổng kết như

tập ánh xạ của các bộ giá trị đến giá trị phân chia. Khi kiểu số chúng ta xem xét các
số quan hệ, vậy làm nó có thể áp dụng phép toán thực sự +,
×
, /.
Định nghĩa 1.3.5 (Summarization on Relations)
Cho R = {A
1
, …,A
m
} là một lược đồ quan hệ và X= {A
1
,…,A
k
} một tập con tùy ý
của R. Một hàm summatization trên X cho quan hệ R, là hàm:
)(2
)(...)(
:
1
Bdomg
mk
j
AdomAdom
AB

××

+
13
ở đây A

j
,
mjk
≤≤+
1
là một thuộc tính số của ứng dụng, qua đó summarization
thực sự xảy ra(takes place), và nó cùng kiểu B, thuộc tính tương ứng đến kết quả.
Chúng ta giả sử
},...,{
1 k
AAB

Cho r là một quan hệ với lược đồ R, và cho g là một hàm summarization như
định nghĩa ở trên. Chúng ta định nghĩa của các phép toán summarization, A(r,g), khi
quan hệ với lược đồ {A
l
, . . . , A
k
, B} và cụ thể
{(a
l
,..., a
k
,b) | b = g ({(a
k+l
,. . .,a
m
)|(a
1
,…a

k
, a
k+l
, . . . , a
m
)

r})}.
Chú ý rằng định nghĩa chính xác của g là left open đến ứng dụng. Để mà cho
phép sự thi hành hiệu quả, chúng tôi sẽ yêu cầu lần nữa rằng các hàm
summarization là khả định theo thứ tự, trong nhận thức mở rộng của Grade1
Gurevich [GG95], tức là trong bảng từ vựng bao gồm các phép toán chuẩn
/,,,
×−+


∏∑
,
Ví dụ 1.3.5 Xét một quan hệ r với lược đồ {Part, City, Sale, Cost}. Giả sử rằng
trong tổng quát chứa vài bộ cho mỗi part (tương ứng các thành phố khác nhau). Xét
hàm sau:
)(2:
)()()(
TotprofitdomSalegTotprofit
CostdomSaledomCitydom
→←
××
Được định nghĩa bởi



−=
SCST
CSSg
)_,_,(_
)._(_)(
Bây giờ A(r, g) là quan hệ với
lược đồ {Part, Totprofit} và ví dụ {(_P,_Tp) | _Tp = g({(_T,_S,_C) | (_P,_T,_S,_C)

r})}. Vậy, kết tập thực thi tính toán tổng lợi nhuận sáng suốt(the aggregation
performed computes part-wise total profit).
Ví dụ 1.3.6. Xét trở lại truy vấn của ví dụ 1.3.3. Chúng ta minh họa như thế nào
từ quan hệ được phân lớp tính toán trong ví dụ 1.3.4, chúng ta thu được câu trả lời
truy vấn. Cho s là quan hệ được phân lớp. Chúng ta gọi trở lại lược đồ {Start, Day,
Ticker, Price, Vol}. Cho avgpr
Avgpr
là hàm summarization với miền
2
dom(Day)
×
dom(Ticker
×
dom(Price)
×
dom(Vol)
và dãy dom(Avgpr), và định nghĩa bởi avgpr(S) =
(1/|S|)


RVPTD
P

)_,_,_,(_
_
(|S| biểu hiện nhân tố của tập hợp S). Thì sự xem xét dưới
truy vấn có thể được nhấn mạnh như A(s, avgpr).
Định nghĩa 1.3.6 (Summarization on Tables)
Cho T một thể hiện của bảng với lược đồ S = < D, R, par>, R = { A
1
, …, A
n
},
X= {A
1
, …, A
k
}

R là tập hợp các tham biến của T , nghĩa là X =
Dd


par(d), và
14
j
AB
g

,

≤≤+
jk 1

và B

{A
1
, …, A
k
} là một hàm summarization trên X cho lược
đồ quan hệ trên R. Cho S’ = <D, X

{B}, par>.
Chúng ta định nghĩa kết quả của thao tác summarization
A(T, g) như tab
S’
(A(rep(T), g))
Chú ý: cấu trúc của bảng ra là tương tự như cấu trúc bảng vào các chiều và tham
biến liên quan. Chỉ thay đổi tập của các bộ dữ kiện là được tóm tắt theo hàm kết tập
và thay đổi đến giá trị đơn như xác nhận ở trên.
Chúng tôi kết thúc đoạn này với một cặp ví dụ minh họa năng lực của đại số.
Ví dụ 1.3.7(Data Cube) Cho T là một bảng với lược đồ S = <{D
1
,..,D
m-1
},
{A
l
,...., A
m
}, par) với i = 1,…, m - 1, par(d
i
) = {A

i
}. Như vậy, A
m
là thuộc tính dữ
kiện duy nhất. (tổng quát hóa lược đồ bảng tùy ý là rõ ràng). Chương trình đại số
sau nắm giữ chính xác phép toán khối dữ liệu áp dụng đến T
Xét trường hợp bảng hằng tất cả trên S, toàn bộ sự biểu diễn bao gồm m-bộ đơn
(All, …, All,

). Tất cả hằng không xuất hiện ở bất kỳ đâu ngoài trong cơ sở dữ
liệu.
1. Form bảng All

T
2. Cho X = {A
1
, …, A
m-1
} và r là một quan hệ với lược đồ R. Định nghĩa hàm
phân loại trên X cho quan hệ trên R:
f(r, a
1,
..., a
m-1
)={(b
1
, …, b
m-1
) |


b
m
:(b
1
,...,b
m
)

r


i=1,…,m-1(b
i
=a
i
)

(a
i
=All)}
Sử dụng hàm này, tính toán bảng được phân loại như: K(f, T). Ở điểm này(at this
point) i= 1,…, m-1, chiều d
i
có hai tham biến A
i
và f.A
i
, i =1,…, m-1. Sử dụng
unfold và fold, ”push” tham biến A
1

, ..., A
m-1
bên trong dữ kiện.
1. Định nghĩa hàm summarization
)(2:
)(...)(
1
m
AdomAdom
A
A
Adomg
m
mm

××

Bởi g(S) =

≠⊥∈
mm
bSbb
m
b
,)(
,...,1
. Việc sử dụng này tính toán bảng kết tập như
A(K(f, T), g), lược đồ của chúng là S và sự trình bày quan hệ của nó là:
{(a
1

,…,a
m-1
, a
m
) | a
m
= g({b
1
, …, b
m
) | (a
1
, …,a
m-1
, b
1
, …, b
m
)

K(f, T)})}
2. Đổi tên thuộc tính tham biến f.A
i
đến A
i
Sự tính toán ở trên minh họa trong hình 1.5 với trường hợp m = 3
15
Hình 1.5 sự minh họa của tính toán khối dữ liệu trong ví dụ 1.3.7 với m = 3 : (a)
kết quả từ bước 2; (b) kết quả bảng cuối cùng từ bước 5.
Minh họa khác năng lực diễn đạt đại số, chúng tôi biểu diễn tiếp rằng”sự thu hẹp

đơn điệu đều -monotone restrictions” của khối dữ liệu cũng như khả năng biểu diễn
trong đại số.
Ví dụ 1.3.8 (Monotone Roll-Up)
Trong nhiều ứng dụng các mảnh chắc chắn duy nhất của khối dữ liệu là có
lợi(interest). Tổng quát, nếu X là tập tham biến của một bảng và Y là tập con của X,
thì kết tập duy nhất với mối quan hệ tới Y và tất cả tập con của nó có lẽ quan
tâm(interest). Rõ ràng đây là một tập con của khối dữ liệu, nó đôi khi tham chiếu
như tích lũy đều (monotone roll-up). Điều này có thể biểu diễn bởi việc thay đổi cấu
trúc của ví dụ 1.3.7, bằng việc thay đổi bộ đơn của tất cả bảng hằng tới

trong
thuộc tính không trong Y và sửa lại cho hợp từng bước.
Cuối cùng chúng ta đưa ra quan điểm kỹ thuật ở trên cũng có hiệu lực cho các
ứng dụng khối dữ liệu hoặc roll-up đều với phép toán summarization khác hơn sum.
1.4. Phép tính (Calculus)
Trong đoạn này, chúng tôi hỗ trợ phép tính tương đương cơ sở dữ liệu đa chiều
được trình bày đại số trong đoạn 1.3. Trong khi trong đại số chúng tôi tách biệt liên
quan giữa cấu trúc và nội dung, chúng tôi cung cấp khung hợp nhất(unifield
framework) cho phép tính, điều chỉnh công bằng tự nhiên logic cơ bản của nó.
Một truy vấn trong tính toán là form (A|F), với A là biểu thức ra và F là biểu
thức vào. Trực giác F xác nhận điều kiện đó phải được thỏa mản bởi cơ sở dữ liệu
MDD, và vì vậy gây ra tập hợp của “thay thế trả lời- answer substitutions”. Sự ra
16
lệnh(dictates) biểu thức ra A như thế nào tới cấu trúc sự thay đổi trả lời như bảng,
nó là kết quả của truy vấn.
Biểu thức vào là được xây dựng từ thuộc tính(predicate) bên trong và các atom cơ
sở dữ liệu của form
T
)]:():(),...,:([
1111

TBTAdTAd
nn

xác nhận rằng trong bảng T một trong các ô được định nghĩa bởi tọa độ:
):(
ii
TA
trong chiều d
i
,
ni
≤≤
1
giá trị của thuộc tính dữ kiện
B

T
. Trong tổng quát
các chiều chỉ rõ cùng với các giá trị tham biến chỉ rõ xác định một tập của các ô.
Biểu thức trạng thái trong một của các ô này giá trị của thuộc tính dữ kiện là được
trình bày. Trong biểu thức ra các atom cơ sở dữ liệu cũng được sử dụng, nhưng sau
đó chúng miêu tả hoàn toàn lược đồ của bảng ở đây tập của sự thay đổi trả lời đến
biểu thức vào phải được đổi kiểu(cast). Cuối cùng phép hàm summarization được áp
dụng đến kết quả truy vấn theo cú pháp g
B←A
(A|F), nghĩa trực quan của chúng là
giống như trong đại số khi tranh luận là được giải thích như kết quả bảng trả lời từ
truy vấn (A|F).
Một định nghĩa hình thức của cú pháp và ngữ nghĩa chúng ta phải tham khảo
toàn phiên bản của bài này[GL97]. Đây chúng ta tự giới hạn đưa ra điều hay

hơn(flavor) bằng vài ví dụ.
Xét một bảng của hình
(Profit[Component(Part:_P), Location(City:_C)

(Year: _Y, Month:_M, Cost:_Ct, Sale :_S)] |
Sales[Category(Part: _P, City:_C), Time(Year: _Y, Month:_M)

(Cost: _Ct, Sale: _S)]

_S >_Ct).
avg
Avgsale

Sale
(Cumulative[Component(Part:_P), Location(City:_C), Interval( Upto:_M)


(Month :_M, Sale : _S)] | Sales[Category(Part: _P, City :_C), Time( Year: 1996, Month:_M’)


(Sale : _S)]

Sales[ Time( Year: 1996, Month: _M)]

M’

_M).
prop
Share


Sale
(MarketShare[Category(Part:_P), Time(Year:_Y)

(Type:_T, Month:_M, City: _C, City’:_C’, Sale:_S, Part: _P’, Month’:_M’, Sale’: S’)] |
Sales[Category(Part:_P’, City :C’), Time( Year: _Y, Month : _M’)

(Sale: S’)]

Types[

(Part: _P, Type:_T)]


Sales[Category(Part: _P, City:_C), Time(Year:_Y, Month :_M)

(Sale: _S)].
Hình 1.6: Biểu thức tính toán của ví dụ 1.4.1, 1.4.2, và 1.4.3.
Ví dụ 1.4.1. Xét một bảng của hình 1.1. Truy vấn tính toán đầu của hình 1.6 tính
toán một bảng các ô này của bảng vào ở đây Sales là lớn hơn thực sự của giá trị
Cost với bảng kết quả có hai chiều Component và Location tương ứng Part và City
riêng biệt.
17
Ví dụ 1.4.2 Xét trở lại bảng của hình 1.1. Truy vấn tính toán thứ hai trong hình
1.6 tính toán sự bán hàng trung bình tích lũy hàng tháng cho mỗi part và city năm
1996. Trong biểu thức này
)(2:
)()(
Avgsaledomavg
SaledomMonthdom
SaleAvgsale


×

Là hàm summarization thứ tự trước được định nghĩa bởi:


=
Ssm
sSSavg
),'(
|)|/1()(
Ví dụ 1.4.3 Xét trở lại bảng của hình 1.1. Xét truy vấn tính toán cho mỗi part,
chia sẻ market ở trong kiểu part của nó trong một năm được cho trên tất cả các thành
phố(cities). Giả sử rằng một kiểu quan hệ với lược đồ {Part, Type}(là một bảng
không chiều!) là có thể sử dụng. Biểu thức tính toán yêu cầu trình bày sau cùng
trong hình 1.6. Trong biểu thức này hàm summarization
SaleShare
prop

tính toán tỉ lệ
của sự bán tổng cộng của mỗi part bên trong kiểu part. Hàm này có thể định nghĩa
trong ngôn ngữ thứ tự trước của phép tính như sau. Xét một tọa độ Part: p trong
chiều Category, Year: y trong chiều thời gian của bảng trung gian MarketShare. Giả
sử part p là kiểu t. Thì tập các bộ dữ kiện được phối hợp với các tọa độ này là tập S
bao gồm của tất cả các bộ (t, m, s, p’, m’, s’) khi đó trong tháng m sự bán của p là s,
và p’ là phần bất kỳ của kiểu t, sự bán trong tháng m’ là s’. Vì vậy



∈∃


=
Ssmpsmt
Szyxsmtzyx
SaleShare
s
s
Sprop
)',',',,,(
),,,,,(:,,
)'(
)(
)(

là định nghĩa đúng của hàm summarization yêu cầu. Chú ý sử dụng lượng từ tồn
tại (một cấu trúc thứ tự trước) cho lược bỏ trùng lặp. Người tính giá trị tổng cộng
của phần p, trong khi mẫu số tương ứng sự bán của tất cả các phần cùng kiểu với p.
Ví dụ ở trên cho thấy rằng các truy vấn khá phức tạp có thể được biểu diễn dễ
dàng và tao nhã trong các phép tính.
Định lý 1.4.1 Đại số và phép tính là tương đương trong khả năng biểu diễn.
Vì vậy các phép toán như khối dữ liệu hoặc roll-up cũng có thể được biểu diễn
trong các phép tính.
18
19
2. Ứng dụng kỹ thuật phân mảnh theo chiều dọc trong thiết kế
logical của cở sở dữ liệu đa chiều (Applying vertical
fragmentation techniques in logical design of
Multidimensional Databases)
Tóm tắt: Trong ngữ cảnh của cở sở dữ liệu đa chiều được sử dụng quan hệ
DBMS thông qua lược đồ hình sao, kỹ thuật ảnh hưởng gia tăng bao gồm kết tập dư

thừa cụ thể hóa được gọi là khung nhìn. Trong phần này kiểm tra vấn để phân mảnh
theo chiều dọc của khung nhìn, mục đích giảm tối thiểu câu trả lời khối lượng công
việc(workload). Mỗi một khung nhìn bao gồm một vài dữ kiện không cần thiết là
luôn luôn cùng với nhau. Vì thế trong hệ thống thực thi có lẽ gia tăng phân chia
khung nhìn vào trong bảng nhỏ hơn. Mặc khác thông qua truy vấn đòi hỏi hơn hai
khung nhìn; trong trường hợp này chi phí truy cập có lẽ được giảm bởi tính hợp nhất
của các khung nhìn này vào trong bảng lớn hơn. Sau tính toán vấn đề phân mảnh
một số nguyên 0-1 bài toán lập trình tuyến tính. Chúng tôi định nghĩa một hàm chi
phí và outline một thuật toán branch-and-bound giảm đến mức tối thiểu vấn đề này.
Cuối cùng chúng tôi chứng minh hữu dụng bởi cách tiếp cận của chúng ta việc trình
bày tập hợp của kết quả thí nghiệm dựa trên chuẩn TPC-D.
2.1. Giới thiệu
Gần đây, cơ sở dữ liệu đa chiều được tập hợp nghiên cứu rộng rãi và quan tâm
thị trường như lõi cuả ứng dụng hỗ trợ quyết định cũng như data warehouses. Một
cơ sở dữ liệu đa chiều(MD) có thể xem là một tuyển tập của "cubes" tập trung trên
thực tế của lợi ích (thí dụ người bán hàng trong một dãy các cửa hiệu); trong một
cube, mỗi một ô chứa đựng thông tin có ích về qui trình quyết định,… ., một tập hợp
của dữ kiện, mỗi trục trình bày một chiều có thể cho phân tích.
Một MD được thực hiện trên một quan hệ DBMS thường được tổ chức theo như
vậy gọi là mô hình sao, trong đó mỗi khối(cube) được thể hiện bằng một lưu trữ
bảng thực tế, dữ kiện và một bảng chiều denormalized cho mỗi chiều hướng của
phân tích. Khóa chính của mỗi bảng chiều (thường là khóa đại diện, tức là tạo ra nội
bộ) import vào trong bảng thực tế,…; khóa chính của bảng thực tế được xác định
bởi các thiết lập của các khóa ngoại. Mỗi chiều hướng bảng chứa một tập hợp các
20
thuộc tính xác định, một kết tập của phân cấp(hierarchy) cho các chiều hướng tương
ứng.
Kỹ thuật cơ bản rút thông tin có ích từ dữ liệu cơ bản trong MD là sự kết tập. Để
mà cải tiến thực thi hệ thống về một khối lượng công việc được cho(given
workload), một MD lưu trữ tiêu biểu, bên cạnh giá trị cơ bản của dữ kiện, cũng như

tổng hợp giá trị theo vài mô hình kết tập(aggregation patterns), nghĩa là tập hợp các
thuộc tính chiếm(taken) từ các bảng chiều để định nghĩa thô của kết tập. Ngay cả
dữ liệu tổng kết(summarized) theo từng mô hình được tổ chức vào một lược đồ hình
sao, toàn bộ bản thực tế được gọi là view và import các thuộc tính bao gồm trong
mẫu, dữ kiện được giá trị thu được của việc áp dụng một phép toán kết tập dữ liệu
trong thực tế khác với một bảng mẫu mịn . Trong phần sau đây chúng tôi sẽ sử dụng
các thuật ngữ view để biểu hiện, hoặc bảng thực tế có chứa các giá trị nguyên tố
(elemental) (các view chính), hoặc có chứa các giá trị tổng hợp (các view thứ cấp).
Ngay cả tiền tính toán tất cả view thứ cấp có thể không thể tính toán, nhiều kỹ
thuật đã được đề xuất để lựa chọn của nhóm khung nhìn để mà tối ưu hóa đáp ứng
cho khối lượng công việc (ví dụ như, [3] [12] [19]). Trong nghiên cứu này, chúng
tôi điều tra các phản ứng như thế nào có thể được tăng cường hơn nữa của phân
mảnh khung nhìn theo chiều dọc. Phân mảnh dọc có nghĩa là chúng tôi tạo ra các
phân mảnh của khung nhìn, mỗi một dữ kiện từ một hoặc hơn nhiều khung nhìn với
các mẫu tương tự cũng như khóa được kết hợp tới mẫu đó. Phân mảnh có lẽ đạt
được các mục tiêu lại với nhau: các phân vùng của một khung nhìn thành hai hoặc
nhiều bảng biểu, và hợp nhất hai hoặc nhiều khung nhìn vào một bảng. Trong khi
phân vùng có thể là hữu ích bất cứ khi nào chỉ có một nhóm thuộc tính thường được
yêu cầu tiêu biểu cho mỗi truy vấn, hợp nhất có thể được thuận lợi khi khối lượng
công việc đáng kể là bị ảnh hưởng trên các truy vấn drill-across, nghĩa là, xây dựng
các truy vấn tham gia của hai hoặc nhiều khung nhìn nhận được (deriving) từ các
cube khác nhau.
Đó là vượt trội mà không đòi hỏi phải phân vùng lưu trữ trên không đáng kể.
Trong thực tế, nói cách khác, yêu cầu các khóa đại diện một vài byte để được lưu
trữ. Mặt khác, mặc dù trên view chính số lượng các chiều có thể vượt quá số lượng
các dữ kiện, điều này ít có khả năng hơn về các khung nhìn thứ cấp cho hai lý do.
21
Thứ nhất, có thể cần phải bao gồm trong chúng cũng thu được áp dụng các dữ kiện
và các dữ kiện hỗ trợ cho không thao tác tập hợp phân tán [9] [10]. Thứ hai, trong
một mẫu kết tập kém coarse, một hoặc nhiều chiều hoàn toàn có thể được tổng hợp

(trong trường hợp này, tương ứng khoá ngoại tụt xuống từ khoá của khung nhìn).
So sánh với hoạt động của các cơ sở dữ liệu, trong MD các quyền lợi của sự
phân mảnh được nâng cao hơn nữa do nhiều truy vấn thực hiện các kế hoạch do sự
hiện diện của các view thứ cấp dư thừa. Các lợi ích đặc biệt có liên quan nếu MD
được thực hiện trên một kiến trúc song song, nếu các mảng đĩa là được chấp nhận
và sự phân mảnh được ghép đôi với một thuật toán định vị, các truy vấn đòi hỏi
nhiều phân mảng phân bổ trên nhiều đĩa khác nhau có thể có hiệu quả parallelized.
Các vấn đề về việc xác định phân vùng tối ưu cho một khối lượng công việc đã
được điều tra rộng rãi trong bối cảnh của trung tâm cũng như các hệ thống cơ sở dữ
liệu phân tán, xem xét không thừa phân bổ các mảnh (ví dụ, xem [6] [14] [16]); tiếc
là, kết quả được báo cáo trong tài liệu, có thể không được áp dụng ở đây từ khi có
sự thừa, giới thiệu bởi ràng buộc các view cụ thể(materializing views binds)các
phân vùng cho rằng vấn đề của quyết định đó view(s) mỗi truy vấn phải được thi
hành. Để tốt nhất của kiến thức chúng ta, về vấn đề phân mảnh theo chiều dọc trong
MDS đã được xử lý chỉ có trong [15], mà không có thuật toán để xác định tối ưu sự
phân mảnh được đề nghị. Trong [7], các khung nhìn được phân chia theo chiều dọc
để xây dựng dataindices để nâng cao hiệu quả trong triển khai song song của MDS.
2.2. Kiến thức nền(Background)
2.2.1 Khối và mô hình(Cubes and Patterns)
Trong phần này chúng tôi sẽ cần phải thường xuyên tham khảo các đối tượng đa
chiều(multidimensional) từ một khái niệm quan điểm khung nhìn(view), ngoài việc
triển khai thực hiện của chúng trên cấp độ logic. Vì lý do này, chúng tôi giới thiệu
các khối(cubes).
Một khối(cube) đa chiều f là đặc trưng của một bộ các chiều kích thước Patt (f),
một bộ các dữ kiện(measure) Meas(f) và một bộ các thuộc tính Attr(f) ⊃ Patt(f). Các
thuộc tính trong Attr(f) là được quan hệ vào một đồ thị không vòng trực tiếp của
một tập hợp các chức năng phụ thuộc a
i
→ a
j

Từ giờ trở đi theo một bài báo, a
i


a
j
22
chúng tôi sẽ biểu diễn cả hai trường hợp trong đó a
i
trực tiếp quyết định a
j
và trong
đó a
i
bổ ngữ trực tiếp xác định a
j
. Nó được yêu cầu rằng.

a
j

Attr
(

f
)


Patt
(


f
)


a
i

Patt
(

f
)
;
a
i

a
j
Các cube, chúng tôi sẽ làm việc sử dụng như là một ví dụ, LineItem, sản sinh
bởi một lược đồ hình sao trong TPC-D [18] và mô tả các thành phần của các đơn đặt
hàng cho một công ty; nó là đặc trưng của:
Patt(Lineltem) = {Part, Supplier, Order, ShipDate},
Meas(Lineltem) = {Price, Qty, ExtPrice, Discount, DiscPrice, SumCharge, Tax}
và theo các thuộc tính phụ thuộc và các chức năng hiển thị trong Hình. 2.1, các
hình tròn ở đây miêu tả các thuộc tính (màu xám trong các chiều).
Hình. 2.1. Chức năng phụ thuộc vào cube Lineltem
Trên quan hệ các DBMS, các cube thường được triển khai thực hiện thông qua
lược đồ hình sao. Lược đồ hình sao cho Lineltem là:
PART (Partld, Part, Brand, MFGR, Type)

SUPPLIER (Supplierld, Supplier, SNation, SRegion)
ORDER (Orderld, Order, ODate, OMonth, OYear, Customer, CNation, CRegion)
SHIPDATE (ShipDateld, ShipDate, SMonth, SYear)
LINEITEM (Partld, Supplierld, Orderld, ShipDateld, Price, Qty, ExtPrice, Discount, DiscPrice, SumCharge, Tax)
Ở đây LINEITEM là khung nhìn chính; các bảng khác là các bảng
chiều(dimension). Với mục đích của đơn giản hơn, chúng tôi sẽ xem xét các khả
năng bình thường các bảng chiều đạt được lược đồ hình bông tuyết
Định nghĩa 2.1. Cho một cube f, mô hình kết tập (hoặc mô hình đơn giản) trên f
là tập
)( fAttrP

như vậy mà không có tồn tại phụ thuộc hàm giữa mỗi cặp thuộc
tính trong P:
);(
jiii
aaPaPa
→∈∃
/
∈∀
Tham chiếu tới khối Lineltem, các ví dụ của các mô hình là Patt(f), {Part,
OMonth, SNation}, {Brand, Type}, {}.
Định nghĩa 2.2. Cho P
i
, và P
j
là hai mô hình, chúng ta nói rằng P
i
là kém hơn P
j
, (P

i

P
j
) nếu
).;()(
hkjkjhih
aaPaPaPa
→∈∃∨∈∈∀
Ví dụ: {Brand, CRegion}

{Brand, Customer, Supplier}.
2.2.2 The Workload
Về nguyên tắc, workload một cơ sở dữ liệu đa chiều là động và không thể đoán
trước được(unpredictable). Có thể có cách tiếp cận để đối phó với thực tế này, được
23

×