CHƯƠNG 1 KHO DỮ LIỆU
1.4 MÔ HÌNH DỮ LIỆU
1.4.1 Nền tảng của việc hình thành mô hình
Mô hình DW được phát sinh từ một mô hình dữ liệu tổng thể (mô hình dữ liệu mức xí nghiệp) (Enterprise Data Model - EDM). EDM được tổ chức thành các vùng theo chủ điểm SA. SA là phần chính của sự chia nhỏ các công việc cần được quan tâm nhằm đáp ứng nhu cầu người sử dụng tốt hơn. Nếu một tổ chức không có sẵn EDM thích hợp, EDM cũ được phép dùng tiếp và bổ sung các SA mới [1].
Để bắt đầu việc thiết lập mô hình, cần quan tâm tới khung nhìn hiện tại và trong tương lai sắp tới, nghĩa là mô tả và hiểu dữ liệu được chứa trong những hệ thống kế thừa.
Mô hình dữ liệu DW có tính chủ đề, phụ thuộc vào công việc nghiệp vụ và các vấn đề nảy sinh. Nó có thể được thiết lập theo:
Sơ đồ hình tuyết rơi (Snowflake) Sơ đồ hỗn hợp
1.4.2 Sơ đồ hình sao -Star Schema
Sơ đồ hình sao cho phép một hệ thống đối tượng có thể kết nối với nhiều đối tượng khác. Mô hình này thể hiện cách nhìn của NSD về nhiều vấn đề trong tác nghiệp.
Sơ đồ hình sao được đưa ra lần đầu tiên bởi Dr. Ralph Kimball. Nó được gọi là sơ đồ hình sao bởi vì các sự kiện nằm ở trung tâm của mô hình và được bao quanh bởi các phạm vi liên quan, rất giống với các điểm của một ngôi sao. Dữ liệu trong sơ đồ hình sao được xác định và phân loại theo 2 kiểu:
◊ Các sự kiện được tổ chức thành bảng Fact
◊ Phạm vi, hay các chiều của dữ liệu, được tổ chức thành các bảng
Dimension.
Bảng Fact (Bảng thực) chứa các thông tin cơ sở ở mức giao tác ở trong nghiệp vụ mà các ứng dụng cần thiết. Trước khi các dữ liệu này được đưa vào kho dữ liệu thì cần phải chọn một trường dữ liệu nào đó thường sử dụng trong các chiều phân tích để tham chiếu (xem như khoá ngoại trong các quan hệ liên kết) và sau đó đưa vào bảng các chiều. Các sự kiện là các đại lượng số của công việc. Các bảng Fact thường rất lớn, chứa hàng triệu dòng mà phần lớn là số.
Bảng Dimension (Bảng chiều), ngược lại, thường là tương đối nhỏ so với các bảng Fact, chứa các thông tin mô tả. Bảng Dimension chứa các dữ liệu cần thiết cho việc thực hiện các giao tác nghiệp vụ theo một chiều, hay phạm vi nào đó. Mỗi bảng chiều là một đối tượng của cơ sở dữ liệu, bao gồm các giá trị mà dựa trên đó ta có thể phân loại dữ liệu. Ví dụ, trong một CSDL về bán hàng ta có các chiều sản phẩm, các vùng địa lý, các giai đoạn thời gian,…
Có hai loại chiều: Chiều phẳng và chiều phân cấp
Chiều phẳng (flat dimension): các giá trị của chiều có cùng mức, không giá trị nào đóng vai trò là cha hay con của giá trị khác.
Chiều phân cấp (hierarchical dimension): các giá trị của chiều có quan hệ một – nhiều (cha con với nhau).
Sơ đồ hình sao trở thành một lựa chọn thiết kế cơ sở dữ liệu cho DW vì có rất nhiều ưu điểm:
Hỗ trợ rất đa dạng các câu truy vấn và xử lý khá hiệu quả những câu truy vấn đó.
Phù hợp với cách mà NSD nhận và sử dụng dữ liệu và qua đó làm cho dữ liệu được hiểu trực quan hơn.
Nguyên lý cơ bản của sơ đồ hình sao là một dạng dư thừa dữ liệu cải thiện thực hiện các truy vấn. Với sơ đồ hình sao, người thiết kế có thể dễ dàng mô phỏng những chức năng của cơ sở dữ liệu đa chiều. Sự phi chuẩn hóa có thể coi là sự tiền kết nối các bảng để cho các ứng dụng không phải thực hiện công việc kết nối, làm giảm thời gian thực hiện. Sơ đồ này rất trực quan, dễ sử dụng, thể hiện khung nhìn đa chiều của
dữ liệu dùng ngữ nghĩa của cơ sở dữ liệu quan hệ. Khóa của bảng sự kiện được tạo bởi những khóa của các bảng chứa thông tin theo từng phạm vi. Tất cả các khóa đều được xác định với cùng một chuẩn đặt tên.
Những bảng Fact có chứa khóa của các bảng Dimension, có thể là với tên khác đi để đảm bảo tính duy nhất của mỗi hàng. Các bảng Dimension thường có định danh duy nhất và chứa đựng những thông tin về chiều của bảng đó. Số lượng các bảng Dimension của mỗi bảng Fact là từ 3 đến 5.
Vì bảng Fact được tổng hợp từ trước và được kết hợp theo nhiều chiều nên xu hướng có rất nhiều hàng và tăng trưởng một cách nhanh chóng.
Một sơ đồ hình sao đơn giản chỉ gồm một bảng Fact và một vài bảng Dimension. Một sơ đồ hình sao phức tạp bao gồm hàng trăm bảng Fact và bảng Dimension.
Hình 1. 4 Sơ đồ hình sao
Lưu ý: bảng Fact và các bảng Dimension đều không bắt buộc ở dạng chuẩn như đối với phương pháp thiết kế truyền thống tức là có dư thừa dữ liệu. Với loại sơ đồ này cho phép lưu trữ dư thừa dữ liệu đổi lại khả năng truy nhập nhanh hơn phù hợp với những câu hỏi phân tích nhiều chiều, phức tạp. Về bản chất, bảng Fact thuộc dạng chuẩn 1NF, với mức độ dư thừa dữ liệu rất lớn.
1.4.3 Sơ đồ hình tuyết rơi - Snowflake
Trong sơ đồ hình sao, nếu bảng Dimension bắt đầu có sự tương đồng với các bảng Fact thì có thể nó cần được chia ra thành các bảng Dimension. Nếu một bảng Dimension được chia ra thành Dimension chính và Dimension phụ thì cấu trúc thu được của kết quả được coi là một sơ đồ hình tuyết rơi hoặc một cấu trúc sao mở rộng.
Như vậy, sơ đồ hình tuyết rơi là một sự mở rộng của sơ đồ hình sao tại đó mỗi cánh sao không phải là một bảng Dimension mà là nhiều bảng.
Ví dụ: Trong sơ đồ hình sao ở trên, nếu chiều sản phẩm được chia ra thành bảng chiều chính (DMSanpham) và bảng chiều phụ (Nhomhang); chiều khách hàng được chia thành hai bảng là DMKháchHang và ThanhPhanKH thì sơ đồ trên sẽ trở thành sơ đồ hình tuyết rơi, được thể hiện như hình vẽ bên dưới:
Hình 1.5 Sơ đồ tuyết rơi mở rộng của sơ đồ hình sao
Trong dạng sơ đồ này, mỗi bảng theo chiều của sơ đồ hình sao được chuẩn hóa hơn. Sơ đồ hình tuyết rơi cải thiện năng suất truy vấn, tối thiểu không gian đĩa cần thiết để lưu trữ dữ liệu và cải thiện năng suất nhờ việc chỉ phải kết hợp những bảng có kích thước nhỏ hơn thay vì phải kết hợp những bảng có kích thước lớn lại không chuẩn hóa.
1.4.4 Sơ đồ kết hợp
Trong thực tế người ta hay sử dụng hỗn hợp hai sơ đồ trên, tạo thành sơ đồ kết hợp. Sơ đồ này kết hợp giữa sơ đồ hình sao dựa trên bảng Fact và những bảng Dimension không chuẩn hóa theo các chuẩn 1NF, 2NF, 3NF và sơ đồ hình tuyết rơi trong đó tất cả các bảng Dimension đều đã được chuẩn hóa. Như vậy, trong sơ đồ kết hợp, chỉ những bảng Dimension lớn là được chuẩn hóa còn những bảng khác chứa một khối lượng lớn các cột dữ liệu chưa được chuẩn hóa.
1.5 KẾT LUẬN CHƢƠNG 1
Rất khó định nghĩa được chính xác phạm vi kho dữ liệu. Đó là do kho dữ liệu ngày càng phổ biến và các nhà cung cấp vẫn đang tiếp tục mở rộng tối đa phạm vi này để bao gồm nhiều hơn nữa các sản phẩm của mình nhằm thu lợi
nhuận tối đa. Tuy nhiên, trong chương này em đã trình bày các khái niệm tổng quan của một kho dữ liệu cơ bản nhất.
Những kiến thức trong chương một đã cung cấp cho chúng ta một cái nhìn tổng thể về sự hình thành kho dữ liệu, khái niệm kho dữ liệu, mục đích xây dựng kho dữ liệu và các thành phần trong kho dữ liệu; đồng thời cũng đã phân biệt được sự khác nhau cơ bản giữa kho dữ liệu với những hệ cơ sở dữ liệu tác nghiệp; nêu được một số khái niệm cơ bản của kho dữ liệu. Ngoài ra, chương một cũng đã trình bày về cơ bản các loại dữ liệu trong kho, kiến trúc của kho dữ liệu và một số mô hình kho dữ liệu như sơ đồ hình sao, sơ đồ hình tuyết rơi và sơ đồ hỗn hợp.
Vì lý do phạm vi luận văn, chương một trình bày tương đối ngắn gọn về kho dữ liệu. Tuy nhiên, những kiến thức cơ bản mà nó đem lại sẽ là nền tảng để chúng ta tiếp tục nghiên cứu về cách xây dựng kho dữ liệu và các công cụ khai thác kho, đặc biệt là công cụ xử lý phân tích trực tuyến OLAP sẽ được trình bày ở chương tiếp theo.
CHƢƠNG 2
XỬ LÝ PHÂN TÍCH TRỰC TUYẾN OLAP
2.1 TỔNG QUAN VỀ XỬ LÝ PHÂN TÍCH TRỰC TUYẾN
Mục đích chính của phương pháp DW là cung cấp thông tin cho những nhà nghiệp vụ để tạo ra những quyết định chiến lược. Xử lý phân tích là một cách cơ bản để có được những thông tin có giá trị từ các kho dữ liệu nhằm giải quyết những thách thức lớn mà các nhà quản lý đang phải đối mặt.
Trong giai đoạn xử lý dữ liệu tự động nhờ những kỹ thuật của CNTT, các xí nghiệp đã xây dựng được nhiều ứng dụng để trả lời nhanh các câu hỏi "Những cái gì đã xảy ra? ". Các hệ thống thông tin hiện tại sẽ giúp các nhà quản lý hiểu được "Tại sao những điều đó xảy ra trong thực tế?". Để giành được lợi thế trong cạnh tranh, đáp ứng yêu cầu thay đổi thường xuyên của người sử dụng thì các xí nghiệp phải đoán biết được "Những gì có thể sẽ xảy ra tiếp theo ?".
Để giải quyết những vấn đề trên thì phải có các phương pháp, công cụ để tổ chức, xử lý, khai thác tốt những kho dữ liệu liên quan. Trong các kho dữ liệu lớn, đa chiều thường chứa nhiều thông tin ẩn kín mà các công cụ truyền thống như kỹ thuật truy vấn SQL rất khó và nhiều khi không phát hiện được. Hơn thế nữa, do yêu cầu của người sử dụng liên tục thay đổi, đòi hỏi các câu trả lời phải được xử lý theo thứ tự khác nhau: lúc theo vùng, khi thì theo thời gian, khi khác lại theo nhóm tuổi, v.v... Do vậy, đòi hỏi xử lý phân tích trực tuyến trên những tập dữ liệu lớn và hỗn hợp.
OLAP (On-Line Analysis Processing ) là công nghệ xử lý phân tích trực tuyến. Bản chất cốt lõi của OLAP là dữ liệu được lấy ra từ DW hoặc DM sau đó được chuyển thành mô hình đa chiều và được lưu trữ trong một kho dữ liệu đa chiều. Các dịch vụ (hay công cụ) OLAP lấy dữ liệu trong kho dữ liệu để thực hiện các công việc phân tích đặc biệt, phức tạp theo nhiều chiều để hỗ trợ cho việc ra quyết định.
OLAP là một chức năng thông minh trong nghiệp vụ, làm cho các thông tin trong xí nghiệp có thể hiểu được. OLAP khiến cho người sử dụng đầu cuối có thể hiểu được bản chất bên trong thông qua việc truy nhập nhanh, tương tác tới các khung nhìn nhiều dạng của thông tin, được chuyển đổi từ các dữ liệu thô để phản ánh sự đa dạng nhiều chiều thực tế của công ty.
2.2 ĐỊNH NGHĨA OLAP
OLAP là một công nghệ xử lí trực tuyến các thông tin mới được tạo ra từ những dữ liệu đang tồn tại, thông qua một tập những chuyển đổi và các tính toán số. Về bản chất, một hệ OLAP là hệ thống lưu trữ những thông tin tổng hợp và cho phép thể hiện thông tin tổng hợp đó dưới dạng bảng 2 chiều.
Định nghĩa: OLAP là một công nghệ phân tích dữ liệu thực hiện những công việc sau [1]:
Đưa ra một khung nhìn logic, nhiều chiều của dữ liệu trong DW, không phụ thuộc vào việc dữ liệu được lưu trữ như thế nào.
Thường liên quan tới những truy vấn phân tích tương tác dữ liệu phức tạp, có thể khoan sâu xuống mức chi tiết hoặc cuốn lên mức cao hơn ở mức tổng hợp hoặc kết hợp.
Cung cấp khả năng thiết lập mô hình phân tích bao gồm một mô tơ tính toán cho việc tính tỉ lệ, những biến đổi,... liên quan tới những đại lượng số hoặc dữ liệu là con số qua các chiều dữ liệu khác nhau.
Tạo ra sự tổng hợp và kết hợp, phân cấp và dùng những mức tổng hợp, kết hợp đó cho mỗi phép giao của các bảng theo mỗi chiều.
Hỗ trợ những mô hình chức năng cho việc dự báo, phân tích các xu hướng và phân tích thống kê.
Lấy và hiển thị dữ liệu theo những bảng 2 chiều hay 3 chiều, theo biểu đồ hay đồ thị, dễ dàng xoay đổi các trục cho nhau.
Đáp ứng những câu trả lời nhanh, vì vậy quá trình phân tích không bị cắt ngang và thông tin không bị cũ.
Sử dụng một mô tơ kho dữ liệu đa chiều, lưu trữ dữ liệu theo các mảng. Những mảng này là sự biểu diễn logic của các chiều của công việc.
Thuật ngữ OLAP và cơ sở dữ liệu đa chiều hay được đồng nhất với nhau, gây nên sự mập mờ xung quanh hai khái niệm này. Bản chất của cơ sở dữ liệu đa chiều là một kiến trúc cơ sở dữ liệu lưu trữ thông tin tổng hợp bao gồm tất cả các mục dữ liệu chính (hay các chiều) tham chiếu lẫn nhau. Trong khi đó, OLAP là một thể hiện mặt trước cho phép người sử dụng đầu cuối lựa chọn các chiều và các sự kiện tham chiếu lẫn nhau. Các nguồn dữ liệu cho một ứng dụng OLAP bao gồm cơ sở dữ liệu đa chiều, cơ sở dữ liệu quan hệ và các dữ liệu bảng tính (lấy từ bất kỳ một kiến trúc CSDL nào).
2.3 MÔ HÌNH CƠ SỞ DỮ LIỆU DẠNG KHỐI 2.3.1 Tổng quan 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