triỂ Ụ hỖ trỢ xÂy dỰng vÀ quẢn trỊ kho dỮ liỆu phỤc...

30
TRIN KHAI CÔNG CHTRXÂY DNG VÀ QUN TRKHO DLIU PHC VQUN LÝ ĐÀO TO TI TRƯỜNG ĐẠI HC KINH T. [email protected] 4.1. Phân tích chc năng qun trkho dliu phc vđào to Mc đích chính ca kho dliu đào to là htrthông tin phc vcông tác qun lý đào to ti trường. Mi khoa, mi phòng đều có nhu cu sdng thông tin riêng cho yêu cu tác nghip ca mình. Vì vy vic tchc, phân phát dliu cho các đơn vmt cách hp lý và tng hp dliu tcác đơn vđể lưu tr, báo cáo, dphòng là rt cn thiết. Chc năng chính ca kho dliu phc vđào to gm các chc năng sau: Xây dng các Data Mart cc bđộc lp ca các khoa, phòng: Lưu dliu cc bti mi khoa, phòng. Các thông tin này sđược qui vmt định dng thng nht đó là sdng hqun trCSDL ORACLE để tchc lưu tr. Vì vy nhim cchính là xây dng cu trúc CSDL trong ORACLR hp lý cho phép chuyn đổi dliu tcác ngun đã tn ti trước đây như MS Excel, MS Access, MS SQL SERVER vlưu trtrong ORACLE. Như đã phân tích trong chương 3 thì các DM cn xây dng là DM_DAOTAO cha dliu trc tiếp đến công tác đào to, DM_HOSOCB cha dliu liên quan đến hsơ cán b, DM_HOSOSV cha dliu liên quan đến hsơ sinh viên và DM_VBNCKH cha thông tin liên quan đến công tác qun lý văn bng và hot động nghiên cu khoa hc trong trường. Xây dng công ctích hp các DM đã xây dng để trao đổi thông tin vi nhau: Sau khi xây dng các Data Mart để lưu trdliu phc vtrc tiếp cho hot động tác nghip ca các đơn v, phòng ban, công vic tiếp theo là xây dng các công ccho phép tng hp, chuyn đổi, đồng b, làm sch dliu, phân tán dliu gia các Data Mart vào mt kho dliu chung cũng như phân phát dliu cho người sdng phc vcông tác qun lý. Mt schc năng cn thiết cho công tác đào to như: Chuyn đim tkhoa lên phòng đào to, đối chiếu đim gia khoa và phòng đào to, cp nht thông tin vsinh viên, chương trình hc, phân tán dliu tkho dliu chung ca trường xung các khoa, phòng ban như chuyn thông tin vsinh viên, môn hc, cán bxung kho dliu cc bcác khoa, phòng, tìm kiếm dliu cn thiết phc vcông tác qun lý. 1

Upload: others

Post on 11-Sep-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

TRIỂN KHAI CÔNG CỤ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU

PHỤC VỤ QUẢN LÝ ĐÀO TẠO TẠI TRƯỜNG ĐẠI HỌC KINH TẾ.

[email protected]

4.1. Phân tích chức năng quản trị kho dữ liệu phục vụ đào tạo

Mục đích chính của kho dữ liệu đào tạo là hỗ trợ thông tin phục vụ công tác quản lý đào

tạo tại trường. Mỗi khoa, mỗi phòng đều có nhu cầu sử dụng thông tin riêng cho yêu cầu

tác nghiệp của mình. Vì vậy việc tổ chức, phân phát dữ liệu cho các đơn vị một cách hợp lý

và tổng hợp dữ liệu từ các đơn vị để lưu trữ, báo cáo, dự phòng là rất cần thiết.

Chức năng chính của kho dữ liệu phục vụ đào tạo gồm các chức năng sau:

Xây dựng các Data Mart cục bộ độc lập của các khoa, phòng: Lưu dữ liệu cục bộ tại

mỗi khoa, phòng. Các thông tin này sẽ được qui về một định dạng thống nhất đó là sử dụng

hệ quản trị CSDL ORACLE để tổ chức lưu trữ. Vì vậy nhiệm cụ chính là xây dựng cấu

trúc CSDL trong ORACLR hợp lý cho phép chuyển đổi dữ liệu từ các nguồn đã tồn tại

trước đây như MS Excel, MS Access, MS SQL SERVER về lưu trữ trong ORACLE. Như

đã phân tích trong chương 3 thì các DM cần xây dựng là DM_DAOTAO chứa dữ liệu trực

tiếp đến công tác đào tạo, DM_HOSOCB chứa dữ liệu liên quan đến hồ sơ cán bộ,

DM_HOSOSV chứa dữ liệu liên quan đến hồ sơ sinh viên và DM_VBNCKH chứa thông

tin liên quan đến công tác quản lý văn bằng và hoạt động nghiên cứu khoa học trong

trường.

Xây dựng công cụ tích hợp các DM đã xây dựng để trao đổi thông tin với nhau: Sau

khi xây dựng các Data Mart để lưu trữ dữ liệu phục vụ trực tiếp cho hoạt động tác nghiệp

của các đơn vị, phòng ban, công việc tiếp theo là xây dựng các công cụ cho phép tổng hợp,

chuyển đổi, đồng bộ, làm sạch dữ liệu, phân tán dữ liệu giữa các Data Mart vào một kho

dữ liệu chung cũng như phân phát dữ liệu cho người sử dụng phục vụ công tác quản lý.

Một số chức năng cần thiết cho công tác đào tạo như: Chuyển điểm từ khoa lên phòng đào

tạo, đối chiếu điểm giữa khoa và phòng đào tạo, cập nhật thông tin về sinh viên, chương

trình học, phân tán dữ liệu từ kho dữ liệu chung của trường xuống các khoa, phòng ban

như chuyển thông tin về sinh viên, môn học, cán bộ xuống kho dữ liệu cục bộ các khoa,

phòng, tìm kiếm dữ liệu cần thiết phục vụ công tác quản lý.

1

Page 2: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

(1) Tạo mới các kho dữ liệu cục bộ(DM), chuyển đổi định dạng các nguồn dữ liệu

(2) Tích hợp dữ liệu từ các khoa, phòng ban về kho dữ liệu chung(tổng kho)

(3) Đồng bộ dữ liệu từ các nguồn dữ liệu với Data Mart, giữa các Data Mart với nhau

(4) Phân tán dữ liệu từ tổng kho dữ liệu của trường đến các khoa, phòng ban phục vụ công tác quản lý, tác nghiệp

Công cụ quản trị kho dữ liệu đào tạo

Hình 4.1. Sơ đồ phân cấp chức năng hệ thống quản lý kho dữ liệu phục vụ đào tạo

(1) Các kho dữ liệu cục bộ được tạo mới trên DBMS ORACLE để lưu trữ dữ liệu phục vụ

trực tiếp cho hoạt động của các khoa, phòng ban. Mỗi khoa, phòng ban có quyền tự trị cao

đối với các dữ liệu cục bộ của mình. Dữ liệu trong các DM có thể kế thừa từ các nguồn dữ

liệu đã tồn tại trước đó trong hệ thống ở nhiều định dạng dữ liệu như Excel, MS Access,

SQL SERVER hay Oracle vì vậy hệ thống quản trị dữ liệu hỗ trợ chuyển đổi tất cả các

định dạng dữ liệu về Oracle

(2) Dữ liệu trong các DM do những người quản trị cục bộ có toàn quyền cập nhật, khai

thác.Dữ liệu trong các DM được tích hợp về lưu trữ kho dữ liệu chung của trường để phục

vụ công tác tổng hợp, lưu trữ, khai thác phục vụ quản lý, điều hành. Cấu trúc của tổng kho

cũng được xây dựng trên DBMS Oracle. Tổng kho dữ liệu phải có người quản trị riêng và

đây là người có quyền cao nhất đối với hệ thống quản lý kho dữ liệu

(3) Trong quá trình hoạt động tác nghiệp, dữ liệu có sự biến đổi(do các thao tác cập nhật)

trong các DM hay trong tổng kho, vì vậy công tác đồng bộ nhằm giúp cho dữ liệu giữa các

nguồn có sự nhất quán cao, tránh xung đột dữ liệu giữa các nguồn dữ liệu. Chẳng hạn, sau

2

Page 3: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

khi văn thư các khoa nhập điểm cho sinh viên ta tiến hành đồng bộ điểm lên phòng đào tạo

để cập nhật điểm cũng như công tác đối chiếu điểm sinh viên giữa khoa và phòng đào tạo.

(4) Dữ liệu từ tổng kho khi cần thiết sẽ được phân tán đến các đơn vị cần sử dụng như các

khoa, các phòng ban. Việc phân tán dữ liệu có thể phân tán ngang(theo số bản ghi) hay

phân tán dọc(theo số thuộc tính) cũng như phân tán theo một số điều kiện lọc. Ví dụ sau

khi tổng kho dữ liệu đã có dữ liệu về tất cả sinh viên của toàn trường, sau đó phân tán các

sinh viên này về lưu trữ ở các DM của các khoa để thuận lợi cho công tác quản lý, sinh

viên thuộc khoa nào sẻ được chuyển về lưu trữ ở DM của khoa đó.

4.2. Triển khai kho dữ liệu phân tán phục vụ quản lý đào tạo trường Đại học Kinh tế

4.2.1. Xây dựng mô hình hệ thống mạng trường Đại học Kinh tế

Để triển khai mô hình kho dữ liệu phân tán phục vụ công tác đào tạo của trường Đại học

Kinh tế, cơ sở hạ tầng là hệ thống mạng của nhà trường phải được đảm bảo hoạt động

thông suốt để trao đổi thông tin giữa các Data Mart và tổng kho. Yêu cầu tối thiểu của hệ

thống mạng LAN của nhà trường là phải có các SERVER chuyên dụng phục vụ cho mục

đích sau:

01 SERVER đóng vai trò là Tổng kho để lưu trữ tất cả dữ liệu tích hợp từ các Data Mart

của các khoa, phòng ban. SERVER để lưu trữ tổng kho phải có cấu hình mạnh, khả năng

lưu trữ lớn và hỗ trợ các cơ chế dữ phòng, bảo vệ dữ liệu như FIREWALL, RAID. Cài đặt

hệ quản trị CSDL ORACLE

10 SERVER để lưu trữ dữ liệu cho các kho dữ liệu hướng chủ đề(Data Mart) cho 07 Khoa

chuyên môn và 3 phòng ban (Phòng Đào tạo, phòng Tài vụ, phòng Hành chính). Các

SERVER chứa các Data mart này có thể không cần yêu cầu cấu hình quá lớn để tránh lãng

phí trong đầu tư. Các SERVER cài đặt hệ quản trị CSDL ORACLE

Hệ thống mạng thông tin được phân thành 3 vùng:

Vùng 1 (front-end )

Vùng này được thiết lập để có thể kết nối với bên ngoài hệ thống (kết nối Internet và

Intranet Đại học Đà nẵng) và có thể cho phép người dùng có thể kết nối vào mạng nội bộ

để lấy thông tin đồng thời đảm bảo hệ thống bảo mật nghiêm ngặt.

Để đáp ứng yêu cầu trên, hệ thống thiết bị đảm bảo các tính năng cơ bản gồm:

Tính năng bảo mật bằng tường lửa:

3

Page 4: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Thiết bị tích hợp sẵn tường lửa với những chức năng hữu dụng như : Chặn port, lọc IP,

chống tấn công từ chối dịch vụ (DDoS, DoS, SYN flood, Ping of dead,..),hỗ trợ chặn URL

dễ dàng và hiệu quả thông qua từ khóa, hỗ trợ kỹ thuật Email Alert giúp giám sát hiệu quả

và phản ứng kịp thời, khóa các ứng dụng tự động download của các Java applets và các

điều khiển ActiveX

VPN (Virtual Private Network):

VPN server tích hợp sẵn giúp người dùng từ xa có thể kết nối với mạng cục bộ của bạn để

check mail, load file, in ấn… một cách bảo mật với IPSEC, PPTP, L2TP, protocol, chế độ

mã hóa AES,MPPE, hardware-base DES/3DES thông qua mạng Internet.Tính năng độc

đáo này giúp tiết kiệm chi phí thuê bao đường leaseline hay cước viễn thông liên tỉnh/quốc

tế khi kết nối bằng quay số truyền thống, tích hợp sẵn DHCP server nhằm đơn giản hóa

việc cấu hình mạng nội bộ, bảo mật đơn giản và thuận tiện thông qua việc phân chia

VLAN, quản lý băng thông trên từng port (inbound / outbound).

Vùng này yêu cầu thiết bị Router (bộ định tuyến) và Firewall (tường lửa). Hiện nay trên thị

trường có nhiều hãng chuyên thiết bị mạng như Cisco, Draytek. Tuỳ thuộc vào kinh phí có

thể chọn loại thích hợp.

Vùng 2 (DMZ)

Vùng này bao gồm các server chức năng, bao gồm các server Database, DNS, DHCP,

Mail, Web, Backup,… dùng chung dữ liệu. Ở đây yêu cầu hệ thống phải đảm bảo kết nối

liên tục, sử dụng switch (Layer 3) tốc độ cổng mạng đạt đến mức Gigabit , có hỗ trợ VLAN

nhằm cho phép các truy cập nhanh .

Vùng 3 (back-end)

Vùng này chứa các server của các khoa để chứa dữ liệu nội bộ và riêng biệt, có thể dùng

switch có hỗ trợ VLAN để các máy trạm tại các nơi không thể nhìn thấy nhau.

4

Page 5: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

SƠ ĐỒ KẾT NỐI VẬT LÝ- HỆ THỐNG MẠNG TẠI TRƯỜNG ĐHKT-ĐN

DHCP DNS …. Mail Elearning

Switch L3

Cable Cat6

Cable Cat6

FirewallRouter

Front end

DM.Z

Switch L2

Cable QuangSwitch L2

Switch L2

Switch L2

Switch L2

Switch L2

pc

pc

pc

pc

pc

pc

pc

pc

pc

pc

Máy trạm các khoa,các phòng ban

Back end

Các server chức năng

Server các khoa

IntranetĐHĐN

Internet

4.3.Khả năng quản trị kho dữ liệu phân tán trong ORACLE

Hệ quản trị CSDL ORACLE là hệ thống quản trị dữ liệu lớn, hỗ trợ rất mạnh cho khả năng

quản lý kho dữ liệu(Data Warehouse), cơ sở dữ liệu phân tán trên các hệ thống thông tin

lớn. Sức mạnh vượt trội của ORACLE 9i là khả năng phân tích kho dữ liệu, truy xuất dữ

liệu từ xa, phân tán, hỗ trợ cho hệ thống phân tích trực tuyến(OLAP).

5

Page 6: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

4.3.1.Quản lý tên cơ sở dữ liệu toàn cục(Global Database Name) trong Cơ sở dữ liệu

phân tán

Trong hệ thống cơ sở dữ liệu phân tán, mỗi cơ sở dữ liệu có một tên toàn cục duy nhất

dùng để xác định cơ sở dữ liệu. Tên cơ sở dữ liệu toàn cục gồm hai thành phần là tên cơ sở

dữ liệu(Database name) và tên miền(Domain name). Tên cơ sở dữ liệu từ một đến tám ký

tự. Tên miền phải theo chuẩn qui ước của internet, các mức trong tên miền phải được cách

nhau bởi dấu chấm. Sau đây là ví dụ về đặt tên cho CSDL toàn cục trong ORACLE:

DB_NAME DB_DOMAIN Global Database Name

DAOTAO DHKT.EDU.VN DAOTAO.DHKT.EDU.VN

SINHVIEN DHKT.EDU.VN SINHVIEN.DHKT.EDU.VN

THUVIEN DHKT.EDU.VN THUVIEN.DHKT.EDU.VN

Để xem tên cơ sở dữ liệu toàn cục ta sử dụng câu lệnh :

SELECT * FROM GLOBAL_NAME;

Để thay đổi tên cơ sở dữ liệu toàn cục ta dùng cú pháp:

ALTER DATABASE RENAME GLOBAL_NAME TO databasename.domain

Ví dụ để đổi tên cơ sở dữ liệu toàn cục TKTH.DHKT.EDU.VN thành

KHOA.DHKT.EDU.VN ta làm như sau:

4.3.2.Tạo các liên kết cơ sở dữ liệu(Database links) trong hệ thống CSDL phân tán

Để hỗ trợ cho các ứng dụng truy xuất dữ liệu trong hệ thống CSDL phân tán ta cần tạo các

liên kết dữ liệu(Database links) giữa các nguồn dữ liệu ở xa(Remote Database). Một

6

Page 7: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Database link là một con trỏ trên CSDL cục bộ(local database) cho phép bạn truy cập các

đối tượng dữ liệu trên một CSDL ở xa(remote database). ORACLE cho phép tạo các

Database Links bằng câu lẹnh SQL và bằng giao diện đồ họa.

Tạo các Database Links sử dụng câu lệnh SQL:

Database Link Private

CREATE DATABASE LINK "DAOTAO.DHKT.EDU.VN"

CONNECT TO "CHUC"

IDENTIFIED BY "chuc"

USING 'DMDAOTAO'

Database Link Public

CREATE PUBLIC DATABASE LINK "DAOTAO.DHKT.EDU.VN"

CONNECT TO "CHUC"

IDENTIFIED BY "chuc"

USING 'DMDAOTAO'

Tạo Database Link sử dụng giao diện đồ họa trong Oracle

Tạo Database Link thành công cho phép truy xuất đến CSDL đào tạo

7

Page 8: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Sau khi thiết lập Database Link thành công, ta có thể truy xuất dữ liệu từ xa thông qua tên

của Database link

Ví dụ, từ CSDL cục bộ DATAWH ta muốn xem nội dung của bản môn học trong CSDL từ

xa đào tạo qua Database Link DAOTAO.DHKT.EDU.VN, ta sử dụng câu lệnh SQl như

sau:

Đóng và xóa Database Links

Để đảm bảo an toàn khi truy cập các CSDL từ xa qua hệ phân tán, nếu không cần thiết thì

nên đóng hoặc xóa các Database Links.

Đóng Database Link sử dụng câu lệnh SQL như sau:

8

Page 9: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

ALTER SESSION CLOSE DATABASE LINK Linkname;

Để đóng Database Links DAOTAO.DHKT.EDU.VN

ALTER SESSION CLOSE DATABASE LINK DAOTAO.DHKT.EDU.VN

Để xóa các Database Links ta sử dụng câu lệnh SQL như sau:

DROP [PUBLIC] DATABASE LINK dblink;

Ví dụ để xóa Database Links DAOTAO.DHKT.EDU.VN

DROP DATABASE LINK DAOTAO.DHKT.EDU.VN

4.3.3.Giải quyết vấn đề tạo trong suốt vị trí của CSDL phân tán trong

ORACLE(Location Transparency)

Trong hệ thống CSDL phân tán, yêu cầu về trong suốt vị trí đối với người sử dụng dữ liệu

là rất quan trọng, người dùng không cần biết dữ liệu được lưu trữ vật lý ở đâu trong hệ

thống mạng. Nếu bạn đã tạo các Database Links cần thiết, người sử dụng có thể truy cập

vào các đối tượng dữ liệu ở xa như thể trên máy cục bộ, vấn đề này gọi là trong suốt vị trí,

ẩn đi các chức năng phân tán từ phía người sử dụng.

ORACLE triển khai ba cách để tạo tính trong suốt vị trí như sau:

Sử dụng khung nhìn(View) để tạo trong suốt vị trí

Sử dụng bí danh(Synonyms) để tạo trong suốt vị trí

Sử dụng thủ tục(Procedures) để tạo trong suốt vị trí

Sử dụng khung nhìn(View) để tạo trong suốt vị trí

Những View cục bộ có thể cung cấp mức trong suốt vị trí đối với CSDL cục bộ hoặc

CSDL từ xa trong CSDL phân tán.

Giả sử có bảng KHOA trong CSDL cục bộ DMDAOTAO và bảng GIANGVIEN trong

CSDL từ xa qua DB_link có tên TKTH.DHKT.EDU.VN, ta có thể tạo một khung nhìn nối

thông tin từ các CSDL cục bộ và từ xa như sau:

9

Page 10: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Khi người dùng sử dụng view V1 để xem dữ liệu, người sử dụng không cần biết dữ liệu

được lưu trữ vật lý ở đâu và được lấy từ bao nhiêu bảng.

Sử dụng bí danh(Synonym) để tạo trong suốt vị trí

Bí danh rất hữu ích trong cả hai môi trường CSDL phân tán và tập trung, sử dụng bí danh

là bạn đặt tên lại cho đối tượng CSDL để sử dụng, với CSDL phân tán bí danh làm cho

người sử dụng không quan tâm đến dữ liệu đang ở đâu trong hệ phân tán mà chỉ biết tên bí

danh của đối tượng CSDL. Một điều cần chú ý khi dùng bí danh là nếu đối tượng CSDL bị

di chuyên hoặc đổi tên thì ta phải thay đổi bí danh cho phù hợp.

Ta có thể tạo bí danh trên các đối tượng dữ liệu sau:

Tables, Views, Materialized Views, Procedures, Functions, Packages

Cú pháp để tạo bí danh:

CREATE [PUBLIC] synonym_name

FOR [schema.] object_name[@Database_link_name]

Trong đó:

public:Từ khóa xác định rằng bí danh có thể sử dụng cho mọi người dùng, nếu không có từ

khóa PUBLIC thì câu lệnh trên sẻ tạo ra bí danh riêng(Private) chỉ được sử dụng cho người

ta ra bí danh

synonym_name: tên bí danh dùng để tham chiếu đến đối tượng CSDL

schema: Lược đồ nơi chứa đối tượng CSDL

object_name: tên đối tượng CSDL được tham chiếu ví dụ như table, view, procedure,…

10

Page 11: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Database_link_name: Xác định CSDL truy xuất từ xa.

Ví dụ, tạo bí danh GV_TKTH để xem thông tin về giảng viên của khoa thống kê tin học

chứa trong CSDL từ xa của khoa thống kê tin học qua Database Link

TKTH.DHKT.EDU.VN

Sử dụng thủ tục để tạo trong suốt vị trí

Sử dụng PL/SQL để tạo các thủ tục cục bộ tham chiếu đến CSDL từ xa

Giả sử ta viết thủ tục APPEND trong CSDL cục bộ DMDAOTAO để bổ sung các môn học

của khoa thống kê vào bảng MONHOC của CSDL từ xa của khoa thống kê tin học qua

Database Link TKTH.DHKT.EDU.VN như sau:

11

Page 12: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Ta có thể sử dụng bí danh(Synonym) kết hợp với thủ tục để tạo mức trong suốt tốt

hơn.

Ví dụ tạo bí danh MONH để truy xuất đến bảng MONHOC trong CSDL từ xa

TKTH.DHKT.EDU.VN và trong thủ tục DEL_MH cục bộ trên CSDL DMDAOTAO sử

dụng bí danh MH để xóa các môn học với mã môn học được xác định

Sử dụng thủ tục cục bộ gọi thủ tục từ xa

Giả sử đăng nhập vào CSDL cục bộ để tạo thủ tục cục bộ DMDAOTAO:

CONNECT chuc/chuc@DAOTAO

Tạo thủ tục cục bộ DEL_RM:

CREATE PROCEDURE DEL_RM(S CHAR) AS

BEGIN

[email protected](S);

END;

Sau đó đăng nhập vào CSDL ở xa TKTH.DHKT.EDU.VN và tạo thủ tục DEL_MONHOC

CONNECT chuc/[email protected]

CREATE PROCEDURE DEL_MONHOC(S CHAR) AS

BEGIN

12

Page 13: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

DELETE FROM MONHOC

WHERE MAMH=S;

END;

Khi người dùng hoặc ứng dụng đăng nhập vào CSDL DMDAOTAO cục bộ gọi thủ tục

DEL_RM(2150112) thủ tục này gọi thủ tục từ xa DEL_MONHOC trên CSDL từ xa

TKTH.DHKT.EDU.VN để xóa môn học có mã là 2150112

Các câu lệnh DML chuẩn có hỗ trợ truy xuất CSDL từ xa tạo tính trong suốt cho người

dùng

SELECT, INSERT,UPDATE,DELETE,LOCK TABLE,SELECT…. FOR UPDATE (Có

thể không hỗ trợ cho hệ thống không đồng nhất)

Ví dụ: Từ CSDL DMDAOTAO ta tạo liên kết có tên TKTH.DHKT.EDU.VN để truy xuất

đến CSDL từ xa ở khoa thống kê tin học(TKTH). Sau đó ta sử dụng lệnh Insert để bổ sung

các môn học của khoa thống kê quản lý(có mã môn học bắt đầu bằng 215) từ kho dữ liệu

DMDAOTAO xuống kho CSDL từ xa của khoa TKTH

Đăng nhập vào CSDL DMDAOTAO và thực hiện lệnh Insert như sau:

13

Page 14: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Chú ý: Oracle không cho phép thực hiện các câu lệnh DDL như CREATE, ALTER, DROP

từ xa

3.3.4.Truy vấn từ xavà truy vấn phân tán

Truy vấn từ xa(Remote Query): Truy vấn thông tin từ một hoặc nhiều bảng ở xa nhưng

tất cả chúng đều lưu trữ trong 1 node. Ví dụ xem nội dung bảng MONHOC của Schame

CHUC trong CSDL từ xa TKTH.DHKT.EDU.VN

Cập nhật từ xa(Remote Update): Sửa dữ liệu từ 1 hay nhiều bảng trong cùng một node.

Ví dụ: Từ CSDL cục bộ DMDAOTAO, muốn thay đổi tên của môn học có mã số 2150182

thành Database trên CSDL từ xa TKTH.DHKT.EDU.VN ta thực hiện câu lệnh sau

14

Page 15: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

UPDATE [email protected]

SET TENMH='Database'

WHERE MAMH='2150182'

Truy vấn phân tán(Distributed Query):Truy vấn lấy thông tin từ hai hay nhiều node

khác nhau trong hệ phân tán. Ví dụ sau đây mô tả từ CSDL cục bộ DATAWH truy vấn tới

bảng Giảng viên trong CSDL từ xa có Database Link là DAOTAO.DHKT.EDU.VN và

bảng Khoa trongCSDL từ xa có Database Link là TKTH.DHKT.EDU.VN

Cập nhật phân tán(Distributed Update)

Cập nhật dữ liệu trên 2 hay nhiều nút, có thể sử dụng PL/SQL, các thủ tục hoặc trigger bao

gồm hai hay nhiều cập nhật từ xa trên các nút khác nhau.

Thủ tục UPDATE_DIST dưới đây từ CSDL cục bộ DATAWH thực hiện sửa đổi tên của

môn học có mã 215018 trên 2 CSDL từ xa là DAOTAO.DHKT.EDU.VN VÀ

TKTH.DHKT.EDU.VN Thành "Database".

15

Page 16: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Tạo bảng từ các truy vấn phân tán từ xa

Từ CSDL DATAWH tạo bảng TONGHOP sử dụng truy vấn phân tán truy xuất dữ liệu

trong các CSDL từ xa là [email protected]

[email protected]

4.4. Xây dựng công cụ quản trị kho dữ liệu phục vụ quản lý đào tạo

4.4.1.Cài đặt các Data Mart trên ORACLE

Như đã phân tích và thiết kế trong chương 3, các Data mart phục vụ quản lý đào tạo như

sau:

STT Tên CSDL Toàn cục(Database Link) SERVER Giải thích

1 DATAWH.DHKT.EDU.VN DW_SVR Tổng kho

16

Page 17: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

2 DMDAOTAO.DHKT.EDU.VN DT_SVR Kho dữ liệu đào tạo

3 DMTKTH.DHKT.EDU.VN TKTH_SVR Kho dữ liệu khoa

Thống kê – Tin học

4 DMQTKD.DHKT.EDU.VN QTKD_SVR Kho dữ liệu khoa

Quản trị kinh doanh

5 DMTCNH.DHKT.EDU.VN TCNH_SVR Kho dữ liệu khoa Tài

chính ngân hàng

6 DMTMDL.DHKT.EDU.VN TMDL_SVR Kho dữ liệu khoa

Thương mại du lịch

7 DMKTPT.DHKT.EDU.VN KTPT_SVR Kho dữ liệu khoa

Kinh tế phát triển

8 DMMALE.DHKT.EDU.VN MALE_SVR Kho dữ liệu khoa Mác

– Lê Nin

9 DMKETO.DHKT.EDU.VN KETO_SVR Kho dữ liệu khoa Kế

toán

10 DMHACH.DHKT.EDU.VN HACH_SVR Kho dữ liệu phòng

Hành chính

11 DMTAVU.DHKT.EDU.VN TAVU_SVR Kho dữ liệu phòng Tài

vụ

12 DMTHUV.DHKT.EDU.VN THUV_SVR Kho dữ liệu Thư viện

Cài đặt các Data Mart trong ORACLE như sau

17

Page 18: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Cấu trúc File TNSNAMES.ORA như sau(Có thể thay địa chỉ IP bằng tên SERVER)

# TNSNAMES.ORA Network Configuration File:

C:\oracle\ora92\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

DATAWH =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.10)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DATAWH)

(SERVER = DEDICATED)

)

)

DMTMDL =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.11)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMTMDL)

(SERVER = DEDICATED)

)

)

DMTCNH =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.12)(PORT = 1521))

)

(CONNECT_DATA =

18

Page 19: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

(SID = DMTCNH)

(SERVER = DEDICATED)

)

)

DMKTPT =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.13)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMKTPT)

(SERVER = DEDICATED)

)

)

DMMALE =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.14)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMMALE)

(SERVER = DEDICATED)

)

)

DMQTKD =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.15)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMQTKD)

19

Page 20: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

(SERVER = DEDICATED)

)

)

DMKETO =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.16)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMKETO)

(SERVER = DEDICATED)

)

)

DMTKTH =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.17)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMTKTH)

(SERVER = DEDICATED)

)

)

DMDAOTAO =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.18)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMDAOTAO)

(SERVER = DEDICATED)

20

Page 21: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

)

)

DMHACH =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.19)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMHACH)

(SERVER = DEDICATED)

)

)

DMTHUV =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.1.20)(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMTHUV)

(SERVER = DEDICATED)

)

)

DMTAVU =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST =10.0.1.21 )(PORT = 1521))

)

(CONNECT_DATA =

(SID = DMTAVU)

(SERVER = DEDICATED)

)

21

Page 22: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

)

4.4.2.Xây dựng các liên kết dữ liệu để tích hợp dữ liệu từ các Data Mart

Tại một Data Mart nào muốn trao đổi với các Data Mart khác thì từ Data mart đó ta tạo các

liên kết dữ liệu(Database Link) đến các Data Mart muốn trao đổi. Tên miền CSDL cho các

Database Link trong hệ thống là DHKT.EDU.VN

Dưới đây là các Database Link từ tổng kho(DATAWH) đến các Data Mart khác

4.4.3. Xây dựng công cụ hỗ trợ quản lý kho dữ liệu đào tạo

Chức năng chính của công cụ hỗ trợ quản lý kho dữ liệu là trợ giúp cho người quản trị cơ

sở dữ liệu thực hiện tự động một số chức năng sau:

Chuyển đổi dữ liệu: Nhiệm vụ rất quan trọng khi khởi tạo một kho dữ liệu lag cho phép

người quản trị có thể chuyển đổi dữ liệu từ các định dạng khác nhau(MS Excel, MS

Access, XML, SQL SERVER) từ các nguồn khác nhau (các khoa, phòng) đã tồn tại trước

đó về định dạng thống nhất là ORACLE lưu trữ trong các Data Mart phục vụ công khai

thác dữ liệu phục vụ hoạt động tác nghiệp của nhà trường. cũng như chuyển đổi dữ liệu từ

ORACLE sang các định dạng dữ liệu khác để chia sẻ dữ liệu từ kho dữ liệu tới các người

sử dụng cuối. Đây là chức năng rất thiết thực cho công tác thu thập dữ liệu vì hiện tại các

22

Page 23: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

khoa, phòng của nhà trường chưa có chương trình quản lý chung mà mỗi đơn vị ứng dụng

máy tính một cách riêng lẻ, tự phát. Hiện nay XML là chuẩn dữ liệu phổ biến để trao đổi

dữ liệu trên internet vì vậy hệ thống cũng hỗ trợ chuyển đổi qua lại từ định dạng XML vào

các nguồn dữ liệu khác(SQL SERVER, ORACLE) làm tăng khả năng trao đổi thông tin

của kho dữ liệu.

Tích hợp dữ liệu: Chức năng tích hợp dữ liệu cho phép người quản trị dữ liệu có thể trao

đổi dữ liệu từ các Data Mart khác nhau trong nhà trường. Nguên tắc của tích hợp dữ liệu

giữa các Data Mart các Data Mart trao đổi dữ liệu phải có các bảng có cấu trúc giống nhau

và dựa trên khóa chính.

23

Page 24: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Đồng bộ dữ liệu: Chức năng này cho phép người quản trị kho dữ liệu so sánh, làm sạch

dữ liệu để cho dữ liệu giữa các Data mart làm cho dữ liệu trong hệ thống có tính nhất quán

cao. Chẳn hạn, kiểm tra, đối chiếu điểm của sinh viên giữa khoa và phòng đào tạo. Đây là

chức năng rất cần thiết đối với công tác xử lý dữ liệu của nhà trường.

24

Page 25: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Tạo mới: Chức năng này cho phép tạo ra các bảng mới trong Data Mart đích trong các

trường hợp Data Mart đích chưa có bảng dữ liệu tương ứng với Data mart nguồn. Công

việc này rất cần thiết khi mới khởi tạo các Data Mart.

Lọc dữ liệu: Đây là chức năng cho phép trích chọn dữ liệu theo một số tiêu chí của dữ liệu

trong Data Mart nào đó để kiểm tra, cập nhật hay đưa vào các Data Mart đích. Chẳn hạn, ta

có thể lọc ra tất cả cả các sinh viên của một khoa náo đó để chuyển dữ liệu về lưu trữ trong

Data Mart của khoa đó.

25

Page 26: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Phân tán dữ liệu:Chức năng này cho phép người quản trị kho dữ liệu có thể phân tán dữ

liệu giữa các Data Mart trong hệ thống. Phân tán ngang cho tạo ra các bảng dữ liệu được

phân tán theo cách giữ nguyên cấu trúc bảng trong Data Mart nguồn nhưng có thể hiện dữ

liệu khác. Chẳn hạn, khi dữ liệu về sinh viên trong nhà trường đã được cập nhật trong tổng

kho của trường(DATAWH) thì có thể phân tán dữ liệu xuống các khoa, sinh viên khoa nào

lưu trữ trong Data mart của khoa đó. Phân tán dọc cho phép tạo ra các bảng có câu trúc

khác nhau( Nhưng phải có chung khoa) với bảng dữ liệu nguồn. Chẳn hạn, bảng dữ liệu

sinh viên trong tổng kho của trường(DATAWH) có rất nhiều trường nhưng mỗi Data Mart

của khoa, phòng chỉ cần một số thuộc tính khác nhau cần thiết cho tác nghiệp của đơn vị

mình mà không phải cần tất cả các thuộc tính của bảng sinh viên.

Hợp nhất: Chức năng hợp nhất dữ liệu được thực hiện nếu các bảng được phân tán theo

chiều dọc đã được thực hiện trước đó qua chức năng phân tán dữ liệu. Yêu cầu của phân

tán theo chiều dọc là tất cảc các bảng tham gia hợp nhất phải có cùng khóa chính. Chức

năng này cho phép tổng hợp dữ liệu từ các bảng khác nhau thông qua khóa chính.

26

Page 27: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

4.4.4. Xây dựng công cụ hỗ trợ khai thác kho dữ liệu phục vụ quản lý đào tạo

Ngoài các chức năng phục vụ trực tiếp cho người quản trị CSDL trên hệ thống kho dữ liệu

phân tán, một công cụ khác được xây dựng cho phép người sử các khoa, phòng ban khai

thác dữ liệu phục vụ tác nghiệp qua giao diện đồ họa khá thuận tiện như cập nhật dữ liệu,

tìm kiếm, báo cáo,…

Module cho phép giao tiếp với người sử dụng dữ liệu cuối qua mạng internet

27

Page 28: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Hệ thống giao tiếp cộng đồng(website) xây dựng để cung cấp cách thức khai thác các kho

dữ liệu đã xây dựng qua mạng Internet, phục vụ chủ yếu cho đối tượng sử dụng dữ liệu là

sinh viên, giáo viên và các đối tượng khác với mục đích hỗ trợ dich vụ tra cứu dữ liệu trực

tuyến cũng như quảng bá thông tin cho trường. Hệ thống hỗ trợ các chức năng như đăng ký

học cho sinh viên, tìm kiếm thông tin như thời khóa biểu, kế hoạch đào tạo, chương trình

đào tạo, tra cứu điểm, ….

Module giao tiếp với sinh viên

28

Page 29: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Module giao tiếp với giáo viên

29

Page 30: TRIỂ Ụ HỖ TRỢ XÂY DỰNG VÀ QUẢN TRỊ KHO DỮ LIỆU PHỤC …bis.net.vn/files/storage/20120217222759949.pdf · việc cấu hình mạng nội bộ, bảo mật đơn

Module giao tiếp của người quản trị hệ thống

30