Bảng hợp đồng lao động

Một phần của tài liệu 28052_1712202001926898SatsamayChanthavisouk_LuanVan (Trang 53)

CHƢƠNG 1 NGHIÊN CỨU TỔNG QUAN

2.6.25. Bảng hợp đồng lao động

Tên thuộc t nh Kiểu dữ liệu Mô tả

MAHDLD Varchar (6) Mã hợp đồng lao động MANHANVIEN Varchar (6) Mã nhân viên

LOAIHDLD Nvarchar (100) oại hợp đồng lao động

TUNGAY Datetime Từ ngày

DENNGAY Datetime Đến ngày

DDLAMVIEC Nvarchar (255) Đ a điểm làm việc CDCHUYENMON Nvarchar(255) Chức danh chuyên môn

NHIEMVU Nvarchar(255) Nhiệm vụ

TG_LAMVIEC Nvarchar (255) Thời gian làm việc TB_PHUONGTIEN Nvarchar(500) Trang b phƣơng tiện

NGACH Varchar(6) Ngạch

BAC Int Bậc

HESOLUONG Float Hệ số lƣơng

PHUCAP Float Phụ cấp

NGUOIKY Nvarchar Ngƣời ý

CHUCVU Nvarchar Chức vụ

NGAYKY Datetime Ngày ý

BHXH Varchar (6) Bảo hiểm xã hội

BHYT Varchar (6) Bảo hiểm y tế

2.6.26. Bảng đ nh c n bộ viện chức

Tên thuộc t nh Kiểu dữ liệu Mô tả

MADG Varchar (6) Mã đ nh gi

MANV Varchar (6) Mã nhân viên

DODTDG Nvarchar (255) Đợt đ nh gi

NGAYG Datetime Ngày đ nh gi

XLSK Nvarchar (255) Xếp loại sức hỏe XLDD Nvarchar (255) Xếp loại đạo đức

XLTDCM Nvarchar (255) Xếp loại tr nh độ chuyên môn XLCHUNG Nvarchar (255) Xếp loại chung

2.6.27. Bảng ngoại ngữ

Tên thuộc t nh Kiểu dữ liệu Mô tả

MANN Varchar (6) Mã ngoại ngữ

TENNN Nvarchar(100) Tên ngoại ngữ

2.6.28. Bảng công tác ngoại ngữ

Tên thuộc t nh Kiểu dữ liệu Mô tả

MAQTCTNN Varchar (6) Mã qu tr nh cơng t c nƣớc ngồi

2.7. Thiết ế CSDL qua khung nhìn thực

Vì việc triển khai và ứng dụng KNT là tương đối phức tạp, tiêu tốn không gian lưu trữ hệ thống để đổi lấy tốc độ thực thi nên Ta chỉ 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) - Thống ê lƣơng theo ph ng ban: Liệt kê số lượng nhân viên, tổng lương lương cao nhất lương thấp nhất lương trung ình của các nhân viên mỗi phịng ban

Mv1 làm việc với 1 lượng lớn dữ liệu o lượng ứng viên ứng tuyển vào Sở giáo

dục là rất lớn và gia tang nhanh qua mỗi năm việc sử dụng KNT cho ta cách nhìn trực quan hơn giúp ta tìm được ứng viên có năng lực phù hợp cho các vị trí

Mv2 là công việc được thực hiện mỗi tháng, do phịng kể tốn đảm nhận để

quản lí ngân sách và các công việc thu chi cho minh bạch. MV2 tác động lên tồn bộ nhân viên mọi phịng ban trong sở và được thực hiện thường xuyên.

Đó là 2 cơng việc cần được ứng dụng khung nhìn thực, các cơng việc khác (quản lí kỉ luật kh n thưởng, nghỉ ốm, chuyển công tác … mỗi lần chỉ làm việc với 1 hoặc 1 t nhân viên và không được thực hiện thường xuyên nên s không cần triển khai KNT.

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)

3.1 Xây dựng trigger

Từ thư mục lưu fil Q nhanvien.sql, ta mở file bằng chương trình not pa copy tồn bộ nội dung trong file. Khởi động PostgreSQL chọn cơ sở dữ liệu, chọn Execute arbitrary SQL queries trên Tool bar và chép toàn bộ nội dung vừa copy vào cửa sổ SQL Editor.

Sau khi thực thi lệnh Execute query, các bảng bao gồm: nhanvien, phongban, luongnhanvien... s được cài đặt trên hệ quản trị cơ sở dữ liệu PostgreSQL.

3.2. Điều chỉnh mã nguồn hệ thống

Các thao tác thống kê s l ct với để x m thông tin các hồ sơ tuyển ụ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 thay vì thao tác join lại các ảng.

3.3. Thực nghiệm và đ nh gi :

- TVG đã được thay thế bằng câu lệnh s l ct đơn giản truy vấn đến bảng KNT nên tốc độ thực hiện TVG x m như đạt đến mức tối đa. Tuy vậy, ở các BG, những trigger cập nhật gia tăng đồng bộ cho KNT làm cho thao tác cập nhật KNT trở thành một phần trong quá trình cập nhật dữ liệu trên BG, cho nên, thao tác cập nhật dữ liệu trên BG s bị chậm đi tỉ lệ thuận với khối lượng dữ liệu trên các G độ phức tạp của TVG và số lượng KNT được sử dụng. Phần đánh giá này s giúp ước lượng được phần nào thời gian bị chậm đi khi cập nhật dữ liệu trên BG có trigger cập nhật KNT.

- Thử nghiệm nhằm đánh giá hiệu quả và ảnh hưởng của trigg r được sinh ra, thực hiện trên máy tính cá nhân có cấu hình CPUcấu hình Intel G4600 4x3.6Ghz, Ram 8 GB, hệ điều hành Windows 10 64bit, HQT CSDL PostgreSQL 10 64bit. Sau khi tiến hành đo đạc thời gian thực thi truy vấn, các thao tác dữ liệu trong a trường hợp: i) Khơng có KNT, ii) có KNT – trigger CNGT KNT theo thuật tốn được trình bày trong mục 1.4.3.2.b. Thử nghiệm

cho mỗi trường hợp i) và ii) trên các bản ghi ngẫu nhiên trong bản và tính giá trị trung ình thu được kết quả so sánh như trên ảng 1 thông qua công cụ quản trị CSDL pgAdminIII 1.18.1. Mỗi thử nghiệm thao tác dữ liệu được thực hiện 20 lần và tính kết quả của các lần 11-20 với giả định thao tác chỉ s được HQT CSDL thực thi ổn định” sau một số thử nghiệm, cụ thể là 10.

 Thực hiện v ụ mv2 KNT thống kê lương của các ph ng an

Câu truy vấn gốc: iệt kê mã ph ng tên ph ng số lượng nhân viên trong

ph ng tổng lương các nhân viên lương nhân viên cao nhất lương nhân viên thấp nhất lương trung ình của nhân viên

Đây là câu truy vấn nặng thực hiện các phép toán thống kê sum max min avg trên 1 lượng lớn ữ liệu là lương toàn ộ nhân viên của Sở G nên cần được sử ụng knt để gia tăng tốc độ thực hiện áo cáo thống kê.

select maphong, tenpb, count (nhanvien.manv) as soluongnv, sum(luongnhanvien.luongthuclinh) as tongluongnhanvien, max(luongnhanvien.luongthuclinh) as luongcaonhatcuaphong, min(luongnhanvien.luongthuclinh) as luongthapnhatcuaphong, avg(luongnhanvien.luongthuclinh) as luongtbcuaphong

from phongban join nhanvien on phongban.mapb=nhanvien.maphong join luongnhanvien on nhanvien.manv=luongnhanvien.manv

group by maphong, tenpb

B1 Tạo khung nhìn thực với các cột tương ứng để chứa ữ liệu

create table mv2(

maphong character varying(250), tenpb character varying(250), soluongnv int, tongluongnhanvien int, luongcaonhatcuaphong int, luongthapnhatcuaphong int, luongtbcuaphong float )

B2:

Chèn ữ liệu vào KNT Insert into mv2

select maphong, tenpb, count (nhanvien.manv) as soluongnv, sum(luongnhanvien.luongthuclinh) as tongluongnhanvien, max(luongnhanvien.luongthuclinh) as luongcaonhatcuaphong, min(luongnhanvien.luongthuclinh) as luongthapnhatcuaphong, avg(luongnhanvien.luongthuclinh) as luongtbcuaphong

from phongban join nhanvien on phongban.mapb=nhanvien.maphong join luongnhanvien on nhanvien.manv=luongnhanvien.manv

group by maphong, tenpb

B3: Tạo mã Nguồn C xử lí trigger

Hình 3.1: Tạo mã Nguồn C

Hình 3.2: Tạo trigger cho các bảng nguồn B5: Kiểm tra hiệu năng:

 Đánh giá thời gian thực thi câu lệnh S l ct:

Đối với các lệnh Select Thời gian thực thi khi khơng ng KNT trung ình ao động từ 180-200 ms; thời gian thực thi khi có ng KNT trung ình ao động từ 20-40ms.

 Đánh giá thời gian thực thi các thao tác cập nhật trên G:

Đối với các lệnh ins rt/delete (1 row) Thời gian thực thi khi khơng có trigg r trung ình ao động từ 90-110 ms; thời gian thực thi khi có trigg r cập nhật KNT trung ình ao động từ 130-140ms.

Hình 3.5. Tốc độ thực thi lệnh delete 1 row hông d ng câu lệnh trigger

Hình 3.6. Tốc độ thực thi lệnh delete 1 row d ng câu lệnh trigger

 Đối với các lệnh up at (1 row) Thời gian thực thi khi khơng có trigg r trung ình ao động từ 80-100 ms; thời gian thực thi khi có trigg r cập nhật KNT trung ình ao động từ 130-140ms.

Hình 3.7. Tốc độ thực thi lệnh update 1 row hơng d ng câu lệnh trigger

Hình 3.8. Tốc độ thực thi lệnh update 1 row có d ng câu lệnh trigger

 Đối với các lệnh up at (1000 row) Thời gian thực thi khi khơng có trigg r trung ình ao động từ 170-180 ms; thời gian thực thi khi có trigg r cập nhật KNT trung ình ao động từ 3400-3700 ms.

Hình 3.10. Tốc độ thực thi lệnh update 996 row có d ng câu lệnh trigger

Qua các đánh giá trên cho thấy rõ sự hiệu quả của việc sử ụng KNT được rõ rệt khi ta sử ụng các câu truy vấn s l ct để đọc . Tuy nhiên việc sử ụng knt s phải ràng uộc thêm công việc cập nhật lại KNT lên các hành vi ghi lên ảng gốc ins rt l t up at ; đặc iệt trong trường hợp phải up at thơng tin tồn ộ nhân viên ảng gốc 994 row thì trigg r s phải t nh tốn lương lại 994 lần ứng với mỗi 1 row thay đổi trong ảng nhân viên th o tưởng của thuật toán cập nhật gia tăng làm cho thời gian thực hiện up at khá lâu; c n chênh lệch về tốc độ cập nhật trên 1 lượng nhỏ đơn vị ữ liệu là khơng đáng kể. Vì thực tế hiếm khi cập nhật với 1 lượng lớn toàn ộ ữ liệu và tần suất sử ụng các câu lệnh cập nhật là không thường xuyên so với truy vấn s l ct để đọc ữ liệu nên có thể ỏ qua yếu tố tốc độ khi ta thực hiện các hành vi cập nhật trên 1 lượng lớn giữ liệu. Nếu truy vấn là đủ phức tạp trên lượng ữ liệu lớn đặc iệt trong trường hợp tần suất sử ụng truy vấn là cao và tần suất cập nhật ữ liệu ằng các lệnh ins rt up at l t là thấp thì hiệu quả s được nhân lên gấp ội.

KẾT LUẬN

Việc Nghiên cứu ứng dụng khung nhìn thực để nâng cao hiệu suấthệ thống thông tin quản l tại sở giáo ục và thể thao tỉnh Saravan ào Kết luận như sau 1. Kết quả đạt được

Luận văn đã trình ày nghiên cứu của tơi về khung nhìn thực và cách cài đặt nó để nâng cấp hệ thống quản lí thơng tin nhân sự của Sở giáo dục và Thể thao Saravanh (Lào), cụ thể:

+ Tìm hiểu về các loại khung nhìn thực

+ Biết cách xây dựng trigger bằng C để đảm bảo đồng bộ giữa khung nhìn thực và các bảng dữ liệu

+ Phân tích hệ thống thơng tin quản lí nhân sự của Sở giáo dục và Thể thao Saravanh ào và định ra các chức năng để áp dụng khung nhìn thực.

+Thực nghiệm để thấy được lợi ch mà KNT đ m lại (tốc độ) 2. Giới hạn của luận văn

+ Khối lượng dữ liệu cịn nhỏ nên kết quả lợi ích của việc áp dụng khung nhìn thực là chưa thể hiện rõ ràng

+ Chỉ áp dụng KNT thực hiện trên các truy vấn đơn giản do nhu cầu truy vấn quản lí nhân sự của Sở là khơng thực sự phức tạp

+ Việc thực hiện và cài đặt KNT vẫn cịn diễn ra 1 cách thủ cơng và phức tạp, tôi chưa tìm ra và áp ụng được bộ sinh mã trigger cho KNT 1 cách tự động.

o khó khăn về ngơn ngữ, thời gian, kiến thức và kinh nghiệm nên tôi không tránh mắc phải những sai sót trong việc hồn thành luận văn rất mong nhận được sự đóng góp chân thành của q thầy cơ để luận vặn của tơi được hồn thiện hơn.

3. Đề xuất phương hướng phát triển tiếp theo

+ Phát hiện, sửa chữa và nâng cấp hệ thống csdl hiệu quả hơn.

+ Phát sinh được khung nhìn thực cho nhiều phép truy vấn và chức năng hơn. + Tự động hóa q trình sinh và cài đặt KNT.

TÀI LIỆU THAM KHẢO Tiếng Việt:

[1] Nguyễn Trần Quốc Vinh, Nguyễn Văn Qu 2013. Nghiên cứu xây dựng và tích hợp mơ-đun viết lại truy vấn hỗ trợ khung nhìn thực trong PostgreSQL, Tạp chí Khoa học và Cơng nghệ Đại học Đà Nẵng, số 8(69)-2013.

[2] Nguyễn Trần Quốc Vinh, Nghiên cứu xây dựng chương trình sinh mã tự động các

trigger phục vụ cập nhật gia tăng khung nhìn thực Đề tài NCKH cấp Đại học Đà

Nẵng, mã số Đ2012-04-19.

[3] Nguyễn Trần Quốc Vinh, Trần Trọng Nhân, Nghiên cứu xây dựng mô-đun sinh tự

động mã nguồn trigger trong ngôn ngữ C cập nhật gia tăng, đồng bộ các khung nhìn thực trong PostgreSQL, Kỷ yếu Hội nghị Quốc gia lần thứ VII về Nghiên

cứu ứng dụng Công nghệ thông tin, 2014.

[4] Nguyễn Trần Quốc Vinh, ứng dụng khung nhìn thực để nâng cao thực thị truy vấn.

Tiếng Anh:

[1] T.Kyte. Expert one-on-one Oracle. Apress, 2003.

[2] T. Rizzo, A. Machanic, J. Skinner, L. Davidson, R. Dewson, J. Narkiewicz, J. Sack, R. Walters. Pro SQL Server 2005. Apress, 2006.

[3] Quoc Vinh Nguyen Tran, A.B. Kungurtsev, Blashko A.A. Comparison of queries in r lational ata as s to construct mat rializ vi ws. Праці УНДІРТ. Одеса 2004. – 3(39). – с. 35-38.

[4] A.Y.Levy. Answering Queries Using Views: A Survey // www.cs.washington.edu/homes/alon/site/files/view-survey.ps

[5] A.Y. Levy, A.O. Mendelzon, Y. Sagiv. Answering Queries Using Views // . (17/01/2009). www.cs.washington.edu/homes/alon/site/files/pods95-views.ps [6] High precision time measuring in SQL Server 2005 with the help from CLR and unsafe code. http://weblogs.sqlteam.com/mladenp/archive/2006/11/29/ 35688.aspx. (11/12/2008).

Một phần của tài liệu 28052_1712202001926898SatsamayChanthavisouk_LuanVan (Trang 53)

Tải bản đầy đủ (PDF)

(73 trang)