Tải bản đầy đủ (.pdf) (26 trang)

Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu suất hệ thống thông tin quản lý nhân sự tại sở giáo dục và thể thao tỉnh saravan (lào)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.19 MB, 26 trang )

ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM

SATSAMAY CHANTHAVISOUK

NGHIÊN CỨU ỨNG DỤNG KHUNG NHÌN THỰC
ĐỂ NÂNG CAO HIỆU SUẤT HỆ THỐNG THÔNG TIN
QUẢN LÝ NHÂN SỰ TẠI SỞ GI
ỤC VÀ THỂ TH
TỈNH S R V NH À

Chuyên ngành: Hệ thống thơng tin
Mã số: 848 0401

TĨM TẮT LUẬN VĂN THẠC SĨ
HỆ THỐNG THÔNG TIN

Đà Nẵng - Năm 2018


Cơng trình đƣợc hồn thành tại
Trƣờng Đại học Sƣ phạm- ĐHĐN

Ngƣời hƣớng dẫn khoa học:
TS. Nguyễn Trần Quốc Vinh
Phản biện 1: TS. Phạm Anh Phƣơng
Phản biện 2: TS. Trần Thiên Thành

Luận văn sẽ đƣợc bảo vệ trƣớc Hội đồng chấm Luận văn
tốt nghiệp thạc sĩ Hệ thống thông tin họp tại Trƣờng Đại học Sƣ
phạm- ĐHĐN vào ngày 18 tháng 11 năm 2018.



Có thể tìm hiểu luận văn tại:
Trung tâm Thông tin- Học liệu, Đại học Đà Nẵng
Thƣ viện trƣờng Đại học Sƣ phạm, Đại học Đà Nẵng


1
Ở ĐẦU
1. Lý do chọn đề tài
Ngày n y, với s ph t triển kh ng ng ng c x hội, tin học đ
trở nên vô cùng phổ biến và đ c những bƣớc phát triển vƣợt bậc
đƣợc thể hiện qua nhiều lĩnh v c c đời sống xã hội. Tin học đ dần
dần trở thành nhu cầu rất cần thiết và không thể thiếu trong cuộc
sống c con ngƣời. Ở các quốc gia phát triển hiệu quả do tin học hóa
đem lại đ g p phần thiết yếu và chiếm giữ một vị trí quan trọng
trong c c lĩnh v c kinh tế, chính trị, văn h , gi o dục…
Với số lƣợng nh n vi n c sở Giáo dục và Thể thao tỉnh
S r v n ào là hơn một trăm ngƣời và c ng c thể con số này sẽ
tăng l n nhiều hơn nữ trong tƣơng l i n n việc quản lý về hồ sơ
c ng nhƣ tiền lƣơng c a cán bộ nh n vi n sẽ gặp nhiều kh khăn và
tốn kém nhiều thời gi n hơn. Trƣớc đ y, để thu nhận một nhân viên
mới, xét duyệt n ng lƣơng, quản lý qu trình c ng t c c ng nhƣ
chuyển công tác c a các nhân viên trong Sở, các nhân viên c a
Phòng Tổ Chức phải làm việc với số lƣợng sổ sách khá lớn, ghi chép
thông tin cho tất cả các nhân viên c a sở phải mất rất nhiều công sức
và phải mất một thời gian rất lâu, và s sai xót trong q trình ghi
chép là khó tránh khỏi khi phải làm việc th c ng nhƣ vậy. Nên Ban
Gi m Đốc sở muốn tin học hóa việc quản lý nhân s và tiền lƣơng đ
với một hệ thống phần mềm quản lý và mong muốn đ đ đƣợc
chúng t i đảm nhiệm th c hiện.

Nhờ t nh hiệu quả và nhanh chóng do hệ thống mới đem lại
làm cho hiệu suất công việc tăng c o, tr o đổi th ng tin đƣợc diễn ra
n toàn, đồng bộ, ch nh x c do t nh năng ƣu việt c a hệ thống máy
t nh đem lại. Vì thế mà việc tra cứu khơng cịn phải kh khăn, phức
tạp nữ vì hệ thống sẽ thống k , quản lý và chúng t c thể tra cứu,
tham khảo bất cứ lúc nào khi cần. Do vậy chi phí sẽ giảm thiểu, lợi
nhuận tăng c o, t nh hiện đại h đƣợc giải quyết.
Xuất ph t t vấn đề n u tr n, t i chọn đề tài Nghiên cứu ứng
dụng khung nhìn thực để nâng cao hiệu suất hệ thống thông tin
quản lý nhân sự tại sở giáo dục và thể thao tỉnh Saravan (Lào)”,
2. Mục tiêu và nhiệm vụ đề tài
 Mục tiêu


2
- Nghiên cứu ứng dụng khung nhìn th c để nâng cao hiệu quản
lý nhân s , xây d ng đƣợc các trigger.
- Chƣơng trình c khả năng sinh m SQ cài đặt khung nhìn
th c, trigger trên các bảng gốc để cập nhật gi tăng, đồng bộ các
khung nhìn th c.
 Nhiệm vụ
- Tìm hiểu c c bi n dịch và sử dụng trigger viết bằng ng n ngữ
C trên PostgreSQL.
- Tìm hiểu và nghi n cứu cơ sở lý thuyết về cập nhật gi tăng,
đồng bộ KNT với truy vấn lồng.
- Khai thác các thuật to n CNGT KNT đ c để ứng dụng vào
đề tài, đặc biệt là thuật to n CNGT KNT với truy vấn lồng.
3. Đối tƣợng và phạm vi nghiên cứu
 Đối tƣợng nghiên cứu
- CSDL quan hệ, HQT CSDL quan hệ

- Ngôn ngữ lập trình C
- Trigger trên các HQT CSDL quan hệ
- Truy vấn lồng
- Khung nhìn th c
- Thuật tốn CNGT KNT với truy vấn lồng
 Phạm vi nghiên cứu
- HQT CSDL PostgreSQL
- Kỹ thuật viết trigger cho PostgreSQL bằng ngôn ngữ C
- Cách sử dụng trigger đƣợc viết bằng ngôn ngữ C trên
PostgreSQL
- Các thuật toán CNGT cho KNT trên PostgreSQL
- Thuật toán CNGT KNT hỗ trợ truy vấn lồng
4. Phƣơng pháp nghiên cứu
Về phƣơng ph p nghi n cứu, tơi sử dụng h i phƣơng ph p
chính là nghiên cứu lý thuyết và nghiên cứu th c nghiệm.
5. Ý nghĩa khoa học và thực tiễn của đề tài
Đề tài c ý nghĩ kho học vô cùng to lớn, đ ng g p th m
phƣơng ph p ứng dụng khung nhìn th c để xây d ng hệ thơng thơng
tin quản lý, nguyên cứu và đề xuất đề tài d a trên lý thuyết đ nghi n
cứu, tiến hành xây d ng chƣơng trình sinh t động mã các trigger


3
th c hiện cập nhật gi tăng khung nhìn th c với truy vấn lồng trong
hệ cơ sở dữ liệu PostgreSQL; thử nghiệm tr n m y đơn và đ nh gi
tốc độ cập nhật dữ liệu trên các bảng gốc (BG) có trigger cập nhật
KNT.
Đề tài sẽ chọn đƣợc thuật tốn phù hợp, có hỗ trợ CNGT cho
các KNT sử dụng truy vấn lồng.
Đề tài sẽ x y d ng đƣợc phƣơng ph p viết trigger bằng ng n

ngữ C, c ch thức bi n dịch và sử dụng hệ thống trigger đ đƣợc tạo
để CNGT c c KNT c hỗ trợ truy vấn lồng, c thể ứng dụng vào c c
CSD hiện c .
6. Cấu trúc luận văn
Luận văn gồm có 04 phần cụ thể nhƣ s u:
CHƢƠNG 1: NGHIÊN CỨU TỔNG QUAN
CHƢƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG
TIN QUẢN LÝ
CHƢƠNG 3:CÀI ĐẶT HỆ THỐNG THÔNG TIN QUẢN LÝ
TẠI SỞ GIÁO DỤC VÀ THỂ THAO TỈNH SARAVANH (LÀO)
CHƢƠNG 1
NGHIÊN CỨU TỔNG QUAN
1.1. Những vấn đề chung về quản lý nhân sự
1.1.1. Khái niệm về quản lý nhân sự
Ngày nay, khi nhân loại bƣớc vào nền kinh tế tri thức, ngƣời ta
bắt đầu nói nhiều đến nguồn l c con ngƣời – yếu tố cơ bản để phát
triển xã hội, tăng trƣởng kinh tế thì đối với các nhà quản lý ở mọi
lĩnh v c, vấn đề quản lý nhân s đƣợc đặt l n hàng đầu. Khi ngƣời ta
n i đến một tổ chức, một đơn vị làm ăn thất bại, thua lỗ, khơng phải
vì thiếu vốn, thiếu trang thiết bị, thiếu cơ sở vật chất, mặt bằng … mà
ngƣời t nghĩ ng y đến ngƣời l nh đạo, th trƣởng c a đơn vị đ
kh ng đ năng l c điều hành công việc, thiếu trang bị về kiến thức
quản lý nhân s hoặc thiếu kinh nghiệm trong chiến lƣợc con ngƣời.
Phân tích về những thành công c a nền kinh tế Nhật Bản qua
nhiều năm cho thấy rằng, sở dĩ đƣ lại S thần kỳ kinh tế Nhật Bản”
có nhiều nguy n nh n, nhƣng nguy n nh n nổi bật nhất là chiến lƣợc


4
con ngƣời và chính sách nhân s c a họ.

Vậy quản lý nhân s là gì? Ta hiểu thế nào về quản lý nhân s ?
Một nhà quản lý kinh tế t ng n i Học vấn kinh do nh cơ bản c a
tơi kh ng ngồi b điều: đ là về con ngƣời, tài chính và cơng việc”.
Qu đ mới thấy ngày nay muốn làm đƣợc việc vĩ đại h y thành đạt
thì cần phải biết sử dụng nhân tài, phải biết khai thác các nguồn nhân
l c và phối hợp s hoạt động c con ngƣời trong sản xuất, kinh
do nh, trong nhà trƣờng, trong tổ chức.Yếu tố hạn chế trong hầu hết
mọi trƣờng hợp quản lý kém hiệu quả chính là s thiếu thốn về chất
lƣợng và sức mạnh c a nhà quản lý, không biết cách khai thác các
nguồn l c và s lãng phí khơng thể tƣởng tƣợng đƣợc về các nguồn
nhân l c và vật l c. Đặc biệt trong nhà trƣờng, nguồn vật l c chỉ
đ ng v i trò thứ yếu, nguồn l c chính và quan trọng nhất là nguồn
nhân l c - đội ng c n bộ, giáo viên, công nhân viên. Cần khai thác,
sử dụng, quản lý nguồn nhân l c này nhƣ thế nào để đạt hiệu quả cao
nhất? Đ là c u hỏi mà các hiệu trƣởng, các nhà quản lý giáo dục cần
phải trả lời.
1.1.2. Tầm quan trọng của công tác quản lý nhân sự
Trong mỗi tổ chức giáo dục, mỗi nhà trƣờng, nhân s ch yếu
là đội ng gi o vi n. Đ y là l c lƣợng nịng cốt có vai trị vơ cùng
quan trọng, ảnh hƣởng lớn đến chất lƣợng giáo dục, nhƣ tiến sĩ R j
Roy Singh (Ấn Độ đ đƣ r nhận xét: Kh ng một hệ thống giáo
dục nào có thể vƣơn c o qu tầm những giáo viên làm việc cho n ”.
(Nền giáo dục cho thế kỷ XXI. Những triển vọng c a châu Á – Thái
Bình Dƣơng, Viện KHGDVN, Hà Nội 1994, tr 115).
Nhiệm vụ c a ngành giáo dục là đào tạo l c lƣợng l o động có
phẩm chất tốt, c trình độ văn h , kỹ thuật, có tay nghề… phục vụ
cơng nghiệp hóa, hiện đại h đất nƣớc. Vì vậy nhà trƣờng cần phải có
đội ng gi o vi n đ về số lƣợng, đạt chuẩn về chất lƣợng để đào tạo
nguồn nhân l c đ p ứng yêu cầu c a s phát triển kinh tế – xã hội.
Nghiên cứu quản lý nhân s giúp các nhà quản lý nắm đƣợc

cách giao tiếp có hiệu quả với ngƣời khác, biết tìm ra ngôn ngữ
chung với cấp dƣới, nhạy cảm hơn, biết đ nh gi cấp dƣới một cách
tốt nhất, biết cách lôi cuốn cấp dƣới say mê với công việc… và tr nh
đƣợc những sai lầm trong việc tuyển chọn và sử dụng l o động, tạo


5
đƣợc bầu khơng khí tốt đẹp trong tập thể, nâng cao chất lƣợng công
việc, nâng cao hiệu quả c nhà trƣờng.
Nhà tƣơng l i học nổi tiếng ngƣời Mỹ Alvin Toffler cho rằng
trên thế giới có ba loại sức mạnh: sức mạnh c a bạo l c, sức mạnh
c a c a cải và sức mạnh c a tri thức.
Sức mạnh c a bạo l c thể hiện ở sức mạnh hùng hậu c v
khí, c a những đội qu n đ ng đảo đƣợc trang bị, huấn luyện tốt… đ
phát huy tác dụng trong suốt nhiều thế kỷ c a lịch sử nhân loại…
Nhƣng ngày n y n đ t ph t huy t c dụng. Bởi bạo l c sẽ đƣợc đ p
lại bằng bạo l c. Hiện n y con ngƣời đ c trong t y những sức mạnh
cần thiết đ để ngăn chặn bạo l c phát triển.
Sức mạnh thứ hai thể hiện ở những khối tiền c a to lớn có thể
mu đƣợc tất cả những c ng ty đồ sộ, hay những hầm mỏ, những
nguồn tài nguyên thiên nhiên qúi hiếm. Nhƣng s mua bán này chỉ có
ý nghĩ khi n đƣợc sử dụng có hiệu quả cao, mà muốn th c hiện
đƣợc điều này thì phải cần đến tri thức khoa học kỹ thuật. Ơng kết
luận: Về lâu dài, máy móc c a cơng ty khơng cịn là quan trọng, cái
quan trọng th c s là năng l c nghiệp vụ, năng l c tổ chức các cấp
nghiệp vụ và những sáng kiến ẩn dấu trong vỏ não c a các nhân viên
c ng ty”
Giải thƣởng Nobel về kinh tế năm 1992 đƣợc trao cho GS.TS
Gary Backer bởi cơng trình khoa học mang tính lý thuyết về Vốn
con ngƣời” The Hum n c pit l . Theo ng, nếu đầu tƣ chi tiền lâu

dài vào một cá nhân hay một nhóm thì có thể n ng c o đƣợc năng l c
hoạt động c đối tƣợng. Ông đề nghị là: C c c ng ty n n t nh to n,
phân chia hợp lý cho chăm lo sức khỏe, n ng c o trình độ ngƣời lao
động để đạt năng suất cao nhất. Chi phí cho giáo dục – đào tạo, chăm
lo sức khỏe nhân viên phải đƣợc xem nhƣ một hình thức đầu tƣ…”
S thành công c a nền kinh tế Nhật Bản thể hiện s nhạy bén, sớm
du nhập những tinh hoa c văn minh phƣơng T y để kết hợp với
những tinh túy c a nền văn minh phƣơng Đ ng và tạo nên những nét
đặc thù riêng c a dân tộc Nhật Bản. Trên bình diện quản lý học và cụ
thể là quản lý nhân s , ngƣời Nhật đ đạt đƣợc những bƣớc tiến vƣợt
bậc do họ đ tiếp thu kỹ thuật quản lý phƣơng T y một cách có chọn
lọc và cải tiến cho phù hợp với những nét đặc thù c văn h Nhật


6
trong điều kiện t nhiên khá khắc nghiệt. Họ đ biết đặt vấn đề con
ngƣời” vào đúng trung t m c a s chú ý và bằng các triết lý nhân s
mang tính dân tộc, s u đ là các chính sách, biện pháp cụ thể tác
động mạnh mẽ đến đội ng những ngƣời l o động, tạo n n th i độ
tích c c c a họ đối với sản xuất, đối với công ty, tạo ra một đội ng
những ngƣời sống – chết” với cơng ty, hết lịng vì s thành cơng c a
cơng ty.
S thành cơng trong chiến lƣợc con ngƣời c a các công ty
Nhật Bản là một kinh nghiệm qúi báu về chính sách sử dụng, đối
nhân xử thế khéo léo c a các nhà quản lý: sử dụng con ngƣời đúng
khả năng c a họ, đúng nơi cần họ; đồng thời qu n t m đến cuộc sống
sinh hoạt nhiều mặt c a họ và gi đình họ, tạo s gắn b ngƣời lao
động với đơn vị bằng th c tế. Không ng ng bồi dƣỡng vốn con ngƣời
c đơn vị, tạo điều kiện cho họ ph t huy tài năng, tr s ng tạo phục
vụ cho s phát triển c đơn vị, phục vụ chính bản thân họ, tạo cơ hội

cho họ thăng tiến trong nghề nghiệp.
1.2. Tổng quan về khung nhìn thực
1.2.1. Khái niệm
Khung nhìn th c (KNT) là một kỹ thuật giúp cải thiện và nâng
cao tốc độ th c thi đối với các truy vấn phức tạp, có tần suất sử dụng
cao trên một lƣợng dữ liệu lớn. Ý tƣởng c a KNT là d a trên các
bảng kết quả sẵn c để trả lời truy vấn một cách nhanh chóng mà
khơng cần th c thi lại truy vấn. Đối với những truy vấn phức tạp bao
gồm nhiều phép nối và các hàm thống kê, hiệu quả sử dụng KNT
càng rõ rệt, đặc biệt khi áp dụng trên một lƣợng dữ liệu đ lớn, do đ
bỏ qu c c bƣớc th c thi phép nối và các hàm thống kê vốn là những
thành phần chiếm nhiều chi phí trong quá trình th c thi truy vấn. Đến
nay, kỹ thuật KNT đ đƣợc triển khai trên các hệ quản trị cơ sở dữ
liệu HTQCSD thƣơng mại lớn nhƣ Or cle, Microsoft SQ Server,
IBM DB2,… và ngày càng đƣợc ứng dụng rộng rãi.
Một khung nhìn view c thể đƣợc xem nhƣ là một bảng ảo”
trong cơ sở dữ liệu c nội dung đƣợc định nghĩ th ng qu một truy
vấn c u lệnh SE ECT . Điểm kh c biệt giữ khung nhìn và bảng là
khung nhìn kh ng đƣợc xem là một cấu trúc lƣu trữ dữ liệu tồn tại
trong cơ sở dữ liệu. Th c chất dữ liệu qu n s t đƣợc trong khung


7
nhìn đƣợc lấy t c c bảng th ng qu c u lệnh truy vấn dữ liệu.
Ví dụ:
Khung nhìn th c DSNV đƣợc m tả nhƣ s u:
CREATE VIEW DSNV(manv,hodem,ten,tuoi,tenPB) AS
SELECT masv, hodem, ten,DATEDIFF(YY, ngaysinh,
GETDATE()), tenpb
FROM nhanvien, pban

WHERE nhanvien.mapb = lop.mapb
Khi khung nhìn đ đƣợc định nghĩ , t c thể sử dụng c u lệnh
SE ECT để truy vấn dữ liệu t khung nhìn nhƣ đối với c c bảng. Khi
trong c u truy vấn xuất hiện khung nhìn, hệ quản trị CSD sẽ d
vào định nghĩ c khung nhìn để chuyển y u cầu truy vấn dữ liệu
li n qu n đến khung nhìn và việc truy vấn dữ liệu đƣợc th c hiện bởi
y u cầu tƣơng đƣơng tr n c c bảng.
Việc sử dụng khung nhìn trong cơ sở dữ liệu đem lại c c lợi
ch s u đ y: bảo mật dữ liệu, đơn giản ho c c th o t c truy vấn dữ
liệu, tập trung và đơn giản hoà dữ liệu, độc lập dữ liệu.
Tuy nhi n, việc sử dụng khung nhìn c ng tồn tại một số nhƣợc
điểm:
- Do hệ quản trị cơ sở dữ liệu th c hiện việc chuyển đổi c c
truy vấn tr n khung nhìn thành những truy vấn tr n c c bảng cơ sở
n n nếu một khung nhìn đƣợc định nghĩ bởi một truy vấn phức tạp
thì sẽ dẫn đến chi ph về mặt thời gi n khi th c hiện truy vấn li n
qu n đến khung nhìn sẽ lớn.
- Mặc dù th ng qu khung nhìn c thể th c hiện đƣợc th o t c
bổ sung và cập nhật dữ liệu cho bảng cơ sở nhƣng chỉ hạn chế đối với
những khung nhìn đơn giản. Đối với những khung nhìn phức tạp thì
thƣờng kh ng th c hiện đƣợc; h y n i c ch kh c là dữ liệu trong
khung nhìn là chỉ đọc.
Một khung nhìn c thể đƣợc cụ thể h bằng c ch lƣu trữ c c
bộ dữ liệu c c c khung nhìn trong cơ sở dữ liệu, đƣợc gọi là khung
nhìn thực. KNT là hiện th n t nhi n c ý tƣởng t nh to n lại và bộ
nhớ đệm trong cơ sở dữ liệu. Th y vì t nh to n một truy vấn t đầu t
dữ liệu cơ bản, hệ thống cơ sở dữ liệu c thể sử dụng kết quả đ đƣợc
t nh to n, lƣu trữ và duy trì.



8
Giống nhƣ một bộ nhớ c che bộ nhớ đệm – nơi lƣu trữ c c dữ
liệu nằm chờ c c ứng dụng h y phần cứng xử lý , một KNT cung cấp
truy cập dữ liệu nh nh; s kh c biệt tốc độ c thể là rất qu n trọng
trong c c ứng dụng mà tốc độ truy vấn c o và khung nhìn rất phức
tạp rằng n kh ng thể t nh to n lại khung nhìn cho mỗi lần truy vấn.
KNT là hữu ch trong c c ứng dụng nhƣ kho dữ liệu, m y ch s o
chép, bi n ni n sử hoặc c c hệ thống ghi dữ liệu, tr c qu n dữ liệu và
hệ thống điện thoại di động. Kiểm tr t nh ràng buộc toàn vẹn và tối
ƣu h truy vấn c ng c thể đƣợc lợi ch t KNT.
Tuy nhi n, việc sử dụng KNT c ng c những nhƣợc điểm; đ
là: KNT làm ti u tốn kh ng gi n lƣu trữ và phải đƣợc cập nhật khi
c c bảng chi tiết cơ bản đƣợc sử đổi.
1.2.2. Phân loại
Ta có ba loại khung nhìn cơ bản nhƣ s u:
- Standard View: View đƣợc tạo bao gồm các cột là các cột
c a các bảng hoặc các view khác,
- Indexed View: View đƣợc tạo và đƣợc đặt chỉ mục Unique
Clustered Index.
- Partitioned View: View đƣợc tạo bao gồm các dữ liệu đƣợc
phân cụm ngang t một hoặc nhiều bảng.
1.3. Tổng quan về cập nhật gia tăng, đồng bộ khung nhìn
thực
Bạn đ biết đầu ra c a câu lệnh SELECT là một tập kết quả thể
hiện dƣới dạng một bảng ảo, bạn có thể lƣu trữ bảng ảo bằng cách sử
dụng View (Khung nhìn). Những bảng t đ khung nhìn đƣợc tạo
đƣợc gọi là bảng co sở. Những bảng cơ sở này lại có thể là thuộc về
cơ sỡ dữ liệu khác nhau. Mỗi View có thể có tối đ 1024 cột và
những hàng và cột c View đƣợc sinh ra ở một dạng động khi View
đƣợc tham chiếu.

View chỉ áp dụng cho câu lệnh SELECT, các cột c a View
c ng có thể đƣợc lấy t các cột c a View khác.
Bạn có thể có những th o t c tr n View tƣợng t trên bảng
nhƣ SE ECT, INSERT, UPDATE, DE ETE.
1.3.1. Tổng quan về cập nhật gia tăng
Một View Khung nhìn c thể đƣợc xem nhƣ là một bảng ảo


9
trong CSD c nội dung đƣợc định nghĩ th ng qu một c u lệnh
truy vấn SE ECT .
– Nhƣ vậy, một View tr ng giống nhƣ một T ble bảng với
một t n khung nhìn và một tập c c dòng, cột. Điểm kh c biệt giữ
View và T ble là: View kh ng đƣợc xem là một cấu trúc lƣu trữ dữ
liệu tồn tại trong CSDL.
– Lợi ch c việc sử dụng View trong CSD :
+Bảo mật dữ liệu: Ngƣời sử dụng đƣợc cấp ph t quyền tr n
c c View với những phần dữ liệu mà ngƣời sử dụng đƣợc phép ->
Hạn chế việc ngƣời sử dụng truy cập tr c tiếp dữ liệu.
+ Đơn giản h c c th o t c truy vấn dữ liệu: Một View đ ng
v i trò nhƣ một đối tƣợng tập hợp dữ liệu t nhiều bảng kh c nh u
vào trong một bảng -> Ngƣời sử dụng c thể th c hiện c c y u cầu
truy vấn dữ liệu một c ch đơn giản t View th y vì phải đƣ r
những c u truy vấn phức tạp.
+ Tập trung và đơn giản h dữ liệu: Th ng qu View t c
thể cung cấp cho ngƣời dùng những cấu trúc đơn giản, dễ hiểu về dữ
liệu đồng thời giúp cho ngƣời dùng tập trung hơn tr n những phần dữ
liệu cần thiết.
+ Độc lập dữ liệu: Một View c thể cho phép ngƣời dùng c
đƣợc c i nhìn về dữ liệu độc lập với cấu trúc c c c bảng trong

CSD cho dù c c bảng cơ sở c bị th y đổi phần nào về cấu trúc.
– Một số nhƣợc điểm c việc sử dụng View:
+ Do hệ quản trị CSD th c hiện chuyển đổi c c truy vấn tr n
View thành những truy vấn tr n c c bảng cơ sở n n nếu một View
đƣợc định nghĩ bởi một truy vấn phức tạp thì sẽ dẫn đến chi ph về
mặt thời gi n khi th c hiện truy vấn li n qu n đến View lớn.
+ Mặc dù th ng qu View c thể th c hiện đƣợc c c th o t c
bổ sung và cập nhật dữ liệu cho bảng cơ sở nhƣng chỉ hạn chế đối với
những View đơn giản. Đối với c c View phức tạp thì thƣờng kh ng
th c hiện đƣợc, h y n i c ch kh c dữ liệu trong View chỉ là đọc.
1.4. Tổng quan về cập nhật gia tăng, đồng bộ khung nhìn
thực
Bạn đ biết đầu ra c a câu lệnh SELECT là một tập kết quả thể
hiện dƣới dạng một bảng ảo, bạn có thể lƣu trữ bảng ảo bằng cách sử


10
dụng View (Khung nhìn). Những bảng t đ khung nhìn đƣợc tạo
đƣợc gọi là bảng co sở. Những bảng cơ sở này lại có thể là thuộc về
cơ sỡ dữ liệu khác nhau. Mỗi View có thể có tối đ 1024 cột và
những hàng và cột c View đƣợc sinh ra ở một dạng động khi View
đƣợc tham chiếu.
View chỉ áp dụng cho câu lệnh SELECT, các cột c a View
c ng c thể đƣợc lấy t các cột c a View khác.
Bạn có thể có những th o t c tr n View tƣợng t trên bảng
nhƣ SE ECT, INSERT, UPDATE, DE ETE.
1.4.1. Tổng quan về cập nhật gia tăng
Một View Khung nhìn c thể đƣợc xem nhƣ là một bảng ảo
trong CSD c nội dung đƣợc định nghĩ th ng qu một c u lệnh
truy vấn SE ECT .

– Nhƣ vậy, một View tr ng giống nhƣ một T ble bảng với
một t n khung nhìn và một tập c c dòng, cột. Điểm kh c biệt giữ
View và T ble là: View kh ng đƣợc xem là một cấu trúc lƣu trữ dữ
liệu tồn tại trong CSD .
– ợi ch c việc sử dụng View trong CSD :
+ Bảo mật dữ liệu: Ngƣời sử dụng đƣợc cấp ph t quyền tr n
c c View với những phần dữ liệu mà ngƣời sử dụng đƣợc phép ->
Hạn chế việc ngƣời sử dụng truy cập tr c tiếp dữ liệu.
+ Đơn giản h c c th o t c truy vấn dữ liệu: Một View đ ng
v i trò nhƣ một đối tƣợng tập hợp dữ liệu t nhiều bảng kh c nh u
vào trong một bảng -> Ngƣời sử dụng c thể th c hiện c c y u cầu
truy vấn dữ liệu một c ch đơn giản t View th y vì phải đƣ r
những c u truy vấn phức tạp.
+ Tập trung và đơn giản h dữ liệu: Th ng qu View t c
thể cung cấp cho ngƣời dùng những cấu trúc đơn giản, dễ hiểu về dữ
liệu đồng thời giúp cho ngƣời dùng tập trung hơn tr n những phần dữ
liệu cần thiết.
+ Độc lập dữ liệu: Một View c thể cho phép ngƣời dùng có
đƣợc c i nhìn về dữ liệu độc lập với cấu trúc c c c bảng trong
CSD cho dù c c bảng cơ sở c bị th y đổi phần nào về cấu trúc.
– Một số nhƣợc điểm c việc sử dụng View:
+ Do hệ quản trị CSD th c hiện chuyển đổi c c truy vấn tr n


11
View thành những truy vấn tr n c c bảng cơ sở n n nếu một View
đƣợc định nghĩ bởi một truy vấn phức tạp thì sẽ dẫn đến chi ph về
mặt thời gi n khi th c hiện truy vấn li n qu n đến View lớn.
+ Mặc dù th ng qu View c thể th c hiện đƣợc c c th o t c
bổ sung và cập nhật dữ liệu cho bảng cơ sở nhƣng chỉ hạn chế đối với

những View đơn giản. Đối với c c View phức tạp thì thƣờng kh ng
th c hiện đƣợc, h y n i c ch kh c dữ liệu trong View chỉ là đọc.
1.4.2. Cập nhập đồng bộ khung nhìn thực
Đối với một số khung nhìn, t c thể tiến hành th c hiện c c
th o t c cập nhập,bổ sung và xo dữ liệu. Th c chất, những th o t c
này sẽ đƣợc chuyển thành những th o t c tƣơng t tr n c c bảng cơ
sở và c t c động đến những bảng cơ sở.
Về mặt lý thuyết, để c thể th c hiện th o t c bổ sung, cập
nhật và xo , một khung nhìn trƣớc ti n phải thoả m n c c điều kiện
s u đ y:
• Trong c u lệnh SE ECT định nghĩ khung nhìn kh ng đƣợc
sử dụng t kho DISTINCT, TOP, GROUP BY và UNION.
• C c thành phần xuất hiện trong d nh s ch chọn c c u lệnh
SELECT phải
là c c cột trong c c bảng cơ sở. Trong d nh s ch chọn kh ng
đƣợc chứ c c biểu thức t nh to n, c c hàm gộp.
Qu n điểm c thể đƣợc cập nhật dƣới c c điều kiện nhất định
đƣợc đƣ r dƣới đ y:
 Mệnh đề SE ECT kh ng đƣợc chứ t kho DISTINCT.
 Mệnh đề SE ECT kh ng đƣợc chứ c c hàm t m tắt.
 Mệnh đề SE ECT c thể kh ng chứ c c hàm thiết lập.
 Mệnh đề SE ECT kh ng đƣợc chứ c c to n tử đƣợc đặt.
 Mệnh đề SE ECT kh ng đƣợc chứ mệnh đề ORDER BY.
 Mệnh đề FROM kh ng đƣợc chứ nhiều bảng.
 Mệnh đề WHERE kh ng đƣợc chứ c c truy vấn phụ.
 Truy vấn c thể kh ng chứ GROUP BY hoặc HAVING.
 C c cột đƣợc t nh c thể kh ng đƣợc cập nhật.
 \Tất cả c c cột NOT NU t bảng cơ sở phải đƣợc b o gồm
trong view để truy vấn INSERT hoạt động.



12
1.5. Cập nhật khung nhìn thực bằng Trigger trên C trong
PostgreSql
1.5.1. Khái niệm về Trigger
Trigger có thể đƣợc xem là một dạng đặc biệt c a th tục nội
tại, bởi vì bên trong nội dung c trigger lƣu trữ các câu lệnh dùng để
th c hiện một số hành động nào đ mà ngƣời lập trình sẽ chỉ ra. Tuy
nhiên khác với th tục nội tại, trigger hồn tồn khơng có tham số.
Ngồi ra chúng ta khơng thể gọi th c hiện tr c tiếp trigger
bằng lệnh EXECUTE nhƣ th tục nội tại hoặc bằng bất kỳ một lệnh
nào kh c, th y vào đ trigger sẽ đƣợc th c hiện một cách t động khi
dữ liệu c a bảng c li n qu n đến trigger bị cập nhật..
1.5.2. Trigger trên các HQT CSDL
Để tạo một Trigger, bạn sử dụng c u lệnh CREATE
TRIGGER:
CREATE TRIGGER trigger_name trigger_time trigger_event
ON table_name
FOR EACH ROW
BEGIN
...
END;
Trong đ :
 Một Trigger đƣợc khởi tạo s u c u lệnh CREATE
TRIGGER. Quy tắc đặt t n n n tu n theo nguy n tắc: [trigger
time]_[t ble n me]_[trigger event], v dụ before_employees_update.
 Thời gi n k ch hoạt : BEFORE hoặc AFTER. Cần phải chỉ
định thời gi n k ch hoạc khi bạn x c định đƣợc tiến trình k ch hoạt
c n . Sử dụng t kh BEFORE nếu bạn muốn xử lýhành động
trƣớc khi th c hiện th y đổi tr n bản và AFTER nếu bạn cần phải xử

lý hành động s u khi th y đổi đƣợc th c hiện xong.
 S kiện g y r c thể là INSERT, UPDATE, DELETE.
 Trình k ch hoạt phải đƣợc li n kết với một bảng cụ thể, sử
dụng t kh ON để x c định.
 C u lệnh SQ phải đƣợc đặt giữ t kh BEGIN và END.


13
1.5.3. Trigger trong PostgreSQL
Để tạo một Trigger, bạn sử dụng c u lệnh CREATE
TRIGGER:
CREATE [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER |
INSTEAD OF } { event [ OR ... ] }
ON table
[ FROM referenced_table_name ]
[ NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY
IMMEDIATE | INITIALLY DEFERRED } ]
[ FOR [ EACH ] { ROW | STATEMENT } ]
[ WHEN ( condition ) ]
EXECUTE PROCEDURE function_name ( arguments )
where event can be one of:
INSERT
UPDATE [ OF column_name [, ... ] ]
DELETE
TRUNCATE

Hình 1.1. Trigger trong PostgreSQL
Trigger sẽ đƣợc liên kết với bảng hoặc khung đƣợc chỉ định và
sẽ th c hiện chức năng function_n me đƣợc chỉ định khi xảy ra các
s kiện nhất định.

Trigger có thể đƣợc chỉ định để kích hoạt trƣớc khi thao tác
đƣợc th c hiện trên một hàng trƣớc khi kiểm tra các ràng buộc và
INSERT, UPDATE, hoặc DE ETE đƣợc cố gắng); hoặc sau khi hoạt
động đ hoàn thành s u khi c c ràng buộc đƣợc kiểm tra và
INSERT, UPDATE, hoặc DE ETE đ hồn thành ; hoặc thay vì hoạt
động trong trƣờng hợp chèn, cập nhật hoặc xóa trên một lần xem).
Nếu Trigger kích hoạt trƣớc hoặc thay vì s kiện, Trigger có thể bỏ
qua hoạt động cho hàng hiện tại hoặc th y đổi hàng đ ng đƣợc chèn
(chỉ dành cho thao tác INSERT và UPDATE). Nếu Trigger kích hoạt
sau s kiện, tất cả c c th y đổi, bao gồm các hiệu ứng c a các trình


14
kích hoạt khác, là "hiển thị" với Trigger.
Một trigger đƣợc đ nh dấu FOR EACH ROW đƣợc gọi là một
lần cho mỗi hàng mà thao tác sử đổi. Ví dụ, một DELETE ảnh
hƣởng đến 10 hàng sẽ gây ra bất kỳ ON DELETE kích hoạt trên quan
hệ đ ch đƣợc gọi là 10 lần riêng biệt, một lần cho mỗi hàng đ x .
Ngƣợc lại, một trigger đƣợc đ nh dấu FOR EACH STATEMENT chỉ
đƣợc th c hiện một lần cho bất kỳ hoạt động nào, bất kể có bao nhiêu
hàng nó sử đổi đặc biệt, một thao tác sử đổi các hàng không sẽ
vẫn dẫn đến việc th c hiện bất kỳ áp l c nào đối với mỗi BỘ
TRƢỞNG BẢO TỒN) .
Trigger hoạt đƣợc chỉ định để kích hoạt INSTEAD OF s kiện
kích hoạt phải đƣợc đ nh dấu FOR EACH ROW và chỉ có thể đƣợc
định nghĩ tr n chế độ xem. TRƢỚC và sau khi Trigger trên chế độ
xem phải đƣợc đ nh dấu là FOR EACH STATEMENT.
1.5.4. Ví dụ tạo Trigger trên C trong PostgreSQL
Ví dụ 1:
CREATE TRIGGER CheckDiscountUpd

ON Products
FOR UPDATE AS
IF (SELECT discount FROM inserted) > (select max(Maxdisc)
from discounts)
BEGIN
PRINT ‘You c nnot ssign
discount gre ter th n m x
llowed discount’
ROLLBACK TRANSACTION
END
Giải thích ví dụ:
Giả sử ràng, bảng Products c trƣờng discount, khi cập nhật
gi trị discount thì hệ thống kiểm tr xem gi trị discount c nằm
trong phạm vi cho phép h y kh ng? Nếu vƣợt qu thì h y việc th y
đổi đ .


15
CHƢƠNG 2
PHÂN TÍCH THIẾT KẾ HỆ THỐNG THƠNG TIN QUẢN Ý
2.1. Tổng quan về hệ thống thông tin quản lý
Quản lý nh n s ch nh là việc th c hiện chức năng tổ chức c
quản trị căn bản, b o gồm c c nội dung cơ bản s u đ y:
1. Hồ sơ nh n vi n tr cứu th ng tin c nh n, vị tr c ng
việc, lƣơng, thƣởng, hợp đồng, đào tạo chuy n m n, nghiệp vụ n ng
c o, b o c o l nh đạo…
2. Tuyển dụng nh n vi n đăng ký tuyển dụng, th ng tin
tuyển dụng, tuyển dụng, đào tạo, sắp xếp vị tr c ng việc, b o c o,
thống k c c hồ sơ tuyển dụng,…
3. Tổ chức c c hoạt động, s kiện, đào tạo và n ng c o năng

l c chuy n m n cho nh n vi n th ng tin nh n vi n đƣợc đào tạo, hỗ
trợ kinh ph đào tạo, vị tr đào tạo, b o c o…
4. N ng c o hiệu quả sử dụng l o động th ng qu việc sử
dụng hệ thống quản lý nh n s
sắp xếp vị tr , n ng lƣơng, thƣởng,
đề nghị khen thƣởng…
5. Quản lý chấm c ng, nghỉ chế độ phép, ốm, th i sản , thời
gi n làm việc, đ nh gi mức độ hoàn thành c ng việc theo th ng,
năm…
2.1.1 Thực trạng
Việc th c hiện quản l nh n s bằng phƣơng ph p th c ng
xƣ n y ở Sở Gi o dục và Thể Th oS r v n vẫn còn nhiều kh khăn:
1. Số lƣợng nh n vi n làm việc hiện tại là hàng trăm ngƣời và
con số này tăng nh nh theo mỗi năm.
2. Số lƣợng c c giấy tờ, hồ sơ, văn bản, quyết định ban hành
mỗi ngày là lớn nhƣng vẫn còn thiếu t nh đồng bộ với nh u thất lạc,
lỗi đ nh m y,…
3. Kh khăn trong việc tìm kiếm, tr cứu th ng tin hồ sơ nh n
vi n, th ng k c c hồ sơ xin việc, b o c o bảng t nh lƣơng, quản l
chấm c ng và c c chế độ.
4. Để vận hành bộ m y quản l nh n s c cần nhiều nh n l c,
thời gi n mà t nh ch nh x c lại kh ng đảm bảo.
2.1.2 Đề xuất


16
p dụng cơng nghệ thơng tin vào mơ hình quản lí nhân sự
của Sở, cụ thể:
1. X y d ng hệ thống cơ sở dữ liệu cho m hình quản l nh n
s c Sở phục vụ cho việc vận hành c c chức năng quản l ch nh

x c, dễ dàng.
2. Áp dụng KNT để tối ƣu h thời gi n truy cập c c truy vấn
nặng
3. X y d ng phần mềm, ứng dụng kh i th c cơ sở dữ liệu đ
có.
4. Tiến hành cài đặt, thử nghiệm, đào tạo , hƣớng dẫn sử dụng
hệ thống quản l mới đến c c phòng b n, nh n vi n t ng bƣớc chuyển
dịch m hình quản l nh n s .
2.2. Sơ đồ U
cơ sở dữ liệu
2.2.1 Mơ hình thực thể kết hợp
T những chức năng và y u cầu quản l nh n s c Sở, t x y
d ng m hình th c thể kết hợp nhƣ sau:

Hình 2.1. Sơ đồ thực thể kết hợp


17
2.2.2 Mơ hình CSDL hồn chỉnh:

Hình 2.2.

ơ hình cơ sở dữ liệu hoàn chỉnh 1


18
2.3. Thiết kế CSDL qua khung nhìn thực
Ta sử dụng KNT để tối ƣu 1 số truy vấn nặng, đƣợc gọi thƣờng
xuyên. Qua phân tích, ta cần xây d ng các KNT sau:
1. Khung nhìn thực(mv1)thơng tin các hồ sơ tuyển

dụng:join sẵn các bảng hồ sơ tuyển dụng, quốc tịch, tơn giáo, ngoai
ngữ, trình độ ngoại ngữ, tin học, vị trí tuyển dụng: phục vụ cho việc
thống kê, lọc những ứng viên tuyển dụng theo trình độ các cấp, đƣợc
sử dụng nhiều lần
2. Khung nhìn thực (mv2)Nhân viên- lƣơng: join sẵn các
bảng Nhân viên, hệ số lƣơng, bậc, ngạch, lƣơng nh n vi n: Tính
lƣơng, cập nhật hàng tháng cho tồn bộ nhân viên
CHƢƠNG 3
CÀI ĐẶT HỆ THỐNG THƠNG TIN QUẢN LÝ TẠI SỞ GIÁO
DỤC VÀ THỂ THAO TỈNH SARAVANH (LÀO)
3.1. Xây dựng trigger
T đ biết để c thể làm việc tr n khung nhìn th c th y cho c c
bảng gốc truyền thống, t cần đảm bảo việc đồng bộ dữ liệu giữ
khung nhìn th c và bảng gốc.
Ở đ y, t i x y d ng c c trigger viết bằng C cho c c bảng gốc
để th c hiện c c cập nhật s th y đổi l n khung nhìn th c 1 c ch
nhanh chóng.
Quy trình x y d ng 1 trigger:
1. Soạn thảo m nguồn C tr n Visu l Studio hoặc sử dụng Tool
sinh m nguồn t động [3]
2. ink m nguồn với c c file libr ry c postgre và bi n dịch
thành file .dll
3. Đặt file trigger .dll vào thƣ mục lib c HQT Postgre SQ
4. Cài đặt trigger l n c c bảng sử dụng cú ph p:
 Tạo hàm gọi trigger từ file dll đã biên dịch
Create function hamGoiTriggerTuDLL() returns trigger as
Tenfilebiendich.dll', 'TenHamXuLyTriggerVietTrongC' language
c strict;
-Trigger th c thi hàm v tạo khi c th y đổi l n bảng



19
Create trigger tenTrigger after delete/insert/update on
TenBang for each row execute procedure hamGoiTriggerTuDLL
();
3.2 Điều chỉnh mã nguồn hệ thống
C c th o t c thống k select với để xem th ng tin c c hồ sơ
tuyển dụng và truy xuất lƣơng nh n vi n sẽ đƣợc th c hiện tr n c c
khung nhìn th c mv1, mv2 th y vì th o t c join lại c c bảng.
3.3 Thực nghiệm và đánh giá
Th c hiện v dụ mv1 KNT thể hiện th ng tin c c hồ sơ tuyển
dụng
 Câu truy vấn gốc: iệt k m hồ sơ, họ t n, giới t nh,
T nh tuổi, D n tộc, quốc tịch, t n gi o, trình độ học vấn, ngoại ngữ,
tin học, và vị tr tuyển dụng
select mahs,hoten,gioitinh, date_part('year', CURRENT_DATE)date_part('year', ngaysinh) as
tuoi,dantoc.*,quoctich.*,tongiao.*,trinhdohocvan.*,ngoaingu.*,trinhd
ongoaingu.*,trinhdotinhoc.*,vitrituyendung.*
from hosotuyendung join dantoc on
hosotuyendung.dantoc=dantoc.madt
join quoctich on hosotuyendung.quoctich=quoctich.maqt
join tongiao on hosotuyendung.tongiao=tongiao.matg
join ngoaingu on hosotuyendung.ngoainguchinh=ngoaingu.mann
join trinhdohocvan on
hosotuyendung.td_hocvan=trinhdohocvan.matdhv
join trinhdongoaingu on
hosotuyendung.td_ngoaingu=trinhdongoaingu.matdnn
join trinhdotinhoc on hosotuyendung.td_tinhoc=trinhdotinhoc.matdth
join vitrituyendung on
hosotuyendung.vitrituyen=vitrituyendung.mavttd

group by mavttd,tenvttd,matdhv,tentdhv,mann,tennn,
tentdnn,matdnn,tentdnn,matdth,tentdth,madt,tendt,maqt,tenqt,mahs,h
oten,gioitinh,tentat,ngaysinh,matg,tentg
B1: Tạo khung nhìn th c với c c cột tƣơng ứng để chứ dữ liệu
create table mv1(


20
mahs character varying(150),
hoten character varying(150),
gioitinh int,
tuoi int,
madt character varying(150),
tendt character varying(150),
maqt character varying(150),
tenqt character varying(150),
matg character varying(150),
tentg character varying(150),
matdhv character varying(150),
tentdhv character varying(150),
mann character varying(150),
tennn character varying(150),
matdnn character varying(150),
tentdnn character varying(150),
matdth character varying(150),
tentdth character varying(150),
mavttd character varying(150),
tenvttd character varying(150),
tentat character varying(150)
)

B2:
Chèn dữ liệu vào KNT:
Insert into mv1 select…. C u truy vấn gốc
B3:TạomãNguồn C


21

Hình 3.1: Tạo mã Nguồn C
B4: Tạo trigger cho các bảng nguồn, sử dụng file dll đ bi n
dịch để xử lí

Hình 3.2: Tạo trigger cho các bảng nguồn
B5: Kiểm tra tính đúng đắn:
Chạy các update, delete lên bảng nguồn (quốc tịch, tơn giáo,
hồ sơ nh n vi n,… thì thu đƣợc bảng khung nhìn th c mv1 c ng cập


22
nhật theo chính xác.
B6: Kiểm tra hiệu năng:
Việc sử dụng câu lệnh truyền thống: tốn 186ms để th c hiện

Hình 3.3:Kiểm tra hiệu năng 1

Hình 3.4:Kiểm tra hiệu năng 2
Việc sử dụng mv2 tốn 35ms để th c hiện


23


Hình 3.5. Kiểm tra hiệu năng 3

Hình 3.6:Kiểm tra hiệu năng 4
Cấu hình test: Intel Petium G4600 4x 3.6Ghz, 8G ram, HDD
7200rpm (HQT PostgreSQL 10 64bit, 851 records data).


×