- Vật lí (Physical): Đề cập tới các trang thiết bị tin học cụ thể đợc sử dụng
4. Cơ sở d liệu của hệ thống thông tin quản lí nhân sự
4.1 Các khái niệm cơ bản liên quan đến cơ sở dữ liệu
Để hiểu về cơ sở dữ liệu trớc hết ta cần tìm hiểu một số khái niệm có liên quan đến vấn đề này.
Trớc khi có máy tính điện tử thì ngời ta vẫn phải thu thập lu trữ, xử lý, phân tích và cập nhập thờng xuyên dữ liệu. Các dữ liệu này thờng đợc lu trữ trên các giấy, các phơng tiện nhớ khác nh băng t, bìa cứng, thậm chí là trên trí óc của những cá nhân làm công tác này. Công việc này thờng tốn kém cả về ngời và thời gian xử lý, đồng thời kết quả xử lý thông tin thờng là không cao và thiếu chính xác, quy trình xử lý phức tạp, rờm rà, khả năng tìm kiếm thông tin hạn chế nếu lợng thông tin cần lu trữ là lớn và đơng nhiên kết quả cũng thờng không cao.
Khi có máy tính điện tử ngời ta đã dùng các hệ quản trị cơ sở dữ liệu để lu trữ, bảo quản, cập nhật, xử lý va tìm kiếm thông tin. Hệ quản trị cơ sở dữ liệu là một phần mềm mà ta có thể tạo ra, lu trữ, tổ chức và tìm kiếm từ một cơ sở dữ liệu hay tập hợp từ các cơ sở dữ liệu.
Thể thực (Entity) là một đối tợng nào đó mà ngời ta muốn quản lý thông tin liên quan đến nó, thực thể có thể là ngời, sự vật hiện tợng hay một khái niệm nào đó, chẳng hạn thực thể cán bộ, thực thể sinh viên, thc thể phòng ban.
Mỗi thực thể có các thông tin liên quan mà ta cần lu trữ gọi là các thuộc tính (Attribute), các thuộc tính là các yếu tố dữ liệu tách biệt mà không thể chia nhỏ đợc nữa, ví dụ nh thực thể cán bộ có các thuộc tính nh mã cán bộ, họ tên, ngày sinh, nơi sinh, địa chỉ, số điện thoại, email, chỗ ở hiện tại.
Bảng (Table) là nơi lu trữ các thông tin về thực thể, ví dụ bảng “HSCB” lu trữ các thông tin về cán bộ.
Mỗi bảng có các dòng (Row) hay còn gọi là một bản ghi (Record). Mỗi bản ghi lu trữ các thông tin đầy đủ về một cá thể (Instance) tức là một biểu hiện cụ thể, riêng biệt của thực thể. Ví dụ nh dòng lu trữ các thông tinvề cá thể Phạm Thế Hùng trong thực thể cán bộ có thể có các thông tin nh mã là ‘002’, họ tên là ‘Cao Huy Phơng’, ngày sinh là ‘12/09/1980’,..
Mỗi bảng còn có các cột (Column), hay còn gọi la các trờng (Field), các cột ghi lai một thuộc tính của tất cả các cá thể trong thự thể ví dụ nh trờng họ tên là thuộc tính họ tên của tất cả các cán bộ trong một bảng dữ liệu nào đó, tr- ờng ngày sinh ghi lai ngày sinh của toàn bộ các cán bộ trong cơ quan, trờng hôn nhân ghi lại các thông tin về tình trạng hôn nhân của các cán bộ trong cơ quan, giao giữa dòng giữa cột là một ô ghi lại thông tin cụ thể của cá thể, chẳng hạn nh ô giao giữa ròng thứ 7 và cột họ tên có dữ liệu la ‘Nguyễn Trung Viện’ là thông tin về họ tên của cán bộ thứ 7, cán bộ này có họ tên là Nguyễn Trung Viện.
Cơ sở dữ liệu (Database) là một nhóm gồm một hay nhiều bảng có liên quan với nhau. Ví dụ tất cả các bảng có liên quan đến cán bộ nh ‘HSCB’, ‘DM_ PhongBan’, ‘KhenThuong’, ‘Kyluat’,.... hợp thành cơ sở d liệu nhân sự. Tập hợp các cơ sở dữ liệu có liên quan với nhau gọi là hệ cơ sở dữ liệu (DataBase System), hay ngân hàng dữ liệu (Data Bank). Ví dụ ngân hàng dữ liệu của trờng đại học kinh tế quốc dân gồm các cơ sở dữ liệu lu trữ các thông tin về trờng nh cơ sở dữ liệu sinh viên, cơ sở dữ liệu giảng viên, cơ sở dữ liệu về lơng,....
4.2 Cơ sở dữ liệu nhân sự của hệ thống thông tin quản lí nhân sự
Nh đã định nghĩa cơ sở dữ liệu là một tập hợp các bảng dữ liệu có quan hệvới nhau, đợc tạo lập, lu trữ và xử lý trên các thiết bị hiện đại của tin học, chịu sự quản lý của một hệ chơng trình quản tri cơ sở dữ liệu nhằm cung cấp thông tin khác nhau cho ngời sử dụng vào các mục đích khác. Nh vậy, theo nghĩa hẹp có thể coi cơ sở dữ liệu nhân sự là một tập hợp các bảng trong đó có lu trữ các dữ liệu liên quan đến công tác quản lý nhân sự.
Cơ sở dữ liệu nhân sự bao gồm các tệp dữ liệu liên quan trực tiếp đến cán bộ nh tệp hồ sơ cán bộ, các tệp dữ liệu để quản lý quá trình khen thởng, kỷ luật và các tệp danh mục khác nh các danh mục phòng ban, danh mục dân tộc, tỉnh thành. Nếu ứng dụng tin học vào công tác quản lý nhân sự thì cơ sở dữ liệu nhân sự sẽ đợc lu trữ trên các phơng tiện nhớ của máy tính điện tử và đợc lu trữ, bảo quản nhờ vào chơng trình quản trị cơ sở dữ liệu.
Cơ sở dữ liệu nhân sự của cơ quan là nơi lu trữ, bảo quản mọi thông tin liên quan đến nguồn nhân lực của cơ quan, các dữ liệu đợc lu trữ ở trong cơ sở dữ liệu này cần thơng xuyên đợc cập nhật để có thể đáp ứng các nhu cầu về thông tin trong thực tế Cơ sở dữ liệu về nhân sự trong cơ quan giống nh bộ nhớ của cơ quan, nó sẽ là nơi khai thác các thông tin liên quan đến nguồn nhân lực
trong cơ quan, các thông tin này sẽ cung cấp cho các đối tợng sử dụng biết các thông tin về tình hình nhân sự trong cơ quan doanh nghiệp, từ đó làm cơ sở ra các quyết định.
Ta có thể mô hình hoá cơ sở dữ liệu nh sau:
4.3 Hệ quản trị cơ sở dữ liệu
Hệ quản trị cơ sở dữ liệu (DataBase Management Systems) là một hệ thống các chơng trình máy tính giúp tạo lập, duy trì và sử dụng các hệ cơ sở dữ liệu. Các hệ quản trị cơ sở dữ liệu thờng đợc các công ty phần mềm sản xuất và bán trên thị trờng, các hệ quản trị cơ sở dữ liệu nổi tiếng và thông dụng hiện nay nh FoxPro For DOS, Microsoft Visual FoxPro, DB2, Oracle, My SQL, Microsoft Access,....
Hiện nay có rất nhiều ngôn ngữ đợc sử dụng làm công cụ thiết kế, xây dựng các chơng trình phần mềm phục vụ cho công tác quản lý, cũng nh trong một số lĩnh vực khác. Do vậy việc lựa chọn ngôn ngữ viết chơng trình nhằm giải quyết bài toán đặt ra là vô cùng quan trọng. Mỗi bài toán đặt ra đều có những cách giải quyết khác nhau tuỳ vào mục đích của bài toán và sự lựa chọn của ngời thực hiện bài toán đó. Mỗi ngôn ngữ đều có những điểm mạnh và nh- ợc điểm của nó, nên việc lựa chọn một ngôn ngữ phải dựa trên các yêu cầu của
Phần mềm quản trị nhân sự
Phần mềm quản trị cơ sở dữ liệu
bài toán đạt ra. Các công cụ mà ngôn ngữ đó cung cấp cho ngời sử dụng trong quá trình giải quyết vấn đề, khả năng của hệ quản trị cơ sở dữ liệu phải đáp ứng đợc các yêu cầu đặt ra.
Dựa trên các yêu cầu của bài toán và quá trình phân tích thiết kế chơng trình thì phải tìm ra đợc một giải pháp phần mềm tối u. Tức là phải đảm bảo thông tin chính xác, dễ sử dụng vào công tác quản lý, giao diện đẹp, thân thiện với ngời sử dụng,... Trên cơ sở phân tích bài toán, tìm hiểu các ngôn ngữ, em quyết định lựa chọn ngôn ngữ Microsoft Visual Foxpro 7.0 để xây dựng chơng trình.
Giới thiệu về Microsoft Visual FoxPro
Microsoft Visual Foxpro 7.0 là hệ thống cơ sở dữ liệu quan hệ nổi tiếng với khả năng đơn giản hoá thủ tục thiết kế trình quản lý dữ liệu. Microsoft Visual Foxpro 7.0 giúp dễ dàng tổ chức dữ liệu, định nghĩa các nguyên tắc áp dụng cho cơ sở dữ liệu và xây dựng chơng trình ứng dụng, nó cho phép nhanh chóng kiến tạo các biểu mẫu, vấn tin, báo biểu dựa vào bộ công cụ thiết kế giao diện đồ hoạ, Ngoài ra Microsoft Visual Foxpro 7.0 còn cho phép thiết kế nhanh các trình ứng dụng có đầy đủ các tính năng thông qua moi trờng thiết kế thích hợp, cung cấp các công cụ lập trình hớng đối tợng cực kỳ mạnh mẽ, khả năng máy khách/ máy chủ (Client/ Sever), hỗ trợ OLE và ActiveX. Nói tóm lại Microsoft Visual Foxpro 7.0 là công cụ quản lý dữ liệu tơng tác cực kỳ mạnh mẽ và đang đợc sử dụng rộng rãi nh là một công cụ mạnh của các nhà lập trình ứng dụng chuyên nghiệp nhằm tạo ra các phần mềm quản lý doanh nghiệp, các chơng trình kế toán.
Có hai phơng pháp chủ yếu dùng để thiết kế cơ sở dữ liệuđó là thiết kế cơ sở dữ liệu đi từ các thông tin đầu ravà thiết kế cơ sở dữ liệu bằng phơng pháp mô hình hoá.
* Thiết kế cơ sở dữ liệu từ các thông tin đầu ra
Theo phơng pháp này ta tiến hành các bớc sau để thiết kế cơ sở dữ liệu: B
ớc 1: Xác định các thông tin đầu ra
Liệt kê toàn bộ các thông tin đầu ra, nội dung tần suất và nơi nhận của chúng. Ví dụ nh với cơ sở dữ liệu nhân sự ta sẽ có các thông tin đầu ra nh sau: danh sách cán bộ, danh sách phòng ban, danh sách cán bộ theo phòng bandanh sách cán bộ theo giới tính, danh sách cán bộ theo độ tuổi.
B
ớc 2: Xác định các tên tệp cần thiết cung cấp đủ giữ liệu cho việc tạo ra từng đầu ra, trong bớc này ta cần làm các công việc nh sau:
Liệt kê các phần tử thông tin đầu ra
Liệt kê tất cả các thông tin đầu ra của mỗi phần tử thông tin cụ thể. Đánh dấu các thuộc tính lặp, các thuộc tính thứ sinh.
Gạch chân các thuộc tính khoá. Loại bỏ các thuộc tính thứ sinh.
Ví dụ : Với đầu ra là ‘Hồ sơ cán bộ’ ta có thể liệt kê các thuộc tính sau: Mã cán bộ Họ và tên Ngày sinh Nơi sinh Nguyên quán Chỗ ở hiện tại Số điện thoại Số di động
Email Ngày vao làm Mã hợp đồng Mã phòng ban Hệ số lơng Hệ số phụ cấp Gia đình Đoàn viên Đảng viên ... Thực hiện chuẩn mực 1 (1.NF)
Chuẩn hoá một quy định rằng, trong mỗi danh sách không đợc chứa danh sách lặp. Nếu có các thuộc tính lặp thì phải tách các thuộc tính đó thành các danh sách con, co ý nghĩa dới góc độ quản lý.
Gắn thêm cho nó một tên, tìm cho nó một thuộc tính định danh riêng và thêm thuộc tính định danh của danh sách gốc.
Thực hiện chuẩn mực 2 (2.NF)
Chuẩn mực hoá hai quy định rằng, trong mỗi danh sách mỗi thuộc tính phải phụ thuộc hàm vào toàn bộ khóa chứ không chỉ phụ thuộc vào một phần của khoá. Nếu có sự phụ thuộc nh vậy thì phải tách những thuộc tính phụ thuộc hàm vào bộ phận của khoá thành một danh sách con mới.
Lấy bộ phận khoá đó làm khoá cho danh sách mới. Đặt cho danh sách mới này một tên riêng cho phù hợp với nội dung của các thuộc tính trong danh sách.
Thực hiện chuẩn mực 3 (3.NF)
Chuẩn hoá mức ba quy định rằng, trong một danh sách không đợc phép có sự phụ thuộc bắc cầu giữa các thuộc tính. Nếu thuộc tính này phụ thuộc hàm vào các thuộc tính kia thì phải tách chúng ra thành các thuộc tính khác nhau có quan hệ với nhau.
Xác định khoá và tên cho mỗi danh sách mới.
Mô tả các tệp
Sau khi đã tiến hành chuẩn hoá xong ta tiến hành mô tả các tệp dữ liệu. Mỗi danh sách xác định đợc sau bớc chuẩn hoá mức ba sẽ là một tệp cơ sơ dữ liệu. Biểu diễn các tệp theo ngôn ngữ của cơ sở dữ liệu tệp.
B
ớc 3: Tích hợp các tệp để chỉ tạo ra một cơ sở dữ liệu
Từ mỗi đầu ra theo cách thực hiện của các bớc 2 sẽ tạo ra rất nhiều danh sách và mỗi danh sách liên quan đến một đối tợng quản lý, có sự tồn tại riêng tơng đối độc lập. Những danh sách nào cùng mô tả một thực thể thì tích hợp lại, nghĩa là tạo thành một danh sách chung, bằng cách tập hợp tất cả các thuộc tính chung và riêng của những danh sách đó.
B
ớc 4: Xác định khối lợng cho từng tệp và cho toàn bộ sơ đồ Xác định số lợng các bản ghi của từng tệp
Xác định độ dài của từng thuộc tính. Tính độ dài cho bảng ghi.
Đối với mỗi tệp CSDL (goi là R) ta sử dụng những số đo kinh điển cho việc tính toán khối lợng dữ liệu:
L(R) là độ dài của một bản ghi tính theo số lợng ký tự N(R) là số lợng trung bình của các bản ghi R
NP(R) là số lợng trang logic dùng bởi R TP là kích thơc trang logic.
Thì NP(R) = E1[N(R)/E(TP/L(R))]
Trong đó: - E1(x) là số nguyên đợc làm tròn lên x - E(x) là phần nguyên của x.
Khối lợng dữ liệu của một sơ đồ sẽ đợc tính theo công thc sau:
∑ N(Ri)*(L(Ri) + S + D)
Trong đó K là tổng số các tệp trên sơ đồ. Trong thực tế có thể chọn giá trị trung bình của D là 8 và giá trị trung bình của S là 12 để tính.
B
ớc 5: Xác định liên hệ logic giữa các tệp và thiết lập sơ đồ cấu trúc dữ liệu giữa các tệp
Xác định mối liên hệ giữa các tệp, biểu diễn chúng bằng các mũi tên hai chiều, nếu quan hệ một- nhiều thì vẽ hai mũi tên hớng về đó
* Thiêt kế cơ sở dữ liệu bằng phơng pháp mô hình hoá
Theo phơng pháp này ta không đi mô tả và liệt kê các thông tin đầu ra mà ta sẽ dùng các mô hình để biểu diễn các thông tin, biểu diễn sự liên kết giữa các thực thể thông tin với nhau. Ví dụ để biêu diễn mối quan hệ giữa phòng ban và cán bộ ta dùng mô hình nh sau:
Theo phơng pháp mô hình hoá các thực thể không tồn tại độc lập mà có quan hệ với nhau, các quan hệ này gồm có: liên kêt một- một, liên kết một- nhiều, liên kết nhiều- nhiều.
Cụ thể các mỗi liên kết nh sau:
1@1 Liên kết Một - Một
Một lần xuất hiện của thực thể A đợc liên kết với chỉ một lần xuất hiện của thực thể B và ngợc lại.
1@N Liên kết Một - Nhiều
Loại liên kết này phổ biến trong thực tế, một lần xuất hiện của thực thể A liên kết với một hay nhiều lần xuất hiện của thực thể B, nhng mỗi lần xuất hiện của B chỉ liên kết với một lần xuất hiện của A.
Ví dụ nh quan hệ giữa phòng ban và chức vụ, một phòng ban có nhiều chức vụ.
N@M Liên kết Nhiều - Nhiều
Mỗi lần xuất của A tơng ứng với một hay nhiều lần xuất của B và ngợc lại, nhiều mỗi lần xuất của B tơng ứng với một hay nhiều lần xuất của B.
Ví dụ nh quan hệ giữa phòng ban và cán bộ, một phòng ban có nhiều cán bộ cùng làm việc và cũng có thể một cán bộ trong một thời gian làm ở nhiều phòng khác nhau với các cơng vị khác nhau.
Để biểu diễn quan hệ nhiều- nhiều giữa các thực thể ngời ta dùng thực thể trung gian để biểu diễn hai quan hệ nhiều nhiều.
1 1 Trưởng phòng Lãnh Phòng ban đạo 1 N Phòng ban Có Chức vụ N M Phòng ban Có Cán bộ
Ví dụ với quan hệ giữa cán bộ và phòng ban ta dùng tệp chức vụ để biểu diễn quan hệ nhiều- nhiều này.
Các giai đoạn trong quá trình xây dựng mô hình dữ liệu : * Xác định các thuộc tính : Dựa trên 3 nguồn :
- Tri thức của bản thân về công việc đang nghiên cứu. - Những ngời sử dụng hệ thống hiện tại.
- Xem xét các tài liệu sử dụng thờng xuyên trong lĩnh vực nghiên cứu. * Xác định kiểu thực thể : Để có đợc kiểu thực thể ngời phân tíchphải chuẩn hoá nhằm mục đích :
- Tối thiểu việc lặp lại. - Tránh d thừa thông tin.
* Xác định các quan hệ : Thiết lập mối liên hệ tự nhiên giữa các thực thể và liên kết này phải ở dạng quan hệ một - nhiều.