Data warehouse là một công cụ hữu hiệu giúp cho doanh nghiệp có được cái nhìn đầy đủ và tổng quát về doanh nghiệp của mình, ngoài ra người dùng còn có thể dựa vào Data Warehouse để chạy các ứng dụng nhằm thu được những thông tin rất hữu ích cho việc phát triển công ty trong môi trường kinh doanh đầy cạnh tranh và biến động. Tuy nhiên, việc xây dựng Data Warehouse cho doanh nghiệp là một công việc không hề đơn giản. Để có thể xây dựng Data Warehouse thì trước tiên chúng ta cần phải biết được những khái niệm căn bản nhất về vấn đề này. Ba chương đầu tiên của bản tiểu luận này sẽ đi tìm hiểu về các vấn đề đó.
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI - - TIỂU LUẬN KHAI PHÁ DỮ LIỆU VÀ PHÁT HIỆN TRI THỨC ĐỀ TÀI: TÌM HIỂU CÁC KHÁI NIỆM VÀ KIẾN TRÚC CỦA DATA WAREHOUSE Giảng viên hướng dẫn : TS ĐỖ VĂN TUẤN Nhóm thực : NHÓM Học viên thực : Trần Văn Duy Hà Nội 2019 MỤC LỤC LỜI CẢM ƠN PHẦN I KHÁI NIỆM DATA WAREHOUSE Chương Lịch sử phát triển data warehouse 1.1 Thời kì tiền sử - trước năm 1980 1.2 Thời kì trung đại - từ năm 80 đến cuối năm 80 .8 1.3 Cuộc cách mạng liệu - năm đầu thập kỉ 90 10 1.4 Kỉ nguyên quản lý dùa thông tin - tới năm kỉ 21 11 1.5 Kết luận 12 Chương Những khái niệm data warehouse 13 2.1 Data warehouse 13 a Hướng chủ đề 13 b Tích hợp 14 c Không thay đổi 14 d Thời biến 14 2.2 Kiến trúc data warehouse 15 2.2.1 Kiến trúc 15 2.2.2 Kiến trúc data warehouse có thêm lớp data mart bước đệm xử lý .17 a Lớp nguồn 17 b Tiến trình tập hợp liệu 18 c Lớp Data Warehouse 19 d Lớp Data Mart 20 e Tiến trình phân bổ liệu đến người dùng cuối 21 f Lớp ứng dụng 21 Chương Kiến trúc liệu data warehouse 23 3.1 Hệ thống thông tin hệ thống tác nghiệp 23 3.2 Kiến trúc liệu data warehouse 25 3.2.1 Mơ hình liệu đa chiều (multidimensional data) 26 3.2.2 Mơ hình liệu thực tế data warehouse 28 a Mơ hình dạng (star schema) 28 b Mơ hình liệu dạng bơng tuyết 29 PHẦN II ỨNG DỤNG XÂY DỰNG KHO DỮ LIỆU PHỤC VỤ CÁC HỆ THỐNG HỌC TẬP TRỰC TUYẾN I II Mô tả yêu cầu ứng dụng 31 Các yêu cầu phân tích liệu hệ thống học tập trực tuyến Ma trận kiến trúc buýt 31 Kiến trúc ứng dụng 32 Thiết kế kho liệu 32 1.1 Vùng xử lý 32 1.1.1 Moodle 32 1.1.2 Kết học tập 33 1.1.3 Dữ liệu học kỳ, năm học .34 1.2 Cơ sở liệu chuẩn hóa 34 1.2.1 Lược đồ 34 1.2.2 Các diễn giải liên quan đến thiết kế .35 1.2.3 Đặc tả sở liệu .36 1.3 Kho liệu đầu cuối 40 1.3.1 Lược đồ sở liệu 40 1.3.2 Các diễn giải liên quan đến thiết kế .41 1.3.3 Đặc tả sở liệu .43 1.3.4 Phân cấp chiều 48 1.4 Thiết kế hệ thống tích hợp liệu .48 1.4.1 Rút trích liệu – ETL cho vùng xử lý 48 1.4.2 Biến đổi liệu – ETL cho sở liệu chuẩn hóa 49 1.4.3 Nạp liệu – ETL cho kho liệu 50 KẾT LUẬN 54 TÀI LIỆU THAM KHẢO 55 LỜI CẢM ƠN Em xin trân trọng cảm ơn TS ĐỖ VĂN TUẤN hướng dẫn, bảo tận tình truyền đạt kiến thức quý báu khai phá liệu đặc biệt Data Warehouse giúp em hoàn thành tiểu luận Em xin cảm ơn Thầy / Cô tổ môn giúp đỡ, hướng dẫn, tạo điều kiện cho em q trình hồn thành tiểu luận Xin cảm ơn bạn bè, Anh / Chị Những người có ý kiến đóng góp q báu em q trình tìm hiểu hồn thiện tiểu luận Do thời gian có hạn hiểu biết ngơn ngữ lập trình hạn chế nên chắn làm khơng tránh khỏi thiếu sót, mong giúp đỡ góp ý kiến Quý Thầy / Cô Học viên xin chân thành cảm ơn! PHẦN I KHÁI NIỆM DATA WAREHOUSE Data warehouse công cụ hữu hiệu giúp cho doanh nghiệp có nhìn đầy đủ tổng quát doanh nghiệp mình, ngồi người dùng dựa vào Data Warehouse để chạy ứng dụng nhằm thu thơng tin hữu ích cho việc phát triển công ty môi trường kinh doanh đầy cạnh tranh biến động Tuy nhiên, việc xây dựng Data Warehouse cho doanh nghiệp công việc không đơn giản Để xây dựng Data Warehouse trước tiên cần phải biết khái niệm vấn đề Ba chương tiểu luận tìm hiểu vấn đề Chương Lịch sử phát triển Data Warehouse Chương mô tả lợi ích mà Data Warehouse mang lại cho người dùng cuối, nhờ ta hiểu điều khiến doanh nghiệp tìm đến với cơng nghệ Chương điểm qua toàn lịch sử phát triển ngành công nghệ thông tin theo hướng xuất Data Warehouse Phần nhìn ngược trở lịch sử phát triển, ta thấy logic phát triển cơng nghệ Data Warehouse Mặc dù chương em không đề cập chi tiết đưa định nghĩa chặt chẽ khái niệm nào, nhiên em sâu tìm hiểu làm quen với hầu hết khái niệm Chương Những khái niệm Data Warehouse Chương trình bày định nghĩa kiến trúc logic Data Warehouse nhằm làm cho người học viên có nhìn tổng quan Data Warehouse Trong phần đầu chương em tìm hiểu khái niệm Data Warehouse Trong chương học viên mong muốn thấy phần phức tạp Data Warehouse định nghĩa Việc hiểu rõ định nghĩa Data Warehouse giúp học viên có định hướng rõ ràng tìm hiểu kiến trúc hệ thống sử dụng Data Warehouse Phần kiến trúc logic Data Warehouse Phần mô tả thành phần hệ thống sử dụng Data Warehouse tiến trình cần có để tổ hợp liệu vào Data Warehouse Chương Kiến trúc liệu Data Warehouse Chương mô tả kiến trúc cụ thể Data Warehouse cho thấy khác biệt với kiến trúc liệu thơng thường (kiến trúc liệu quan hệ) Học viên tìm hiểu khác hệ thống thơng tin hệ thống tác nghiệp, từ hiểu Data Warehouse cung cấp thông tin cho người dùng cuối Phần mô tả kiến trúc liệu Data Warehouse, giúp học viên làm quen với mơ hình liệu phổ biến dạng dạng tuyết CHƯƠNG LỊCH SỬ PHÁT TRIỂN CỦA DATA WAREHOUSE Trên giới có nhiều tổ chức hay cơng ty có kho liệu khổng lồ Trong q trình hoạt động, u cầu cơng việc nên tổ chức hay công ty phải lưu lại liệu khách hàng, sản phẩm, hóa đơn, Theo nghiên cứu khoảng sau năm khối lượng liệu doanh nghiệp lại tăng lên gấp đôi Tuy nhiên việc làm để khai thác kho liệu khổng lồ lại vấn đề nan giải liệu thường không quán không thiết kế với mục đích hỗ trợ định Vì mà tổ chức công ty cần công cụ cho phép họ tổng hợp liệu cách hiệu Sự đời Data Warehouse bắt nguồn từ kết hợp hai nhân tố kinh tế kĩ thuật Các công ty, đặc biệt cơng ty lớn có nhiều chi nhánh khác nhau, muốn có thơng tin tổng quan phạm vi tồn cơng ty, từ giúp cho lãnh đạo công ty định Tuy nhiên, hệ thống liệu tác nghiệp trước khơng thể hồn thành cơng việc chúng thiết kế với mục đích phục vụ cơng việc nghiệp vụ hàng ngày, cần phải có cơng nghệ liệu khác Chính phát triển công nghệ thúc đẩy mạnh mẽ nhu cầu doanh nghiệp môi trường kinh doanh đầy cạnh tranh tạo nên Data Warehouse Data Warehouse đời mang lại số lợi ích định cho nhà kinh doanh : • Cho phép nhà kinh doanh theo dõi biến động môi trường kinh doanh : khía cạnh đó, Data Warehouse xem "ảnh chụp" liên tiếp tình trạng kinh doanh cơng ty, cho phép người dùng cuối thấy môi trường kinh doanh công ty qua thời kì • Là câu trả lời cho câu hỏi truy vấn liệu có tính thương mại Các nhà kinh doanh muốn câu hỏi họ đặt lĩnh vực kinh doanh trả lời theo dạng mà họ hiểu • Cung cấp cơng cụ truy xuất liệu nhằm mục đích phân tích hỗ trợ định Trong hệ thống sở liệu tác nghiệp trước điều khó thực liệu đầy đủ sẵn sàng, lý đơn giản hệ thống sở liệu tác nghiệp thiết kế với mục đích phục vụ cơng việc tác nghiệp thường ngày khơng phải thiết kế với mục đích hỗ trợ định • Thống dạng cấu trúc liệu phù hợp với yêu cầu người dùng cuối Đối với cơng ty có nhiều chi nhánh khác liệu lưu trữ dạng khác nhau, ví dụ đơn vị đo chiều dài có nơi dùng đơn vị cm, có nơi dùng đơn vị inch, gây khó khăn cho việc phân tích liệu để hỗ trợ định • Quản trị dễ dàng Sau xây dựng, người quản trị lên kế hoạch để hệ thống vận hành tự động Người quản trị có nhiệm vụ theo dõi, chỉnh sửa nâng cấp có yêu cầu cố Lợi ích Data Warehouse người dùng cuối doanh nghiệp rõ ràng Data warehouse chứng minh công nghệ mang lại hiệu đầu tư cao Một nghiên cứu công ty Dữ liệu Quốc tế (IDC : International Data Corporation) 62 Data Warehouse cho biết tỉ lệ hiệu đầu tư trung bình cho Data Warehouse 321% kết thu thấy sau vài năm Lý thuyết hoàn chỉnh Data Warehouse đời vào năm 1992 với xuất sách "Building the data warehouse" W H Inmon Inmon coi cha đẻ Data Warehouse Tuy nhiên trước Data Warehouse hay phần xuất dạng hay dạng khác Giữa thập kỉ 90 kỉ 20, Data Warehouse trở thành từ thông dụng sử dụng cơng nghiệp máy tính Tuy nhiên cần phải nhấn mạnh Data Warehouse phát triển theo hướng nhà sản xuất, trái lại phải phát triển cơng ty nhằm thỏa mãn nhu cầu kinh doanh công ty Vì vậy, Data Warehouse khơng phải sản phẩm hàng loạt, khơng phải sản xuất lần đem bán hay áp dụng cho nhiều đơn vị khác Data Warehouse sản phẩm đơn chiếc, sáng tạo lần phát triển liên tục theo thời gian nhằm đáp ứng đầy đủ nhu cầu người sử dụng Nó thích hợp cho đơn vị phải bám sát đặc điểm kinh doanh hay sản xuất đơn vị Phần mơ tả bước phát triển ngành công nghệ thông tin theo chiều hướng tiến đến đời Data Warehouse 1.1 THỜI KÌ TIỀN SỬ - TRƯỚC NĂM 1980 : Thời kì trước năm thập kỉ 70 coi thời kì máy tính Sự phát triển máy vi tính (sau gọi PC) phần mềm giúp cho người dùng cuối thao tác, điều khiển trực tiếp với liệu họ Một cột mốc quan trọng giai đoạn đời công nghệ liệu quan hệ vào đầu thập kỉ 70 Boyce/Codd Theo sau đời hàng loạt sản phẩm, công cụ quản lí giao tiếp với sở liệu quan hệ Đặc biệt đời ngôn ngữ truy vấn liệu có cấu trúc (SQL : Structured Query Language) gần gũi với người cho phép người dùng cuối thao tác với liệu quan hệ cách dễ dàng, chuẩn hóa sử dụng rộng rãi Hiện tất hãng sản xuất phần mềm quản trị liệu hỗ trợ ngôn ngữ Cho tới năm 70, phức tạp phần cứng phần mềm máy tính ngày tăng, số người dùng cuối có khả thao tác, điều khiển trực tiếp liệu ngày giảm Lúc này, họ cần phải tìm kiếm chuyên gia xử lý liệu (data processing expert) thao tác với liệu để cung cấp cho họ thông tin cần thiết giúp họ định Những chun gia xử lý liệu này, đòi hỏi cơng việc, phải tập trung tồn tâm trí sức lực vào việc nắm bắt kĩ thuật thao tác với máy tính liệu Điều có nghĩa có khoảng cách lớn người dùng cuối kĩ thuật lấy thông tin mà họ cần Khoảng thập kỉ 80, khoảng cách giảm cách đáng kể Người dùng cuối vừa có khả kinh doanh vừa tự khai thác liệu Điều thực đơn giản hóa kĩ thuật xử lý liệu Thời kì máy tính cá nhân (PC : Personal Computer) phát triển mạnh mẽ sử dụng rộng rãi, nhờ mà cơng nghệ thông tin đạt bước tiến dài 1.2 THỜI KÌ TRUNG ĐẠI - TỪ GIỮA NHỮNG NĂM 80 ĐẾN CUỐI NHỮNG NĂM 80: Nếu thời kì trước đặc trưng đổi công nghệ dẫn tới đời người dùng cuối tới thời kì coi thời kì người dùng cuối Người dùng cuối phát triển nhu cầu người dùng cuối lại cao phong phú Những kiến trúc liệu trước trở nên đáp ứng với nhu cầu người dùng cuối việc hỗ trợ định, dẫn tới tiến triển lên giai đoạn công nghệ liệu, đời data warehouse ứng dụng cho công ty riêng rẽ Khi người dùng cuối cần có thơng tin tồn cảnh cơng ty vấn đề khó khăn tích hợp phần liệu lại với Do phần liệu mang tính độc lập với cao nên khơng thể tích hợp chúng cách dễ dàng Vì liệu cần phải tiền xử lý trước tích hợp lại Data warehouse lần nhắc tới giai đoạn năm 1984 tới 1988 Nó có tiến triển khác công ty Các bước tiến quan trọng data warehouse diễn người ta hiểu tầm quan trọng kiến trúc liệu phải cung cấp liệu tới người dùng cuối Các công ty nhận sù quan trọng việc mơ hình hóa liệu xây dựng giao diện với người dùng cuối.Tuy nhiên thời kì tồn nhiều hiểu sai khái niệm Data Warehouse những lợi ích mà Data Warehouse đem lại quy mô công ty nên triển khai Data Warehouse Cùng với thời gian, nhầm lẫn xóa bỏ Cho tới cuối thời kì này, cơng ty thử nghiệm Data Warehouse nhận Data Warehouse chìa khóa phát triển mở rộng ứng dụng cho người dùng cuối, họ tiếp tục tìm kiếm cách thức để triển khai Data Warehouse dựa tảng lý thuyết có Cuối thời kì đánh dấu định nghĩa kiến trúc Data Warehouse lần xuất rộng rãi Một báo mô tả kiến trúc Data Warehouse báo Devlin Murphy vào năm 1988 Bài báo trình bày công việc thực để thiết kế Data Warehouse cho công ty IBM châu Âu Sau IBM coi công ty đưa khái niệm Data Warehouse Đặc biệt thời kì người ta phân biệt rõ ràng hệ thống tác nghiệp hệ thống thông tin Hệ thống tác nghiệp hệ thống phục vụ cho công việc kinh doanh hàng ngày, cần có phản ứng gần tức yêu cầu kinh doanh, kiện hệ thống thường có phạm vi ảnh hưởng nhỏ Hệ thống tác nghiệp cấu trúc tối ưu cho đạt tốc độ nhanh nhất, thường sử dụng người dùng phải giao tiếp với khách hàng, sản phẩm, Trong đó, đặc điểm hệ thống thông tin lại khác hẳn : nã sử dụng để quản lí điều khiển cơng việc kinh doanh, coi "ảnh chụp" liên tiếp tình trạng kinh doanh công 10 Tên thuộc tính user_name description first_name last_name email phone_1 phone_2 institution department address city last_update Kiểu giá trị varchar text varchar varchar varchar varchar varchar varchar varchar varchar varchar timestamp Ý nghĩa Tên đăng nhập người dùng Mô tả người dùng Họ người dùng Tên thật người dùng Email người dùng Số điện thoại người dùng Số điện thoại người dùng Tên quan Tên phòng ban Địa người dùng Thành phố người dùng Thời điểm sửa đổi cuối Nds_actions:lưu trữ thông tin thao tác hệ thống Tên thuộc tính action_name Kiểu giá trị varchar Ý nghĩa Tên thao tác action_description text Mô tả thao tác last_update datetime Thời điếm cập nhật cuối Nds_logs: lưu trữ thông tin log hệ thống Tên thuộc tính course_code Kiểu giá trị varchar Ý nghĩa Mã khóa học, tham chiếu đến bảng nds_courses user_name varchar Mã người dùng, tham chiếu đến bảng nds_users module_name varchar Tên mô đun, tham chiếu đến bảng nds_modules action_name varchar Tên hoạt động, tham chiếu đến bảng nds_actions access_time datetime Thời điểm truy cập vào hệ thống last_update datetime Thời điểm cập nhật cuối Nds_results: lưu trữ thông tin kết học tập Tên thuộc tính course_code Kiểu giá trị varchar Ý nghĩa Mã khóa học, tham chiếu đến 39 bảng nds_courses user_name varchar Tên người dùng, tham chiếu đến bảng nds_users grade float Điếm số người dùng với khóa học tương ứng last_update datetime Thời điểm cập nhật cuối Nds_role_assignments: lưu thơng tin vai trò người dùng khóa học hệ thống Tên thuộc tính user_name Kiểu giá trị varchar Ý nghĩa Tên người dùng, tham chiếu đến bảng nds_users course_code varchar Mã khóa học, tham chiếu đến bảng nds_courses role_name varchar Tên vai trò, tham chiếu đến bảng nds_roles last_update 1.3 datetime Thời điểm cập nhật cuối Kho liệu đầu cuối 1.3.1 Lược đồ sở liệu 40 1.3.2 Các diễn giải liên quan đến thiết kế • Bảng category_bridge tạo nhằm khử truy vấn đệ quy nhóm khố học Đây phân cấp khơng giới hạn độ sâu Chẳng hạn: Có phân cấp đệ quy không giới hạn độ sâu sau: 41 Hình: Cây phân cấp khơng giới hạn độ sâu Bảng cầu nối tạo có nội dung sau: Hình: Bảng cầu nối tạo Ở đây, dòng bảng cầu nối mơ tả quan hệ cha Mỗi dòng cho biết thơng tin sau: o manager_key: khoá đại diện cha o employee_key: khoá đại diện o nest_level: độ sâu từ cha đến o is_top/is_bottom: cho biết có phải nút gốc/nút hay khơng • Bảng dim_role_group role_group_bridge tạo để giải tình trạng kiện đa trị (multivalued fact) Ở đây, người dùng ghé thăm trang môn học đó, người dùng đóng nhiều vai trò (role) Chẳng hạn người vừa sinh viên, vừa trưởng nhóm • Thuộc tính role_count cho biết số lượng vai trò nhóm Thuộc tính weighting_factor trọng số, xác định mức độ tham gia vai trò nhóm vai trò Thuộc tính nhằm tránh tình trạng thống kê kép Được tính theo cơng thức sau: weighting_factor = / role_count 1.3.3 Đặc tả sở liệu 42 • Các bảng chiều: dim_date: chiều ngày tháng, sử dụng đơn vị học kỳ, năm học Tên thuộc tính date_key date_alternate_key day_number_of_week day_name_of_week day_number_of_month day_number_of_term week_number_of_term month_number_of_year month_name_of_year year_number term_name term_number academic_year_name academic_year is_weekend is_holiday last_update dim_time: chiều thời gian Tên thuộc tính time_key time_alternate_key hour minute second Kiểu giá trị int time tinyint tinyint tinyint Ý nghĩa Khố (Khố đại diện) Thời gian đầy đủ Giờ Phút Giây dim_user: Chiều người dùng Tên thuộc tính user_key Kiểu giá trị int user_business_key user_name user_description first_name last_name email phone_1 phone_2 institution varchar varchar text varchar varchar varchar varchar varchar varchar Ý nghĩa Khố (Khố đại diện) Khóa tự nhiên người dùng CSDL chuẩn hóa Tên đăng nhập người dùng Mơ tả người dùng Họ người dùng Tên thật người dùng Email người dùng Số điện thoại người dùng Số điện thoại người dùng Tên quan 43 department address city last_update varchar varchar varchar timestamp Tên phòng ban Địa người dùng Thành phố người dùng Thời điểm sửa đổi cuối dim_role: chiều vai trò người dùng Tên thuộc tính role_key Kiểu giá trị int Ý nghĩa Khố (Khố đại diện) role_business_key varchar Khóa tự nhiên vai trò CSDL chuẩn hóa role_name varchar Tên vai trò role_description text Mơ tả vai trò valid_from date Ngày bắt đầu có hiệu lực vai trò (ở trường tại), dùng để quản lý chiều thay đổi chậm loại valid_to date Ngày kết thúc có hiệu lực vai trò (ở trường tại), dùng để quản lý chiều thay đổi chậm loại version tinyint Phiên bản, dùng để quản lý chiều thay đổi chậm loại is_current varchar Vai trò trường có sử dụng hay khơng, dùng để quản lý chiều thay đổi chậm loại last_update datetime Thời điểm sửa đổi cuối dim_course: chiều học phần Tên thuộc tính course_key Kiểu giá trị int Ý nghĩa Khố (Khố đại diện) course_business_key varchar Khóa tự nhiên khóa học CSDL chuẩn hóa course_code varchar Mã khóa học course_name varchar Tên khóa học 44 course_description text Mơ tả khóa học course_start_date datetime Ngày bắt đầu khóa học course_created_date datetime Ngày khởi tạo khóa học hệ thống term_number tinyint Thứ tự học kỳ năm học term_name varchar Tên học kỳ academic_year smallint Năm bắt đầu năm học academic_year_name varchar Tên năm học category_key int Mã nhóm khóa học last_update datetime Thời điểm cập nhật cuối dim_role_group: chiều nhóm vai trò Tên thuộc tính role_group_key Kiểu giá trị int Ý nghĩa Khóa (khóa đại diện) natural_key varchar Khóa tự nhiên nhóm vai trò CSDL chuẩn hóa role_count int Số lượng vai trò nhóm role_group_bridge: bảng cầu nối chiều vai trò chiều nhóm vai trò Tên thuộc tính role_group_key Kiểu giá trị int Ý nghĩa Mã nhóm vai trò role_key int Mã vai trò weighting_factor float Trọng số, có giá 1/role_count trị (bảng dim_role_group) dim_junk_activity: chiều chức hệ thống Tên thuộc tính activity_key Kiểu giá trị int Ý nghĩa Khóa (khóa đại diện) module_name varchar Tên mô đun chức action_name varchar Tên hoạt động 45 last_update datetime Thời điểm cập nhật cuối lkp_category: bảng tìm kiếm nhóm khóa học Tên thuộc tính category_key Kiểu giá trị int Ý nghĩa Khóa (khóa đại diện) category_business_key varchar Khóa tự nhiên nhóm khóa học CSDL chuẩn hóa category_name varchar Tên nhóm khóa học category_description text Mơ tả nhóm khóa học last_update datetime Thời điểm cập nhật cuối category_bridge: bảng cầu nối nhóm khóa học Tên thuộc tính parent_category_key Kiểu giá trị int Ý nghĩa Mã khóa học cha (mỗi khóa học cha chứa nhiều khóa học con) child_category_key int Mã khóa học nest_level tinyint Số tầng phân cấp is_top tinyint Có quan hệ cha-con hay khơng is_bottom tinyint Có quan hệ cha-con hay khơng Chú thích: Bảng cầu nối nhằm mục đích khử truy vấn đệ quy cho phân cấp với độ sâu không giới hạn • Các bảng kiện: fct_traffic: kiện thống kê truy cập hệ thống Tên thuộc tính Kiểu giá trị date_key int time_key int user_key activity_key int int Ý nghĩa Khoá ngoại dim_date Khoá ngoại dim_time Khoá ngoại dim_user Khoá ngoại tham chiếu bảng tham chiếu bảng tham chiếu bảng tham chiếu bảng 46 course_key int role_group_key duration view_count last_update int int int datetime dim_activity Khóa ngoại tham chiếu bảng dim_course Khóa ngoại tham chiếu bảng dim_role_group Thời gian truy cập tính theo giây Số lượt truy cập Thời điểm sửa đổi cuối fct_grade: Dữ kiện thống kê kết học tập sinh viên môn học Tên thuộc tính user_key course_key Kiểu giá trị int int grade last_update tinyint datetime Ý nghĩa Khoá ngoại tham chiếu bảng dim_user Khoá ngoại tham chiếu bảng dim_course Điểm sinh viên khóa học tương ứng Thời điểm cập nhật cuối 1.3.4 Phân cấp chiều: • Chiều ngày Năm học Học kì Tuần Ngày • Chiều giơ Thời điểm ngày Giờ Phút • Chiều học phần Nhóm học phần Nhóm học phần Học phần • Chiều chức Mô đun Chức Hoạt động Chức 1.4 Thiết kế hệ thống tích hợp liệu 1.4.1 Rút trích liệu – ETL cho vùng xử lí 47 Hình: Giai đoạn rút trích liệu cho vùng xử lí Ở giai đoạn này, liệu chủ yếu chép nguyên trạng từ nguồn vào vùng xử lí Q trình trải qua gia đoạn dựa thuật tốn sau: • Kiểm tra bảng vùng xử lí có trống hay khơng • Nếu khơng có liệu: o Thực rút trích liệu từ nguồn Nếu liệu nguồn có thơng tin lịch sử: Truy vấn lấy liệu có ngày thay đổi sau ngày last_update vùng liệu chuẩn hoá Ngượclại, thực truy vấn toàn từ liệu nguồn liệu vùng sở liệu chuẩn hoá để so sánh Chỉ lấy dòng liệu có thay đổi để đưa vào vùng xử lí Trường last_update tạo giai đoạn này, lưu ngày tháng hành bảng không chứa thông tin lịch sử o Ngược lại, ngưng khơng rút trích 48 Hình: Q trình rút trích liệu 1.4.2 Biến đổi liệu – ETL cho sở liệu chuẩn hố Hình: Giai đoạn biến đổi liệu đưa vào vùng CSDL chuẩn hố Quy trình biến đổi liệu để đưa liệu từ vùng xử lí vào sở liệu chuẩn hoá thực qua bước sau: • Nạp bảng khơng chứa khố ngoại (các bảng khơng bị ràng buộc khố ngoại đến bảng khác): o Đưa liệu vùng xử lí vào sở liệu chuẩn hố o Nếu hồn tất, xố liệu vùng xử lí • Nạp bảng chứa khố ngoại o Tìm kiếm khố ngoại chiều tham chiếu đến o Đưa liệu vùng xử lí vào sở liệu chuẩn hố 49 o Nếu hồn tất, xố liệu vùng xử lí Hình:Các bước đưa liệu vào CSDL chuẩn hố Hình: Các bước đưa liệu vào bảng CSDL chuẩn hoá 1.4.3 Nạp liệu – ETL cho kho liệu Hình: Giai đoạn nạp liệu vào kho liệu đầu cuối Quy trình biến đổi nạp liệu vào kho liệu dựa thuật tốn sau: • Nạp bảng chiều: o Kiểm tra bảng dim_date dim_time nạp hay chưa: Nếu chưa nạp thực nạp bảng Ngược lại, nạp qua bước o Thực cập nhật liệu cho chiều ngày tháng có o Thực nạp liệu cho bảng chiều o Thực nạp liệu cho bảng cầu nối 50 • Thực nạp bảng kiện: Hình: Các bước nạp liệu vào kho liệu Hình: Nạp bảng chiều Hình: Nạp bảng kiện 51 KẾT LUẬN Qua thời gian tìm hiểu tài liệu học viên phần hiểu khái niệm, định nghĩa Data Warehouse Cũng hiểu phần cấu trúc Data Warehouse ứng dụng hoạt động Data Warehouse lĩnh vực khác Kinh doanh, quản trị, marketing, thương mại, Việc xây dựng data warehouse dự án lâu dài doanh nghiệp Những công việc mà em làm thực phần nhỏ dự án này, nhiên quan trọng đưa thơng số thực tế góp phần vào việc ước lượng công việc thời gian để hồn thành data warehouse cho chủ đề lại Hướng phát triển công việc em làm sử dụng công cụ OLAP để chuyển mơ hình data warehouse chủ đề " Xây dựng kho liệu phục vụ hệ thống học tập trực tuyến " thành object giúp cho người khai thác nhìn data warehouse dạng nhiều chiều sử dụng lớp công cụ để khai thác lấy thông tin Đây toán lớn nhiều người tìm hiểu, khơng thuộc phạm vi nghiên cứu khuôn khổ tiểu luận Học viên hi vọng thời gian tới hồn thành công việc để giúp người dùng cuối có nhiều cơng cụ khai thác Data Warehouse Đây hướng phát triển khả quan tương lai 52 TÀI LIỆU THAM KHẢO Tiếng Anh "Data warehouse from architecture to implementation", Barry Devlin "Oracle9i data warehousing guide", Oracle documentation Tiếng Việt https://tedu.com.vn/co-so-du-lieu/mo-hinh-data-warehouse-so-do-ngoi-sao- 148.html https://blog.vietnamlab.vn/2017/02/02/data-warehouse-la-gi-phan-1/ https://khotrithucso.com/luan-van-do-an-bao-cao/ky-thuat-cong-nghe/kien-truc- du-lieu-cua-data-warehouse.html https://faditek.com/nhap-mon-data-warehouse-tong-quan/ https://viblo.asia/p/data-warehousing-la-gi-cac-kieu-types-dinh-nghia-va-vi-duAz45bYNQlxY 53 ... KIẾN TRÚC CỦA DATA WAREHOUSE 2.2.1 KIẾN TRÚC CƠ BẢN : 16 Kiến trúc Data Warehouse đơn giản Nó dùa ý tưởng xây dựng kho liệu thống từ nhiều nguồn liệu khác để phục vụ truy vấn Kiến trúc Data Warehouse. .. Warehouse Chương Kiến trúc liệu Data Warehouse Chương mô tả kiến trúc cụ thể Data Warehouse cho thấy khác biệt với kiến trúc liệu thông thường (kiến trúc liệu quan hệ) Học viên tìm hiểu khác hệ thống... tìm hiểu làm quen với hầu hết khái niệm Chương Những khái niệm Data Warehouse Chương trình bày định nghĩa kiến trúc logic Data Warehouse nhằm làm cho người học viên có nhìn tổng quan Data Warehouse