1.9.1. Phân tích các CSDL cần tích hợp
Để giải quyết được bài toán đặt ra, trước hết, chúng ta cần phải tìm hiểu nhóm dịch vụ loại 1, 2.
Cơ sở dữ liệu của các chương trình quản lý khai thác dịch vụ chủ yếu là SQL server 2000, 2005 và 2008. Trong phạm vi đề tài, chúng ta xem xét hai nhóm dịch vụ chính:
+ Nhóm dịch vụ Chuyển phát.
+ Nhóm dịch vụ Tài chính Bưu chính.
a. Nhóm dịch vụ chuyển phát Bưu chính
Trong nhóm dịch vụ này, chúng ta xem xét đến dịch vụ chủ yếu như: Chuyển phát nhanh EMS.
+ Chuyển phát nhanh EMS
Chương trình chuyển phát EMS được triển khai tại các Bưu cục (PO), CSDL của hệ thống EMS là SQL server 2005.
Mô hình ứng dụng của chương trình tin học EMS được trình bày tại hình 2-3.
Hình 2-9: Mô hình ứng dụng của chương trình tin học dịch vụ EMS
Các thông tin giao dịch của khách hàng phát sinh tại CSDL nội bộ CSDL EMS PO sau đó được truyền lên tập trung tại CSDL EMS BR.
Vì vậy, tất cả thông tin giao dịch phát sinh từ dịch vụ EMS trên toàn tỉnh được tập trung tại CSDL EMS BR. Trong hệ thống CSDL này, chúng ta chỉ tập trung bảng E1_Di, E1_Den, chứa đựng tất cả các thông tin mà chúng ta cần trích rút.
Chi tiết các trường trong bảng chứa dữ liệu cần trích rút của dịch vụ EMS và các bảng liên quan đến key được trình bày tại hình 2-4, 2-5.
Hình 2-4: Cấu trúc bảng dữ liệu dịch vụ EMS (EMS đi)
Hình 2-5: Cấu trúc bảng dữ liệu dịch vụ EMS (EMS đến)
Các trường cần thiết trích rút trong bảng E1_Di, và E1_Den được trình bày tại bảng 2-1.
Bảng 2-1:Các trường cần thiết trích rút đối với dịch vụ EMS
Tên trường Kiểu dữ liệu Chứa đựng nội dung Ghi chú
Ma_E1 varchar(48) Mã số của E1
Ngay_Phat_Hanh int Ngày/tháng/năm phát hành
Ma_BC_Goc int Mã BC bưu cục phát hành
Ma_BC_Tra int Mã BC bưu cục trả
Nuoc_Nhan varchar(2) Mã số nước phát hành Nuoc_Tra varchar(2) Mã số nước trả
b. Nhóm dịch vụ tài chính Bưu chính
Trong nhóm dịch vụ này chúng chúng ta xem xét dịch vụ chủ yếu : Chuyển tiền (CT2003).
+ Chuyển tiền (CT2003)
Chương trình chuyển phát CT2003 được triển khai tại các Bưu cục (PO). CSDL của hệ thống CT2003 là SQL server 2008.
Mô hình ứng dụng của chương trình tin học CT2003 được trình bày tại hình 2.6.
Hình 2-6: Mô hình ứng dụng của chương trình tin học dịch vụ chuyển tiền
Các thông tin giao dịch phát sinh tại CSDL nội bộ, CSDL CT2003 PO sau đó được truyền lên tập trung tại CSDL CT2003 BR.
Vì vậy, tất cả thông tin giao dịch phát sinh từ dịch vụ CT2003 trên toàn tỉnh được tập trung tại CSDL CT2003 BR. Đối với CT2003 có hai loại dịch vụ: Chuyển tiền nhanh và thư chuyển tiền.
Đối với dịch vụ “Chuyển tiền nhanh” trong hệ thống CSDL này, chúng ta chỉ 02 tập trung bảng TBL_PHIEU_CTN_DI, TBL_PHIEU_CTN_DEN chứa đựng tất cả các thông tin cần trích rút.
Chi tiết các trường trong bảng TBL_PHIEU_CTN_DI, TBL_PHIEU_CTN_DEN và các bảng liên quan đến key được trình bày tại hình 2-7.
Hình 2-7: Cấu trúc bảng dữ liệu chứa thông tin dịch vụ chuyển tiền
Các trường cần thiết trích rút trong bảng TBL_PHIEU_CTN_DI, TBL_PHIEU_CTN_DEN được trình bày tại bảng 2-2.
Bảng 2-2: Các trường cần thiết trích rút đối với dịch vụ chuyển tiền nhanh
Tên trường Kiểu dữ liệu Chứa đựng nội dung Ghi chú ID_CT1 nvarchar(10) Mã số của CT2003
Ngay_Phat_Hanh datetime Ngày/tháng/nămphát hành So_Tien_Gui numeric(15,0) Số tiền khách hàng gửi Tong_Cuoc numeric(18,0) Tổng cước
Đối với dịch vụ “Thư chuyển tiền” trong hệ thống CSDL này, chúng ta chỉ tập trung bảng TBL_PHIEU_TCT_DI, TBL_PHIEU_TCT_DEN chứa
đựng tất cả các thông tin khách hàng giao dịch. Cấu trúc và các trường cần quan tâm cũng giống như dịch vụ “Chuyển tiền nhanh”
1.9.2. Tổ chức CSDL tại kho dữ liệu
Tại kho dữ liệu, các khách hàng có thông tin đầy đủ tại các CSDL riêng lẻ sẽ được lưu trữ trong một CSDL mới. Từ CSDL này ta sẽ tiến hành áp dụng các thuật toán trên đó để thống kê và báo cáo.
a. Bảng chứa dữ liệu tại các dịch vụ
Bảng này có cấu trúc giống bảng chứa thông tin khách hàng tại các CSDL riêng lẻ, tuy nhiên được thiết kế thêm Trường: MA_KHACH_HANG.
Tên bảng: TBL_KH_<TEN_DICH_VU>. Cấu trúc của bảng được trình bày tại bảng 2-3.
Bảng 2-3: Cấu trúc bảng dữ liệu khách hàng phát sinh tại các dịch vụ
Tên trường Kiểu dữ liệu Chứa đựng nội dung Ghi chú Gồm tất cả các trường
trong bảng chức dữ liệu khách hàng của tửng dịch vụ
ID_GIAO_DICH Int Khóa (indentity)
MA_KHACH_HANG nvarchar(15) Mã khách hàng (mã tỉnh (2)+ mã huyện (4) + Mã khách hàng(9)
b. Bảng chứa dữ liệu khách hàng gán mã Bưu chính
Bảng này chứa thông tin tên khách hàng và các mã Bưu chính liên quan được thiết kế như sau:
Tên bảng: TBL_KH_GAN_MBC.
Bảng 2-4: Cấu trúc bảng dữ liệu khách hàng để gán mã địa chỉ Bưu chính
Tên trường Kiểu dữ liệu Chứa đựng nội dung Ghi chú
ID int Khoá (indentity)
ID_GIAO_DICH int Chứa khóa các bảng TBL_KH_<TEN_DICH_VU> LOAI_DICHVU nvarchar(10) Ký hiệu dịch vụ
HO_TEN nvarchar(100) Họ tên của khách hàng DIA_CHI_KH nvarchar(200) Địa chỉ khách hàng MA_KHACH_HAN
G
nvarchar(20) Mã khách hàng (mã tĩnh (2)+ mã huyện (4) +mã thôn (6) Mã khách hàng(9)
MA_BC_HUYEN Int(4) Mã bưu chính huyện (MBC cấp 2)
1.9.3. Xây dựng quy trình tích hợp
a. Trích rút dữ liệu
Mô hình chi tiết trích rút dữ liệu khách hàng được trình bày tại hình 2-14.
Hình 2-8: Mô hình chi tiết trích rút dữ liệu
Việc trích rút phải đảm bảo không phá vỡ CSDL riêng lẻ hiện tại và phải phân biệt được dữ liệu nào đã được trích rút. Dữ liệu có từ trước, và mới phát sinh cũng phải được trích rút.
Dữ liệu tại các bảng trong các CSDL riêng lẻ sẽ được chuyển vào các bảng trương ứng trong kho dữ liệu, bảng TBL_KH_<TEN_DICH_VU>
Quá trình di chuyển này được thể hiện như sau: Di chuyển dữ liệu khách hàng đã có từ trước
Dùng công cụng SQL Server Import and Export Wizard để thực hiện di chuyển dữ liệu từ :
[Server chứa dữ liệu dịch vụ].[Database dịch vụ].[bảng chứa dữ liệu khách hàng] to [Server chứa kho dữ liệu].[kho dữ liệu]. [TBL_KH_<TEN_DICH_VU>]
b. Xử lý dữ liệu
Tích hợp dữ liệu khách hàng có thể nói là tương đối phức tạp, trong phạm vi ứng dụng cho một doanh nghiệp, xử lý dữ liệu được thực hiện bằng phương pháp bán tự động.
Việc xử lý gán mã Bưu chính tại các Bưu cục cho dữ liệu khách hàng được trình bày tại hình 2-16.
Hình 2-9: Lưu đồ gán mã BC huyện cho dữ liệu khách hàng
Thuật toán xử lý dữ liệu khách hàng theo địa chỉ huyện được trình bày ở hình 2-10.
Select TEN_HUYEN
from TBL_MA_BC, TBL_KH_GAN_MBC where TEN_ HUYEN . TBL_MA_BC like
% TBL_KH_GAN_MBC.DIA_CHI_KH % If <tồn tại> then
TBL_KH_GAN_MBC.MA_BC_HUYEN= MA_BC_HUYEN . TBL_MA_BC Else TBL_KH_GAN_MBC.MA_BC_HUYEN = <gán mã BC huyện thủ công> End if
Update TBL_KH_<TEN_DICH_VU>
Set MA_KHACH_HANG = TBL_KH_GAN_MBC.MA_BC_HUYEN
Set TBL_KH_<TEN_DICH_VU>.ID = TBL_KH_GAN_MBC.ID_GIAO_DICH
Hình 2-10: Thuật toán gán mã Bưu chính huyện cho dữ liệu khách hàng