2. Bảng BCHOPDPTAI
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
NAM_BAOCAO VARCHAR2 4 N x
THANG_BCAO VARCHAR2 2 N x
MATPPHUTAI VARCHAR2 1 N x
MA_DIENLUC VARCHAR2 2 N NULL
MACHINHANH VARCHAR2 2 N NULL
NHAP_THOP VARCHAR2 1 N x
MACONGTY VARCHAR2 2 N NULL
MA_DONVI VARCHAR2 6 N x
NGAY_NHAP DATE 7 N NULL
NGUOI_NHAP NVARCHAR2 1.080 N NULL
HDKT_TANG NUMBER 22 N NULL
HDKT_GIAM NUMBER 22 N NULL
HDDS_TANG NUMBER 22 N NULL
HDDS_GIAM NUMBER 22 N NULL
HDDS_PTMOI NUMBER 22 N NULL
3. Bảng BCCTKH_CTO
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
MACONGTY VARCHAR2 2 N NULL
MA_DIENLUC VARCHAR2 2 N NULL
MACHINHANH VARCHAR2 2 N NULL
MALOAICTO VARCHAR2 2 N x
TANG NUMBER 22 N NULL
GIAM NUMBER 22 N NULL
NHANDVI NUMBER 22 N NULL
CHUYENDV NUMBER 22 N NULL
NHAP_THOP CHAR 1 N x
NHANTPPT NUMBER 22 N NULL
CHUYENTPPT NUMBER 22 N NULL
NGAY_NHAP DATE 7 N NULL
NGUOI_NHAP NVARCHAR2 720 N NULL
MATPPHUTAI VARCHAR2 1 N x MA_DONVI VARCHAR2 8 N x NAM_BAOCAO VARCHAR2 4 N x THANG_BCAO VARCHAR2 2 N x Bảng 12: Cấu trúc bảng BCCTKH_CTO 4. Bảng BCCTNOI_BO
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
MA_DONVI VARCHAR2 6 N x
NAM_BAOCAO VARCHAR2 4 N x
THANG_BCAO VARCHAR2 2 N x
NHAP_THOP CHAR 1 N x
MALOAICTO VARCHAR2 2 N x
NB_TANG NUMBER 22 N NULL
NB_GIAM NUMBER 22 N NULL
NB_CDVI NUMBER 22 N NULL
NB_NDVI NUMBER 22 N NULL
NGAY_NHAP DATE 7 N NULL
NGUOI_NHAP NVARCHAR2 900 N NULL
Bảng 13: Cấu trúc bảng BCCTNOI_BO
5. Bảng BCBDTHEODA
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
NAM_BAOCAO VARCHAR2 4 N x
THANG_BCAO VARCHAR2 2 N x
MACONGTY VARCHAR2 2 N NULL
MA_DIENLUC VARCHAR2 2 N NULL
MACHINHANH VARCHAR2 2 N NULL
MATPPHUTAI VARCHAR2 1 N x
SANLUONG NUMBER 22 N NULL
THANHTIEN NUMBER 22 N NULL
NHAP_THOP VARCHAR2 1 N x
MA_CAPDA VARCHAR2 10 N x
MA_DONVI VARCHAR2 8 N x
NGAY_NHAP DATE 7 N NULL
Bảng 14: Cấu trúc bảng BCBDTHEODA
6. Bảng BCBDTGCTPT
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
NAM_BAOCAO VARCHAR2 4 N x
THANG_BCAO VARCHAR2 2 N x
MA_DONVI VARCHAR2 8 N x
MAPT_CTIET VARCHAR2 4 N x
MATHOIGIAN VARCHAR2 2 N x
SANLUONG NUMBER 22 N NULL
NGAY_NHAP DATE 7 N NULL
NGUOI_NHAP NVARCHAR2 720 N NULL
MACONGTY VARCHAR2 2 N NULL
MA_DIENLUC VARCHAR2 2 N NULL
MACHINHANH VARCHAR2 2 N NULL
NHAP_THOP VARCHAR2 1 N x
Bảng 15: Cấu trúc bảng BCBDTGCTPT
7. Bảng BCBDTH_GIA
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
NAM_BAOCAO VARCHAR2 4 N x
THANG_BCAO VARCHAR2 2 N x
MA_DIENLUC VARCHAR2 2 N NULL
DON_GIAGOC NUMBER 22 N NULL
THANH_TIEN NUMBER 22 N NULL
MACHINHANH VARCHAR2 2 N NULL
NHAP_THOP VARCHAR2 1 N x
SANLUONG NUMBER 22 N NULL
MACONGTY VARCHAR2 2 N NULL
GIA_NHOMNN_ID NUMBER 22 N x
NGAY_NHAP DATE 7 N NULL
NGUOI_NHAP NVARCHAR2 360 N NULL
MA_DONVI VARCHAR2 8 N x
ID_GIACU NUMBER 22 N NULL
DONGIA NUMBER 22 N NULL
THANH_TIEN_C NUMBER 22 N NULL
SANLUONG_C NUMBER 22 N NULL
BAC_THANG NUMBER 22 N x
BAC_THANG_C NUMBER 22 N NULL
Bảng 16: Cấu trúc bảng BCBDTH_GIA
8. Bảng BCSTHUDUTD
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
NOTHANHLY NUMBER 22 N NULL
NOTHUYNONG NUMBER 22 N NULL
NODAYDUA NUMBER 22 N NULL
MAVAT VARCHAR2 1 N x
PHATSINH NUMBER 22 N NULL
MA_DONVI VARCHAR2 8 N x
NGAY_NHAP DATE 7 N NULL
SO_HOADON NUMBER 22 N NULL
NAM_BAOCAO VARCHAR2 4 N x
THANG_BCAO VARCHAR2 2 N x
MA_DIENLUC VARCHAR2 2 N NULL
THUTHANHLY NUMBER 22 N NULL
MACHINHANH VARCHAR2 2 N NULL
MACONGTY VARCHAR2 2 N NULL
NHAP_THOP VARCHAR2 1 N x
MA_LOAIDVU VARCHAR2 2 N x
THUDUOC NUMBER 22 N NULL
NHCTYKHAC NUMBER 22 N NULL
CHCTYKHAC NUMBER 22 N NULL
Bảng 17: Cấu trúc bảng BCSTHUDUTD
B. Các bảng chiều của hệ thống:
1. Bảng DTHOIGIAN
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
L_NAM_ID NUMBER 32 N L_NAM_DSC VARCHAR2 4 N L_QUY_ID NUMBER 32 N L_QUY_DSC VARCHAR2 7 N L_THANG_ID NUMBER 32 N x L_THANG_DSC VARCHAR2 2 N Bảng 18: Cấu trúc bảng DTHOIGIAN 2. Bảng chiều DCONGTY
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
L_TONGCTY_ID NUMBER 1 N L_TONGCTY_DSC VARCHAR2 50 N L_CONGTY_ID NUMBER 4 N L_CONGTY_DSC VARCHAR2 50 N L_DIENLUC_ID NUMBER 6 N x L_DIENLUC_DSC VARCHAR2 50 N Bảng 19: Cấu trúc bảng DCONGTY C. Các bảng sự kiện của hệ thống: 1. Bảng sự kiện CMIS_CUBE
Tên cột Kiểu dữ liệu Độ dài NULL Cột khoá
L_DIENLUC_ID NUMBER 6 N x L_THANG_ID NUMBER 32 N x so_luong_giao NUMBER 32 N so_luong_nhan NUMBER 32 N so_luong_tthat NUMBER 32 N so_hdong_dsu NUMBER 32 N so_hdong_kte NUMBER 32 N so_cto_ban NUMBER 32 N so_cto_noibo NUMBER 32 N so_dien_dienap NUMBER 32 N so_dien_phutai NUMBER 32 N
so_dien_ctietgia NUMBER 32 N
so_tiendienthu NUMBER 32 N
so_tiendiendu NUMBER 32 N
so_phatsinh NUMBER 32 N
Bảng 20: Cấu trúc bảng CMIS_CUBE
D. Mơ hình thu thập dữ liệu:
Mơ hình thu thập dữ liệu cho data warehouse về EVN được xây dựng dựa trên công cụ
Oracle Warehouse Builder 10g được mơ tả qua các hình vẽ bên dưới:
1. Ánh xạ thu thập dữ liệu cho chiều thời gian: DTHOIGIAN
Hình 38: Ánh xạ thu thập dữ liệu cho chiều thời gian: DTHOIGIAN
2. Ánh xạ thu thập dữ liệu cho chiều công ty: DCONGTY
3. Ánh xạ thu thập dữ liệu cho bảng sự kiện: CMIS_CUBE
Hình 40: Ánh xạ thu thập dữ liệu cho bảng sự kiện: CMIS_CUBE
5.2.4. Giới thiệu một số công cụ hỗ trợ
1. Công cụ hỗ trợ xây dựng dữ liệu: Oracle Warehouse Builder 10g (OWB)
OWB là công cụ cung cấp một giải pháp tích hợp cho thiết kế và triển khai datawarehouse, data mart và các ứng dụng nghiệp vụ thơng minh. Nó cũng giải quyết được các vấn đề phức tạp khi tích hợp dữ liệu giữa các nguồn và đích dữ liệu riêng rẽ. Hơn nữa, OWB hỗ trợ quản lý vòng đời hệ thống đang phát triển.
Sau đây là kiến trúc chính của OWB:
a) Thành phần thiết kế
Trong số những thành phần thiết kế, OWB chủ yếu bao gồm:
Kho lưu trữ metadata (bằng database trên Oracle) Tập các công cụ thiết kế và báo cáo (kiểu client)
Tạo ra metadata là việc sử dụng các công cụ client để thiết kế object, process và job. OWB hỗ trợ thiết kế các lược đồ cơ sở dữ liệu quan hệ, lược đồ đa chiều, các tiến trình thu thập dữ liệu (ETL), các môi trường truy cập sử dụng công cụ đầu cuối.
Những thành phần này đều được viết bằng Java hoặc HTML.
Sau khi thiết kế hệ thống ETL mức logic, chúng ta sẽ chuyển chúng thành mơ hình cơ sở dữ liệu vật lý.
Trước khi điều này được thực hiện, thông tin về môi trường database sẽ được đưa
vào thiết kế logic khi các đích được cấu hình để triển khai. Sau khi cấu hình xong, mã code sẽ được tạo ra.
Mã code được tạo ra có thể triển khai trên file hay trên cơ sở dữ liệu.
Thực hiện các hàm ETL nghĩa là chạy các code được triển khai trên cơ sở dữ liệu.
Sử dụng Warehouse Builder Deployment Manager hoặc các cơng cụ bên ngồi như Oracle Enterprise Manager để chạy các code trên.
c) Các thành phần trong bộ Warehouse Builder:
Warehouse Builder Client Application - Công cụ đồ hoạ để định nghĩa, thiết kế và
triển khai các hệ thống nghiệp vụ thông minh.
1. Code Generator: thành phần tạo các script DDL và PL/SQL dựa trên siêu dữ liệu (được lưu trong data warehouse)
2. Deployment Manager: quản lý vấn đề triển khai và các đối tượng được triển khai.
Warehouse Builder Runtime Platform Service - Một thành phần phía server, cung
cấp các dịch vụ thực thi và triển khai. Để chạy những dịch vụ này, Runtime Platform Service phải được kích hoạt.
Warehouse Builder Design Repository – Lưu trữ các định nghĩa metadata cho tất cả
các đối tượng được sử dụng trong Warehouse Builder. Đây là nơi lưu trữ thông tin thiết kế cho hệ thống đích mà chúng ta tạo ra.
Warehouse Builder Runtime Repository – Kho lưu trữ khi thực thi. Nó được cài đặt
trên Oracle database, lưu trữ mọi dữ liệu triển khai, ánh xạ và dịng chảy của tiến trình. Nó là nơi lưu trữ thơng tin mơi trường đích cho các hệ thống nghiệp vụ thơng minh.
Audit Reporting Browser – Giúp duyệt thông tin về triển khai và thực thi từ một ứng
dụng web. Thông tin báo cáo được lấy từ Runtime Repository.
Metadata Reporting Browser - Giúp duyệt thông tin về metadata được lưu trong
Design Repository.
d) Các bước để sử dụng với OWB
OWB giúp tạo các hệ thống nghiệp vụ thơng minh bằng cách tích hợp dữ liệu từ nhiều nguồn khác nhau. Dưới đây trình bày các bước để tạo ra hệ thống thông minh nghiệp vụ.
Các dự án Warehouse Builder là các đối tượng lớn nhất trong design repository. Chúng lưu trữ các định nghĩa metadata cho hệ thống đích, bao gồm nguồn dữ liệu, đối tượng đích, ánh xạ từ nguồn tới đích, các thao tác chuyển đổi và các tham số cấu hình.
Những định nghĩa trên được đưa vào trong các thư mục của dự án
Bước 2: Định nghĩa module nguồn và đích dữ liệu
Module là các đối tượng lưu trữ trong dự án giúp tổ chức đối tượng nguồn và đích.
Module nguồn chứa metadata từ một nguồn dữ liệu đang có mà chúng ta muốn lấy
dữ liệu về. Chúng có thể là database, file hoặc ứng dụng.
Module đích chứa metadata về nơi sẽ chứa dữ liệu nguồn.
Bước 3: Định nghĩa sự di chuyển và biến đổi dữ liệu
Sau khi định nghĩa module nguồn và đích chúng ta tạo ra sự di chuyển và biến đổi mức logic. Đó cịn gọi là ETL. Sử dụng các thành phần sau trong Warehouse Builder để định nghĩa sự dịch chuyển và biến đổi dữ liệu mức logic:
Truyền tải dữ liệu Ánh xạ dữ liệu Luồng xử lý dữ liệu
Bước 4: Thẩm định và tạo mã
Thẩm định và sinh mã để kiểm tra lỗi trước khi tiến hành triển khai. Thẩm định mọi đối tượng và module để đảm bảo khơng có định nghĩa nào là khơng hợp lệ hoặc khơng hồn chỉnh.
Bước 5: Triển khai và thực thi
Triển khai các thiết kế trong mơi trường đích sau khi mơ hình đích được hồn thành. Chúng ta phải cài đặt một kho chứa dữ liệu khi triển khai (runtime repository) và định nghĩa ra một kết nối đến nó (runtime repository connection) trước khi triển khai. Có 2 cách để triển khai với Warehouse Builder là sử dụng từ màn hình giao diện chính hoặc qua công cụ Deployment Manager.
2. Công cụ khai thác data warehouse: Oracle Business Intelligence 10g
Theo thời gian, dữ liệu sinh ra trong quá trình tác nghiệp là vô cùng lớn và nghiệp vụ cũng như chiến lược kinh doanh của các doanh nghiệp phụ thuộc rất lớn vào lượng dữ liệu này. Một điều hiển nhiên là khi có dữ liệu thì khơng có nghĩa là doanh nghiệp đã có thơng tin. Dữ liệu chỉ trở thành thông tin khi mà doanh nghiệp sử dụng được nó để trả lời các câu hỏi liên quan đến nghiệp vụ. Oracle Business Intelligence là công cụ
giúp khai thác thông tin về nghiệp vụ từ dữ liệu sẵn có và trả lời các câu hỏi nghiệp vụ như vậy để hình thành lên những quyết định khi có những yêu cầu nghiệp vụ thay đổi.
Với công cụ này doanh nghiệp có thể trả lời được những câu hỏi cơ bản theo những dạng như sau:
5 sản phẩm bán chạy nhất hiện nay là gì?
Lượng sản phẩm bán được năm nay có chiều biến thiên như thế nào so với năm
ngoái?
Lượng sản phẩm bán ra trung bình trong 3 tháng nay là bao nhiêu?
Ngồi ra, bộ cơng cụ này cịn giúp trả lời được nhiều các câu hỏi theo hướng phân tích dữ liệu nghiệp vụ như:
Tại sao lượng sản phẩm bán hàng tại khu vực này lại giảm xuống?.
Doanh số bán hàng dự đoán trong quý tiếp theo là bao nhiêu?
Nhân tố nghiệp vụ nào cần thay đổi để nâng cao doanh thu bán hàng đã dự báo?
Các sản phẩm nào thường được khách hàng mua cùng nhau?
Những khách hàng thường có đặc điểm gì khi mua một sản phẩm nào đấy? Dưới đây là các thành phần chính của bộ cơng cụ Oracle Business Intelligence
Thành phần tạo dựng dữ liệu phân tích: Thành phần này gồm các thành phần con
như sau phục vụ cho việc chuẩn bị dữ liệu phân tích
Oracle Business Intelligence Warehouse Builder (OracleBI Warehouse Builder) có
nhiệm vụ thiết kế, triển khai và duy trì mơi trường data warehouse và các siêu dữ liệu để tạo dựng báo cáo.
Oracle Business Intelligence Discoverer Administrator (OracleBI Discoverer
Administrator): Công cụ này dùng để tạo dựng, duy trì các khung nhìn hướng nghiệp vụ của dữ liệu quan hệ phục vụ cho đầu vào của các thành phần OracleBI Discoverer.
Quản lý khơng gian phân tích cho việc tạo dựng cấu trúc dữ liệu để phục vụ các vấn đề phân tích nâng cao.
Thành phần phân tích dữ liệu và tạo báo cáo: Oracle Business Intelligence bao gồm
các thành phần như sau để phục vụ q trình phân tích dữ liệu và xây dựng báo cáo:
Oracle Business Intelligence Discoverer Plus (OracleBI Discoverer Plus): Giúp hệ
thống tạo ra các báo cáo chuẩn và các báo cáo kiểu add-hoc.
Oracle Reports: Tạo báo cáo theo các đặc trưng của doanh nghiệp.
Oracle Business Intelligence Spreadsheet Add-In (OracleBI Spreadsheet Add-In):
Làm việc trức tiếp với dữ liệu trong Microsoft Excel để truy vấn, phân tích dữ liệu.
Oracle Data Miner: Là công cụ đồ hoạ cung cấp cho người dùng giúp cho việc khai
phá dữ liệu như việc mơ hình dữ liệu phản hồi, phân tích tình hình thị trường, tìm hiểu và phân nhóm khác hàng.
Oracle Spreadsheet Add-In for Predictive Analytics: Giúp khai phá dữ liệu một cách
tự động nằm trong Microsoft Excel.
Thành phần xuất và tạo dựng báo cáo: Thành phần này giúp việc chia sẻ báo cáo
với các thành phần khác được dễ dàng. Nó bao gồm các thành phần sau
Oracle Business Intelligence Discoverer Portlet Provider (OracleBI Discoverer
Portlet Provider): Hỗ trợ việc xuất bản báo cáo trong OracleAS Portal.
Oracle Reports: Hỗ trợ tạo báo cáo theo khuân mẫu của doanh nghiệp và đưa ra
kết quả thông qua máy in, dưới dạng web hay trong OracleAS Portal.
Oracle Business Intelligence Discoverer Viewer (OracleBI Discoverer Viewer): Hỗ
trợ việc xem báo cáo và phân tích dữ liệu trong môi trường web browser.
Thành phần giúp xây dựng các ứng dụng tuỳ biến: Thành phần này giúp xây dựng nên những ứng dụng nghiệp vụ thông minh theo đặc điểm riêng của doanh nghiệp. Nó bao gồm thành phần sau:
Oracle Business Intelligence Beans (OracleBI Beans): Thành phần này được tích hợp cùng với cơng cụ JDeveloper để xây dựng nên các ứng dụng JSP.
Ngoài ra, Oracle OLAP và Oracle Data Mining còn cung cấp các hàm API viết dưới ngôn ngữ JAVA và các script SQL để xây dựng các ứng dụng riêng liên quan đến phân tích nghiệp vụ.
5.2.5 Kết quả thực hiện
Sau khi tạo dựng kho dữ liệu cho EVN thông qua công cụ OWB, ta thực hiện các script nhằm thực hiện trích lọc và thu thập dữ liệu. Bước tiếp theo là sử dụng công cụ
Oracle Business Intelligence để hiển thị dữ liệu dưới các khung nhìn đa chiều và đưa
ra một số dạng báo cáo, dự đốn phân tích khác nhau.
Kết quả khung nhìn với chi tiết dữ liệu theo quý của các điện lực trên toàn quốc và biểu đồ so sánh các dữ liệu của từng điện lực với nhau
Hình 42: Báo cáo đa chiều với tốn tử khoan sâu cho chiều thời gian
Kết quả biểu đồ dữ liệu ký hợp đồng dân sự theo theo trục thời gian theo năm giữa các đơn vị điện lực trong toàn quốc
CHƯƠNG 6: KẾT QUẢ VÀ BÀN LUẬN
Phần kết luận, tơi trình bày đánh giá các cơng việc thực hiện được và đưa định hướng cho các công việc sẽ xây dựng tiếp theo.
6.1. Các kết quả đạt được
Ở nước ta, trong những năm trở lại đây, xuất hiện nhiều trong các doanh nghiệp nhu cầu cần xây dựng data warehouse nhằm mục đích khám phá tri thức từ các dữ liệu sẵn có để nâng cao năng lực cạnh tranh trong thời kỳ nền kinh tế đang phát triển mạnh mẽ. Vì vậy việc nghiên cứu theo chủ đề này là một vấn đề là hết sức cần thiết, là yêu cầu mang tính cấp bách của các doanh nghiệp lớn hiện nay. Các nhà quản lý luôn mong muốn khai thác được những nguồn tri thức mới từ những dữ liệu sẵn có từ nguồn dữ liệu hiện tại và những dữ liệu lịch sử. Một yêu cầu đòi hỏi cao hơn nữa của những nhà quản lý là khi đã khai thác được những nguồn tri thức này thì phải đưa ra được những thơng tin mang tính trợ giúp, hỗ trợ cho việc ra quyết định và dự đoán những vấn đề mà tương lai sẽ xảy ra đối với chính doanh nghiệp của mình.
Với mục đích giải quyết yêu cầu này, luận văn đã bàn luận, trình bày về các nét tổng