摘要:隨著信息技術的日益發展和計算機及網絡的技術的普遍應用,隨著管理改革的深入,各部門之間的工作量也隨之加重,舊的管理方式的方法已無法滿足現代的科學管理飛速的需要。因此有必要利用現代PC技術和分布式數據庫開發技術,在網絡環境下建立基于分布式數據庫的信息管理系統。
關鍵詞:計算機;分步式;人事管理;數據庫
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)32-1114-02
Distributed Personnel Management System Design and Implementation
SONG Jun-rong
(Huaibei City of Anhui Province, Mountain-building,Huaibei 235000,China)
Abstract: With the increasing development of information technology and computer and network technology widely used, with the depth of management reform, among the various departments and also increase the workload, the old management methods have been unable to meet the modern scientific management of rapid . It is therefore necessary to use modern PC technology and the development of distributed database technology, the network environment based on information distributed database management systems.
Key words: computer; step-by-step style; personnel management; database
我們正處在信息高速發展的時代。電腦辦公使管理更系統化,并可節省辦公用品。隨著信息技術的日益發展和計算機及網絡技術的普遍應用,各部門之間的工作量也隨之加重,舊的管理方式和方法已無法滿足現代的科學管理飛速發展的需要。因此,有必要利用現代PC技術和分布式數據庫開發技術,在網絡環境下建立基于分布式數據庫的信息管理系統。本管理系統將其分為人事管理、工資管理、營房管理幾個模塊。采用分布式系統進行開發,服務器端采用Adaptive server anywhere數據庫和powerscript的編程環境開發,并且用ODBC進行連接數據庫。
1 系統背景
我們使用powerbuilder為人事管理部門設計開發一套人事管理信息系統,該系統可實現對人員從人事信息、工作信息到營房信息的全方位的管理,該管理信息系統具有各級用戶的權限設定與分級功能,不同級別用戶具有不同的管理級別和管理權限,由于不同級別的管理部門經常需要在本級管理權限范圍內下發沒有訪問級別的重要文件,并從以下幾個方面提出具體要求:1)三臺服務器之間可以互訪和共享資源;2)任意一臺服務器只可以更改自己的數據;3)僅限定具有訪問的用戶具有查看的權限;4)系統要安全穩定可靠;5)系統界面簡潔友好。
2 關于分布式計算
數據是分布的,數據庫的數據分布在計算機的不同節點上,而不是集中在一個節點上,因此,不同數據放在服務器上而由客戶共享的網絡數據庫系統。
數據是邏輯相關的分布在不同節點上的,數據在邏輯上屬于同一個系統,因此數據之間是相互有聯系的,它不同與由網絡連接的多個獨立的數據庫系統節點自治性。每個節點有自己的計算機,自己的數據庫,自己的數據庫管理系統,即LDBMS,因而能夠獨立的管理局部數據庫。局部數據庫中的數據可僅供本節點的用戶存取,也可供其它節點上的用戶存取以提供全局應用。
分布式數據庫系統是在集中式數據庫系統的基礎上發展起來的,但不是集中式數據庫系統的簡單分布。與集中式數據庫系統比較。分布式數據庫在數據獨立性方面有新的不同的內容。
數據獨立性是數據庫系統最主要的特征之一,它使應用程序不受數據結構的影響,因此當數據庫的邏輯結構或物理結構改變不必修改應用程序,使實際機構對應用程序的透明。在分布式數據庫系統中數據獨立性除了邏輯獨立性和物理獨立性外還有分布透明性。這是分布式數據庫系統實現的主要目標之一。
數據庫中的數據是用戶共享的,當多個用戶并發存取統一數據時系統應提供數據的一致性視圖。在集中式環境中并發控制是通過事務管理實現,要求事務執行具有原子性,可串行性。在分布式環境中,由于數據是分布的,因此事務也是分布的。一個事務的執行將分布事務的執行需要在各個子事務間進行協調。另外,當某個節點出現故障時,如何撤銷其它節點已完成的操作,如何進行事務的全局回退,都是分布式并發控制需要解決的問題。
此外,分布式查詢優化、多副本數據的更新、數據目錄的分布等都是分布式數據管理系統需要解決的問題。
盡管分布式數據庫的實現需要解決許多集中式數據庫中沒有的問題,但與集中式數據庫系統比較,分布式數據庫系統有許多優良的特性:1)自治性好;2)效率高,可用性好;3)提高資源的利用率;4)結構靈活,易于擴充;5)減輕網絡負荷;6)增加安全性的保障。
如上所述,在分布式數據庫系統中,每個節點上都有一個局部DBMS,每個節點上的局部DBMS可以相同也可以不同。如果每個節點上的DBMS都屬于同一個類型數據模型,則稱同構性系統模型,否則,稱異購型系統。一般的,同構性系統又分為同構同質和同構異質兩種。是同構還是異構系統實際上還與硬件和操作系統有關,當一個系統的不同節點擁有不同的計算機不同的操作系統時,也可以看作是異構型系統,當硬件和操作系統的不同可以由通信軟件管理。
在建立一個運行在分布式環境下的應用時,應注意的問題:
1)在本地進行分布式設計
我們在做數據庫模型設計時,首先設計的是實體與實體的關系,我們將不考慮每個表,每一個字段的具體實現,這是我們稱之為概念設計階段,然后再考慮其物理實現。同樣我們在設計分布式應用時,也應首先考慮在本地上的實現。如果過早的考慮的網絡的拓撲模型,將會使得你的分布式應用失去未來的重新分割應用的靈活性。應用在分布運行之前首先應當在本地成功運行,使用debug調試必須使用本地的接口。
2)同產品相同的開發環境
當開發環境與實際交付用戶的運行的環境有顯著差別時,會使得這個應用在成為產品時,分布式應用部分根本不可用。
3)使網絡通訊量最小化
在物理對象設計和實現過程中最基本的目標是減少分布式應用中代理之間的消息和代理之間的消息和代理對象的傳遞。
4)powerbuild對象庫的分布
一般建議在開發時,將不可視對象及其代理對象放在同一個pbl庫文件中,這個庫文件都包括在客戶端應用和服務器端應用可搜索道路徑中。這樣在對象被修改后,運行時,兩端的應用就可以使用同一個dll或pbd動態連接庫。
5)采用面向對象技術
powerbuild對分布式計算的支持是powerbuilder面向隊形體系結構的邏輯擴展,因此,用面向對象技術開發的powerbuilder應用可以很容易的轉化為分布式應用。
3 系統設計和創建
3.1 數據庫設計
通過對系統功能進行分析,需要三個數據庫,它們分別是:人事管理信息、工資管理信息、營房信息。
人事管理系統:
1)id,人員編號,numerical類型,長度5,不允許為空
2)name,姓名,char類型, 長度10,允許為空
3)sex, 性別, char類型, 長度2,允許為空
4)age,年齡, char類型, 長度2,允許為空
5)rank,軍銜,char類型, 長度4, 允許為空
6)addr,家庭地址char類型長度20,允許為空
工資管理系統:
1)id,人員編號,numerical類型,長度5,不允許為空
2)name,姓名,char類型, 長度10,允許為空
3)basicsal,基本工資,money類型,長度4,允許為空
4)bonus,獎金,money類型,長度4,允許為空
5)deduct,扣除,money類型,長度4,允許為空
營房信息:
1)id,人員編號,numerical類型,長度5,不允許為空
2)name,姓名,char類型,長度10,允許為空
3)basicsal,樓號,numerical類型,長度3,允許為空
4),房號,numerical類型,長度3,允許為空
3.2 連接數據庫
在DB Profile成功創建后,就可以連接數據庫了,在database畫板的objects子窗中,選擇ODBC項,在該項下列出了所有可以連接數據庫的DB Profile,選擇要連接的數據庫的DB Profile,這里為stpro,單擊鼠標右鍵,選擇connect連接數據庫,若連接成功,會在相應的DB Profile,前面的圖標上打下“對號”標記,該數據庫變為當前工作數據庫,這時就可以在該數據庫中創建表,檢索數據等,若連接不成功,一般是已被統一數據庫的另一個DB Profile連接,這時應先斷開別的數據庫,然后再連接即可。同一物理數據庫,不能同時連接兩個連接,但同一時刻,可以連接多個不同的物理數據庫。
3.3 創建表
數據庫連接成功后,就可以創建、修改、刪除表;創建和刪除索引;創建、修改和刪除主鍵和外部鍵;查看與編輯數據等。
3.4 數據的輸入與保存
在表的定義完成以后,可以向表中輸入數據,也可以查看和修改數據。
Powerbuilder提供了三種輸入方式:
網絡格式grid、自由格式freeform、表格格式tabular。
用鼠標右鍵單擊要輸入數據的表,將彈出菜單,選擇edit data子菜單,會列出三種輸入方式:grid、 freeform 、tabular,選擇其中一種輸入方式。
格式選好后,將出現界面。如果表中有數據,將會列出所有的數據。如果沒有給表定義列的擴展屬性,則題頭將用列名代替。
最后保存數據,選擇工具欄的save changes圖標或關閉數據輸入子窗口。
4 人事管理信息系統
4.1 人事系統設計目標
人事管理系統可以用于支持單位完成勞動人事管理工作,有如下各方面的目標:1)支持單位實現規模化的管理;2)支持單位高效率完成人事管理的日常業務,包括新人員加入時人事檔案的建立,老員工的提升,轉出,辭職,退休等; 3)系統應具有數據庫維護功能,及時根據用戶需求進行數據的添加、刪除、修改、備份等操作。
4.2 功能分析
在系統開發總體任務的基礎上完成系統功能分析,系統開發總體任務一般由學校領導,包括人事處領導提出,本人事系統需要如下功能:1)員工各種信息的輸入,包括員工的基本信息、學歷信息、職務等;2)員工的各種信息的修改;3)支持轉出、辭職、退休員工信息的刪除;
4)按照某種條件,查詢統計符合條件的員工信息;5)人事系統的使用幫助。
4.3 數據庫結構的實現
以下是創建表格的SQL語句
創建員工基本信息表格basic
CREATE TABLE\"renshi\",basic
(no number (6)bot 1,
name varchar2(10) 1,
dept id numerb(3) 1,
gender varchar2(2) 1,
birthday date 1,
id number(20) 1,
marriage varchar2(20)1,
zzmm varchar2(4) 1,
starwork date 1,
positin varvhar2(10) 1,
adress varchar2(10) 1,
phone number(10) 1,
mobile number(12) 1,
email varchar1(20) 1,
constraint no pk primary key(no))
tablespace \"user data\";
參考文獻:
[1] 張海燕.軟件工程導論[M].北京:清華大學出版社,1996.
[2] 薩師煊,王珊.數據庫系統概論[M].北京:高等教育出版社,2005.
[3] 何軍,劉紅巖,王蓉,等.POWERBUILDER原理與應用開發指南[M].北京:電子工業出版社,1999.
[4] 明德祥,于世江,張智永.POWERBUILDER網絡技術及應用[M].北京:國防科技大學出版社,2002.
[5] 鄭阿奇,張為民.POWERBUILDER實用教程[M].2版.北京:電子工業出版社,2001.
[6] 何旭洪,余建英.POWERBUILDER數據庫系統開發實例導航[M].2版.北京:人民郵電出版社,2003.