ĐẠ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
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
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.
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
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
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
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
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)
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
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
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
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 ở
(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’
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
,...,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ư
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
−=
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
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
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
, 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
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
là
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
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
←
=
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ư
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
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
(
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