TRƯỜNG ĐẠI HỌC sư PHẠM TP.CM KHOA KHOATOÁN TOAN TIN TINHỌC Hỏc Bộ MÔN TIN HỌC Trần Vĩnh Tiến Đức - Nguyễn Phú Thịnh NGHIÊN CỨU CÔNG NGHỆ OLAP VÀ ỨNG DỤNG NGHIÊN CỨU CÔNG NGHỆ OLAP LUẬN VĂN CỬ NHÂN CÔNG NGHỆ THÔNG TIN GIÁO VIÊN HƯỚNG DẪN: NGUYỀN THỊ TRÀ LINH Lòi cảm ơn Đầu tiên, chúng em xin gửi lời cảm ơn sâu sắc đến Cô Nguyễn Thị Trà Linh Thầy Trần Ngọc Bảo nguời trực tiếp hướng dẫn để ngày hôm chúng em hoàn thành luận văn Chắc chắn dìu dắt tận tình giúp đỡ Cô Thầy chúng em gặp nhiều khó khăn trình nghiên cứu thực luận văn Lời cảm ơn Mục lục Bảng kí hiệu, chữ viết tắt Bảng danh mục bảng biểu Bảng danh mục hình vẽ Tóm tắt nội dung luận văn 10 Mở đầu 11 2.1.7 Role 33 2.1.8 Schedule (Lập lịch) 34 2.2 Quy trình thiết kế đối tượng SSAS 35 2.2.1 Sơ lược quy trình xây dựng Data Warehouse 35 2.2.1.1 Quy trình chung 35 2.2.1.2 Công cụ thực hiện: 37 2.2.2 Quy trình tạo Cube: 37 Chương Component Pivot Table Excel 43 5.1.2 Thiết kế .72 5.1.2.1 Dữ liệu: 72 65 26 Bảng 1: So sánh mô hình OLAP Bảng danh mục hình vẽ Hình 1: Các dạng sở liệu 11 Hình 2: Ví dụ mẫu báo cáo cố định .12 Hình 3: Minh họa vị trí ứng dụng .13 Hình 4: Data Warehouse 15 Hình 5: Đặc điểm Data Warehouse 17 Hình 6: cấu trúc Data Warehouse .19 Hình 7: Vị trí OLAP 19 Hình 41: Màn hình chức Active cube 81 Hình 42: Màn hình chức Assign cube to group .81 Hình 43: Màn hình chức Assign User to cube 82 > Tìm hiểu tổng quan công nghệ OLAP 10 KÉT QUÁ HỌC TẬP Ma sv: TOO I Khoa Toán Ho ten: _Lè Tuần _Ngày sinh: _2/15/1991 12:00:00AI > Giới thiêu sơ lươc: •• Hình 2: Ví cố định U n dụ l i m ivề ted D a tmẫu a S o báo u r c ecáo s Vậy tình đặt ta xử lý người dùng muốn: 12 11 • Loại thực thể tblMember: • Loại thực thể tblProíĩle: • Loại thực thể tblChuc_Nang_Profile: Mô tả ràng buộc toàn vẹn: - (S) : ràng buộc hệ quản trị sở liệu kiểm tra 69 70 • Khóa ngoại: (S) R3-01: tblRole[vTen_Role] c= tblGroup[vTen_Group] 71 > Mô tả báng: •• Bà Báng ng tblQuyen: tblChi Tiet Group: SELECT DISTINCT tblTemplate.iMa_Template tblUser FROM tblTemplate tblChi_Tiet_Group _j| iStt_Chi_Tiet I iMa_User WHERE (tblTemplate.iOwner = @iMa_User)) I iMa_Group tblProíile iMa_Profile I vĩen_Profile -Gs Khỏa ngoại: Khỏa ngoại: vMo_Ta tblMember tblChi_Tiet_Role_Member iMa_Member 5.1.2 _J Thiết I vTen_Member iMa_Att kế tblĩemplate iStt_Chi_Tiet iMa.Template iMa_Member •• Bàng tblTemplate: BàngtblChi Tiet Template: iMa_Role vT en_T emplate vLoai 5.1.2.1 Dữ liệu: tblAttribute 30—oc tb I Chuc_Nang_Prof i I e tNoi_Dung iStt_Chuc_Nang iOwner iMa_Profile ÍMa_Oibe ÍMa_Quyen iParent $1 iMa_Att I vTen_Att I ÍMa_Dim vStatus vMo_Ta Khỏa ngoại: -£~ tblQuyen $ tblDimension iMa_Dim • Bàng tblRole: vTen_Di ^ tblDatabase m iMa_DB Khỏa ngoại: ỹ£>—oc tblCurrentConnect vServer vĩenDB ÍMa _| iMa.DB Hình 38: Mô hình vật lý 73 • Bàng tblGroup: L : locked (không cho phép sừa giá trị) F : íoreign key (khóa ngoại) 74 iMa_Quyen vĩen_Quyen p : primary key (khóa chính) u : unique key, candidate key (khóa chi định) M : mandatory (not null) 72 vMo_Ta iParent Bàng tbỉCurrcntConnect: • Bàng tblChi Tiet Role Member: Khỏa ngoại: Khỏa ngoại: Bàng tblAttribute: • Bàng tblMember: Khỏa ngoại: Bàng tblCube: Khỏa ngoại: Khỏa ngoại: • Bảng tblUser: Bàng tblDatabase: Bàng tblDimension: Khỏa Khỏa ngoại: ngoại: 75 - (S): ràng buộc hệ quản trị sở liệu kiểm ưa Khỏa ngoại: • Bàng tblProíĩle: • Bàng tblChuc Nang Profile: Khỏa ngoại: > Mô tả ràng buộc toàn vẹn3: • Khóa nội: (S) Rl-01: id(tblChi_Tiet_Group) = iStt Chi Tiet (S) RI-02: id(tblChi_Tiet_Template) = iStt_CTTemplate (S) RI-03: id(tblRole) = iMa_Role - (I) : ràng buộc sê kiểm ưa mức giao diện - (T): ràng buộc thay trigger 77 (S) RI-04: id(tblGroup) = iMa_Group (S) RI-05: id(tblQuyen) = iMa_Quyen (S) RI-06: id(tblTemplate) = iMa_Template (S) Rl-07: id(tblưser) = iMa_User (S) RI-08: id(tblCurrentConnect) = vServer (S) RI-09: id(tblAttribute) = iMa_Att (S) Rl-10: id(tblCube) = iMa_Cube (S) Rl-11: id(tblDatabase) = iMa_DB (S) Rl-12: id(tblDimension) = iMa_Dim (S) Rl-13: id(tblChi_Tiet_Role_Member) = iSttChiTiet (S) RI-14: id(tblMember) = iMa_Member (S) Rl-15: id(tblProfile) = iMa_Profile (S) Rl-16: id(tblChuc_Nang_Profile) = iStt_Chuc_Nang • Ràng buộc miền giá trị: (I) R2-01: tblTemplate_Detail.iDefault in (0,1) (I) R2-02: tblTemplate.vLoai in (‘public’, ‘private’) (I) R2-03: tblTemplate.vStatus in (‘normal’, ‘restricted’) (I) R2-04: tblTemplate_Detail.iActive in (0,1) • Khóa ngoại: (S) R3-01: tblRole[vTen_Role] c tblGroup[vTen_Group] (S) R3-02: tblChi_Tiet_Group[iMa_ưser] CỊ tblưser[iMa_User] (S) R3-03: tblChi_Tiet_Group[iMa_Group] c tblGroup[iMa_ Group] (S) R3-04: tblưser[iMa_Profíle] CỊ tblProfile[iMa_ Profile] (S) R3-05: tblMember[iMa_Att] CỊ tbl Attribute[iMa_ Att] (S) R3-06: tblChi_Tiet_Role_Member[iMa_Member] c tblMember (S) [iMa_ Member] (S) R3-07: tblChi_Tiet_Role_Member[iMa_Role] c tblRole[iMa_ Role] (S) R3-08: tblTemplate[iMa_Cube] CỊ tblCube[iMa_ Cube] (S) R3-09: tblChi_Tiet_Template[iMa_User] c tblUser[iMa_User] (S) R3-10: tblChi_Tiet_Template[iMa_Template] c tblT emplate [iMa_T emplate] (S) R3-11: tblChi_Tiet_Template[iMa_Quyen] c tblQuyen [iMa_ Quyen] (S) R3-12: tblChuc_Nang_Profile[iMa_ Proííle] c tblProfile [iMa_ Proíile] R3-13: tblChuc_Nang_Profile[iMa_ Quyen] c tblQuyen [iMa_ Quyen] 78 Hello , Tìen Duc Log out (S) R3-16: tblCube [iMa_DB] c tblDatabase[iMa_DB] (S) R3-17: tblCurrentConnect [iMa_DB] c tblDatabase[iMa_DB] (S) R3-18: tblQuyen[iParent] c tblQuyen [iMa Quyen] Cartel Choose a Cube; ỊJQLSV_ • Ràng buộc thuộc tính bảng: (T) R4-01: tblTemplate[iParent] CỊ tblTemplate[iMa_Template] GiOiTrtl CREATE TRIGGER trg_Template_delete H Ten Lcp ON BtblTemplate NienKhoa FORE1 DELETE Ten Nganh AS Ten Khoa List Grocp Assign Users Profi© Management List Protte Assign Richts to ProAle @ Mon Hoc DECLARE 0iMa_Template INT Hình 40:0iMa_Template Màn hình chức =năng Copy RightsFROM deleted SELECT iMa_Template DELETE FROM tblTemplate WHERE iParent = • Ràng buộc thuộc tính, nhiều bảng: (T) R5-01: tblTemplate[iOwner] CỊ tblUser[iMa_User] Hello , Tien Duc Log out Search on Cube Choosc cubc(s) to use for this System. CREATE TRIGGER trg_User_delete ON tblUser FOR DELETE giao diện: AS Save 5.1.2.3 Hệ thống DECLARE @iMa_User INT SELECT @iMa_User = iMa_User FROM deleted Logo DELETE FROM tblTemplate WHERE iMa_Template Hello.TienI>uc in ( SELECT DISTINCT tblTemplate.iMa_Template FROM tblTemplate WHERE (tblTemplate.iOwner = @iMa_User)) Hình 41: Màn hình chức Active cube Hdlo, Tien Duc Log out Hình 44: Màn hình chức List User Choose onc group and what data can bc read by this group 5.1.2.2 Kiến trúc module: Save Cancel Choose a Cube: QLSV Assrn Group to Clte Asscn Gi® to User Asscn ote to Gap User Managerrent Group Name Group A Group B r Cube structure □ r Proịect Sampie Group c rrrrrHí Search on Cube Hình 39: Màn hình phân hệ administrator Hình 42: Màn hình chức Assign cube to group 81 82 79 80 Heũo , Tien Duc Log out User Grouo Cube Management r List V E)!port r Cube Import Cube r r Cube Cube Secunty Assagn User to Otoe Assagn Group to Cube I” Assagn Cube to User r Inficmation Log out Asssgn CiiDe to Group Protĩe I” r Management List Protìle Asssgn User Rights Management r List Hình 45: Màn hình chức Assign Groups User 1“ Assagn Grotp Hình 48: Màn hình chức Assign rights to proỉỉle HcDo Tien Duc Log out Choose one group and user(s) beloogs to this group _ Save Cancel Hello Ticn Duc Log out Set up process schedule for thisGroup System User Create SchecUe Occurs Recurs |Weekly every I ĩ -A-| week(s) on 1* Mxiday r Tuesday r vvednesday r Thursday r Friday r Saturday r Sunday Connecticn Schedute My Account Infomation Log out Hình 46: Màn hình chức Assign Users start date |ữ4/29/2Ũ10 End Date í" No End Date Hello , Tien Duc Log out ^ Browse the XML £ilc contains cube(s), then choosc cube(s) to import to current databasc NVritten by Tien Duc - Phu Thinh @Cop>TÌght 2010 Hình 49: Màn hình chức Schedule Choose cube(s) to import: Asslgn User to Cite Hình 47: Màn hình chức Import cube 8384 Heũo , Tien Duc Log out Project Sample TEST Hình 54: Màn hình chức Assign template to User Written bv Tien Duc Phu Thinh @Cop5TĨght 2010 Hình 50: Màn hình chức Setting Connection > Hệ Hệ thống thống giao giao diện diện phân phân hệ hệ Designer: Custom User: > Hình 52: Màn hình chức Design template Heũo , Nguyên Tuan Minh Log out J J ^ Ịjll stỏndard ĩemplateỊProduct - Color- Sales Amount ▼] Drop Fỉter Fietís Here Drop Data Items Here Drop Row Relds Here Grand Total Assign User to Template Drop Ccèjmn Fields Here Do you want Assộ'* Template to User Cube Management List Cube Export Cube Irrport Natne export.xrri T>pe: : Kiến trúc hệ thống ■ MS SQL Server 2005 Analysis Service ■ Windows Server 2003 ■ Web server IIS 88 Đánh giá, bàn luận kết > Chi tiết công việc tiến hành • Tìm hiếu tài liệu công nghệ OLAP, Data Warehouse • Kiến trúc thành phần OLAP cách xây dựng chúng MS SQL Server Analysis Service (SSAS) • Tìm hiếu sử dụng component Pivot Table, PivotChart Excel • Tìm hiếu sử dụng thư viện lập trình liên quan đến SSAS: MDX, AMO, SMO, ADOMD.NET, • Tìm hiếu ngôn ngữ ASP.NET thư viện liên quan phục vụ cho việc lập trình • Xây dựng công cụ hồ trợ phân tích dừ liệu > Làm • Nắm tảng lý thuyết OLAP, Data Warehouse, SSAS, • Viết ứng dụng hoàn thiện hầu hết chức đề ban đầu • Giao diện thân thiện với người dùng 89 > Hướng giải quyêt > Những điều học từ đề tài • Kiến trúc tảng công nghệ OLAP Data Warehouse • Sử dụng thành thạo hon ngôn ngữ lập trình ASP.NET công cụ MS SQL Server 2005 • Khả đọc hiếu tài liệu tiếng Anh • Kỳ làm việc nhóm : 90 Kết luận - Hướng phát triển Các kết đạt lý thuyết > Nắm kiến thức tảng DataWarehouse công nghệ OLAP > Hiểu kiến trúc thành phần MS SQL Server Analysis Service (SSAS) quy trình thiết kế thành phần > Hiểu component Pivot Table Excel cách sử dụng > Có kiến thức thư viện lập trình liên quan đến SSAS: DSO, MDX, AMO, ADOMD.NET, thực nghiệm > Cài đặt • Xây dựng công cụ tưcmg đối hoàn chỉnh Web hỗ trợ phân tích liệu cho ứng dụng OLTP Công cụ hoàn toàn độc lập với liệu người dùng 91 > Hướng phát triển 92 Danh mục tài liệu tham khảo Tiếng Anh: [1] Reed Jacobson (2006), Microsoýt SQL Server 2005 Analysis Services Step.By.Step, MS.Press [2] Robert Vieira (2007), Professional SQL Server 2005 Programming, Wiley Publishing [3] Echvard Whalen (2007), Microsoýt SQLServer2005 Administrator’s Companion, MS.Press Tiếng Việt: [4] Nguyễn Thanh Bình (2002), Kho liệu hệ hỗ trợ định, Đại học Huế 93 [...]... Minh họa vị trí của ứng dụng > Muc đích đề tài 13 > Đối tượng và phạm vi nghiên cửu 14 Chương 1 Công nghệ OLAP 1.1 Giới thiêu về Data Warehouse 1.1.1 Định nghĩa Pre-Data Data VVarehouse Cleansing Data Repositories Front-End Analytics OLAP Data Mining Data Visualization Reporting Hình 4: Data Warehouse 15 > Là một sự pha trộn của nhiều công nghệ, bao gồm các cơ sở dữ liệu đa chiều và mối quan hệ giữa... tức thời) 24 1.3.4 sánh (Hybrid các 1.3.3 SoHOLAP OLAP) mô hình Bảng 1: So sánh các mô hình OLAP Hình 12: Mô hình dữ liệu HOLAP -» KÉT LUÂN: Chọn mô hình nào cần dựa vào hiệu suất, mục đích khai thác, và lưọng dữ liệu, (vỉ dụ MOLAP: thích hợp vói data marts Lợi ích của việc lưu trữ trong cấu trúc HOLAP là: 2625 Chương 2 OLAP trong MS SQL Server Analysis Service (SSAS)... của Data VVarehouse Hình 7: Vị trí của OLAP 19 > Nếu hệ thống xử lý chuyển giao dữ liệu OLTP tập trung vào việc thu thập, liru trữ và biến đổi dữ liệu một cách chuẩn xác, thì OLAP tập trung vào việc sử dụng các dữ liệu đã đuợc biến đổi vào việc ra quyết định sản xuất kinh doanh OLAP là một mục trong các phần mềm cơ sở dữ liệu cung cấp giao diện qua đó nguời sử dụng có thể biến đổi hoặc giới hạn các... kê 21 Hình 8: Mô hình dữ liệu MOLAP Customer store store Time / FINANCE GLLĩne > Dữ liệu được tìm thấy tại điểm giao của các chiều 1.3.2 ROLAP (Relational OLAP) 22 /A ^ Time Hình 9: Mô hình dữ liệu ROLAP Key values to joỉn 23 Hình 10: Lược đồ hình sao Hình 11: Lược đồ hình bông tuyết > ROLAP thích họp cho các truy vấn dữ liệu theo thòi gian thực (xảy ra thường xuyên và đòi hỏi độ chính xác tức thời)... do chính nguời sử dụng định nghĩa, sau đó nhanh chóng kiểm tra các kết quả trong các chiều khác nhau của dữ liệu > Hệ thống OLAP là một hệ thống quản lý dữ liệu giàu năng lực Nó cho phép 20 • Cung cấp các công cụ mạnh giúp người dùng tạo các khung nhìn mới của dữ liệu dựa trên một tập các hàm tính toán đặc biệt • Hỗ trợ tạo mô hình chức năng để dự báo, phân tích xu thế phát triển và phân tích thống... Oracle, Sybase, hoặc cũng có thể là flat íiles, spreadsheets, mail Systems và nhiều dạng lưu trữ dữ liệu khác Vì thế, ta cần quyết định sẽ sử dụng hệ CSDL nào cho việc tổ chức kho dữ liệu 36 2.2.1.2 Công cu thưc hiên: ”••• > Extract-Transform-Load (ETL): điển hình như DTS (Data Transíormation Services) trong SQL Server, Informatica, về công cụ ETL dạng open source có thể kể đến Talend, Kettle > Lập lịch:... dữ liệu với Database Engine Tuy nhiên, từ phiên bản SQL Server 2005 đến SQL Server 2008 và mới nhất là SQL Server 2008 R2, thì bộ SQL Server đã được tích hợp nhiều gói dịch vụ hỗ trợ việc tích hợp và khai thác khả năng tiềm tàng của một cơ sở dữ liệu như SQL Server Integrating Services, SQL Server Analysis Services và SQL Server Reporting Services 27 Dimensioĩĩs: NY SF LA 3 Milk SU2 Cokc 56 T ime Pmdiict... danh sách Provider, chọn Native OLE DB\SQL Server Native Client 10.0 5 Trong Server Name, gõ vào localhost 38 ■ FactInternetSales (dbo) 5 Nhấn nút “>” để thẽm các bảng vào danh sách Included Objects 6 NhấnNext 39 ■ Full Date Altemate Key ■ English Month Name 40 5 Nhấn Suggest để cửa số Suggest Table hiển thị và đề xuất các table cần thiết để xây dựng các measure group 6 NhấnNext 41 Chương 3 Component... TD g Pass LNG 1 Chuyển sang Dimension Designer cho Product Dimension trong Business Ị Add To I Row Area Intelligence Studio bằng cách double click vào Product dimension trong 17 18 các báo cáo phân tích số liệu hết sức sinh động và hiệu quả 3.1.1 Cách sử dụng > Tao môt Pivot Table •• 42 43 ... này được thêm vào trong tập họp các partition đã tồn tại đối với khối 33 2.1.8 Schedule (Lập lịch) 34 2.2 Quy trình thiết kế các đối tượng trong SSAS Hình 18: Các đối tượng trong SSAS 2.2.1 Sơ lược về quy trình xây dựng Data Warehouse 2.2.1.1 Quy trình chung 35 • Đây là bước chi phối hầu hết thời gian của quy trình, vì chúng ta cần phải lấy dữ liệu từ nhiều nguồn đã nhận dạng ra để đưa vào kho lưu trữ ... ta xử lý người dùng muốn: 12 11 Hình 3: Minh họa vị trí ứng dụng > Muc đích đề tài 13 > Đối tượng phạm vi nghiên cửu 14 Chương Công nghệ OLAP 1.1 Giới thiêu Data Warehouse 1.1.1 Định nghĩa Pre-Data... 7: Vị trí OLAP 19 > Nếu hệ thống xử lý chuyển giao liệu OLTP tập trung vào việc thu thập, liru trữ biến đổi liệu cách chuẩn xác, OLAP tập trung vào việc sử dụng liệu đuợc biến đổi vào việc định... HOLAP -» KÉT LUÂN: Chọn mô hình cần dựa vào hiệu suất, mục đích khai thác, lưọng liệu, (vỉ dụ MOLAP: thích hợp vói data marts Lợi ích việc lưu trữ cấu trúc HOLAP