ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM ĐÀ NẴNG
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 O DỤC VÀ THỂ TH O
TỈNH S R V NH ÀO
LUẬN VĂN THẠC SĨ
HỆ THỐNG THÔNG TIN
Đà Nẵng, năm 2018
ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM ĐÀ NẴNG
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 O DỤC VÀ THỂ TH O
TỈNH S R V NH ÀO
Chuyên ngành: Hệ thống thông tin
Mã số: 848 04 01
LUẬN VĂN THẠC SĨ
Ngƣời hƣớng dẫn khoa học:
TS. Nguyễn Trần Quốc Vinh
Đà Nẵng, năm 2018
ii
MỤC LỤC
LỜI CAM ĐOAN ............................................................................................................. i
MỤC LỤC .......................................................................................................................ii
DANH MỤC CÁC TỪ VIẾT TẮT ................................................................................. v
DANH MỤC HÌNH VẼ ................................................................................................. vi
MỞ ĐẦU ......................................................................................................................... 1
1. Lý do chọn đề tài ................................................................................................ 1
3. Đối tượng và phạm vi nghiên cứu ...................................................................... 2
4. Phương pháp nghiên cứu .................................................................................... 2
5. Kết quả dự kiến ................................................................................................... 3
6. Bố cục của đề tài ................................................................................................. 3
CHƢƠNG 1. NGHIÊN CỨU TỔNG QUAN .............................................................. 4
1.1. Những vấn đề chung về quản lý nhân sự ............................................................. 4
1.1.1. Khái niệm về quản lý nhân sự ...................................................................... 4
1.1.2. Những vấn đề trong công tác quản lý nhân sự ............................................. 4
1.2. Tổng quan về khung nhìn thực ............................................................................. 4
1.2.1. Khái niệm ...................................................................................................... 4
1.2.2. Phân loại ....................................................................................................... 6
1.3. Tổng quan về cập nhật gia tăng, đồng bộ khung nhìn thực ............................... 7
1.4. Tổng quan về cập nhật gia tăng, đồng bộ khung nhìn thực ............................... 9
1.4.1. Tổng quan về cập nhật gia tăng .................................................................... 9
1.4.2. Cập nhập đồng bộ khung nhìn thực ............................................................ 10
1.5. Cập nhật khung nhìn thực bằng Trigger trên C trong PostgreSql ................. 11
1.5.1. Khái niệm về Trigger .................................................................................. 11
1.5.2. Trigger trên các HQT CSDL ...................................................................... 11
1.5.3. Trigger trong PostgreSQL .......................................................................... 12
1.5.4. Hàm Trigger trong C .................................................................................. 13
1.5.5. Ví dụ tạo Trigger trên C trong PostgreSQL................................................ 14
1.5.6. Ý nghĩa của việc sử dụng Trigger trong việc ứng dụng KNT .................... 15
CHƢƠNG 2. PHÂN TÍCH ỨNG DỤNG KNT VÀO HỆ THỐNG THÔNG TIN
QUẢN LÝ CỦA SỞ GD VÀ THỂ THAO TỈNH SARAVANH .............................. 16
2.1. Tổng quan về hệ thống thông tin quản lý ........................................................... 16
iii
2.1.1. Thực trạng ................................................................................................... 17
2.1.2. Đề xuất ........................................................................................................ 17
2.2. Sơ đồ UML cơ sở dữ liệu ..................................................................................... 18
2.2.1. Các mô hình Us cas ................................................................................. 18
2.2.2. Các sơ đồ hoạt động Activity iagram ................................................... 21
2.2.3. Các sơ đồ tuần tự S qu nc
iagram ...................................................... 23
2.3. Mô hình thực thể kết hợp .................................................................................... 28
2.4. Mô hình CSDL hoàn chỉnh .................................................................................. 29
2.5. C c thuộc t nh của c c thực thể .......................................................................... 30
2.6. Cơ sở dữ liệu ......................................................................................................... 32
2.6.1. ảng Nhân viên ........................................................................................... 32
2.6.2. ảng chức vụ .............................................................................................. 34
2.6.3. ảng Ph ng an .......................................................................................... 34
2.6.4. ảng ân tộc .............................................................................................. 34
2.6.5. ảng Hồ sơ tuyển dụng .............................................................................. 35
2.6.6. Bảng kết quả tuyển dụng ............................................................................ 37
2.6.7. Bảng trình độ ngoại ngữ ............................................................................. 37
2.6.8. Bảng quá trình tuyển dụng .......................................................................... 37
2.6.9. Bảng quá trình đào tạo ................................................................................ 38
2.6.10. Bảng quốc tịch .......................................................................................... 38
2.6.11. Bảng tôn giáo ............................................................................................ 38
2.6.12. Bảng trình độ học vấn ............................................................................... 38
2.6.13. Bảng trình độ tin học ................................................................................ 39
2.6.14. Bảng vị trị tuyển dụng .............................................................................. 39
2.6.15. Bảng lịch sử bạn thân................................................................................ 39
2.6.16. Bảng lương nhân viên ............................................................................... 39
2.6.17. Bảng ngạch ............................................................................................... 40
2.6.18. Bảng bậc ................................................................................................... 40
2.6.19. Bảng quá trình công tác ............................................................................ 41
2.6.20. Bảng quá trình kh n thưởng ..................................................................... 41
2.6.21. Bảng quá trình kỷ luật............................................................................... 41
2.6.22. Bảng quá trình thai sản ............................................................................. 42
2.6.23. Bảng tham gia lực lượng vũ trang ............................................................ 42
iv
2.6.24. Bảng tham gia hoạt động xã hội ............................................................... 43
2.6.25. Bảng hợp đồng lao động ........................................................................... 43
2.6.26. Bảng đánh cán ộ viện chức ..................................................................... 44
2.6.27. Bảng ngoại ngữ ......................................................................................... 44
2.6.28. Bảng công tác ngoại ngữ .......................................................................... 45
2.7. Thiết ế CSD qua hung nh n thực ................................................................. 45
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 SARAVAN (LÀO) ..................................................... 46
3.1 Xây dựng trigger .................................................................................................... 46
3.2. Điều chỉnh mã nguồn hệ thống ............................................................................ 46
3.3. Thực nghiệm và đ nh gi ..................................................................................... 46
KẾT LUẬN .................................................................................................................. 55
TÀI LIỆU THAM KHẢO
v
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt
Nội dung
KNT
Khung nhìn thực
CSDL
Cơ sở dữ liệu
UML
Unified Modeling Language
SQT
System Qualification Test
SQL
Structurce Query Language
BT
Bảng gốc
DSNV
Danh sách nhân viên
MANV
Mã nhân viên
MAPB
Mã phòng ban
MACV
Mã chức vụ
MADT
Mã nhân tộc
MAKQTD
Mã kết quả tuyển dụng
CNGT
Công nghệ giao thông
DSNV
Danh sách nhân viên
vi
DANH MỤC HÌNH VẼ
Số hiệu
Hình 1.1
Hình 2.1
Tên hình
Trigger trong PostgreSQL
Mô hình Us cas tổng quát của hệ thống
Hình 2.2
Mô hình Us cas tổng quát của Quản l nhân sự.
18
Hình 2.3
Mô hình Us cas tổng quát của Quản l lương
19
Hình 2.4
Hình 2.5
Hình 2.6
Mô hình Us cas Quản l người ng
Mô hình Us cas Quản l tiền lương chi tiết
Mô hình Us cas Quản l nhân viên chi tiết
19
20
20
Hình 2.7
Hình 2.8
Mô hình Us cas Quản l tuyển ụng
Mô hình Us cas Quản l hợp đồng lao động
21
21
Hình 2.9
Hình 2.10
Hình 2.11
Hình 2.12
Hình 2.13
Sơ đồ hoạt động Đăng nhập hệ thống
Sơ đồ hoạt động Đổi mật kh u người ng
Sơ đồ hoạt động t nh lương nhân viên
Sơ đồ hoạt động Thêm nhân viên
Sơ đồ tuần tự Quản l nhân viên
22
22
23
23
24
Hình 2.14
Hình 2.15
Sơ đồ tuần tự Quản l tuyển ụng
Sơ đồ tuần tự Quản l hợp đồng lao động.
25
26
Hình 2.16
Sơ đồ tuần tự Quản l tiền lương
27
Hình 2.17
Hình 2.18
Hình 3.1
Hình 3.2
Hình 3.3
Hình 3.4
Hình 3.5
Sơ đồ thực thể kết hợp
Mô hình cơ sở ữ liệu hoàn chỉnh 1
Tạo mã Nguồn C
Tạo trigg r cho các ảng nguồn
Tốc độ thực thi lệnh S l ct không ng KNT
Tốc độ thực thi lệnh S l ct có ng KNT
ng câu lệnh
28
29
48
49
50
51
52
ng câu lệnh trigg r
52
Hình 3.6
Hình 3.7
Hình 3.8
Hình 3.9
Hình 3.10
Tốc độ thực thi lệnh
trigger
Tốc độ thực thi lệnh
l t 1 row không
l t 1 row
Trang
12
18
Tốc độ thực thi lệnh up at 1 row không ng câu lệnh
trigger
Tốc độ thực thi lệnh up at 1 row có ng câu lệnh trigg r
Tốc độ thực thi lệnh up at 996 row không ng câu lệnh
trigger
Tốc độ thực thi lệnh up at 996 row có ng câu lệnh trigg r
53
53
53
54
1
MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay với sự phát triển không ngừng của xã hội tin học đã trở nên vô cùng
phổ biến và đã có những ước phát triển vượt bậc được thể hiện qua nhiều lĩnh vực
của đời sống xã hội. Tin học đã ầ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ủa con người. Ở các quốc gia phát triển hiệu quả do tin học hóa
đ m 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óa giáo ục…
Với số lượng nhân viên của sở Giáo dục và Thể thao tỉnh Saravan
à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ữa trong tương lai
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 gian 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 quá 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 an 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 đ m lại làm cho hiệu suất
công việc tăng cao trao đổi thông tin được diễn ra an 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 đ m lại. Vì thế mà việc tra cứu không còn phải
khó khăn phức tạp nữa vì hệ thống s thống kê quản l và chúng ta 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 cao
tính hiện đại hóa đượ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
2.1. Mục tiêu
- Nghiên cứu tổng quan về hệ thống thong tin quản lý.
2
- Nghiên cứu ứng dụng KNT để nâng cao hiệu suất hệ thống thong tin quản lý.
- Nghiên cứu cơ sở lý thuyết về cập nhật gia tăng đồng bộ KNT với truy vấn
lồng.
- Nghiên cứu tổng quan về trigger trên C trong PostgreSQL.
- Xây dựng CSDL qua khung nhìn thực.
2.2. Nhiệm vụ
- Tìm hiểu các
iên
ịch và sử
ụng trigg r viết
ằ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 gia tăng đồng ộ KNT với
truy vấn lồng.
- Khai thác các thuật toán CNGT KNT đã có để ứng ụng vào đề tài đặc iệ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
3.1. Đố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 toán CNGT KNT với truy vấn lồng
3.2. 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 trigg r đượ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 hai phương pháp ch nh là nghiên cứu
lý thuyết và nghiên cứu thực nghiệm.
3
4.1. Phƣơng ph p lý thuyết
Thu thập, chọn lọc, phân loại, ghi chú và nghiên cứu các tài liệu (sách, bài báo,
luận văn trang w
có liên quan đến khung nhìn thực, HQTCSDL PostgreSQL, cập
nhật gia tăng KNT đồng bộ KNT, sinh mã trigger trong ngôn ngữ C.
4.2. Phƣơng ph p thực nghiệm
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 thực hiện cập nhật gia 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.
5. Kết quả dự kiến
5.1. Lý thuyết
Đề tài s chọn được thuật toán ph hợp có hỗ trợ CNGT cho các KNT sử ụng
truy vấn trong hệ thống thông tin quản lý.
5.2. Thực tiễn
Đề tài s xây ựng được phương pháp viết trigg r ằng ngôn ngữ C cách thức
iên ịch và sử ụng hệ thống trigg r đã được tạo để CNGT các KNT có hỗ trợ truy
vấn lồng có thể ứng ụng vào các CS
hiện có.
6. Bố cục của đề tài
Ngoài phần mở đầu và kết luận, cấu trúc nội dung của luận văn ao gồm 3
chương
4
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 ướ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 là yếu tố cơ ả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 ta nghĩ
ngay đế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.
Vậy quản lý nhân sự là gì? Quản lý nhân sự là sự khai thác và sử dụng nguồn
nhân lực của một tổ chức hay một công ty một cách hợp lý và hiệu quả. Bao gồm các
nội ung cơ ản sau đây
Phân tích công việc
Tuyển dụng nhân viên
Đào tạo và nâng cao năng lực chuyên môn cho nhân viên
Nâng cao hiệu quả sử ung lao động thông qua việc sử dụng hệ thống kích
thích vật chất và tinh thần đối với nhân viên.
1.1.2. Những vấn đề trong công tác quản lý nhân sự
Quản lý nhân sự là công việc thực hiện trên 1 tập dữ liệu lớn được chia ra thực
hiện ở nhiều bộ phận khác nhau. Việc quản lý nhân sự thường gặp phải những vấn đề
sau:
Sai sót trong việc điều chỉnh, tìm kiếm dữ liệu
Mất nhiều thời gian để hoàn thành công việc do phải làm việc với 1 lượng lớn
dữ liệu
Dữ liệu không nhất quán giữa các bộ phận làm việc
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
5
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
o đã ỏ qua các ướ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
HTQCS
thương mại lớn như Oracl Microsoft SQ S rv r I M
2 … và
ngày càng được ứng dụng rộng rãi.
Một khung nhìn vi w có thể được x m như là một ảng ảo” trong cơ sở ữ
liệu có nội ung được định nghĩa thông qua một truy vấn câu lệnh SE ECT . Điểm
khác iệt giữa khung nhìn và ảng là khung nhìn không được x m là một cấu trúc lưu
trữ ữ liệu tồn tại trong cơ sở ữ liệu. Thực chất ữ liệu quan sát được trong khung
nhìn được lấy từ các ảng thông qua câu lệnh truy vấn ữ liệu.
V dụ:
Khung nhìn thực SNV được mô tả như sau
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ĩa ta có thể sử ụng câu lệnh SE ECT để
truy vấn ữ liệu từ khung nhìn như đối với các ảng. Khi trong câu truy vấn xuất hiện
khung nhìn hệ quản trị CS
s ựa vào định nghĩa của khung nhìn để chuyển yêu
cầu truy vấn ữ liệu liên quan đến khung nhìn và việc truy vấn ữ liệu được thực hiện
ởi yêu cầu tương đương trên các ảng.
Việc sử ụng khung nhìn trong cơ sở ữ liệu đ m lại các lợi ch sau đây ảo
mật ữ liệu đơn giản hoá các thao tác truy vấn ữ liệu tập trung và đơn giản hoà ữ
liệu độc lập ữ liệu.
Tuy nhiên việc sử ụng khung nhìn cũng tồn tại một số nhược điểm
- o hệ quản trị cơ sở ữ 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 ảng cơ sở nên nếu một khung nhìn được định
nghĩa ởi một truy vấn phức tạp thì s ẫn đến chi ph về mặt thời gian khi thực hiện
truy vấn liên quan đến khung nhìn s lớn.
- Mặc
thông qua khung nhìn có thể thực hiện được thao tác ổ sung và cập
nhật ữ liệu cho ả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; hay nói cách
khác là ữ liệu trong khung nhìn là chỉ đọc.
6
Một khung nhìn có thể được cụ thể hóa ằng cách lưu trữ các ộ ữ liệu của các
khung nhìn trong cơ sở ữ liệu được gọi là khung nhìn thực. KNT là hiện thân tự
nhiên của tưởng t nh toán lại và ộ nhớ đệm trong cơ sở ữ liệu. Thay vì t nh toán
một truy vấn từ đầu từ ữ liệu cơ ản hệ thống cơ sở ữ liệu có thể sử ụng kết quả đã
được t nh toán lưu trữ và uy trì.
Giống như một ộ nhớ cach
ộ nhớ đệm – nơi lưu trữ các ữ liệu nằm chờ các
ứng ụng hay phần cứng xử l một KNT cung cấp truy cập ữ liệu nhanh; sự khác
iệt tốc độ có thể là rất quan trọng trong các ứng ụng mà tốc độ truy vấn cao 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 ụng như kho ữ liệu máy chủ sao chép iên niên
sử hoặc các hệ thống ghi ữ liệu trực quan ữ liệu và hệ thống điện thoại i động.
Kiểm tra t nh ràng uộc toàn vẹn và tối ưu hóa truy vấn cũng có thể được lợi ch từ
KNT.
Tuy nhiên việc sử ụng KNT cũng có những nhược điểm; đó là KNT làm tiêu
tốn không gian lưu trữ và phải được cập nhật khi các ảng chi tiết cơ ản được sửa
đổi.
1.2.2. Phân loại
Phân loại khung nhìn thực th o một số loại [15] như sau
1.2.2.1. KNT bản sao (snapshot materialized view)
Mô tả KNT ản sao
- Chiến lược cập nhật: kiểu KNT được cập nhật th o yêu cầu
- Cài đặt: KNT ản sao được cài đặt khá ễ àng ằng cách gọi hàm sau
r fr sh_matvi w . Khi gọi hàm r fr sh_matvi w HQT CS
s tự động xóa
nội ung của KNT trước đó rồi thực hiện truy vấn khung nhìn và điền kết quả
vào lại KNT với nội ung hiện tại của khung nhìn đó.
1.2.2.2. KNT hăm hở (eager materialized view)
Mô tả KNT hăm hở
- Chiến lược cập nhật: Chúng được cập nhật ngay sau khi có ất kỳ thay
đổi nào được thực hiện với cơ sở ữ liệu đó mà s ảnh hưởng đến nó. Điều này
được thực hiện với một hệ thống k ch hoạt trên tất cả các ảng cơ sở. Phụ thuộc
vào hàm thay đổi được như now() s gây ra cho KNT trở nên sai lệch nhưng
có thể được sửa chữa với những làm mới nhỏ mà chỉ ảnh hưởng đến các hàng.
- Cài đặt: Việc thực thi KNT hăm hở được thực hiện qua hai hàm sau
o mv_refresh_row(PK): cập nhật ộ giá trị với khóa ch nh PK
7
o mv_refresh(): sử ụng nếu khung nhìn ựa vào hàm thay đổi được như
now ”
Khi đó các trigg r với các ẫy sự kiện trong các HQT CS
tương ứng
với các truy vấn INSERT UP ATE và E ETE s được gọi thông qua hàm
mv_r fr sh_row một cách th ch hợp.
1.2.2.3. KNT rất lười (very lazy materialized view):
Mô tả khung nhìn thực rất lười như sau
- Chiến lược cập nhật: Chúng s ghi lại các hàng trong KNT cần phải
được cập nhật nhưng s không cập nhật cho đến khi hướng đến. Điều này s rất
hữu ch nếu ạn đang cam kết nhiều giao ịch mà ảnh hưởng đến KNT đó
nhưng không muốn thực sự cập nhật KNT cho đến sau này. Chúng có chức năng
tương đương với các KNT ản sao.
- Cài đặt: Việc cài đặt KNT kiểu rất lười qua các ước sau
o Ghi tất cả những thay đổi trên các ảng cơ sở trong một ản ghi sử ụng
một số trigg r và hàm
o Cài đặt một hàm "matvi w_r fr sh " mà đọc ản ghi đó và cập nhật
KNT th o anh sách các thay đổi trong ản ghi
1.2.2.4. KNT lười (lazy materialized view):
Mô tả khung nhìn thực lười như sau
- Chiến lược cập nhật: Chúng s ghi lại các hàng trong KNT cần phải
được cập nhật và cập nhật chúng khi giao ịch được thực hiện. Điều này hữu
ch nếu nhiều sự thay đổi s ảnh hưởng đến các hàng giống nhau và cũng s cho
phép những thay đổi được thực hiện nhanh hơn nhiều.
- Cài đặt: Tương tự như KNT rất lười việc gọi và thực thi khung nhìn thực
thông qua hàm matvi w_r fr sh ” trong đó cơ chế gọi s được gọi th o cam
kết và không th o yêu cầu.
1.3. Tổng quan về cập nhật gia tăng, đồng bộ khung nhìn thực
Bạn đã iết đầu ra của câu lệnh SELECT là một tập kết quả thể hiện ướ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 đa 1024 cột và
những hàng và cột của Vi w được sinh ra ở một dạng động khi Vi w được tham chiếu.
8
View chỉ áp dụng cho câu lệnh SELECT, các cột của Vi w cũng có thể được
lấy từ các cột của View khác.
Bạn có thể có những thao tác trên Vi w tượng tự trên bảng như SE ECT
INSERT, UPDATE, DELETE.
Tổng quan về cập nhật gia tăng
Một Vi w Khung nhìn có thể được x m như là một ảng ảo trong CS
có nội
ung được định nghĩa thông qua một câu lệnh truy vấn SE ECT .
– Như vậy một Vi w trông giống như một Ta l
và một tập các
ảng với một tên khung nhìn
ng cột. Điểm khác iệt giữa Vi w và Ta l là Vi w không được
x m là một cấu trúc lưu trữ ữ liệu tồn tại trong CS
.
– Lợi ch của việc sử ụng Vi w trong CS
+ ảo mật ữ liệu Người sử ụng được cấp phát quyền trên các Vi w với những
phần ữ liệu mà người sử ụng được phép -> Hạn chế việc người sử ụng truy cập
trực tiếp ữ liệu.
+ Đơn giản hóa các thao tác truy vấn ữ liệu Một Vi w đóng vai tr như một đối
tượng tập hợp ữ liệu từ nhiều ảng khác nhau vào trong một ảng -> Người sử ụng
có thể thực hiện các yêu cầu truy vấn ữ liệu một cách đơn giản từ Vi w thay vì phải
đưa ra những câu truy vấn phức tạp.
+ Tập trung và đơn giản hóa ữ liệu Thông qua Vi w ta có thể cung cấp cho
người
ng những cấu trúc đơn giản
ễ hiểu về ữ liệu đồng thời giúp cho người
ng
tập trung hơn trên những phần ữ liệu cần thiết.
+ Độc lập ữ liệu Một Vi w có thể cho phép người
liệu độc lập với cấu trúc của các ảng trong CS
cho
ng có được cái nhìn về ữ
các ảng cơ sở có ị thay
đổi phần nào về cấu trúc.
– Một số nhược điểm của việc sử ụng Vi w
+ o hệ quản trị CS
thực hiện chuyển đổi các truy vấn trên Vi w thành những
truy vấn trên các ảng cơ sở nên nếu một Vi w được định nghĩa ởi một truy vấn phức
tạp thì s
ẫn đến chi ph về mặt thời gian khi thực hiện truy vấn liên quan đến Vi w
lớn.
+ Mặc
thông qua Vi w có thể thực hiện được các thao tác ổ sung và cập nhật
ữ liệu cho ảng cơ sở nhưng chỉ hạn chế đối với những Vi w đơn giản. Đối với các
9
Vi w phức tạp thì thường không thực hiện được hay nói cách khác ữ liệu trong Vi w
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 đã iết đầu ra của câu lệnh SELECT là một tập kết quả thể hiện ướ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 đa 1024 cột và
những hàng và cột của Vi w được sinh ra ở một dạng động khi Vi w được tham chiếu.
View chỉ áp dụng cho câu lệnh SELECT, các cột của Vi w cũng có thể được
lấy từ các cột của View khác.
Bạn có thể có những thao tác trên Vi w tượng tự trên bảng như SE ECT INSERT
UPDATE, DELETE.
1.4.1. Tổng quan về cập nhật gia tăng
Một Vi w Khung nhìn có thể được x m như là một ảng ảo trong CS
có
nội ung được định nghĩa thông qua một câu lệnh truy vấn SE ECT .
–
Như vậy một Vi w trông giống như một Ta l
nhìn và một tập các
ảng với một tên khung
ng cột. Điểm khác iệt giữa Vi w và Ta l là Vi w không
được x m là một cấu trúc lưu trữ ữ liệu tồn tại trong CS
.
–
ợi ch của việc sử ụng Vi w trong CS
+
ảo mật ữ liệu Người sử ụng được cấp phát quyền trên các Vi w với
những phần ữ liệu mà người sử ụng được phép -> Hạn chế việc người sử ụng truy
cập trực tiếp ữ liệu.
+ Đơn giản hóa các thao tác truy vấn ữ liệu Một Vi w đóng vai tr như một
đối tượng tập hợp ữ liệu từ nhiều ảng khác nhau vào trong một ảng -> Người sử
ụng có thể thực hiện các yêu cầu truy vấn ữ liệu một cách đơn giản từ Vi w thay vì
phải đưa ra những câu truy vấn phức tạp.
+ Tập trung và đơn giản hóa ữ liệu Thông qua Vi w ta có thể cung cấp cho
người
ng những cấu trúc đơn giản
ễ hiểu về ữ liệu đồng thời giúp cho người dùng
tập trung hơn trên những phần ữ liệu cần thiết.
+ Độc lập ữ liệu Một Vi w có thể cho phép người
ữ liệu độc lập với cấu trúc của các ảng trong CS
cho
ng có được cái nhìn về
các ảng cơ sở có ị thay
10
đổi phần nào về cấu trúc.
– Một số nhược điểm của việc sử ụng Vi w
+ o hệ quản trị CS
thực hiện chuyển đổi các truy vấn trên Vi w thành
những truy vấn trên các ảng cơ sở nên nếu một Vi w được định nghĩa ởi một truy
vấn phức tạp thì s
ẫn đến chi ph về mặt thời gian khi thực hiện truy vấn liên quan
đến Vi w lớn.
+ Mặc
thông qua Vi w có thể thực hiện được các thao tác ổ sung và cập
nhật ữ liệu cho ảng cơ sở nhưng chỉ hạn chế đối với những Vi w đơn giản. Đối với
các Vi w phức tạp thì thường không thực hiện được hay nói cách khác ữ liệu trong
Vi w 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 ta có thể tiến hành thực hiện các thao tác cập nhập
ổ sung và xoá ữ liệu. Thực chất những thao tác này s được chuyển thành những
thao tác tương tự trên các ảng cơ sở và có tác động đến những ảng cơ sở.
Về mặt l thuyết để có thể thực hiện thao tác ổ 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 sau đây
• Trong câu lệnh SE ECT định nghĩa khung nhìn không được sử ụng từ khoá
DISTINCT, TOP, GROUP BY và UNION.
• Các thành phần xuất hiện trong anh sách chọn của câu lệnh SE ECT phải
là các cột trong các ảng cơ sở. Trong anh sách chọn không được chứa các iểu thức
t nh toán các hàm gộp.
Quan điểm có thể được cập nhật ưới các điều kiện nhất định được đưa ra ưới đây
Mệnh đề SE ECT không được chứa từ khoá ISTINCT.
Mệnh đề SE ECT không được chứa các hàm tóm tắt.
Mệnh đề SE ECT có thể không chứa các hàm thiết lập.
Mệnh đề SE ECT không được chứa các toán tử được đặt.
Mệnh đề SE ECT không được chứa mệnh đề OR ER Y.
Mệnh đề FROM không được chứa nhiều ảng.
Mệnh đề WHERE không được chứa các truy vấn phụ.
Truy vấn có thể không chứa GROUP Y hoặc HAVING.
Các cột được t nh có thể không được cập nhật.
- Xem thêm -