CHƯƠNG 1 KHO DỮ LIỆU
2.3 MÔ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHỐI
2.3.1 Tổng quan
Mô hình dữ liệu dạng khối được ứng dụng rộng rãi trong công tác quản lý thuộc mọi lĩnh vực hoạt động của con người. Mô hình CSDL quan hệ là mô hình có cấu trúc phẳng (tuyến tính) nên chưa đủ đáp ứng đối với các ứng dụng phức tạp, các cơ sở dữ liệu có cấu trúc phi tuyến và động.
Trực quan của mô hình dữ liệu dạng khối có thể hình dung như là một chồng các bảng quan hệ.
Ví dụ, xét hồ sơ về nhân viên tại 3 điểm mốc: 1995, 2000, 2005 a. Năm 1995: MNV Tên NS GT Trìnhđộ Lương TP01 Hà 1967 Nữ Đại học 500 TP02 Ngọc 1970 Nữ Trung cấp 200 TP03 Hùng 1968 Nam Cao đẳng 300 b. Năm 2000:
TP01 Hà 1967 Nữ Thạc sỹ 700 TP02 Ngọc 1970 Nữ Đại học 500 TP03 Hùng 1968 Nam Cao đẳng 300 c. Năm 2005: MNV Tên NS GT Trìnhđộ Lương TP01 Hà 1967 Nữ Tiến sỹ 1000 TP02 Ngọc 1970 Nữ Thạc sỹ 800 TP03 Hùng 1968 Nam Thạc sỹ 800
Các bảng quan hệ được xếp theo thời gian như trên tạo thành một khối. Mỗi quan hệ ứng với một mốc thời gian, ta gọi là một lát cắt. Tập các mốc thời gian {1995, 2000, 2005} được gọi là tập chỉ số.
Mỗi phần tử của khối là "mặt song song với đáy", chính là dữ liệu về một nhân viên theo các thời gian khác nhau.
2.3.2 Định nghĩa khối
Một cách hình thức, lược đồ khối (LĐK) được định nghĩa là một bộ gồm hai tập hữu hạn không rỗng gọi là tập chỉ số I và tập thuộc tính R [4].
Vậy: LĐK = < I, R > trong đó I = {i1, i2,...}là tập chỉ số. R = {A1, A2,.., An} là tập thuộc tính . Mỗi thuộc tính Ai có miền giá trị kí hiệu là D(Ai) với i = 1..n.
Định nghĩa khối:
Khối trên lược đồ LĐK kí hiệu là r(LĐK) gồm các phần tử, mà mỗi phần tử là một họ n ánh xạ từ tập chỉ số I lên các miền giá trị của các thuộc tính.
Vậy t r(LĐK) t = {<t1, t2,.., tn> : ti: I --> D(Ai), i = 1..n}
2.3.3 Lát cắt
Cho lược đồ khối LĐK = < I, R >, r = r(LĐK) là một khối trên lược đồ khối. Ta có định nghĩa:
Khối con có lược đồ con gồm chỉ một chỉ số x I và tập thuộc tính R: <x, R> gọi là lát cắt của khối r.
Mỗi lát cắt của khối chính là một quan hệ. Như vậy nếu tập chỉ số của lược đồ khối chỉ có một phần tử thì khối trở thành một quan hệ và quan hệ chính là trường hợp riêng của khối, đó là khối chỉ có một mặt.
2.3.4 Khoá của khối
Cho lược đồ khối LĐK = < I, R >, r là khối trên LĐK.
Với x I, t r, t = <t1, t2, ..., tn > ta ký hiệu t(x, Ai), i = 1,.., n là giá trị của phần tử t ở thuộc tính Ai tại chỉ số x.
Để thuận lợi cho việc trình bày ta đặt tiếp xi = (x, Ai) với x I và như vậy t(x, Ai) = t(xi) = ti(x), i = 1,.., n. Từ đó ta kí hiệu:
Ii = {xi}, với x I, như vậy Ii = {(x, Ai); x I}
Với mỗi tập con Xi Ii, ta sẽ ký hiệu: t(Xi) = {t(yi); yi Xi} Giả sử t và t' là hai phần tử của khối r với:
t = <t1, t2, ..., tn > và ti: I ->D(Ai), i = 1,..,n. t' = <t'1, t'2, ..., t'n > và t'i: I ->D(Ai), i = 1,..,n.
Định nghĩa:
Khoá của khối r trên lược đồ khối LĐK = < I, R > là một tập K = {Xi1, Xi2, ..., Xik}, trong đó Xik và
Xik Iik (k = 1,.., h), thoả mãn hai điều kiện sau đây:
(i). Với bất kỳ hai phần tử t và t' r luôn tồn tại một Xik K sao cho tik(Xik) t'ik(Xik).
Nói cách khác, không tồn tại hai phần tử mà: tik(Xik) = t'ik(Xik), k = 1,.., h.
(ii). Với bất kỳ tập K' nào K' = {X'i1, X'i2, ..., X'ik} với X'ik Xik, (k = 1,..., h) và tồn tại X'im Xim, (m = 1,..,h) đều không có tính chất (i) nói trên.
Trang Doanh thu Chi phí trực tiếp Chi phí gián tiếp Lãi/Lỗ Quí 1 420 240 100 80 Quí 2 310 160 140 10 Quí 3 430 250 120 60 Quí 4 350 200 160 -10
+ Giả sử I là tập một phần tử I = {x}. Khi đó r trở thành một quan hệ và tất nhiên khoá của khối lúc đó sẽ trở thành khoá của quan hệ r trên lược đồ quan hệ R.
+ Nếu với x I nào đó mà ta có {Xi1, Xi2,..., Xik} là khoá của lát cắt r(LĐKx) thì {Ii1, Ii2,..., Iik} là khoá của khối r
2.3.5 Hiển thị khối trên màn hình máy tính
Giả sử ta có một khối ba chiều gồm: chiều thời gian (ngày, tuần, tháng, quý, năm), chiều sản phẩm (máy in, máy tính, máy fax) và chiều các biến số (doanh thu, chi phí trực tiếp, chi phí gián tiếp, lãi/lỗ) như mô hình khối dưới đây:
Sản phẩm
Hình 2.1 Mô hình khối dữ liệu 3 chiều
Để hiển thị được khối dữ liệu ba chiều đó lên màn hình chúng ta phải tạo ra một biểu diễn hai chiều của một khối ba chiều.
Ví dụ: SanPham: Máy tính Time: Các quí BienSo: Tất cả Cột Hàng B i ế n s ố Thời gian
Hình 2.2 Hiển thị khối dữ liệu ba chiều
Trên hình, Trang – SanPham: Máy tính tượng trưng cho chiều thứ ba. Trong dữ liệu ba chiều, màn hình thể hiện một lát cắt của khối đó.
Hiển thị khối dữ liệu lớn hơn 4 chiều:
Giải pháp là kết hợp các chiều logic lại, trong đó việc kết hợp hai chiều vào trong một chiều lồng vào chiều kia.
Ví dụ: Xét hình khối đa chiều gồm các chiều: chiều SanPham (máy tính, máy in), ThoiGian (quí 1, quí 2, quí 3, quí 4), CuaHang (cửa hàng 1, cửa hàng 2, cửa hàng 3), KhachHang (thanh niên, trung niên, trên 65 tuổi), BienSo (lãi/lỗ, doanh thu, chi phí trực tiếp, chi phí gian tiếp), KhungCanh (thực tế, kế hoạch). Dưới đây là một cách hiển thị màn hình theo lưới ba chiều của khối 6 chiều:
Hình 2.3 Hiển thị khối dữ liệu 6 chiều
Trang
Doanh thu Chi phí
trực tiếp Chi phí gián tiếp Thực tế Kế hoạch Thực tế Kếho ạch Thực tế Kế hoạch Quí 1 Máy tính 420 450 240 250 100 90 Máy in 120 110 50 40 50 40 Quí 2 Máy tính 310 300 160 150 140 150 Máy in 320 310 180 170 100 90 Quí 3 Máy tính 430 440 250 200 120 110 Máy in 330 330 230 220 110 120 Quí 4 Máy tính 350 340 200 90 160 140 Máy in 200 190 150 120 60 50 CuaHang: Cửa hang 2
KhachHang: Trung niên
Time: Quí 1 SanPham: máy in, máy tính
BienSo: Chi trực tiếp, chi gián tiếp KhungCanh: Thực tế, kế hoạch
Cột
Bằng cách thay đổi việc lựa chọn các chiều trên mỗi trang, trên hàng, và trên cột, với các phần tử mong muốn trên mỗi chiều. Đây là kết quả của các lát cắt, hoặc khoan sâu xuống trong khối dữ liệu.