


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計課程名稱數(shù)據(jù)庫應(yīng)用課程設(shè)計題目名稱 工資管理系統(tǒng)學(xué)生學(xué)院摘要本報告介紹了一個使用 Visual Basic 為前臺,SQL Server 2000為后臺,用于工資管 理的數(shù)據(jù)庫管理系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)對部門信息、管理員信息、員工信息、工資信息和 考勤信息的管理功能,即對這些信息的編輯、查詢。報告首先分析了用戶的需求,設(shè)計出了系統(tǒng)的功能結(jié)構(gòu)圖,然后對系統(tǒng)進(jìn)行了概念結(jié) 構(gòu)設(shè)計,設(shè)計出了系統(tǒng)的局部 ER圖和全局ER圖,根據(jù)全局ER圖對系統(tǒng)進(jìn)行了邏輯結(jié)構(gòu)設(shè) 計,確定出系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)即關(guān)系模式,根據(jù)這些關(guān)系模式,在SQL Server 2000中,創(chuàng)建了部門信息、管理員信息、員工信息、工資信息和
2、考勤信息等五張基本表對象;同時, 利用這些表對象,創(chuàng)建了滿足用戶需求的各種查詢對象;實現(xiàn)了在SQLServer環(huán)境下的工資管理系統(tǒng)功能。最后,使用數(shù)據(jù)庫連接技術(shù),以設(shè)計完成的 SQL Server 2000數(shù)據(jù)庫文 件為后臺,VB界面為前臺,設(shè)計了系統(tǒng)登錄窗體和員工基本信息管理窗體,實現(xiàn)了工資管 理系統(tǒng)的部分功能。關(guān)鍵詞:數(shù)據(jù)庫,SQL Server 2000,工資管理小組情況本系統(tǒng)是通過小組全體成員的共同努力,經(jīng)過分工合作完成的,具體情況如下:1. 合作的工作需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計和報告的草稿通過小組討論完成。2. 分工在數(shù)據(jù)庫系統(tǒng)的總體方案確定之后,小組成員開始分工,獨(dú)立完成
3、不同的模塊及工作1 需求分析 錯誤!未定義書簽。系統(tǒng)設(shè)計的意義 錯誤!未定義書簽。系統(tǒng)功能 錯誤!未定義書簽。系統(tǒng)數(shù)據(jù) 錯誤!未定義書簽。2概念結(jié)構(gòu)設(shè)計 錯誤!未定義書簽。實體分析及其局部 ER圖 錯誤!未定義書簽。實體之間的聯(lián)系及其 ER圖 錯誤!未定義書簽。系統(tǒng)全局ER圖 錯誤!未定義書簽。3邏輯結(jié)構(gòu)設(shè)計 錯誤!未定義書簽。4數(shù)據(jù)庫設(shè)計 錯誤!未定義書簽。創(chuàng)建表對象 錯誤!未定義書簽。創(chuàng)建表之間的關(guān)系 錯誤!未定義書簽。創(chuàng)建視圖 錯誤!未定義書簽。創(chuàng)建存儲過程 錯誤!未定義書簽。創(chuàng)建觸發(fā)器 錯誤!未定義書簽。5前臺界面設(shè)計 錯誤!未定義書簽。系統(tǒng)工程結(jié)構(gòu)設(shè)計, 錯誤!未定義書簽。登錄模塊設(shè)
4、計 錯誤!未定義書簽。界面設(shè)計 錯誤!未定義書簽。連接設(shè)計 錯誤!未定義書簽。登陸窗體代碼設(shè)計 錯誤!未定義書簽。主窗體(MDIForml)模塊設(shè)計 錯誤!未定義書簽。總結(jié) 錯誤!未定義書簽。致謝 錯誤!未定義書簽。參考文獻(xiàn) 錯誤!未定義書簽。1需求分析系統(tǒng)設(shè)計的意義隨著信息化技術(shù)的發(fā)展及普及,工資管理模式也發(fā)生了巨大的變化,由 原來的手工管理模式逐步轉(zhuǎn)變?yōu)樾畔⒒芾?,通過信息化管理,將管理員、員 工及部門等信息集成在一個系統(tǒng)中,使公司能夠方便地處理工資發(fā)放操作,也 使公司及相關(guān)人員能夠在第一時間掌握工資信息及員工情況,并根據(jù)這些信息 做出今后的管理決策計劃。系統(tǒng)功能為了使本小組設(shè)計的系統(tǒng)能夠
5、盡可能滿足工資管理的實際需求,在進(jìn)行系 統(tǒng)設(shè)計之前,小組全體成員通過查資料、親臨公司進(jìn)行調(diào)查和小組多次激烈的 討論,最后確定本系統(tǒng)應(yīng)該具有如下的功能:部門信息管理:能夠?qū)Σ块T的信息進(jìn)行有效的管理,其中包括部門信息 的添加、修改和刪除,以及部門信息查詢。員工信息管理:能夠?qū)T工的信息進(jìn)行有效的管理,其中包括員工信息 的添加、修改和刪除,以及員工信息查詢。工資管理:能夠?qū)ζ溉涡畔⑦M(jìn)行有效的管理,其中包括聘任信息的添加、 修改和刪除,以及聘任信息查詢??记诠芾恚耗軌?qū)记谛畔⑦M(jìn)行有效的管理,其中包括考勤信息的添加、 修改和刪除,以及考勤信息查詢。管理員管理:能夠?qū)芾韱T信息進(jìn)行有效的管理,其中包括管
6、理員信息 的添加、修改和刪除,以及管理員信息查詢。上述的需求分析可以總結(jié)為如圖1-1所示的功能結(jié)構(gòu)圖圖1-1 工資管理功能結(jié)構(gòu)圖系統(tǒng)數(shù)據(jù)數(shù)據(jù)庫的核心是數(shù)據(jù),相互關(guān)聯(lián)的數(shù)據(jù)構(gòu)成數(shù)據(jù)結(jié)構(gòu)。對于數(shù)據(jù)庫設(shè)計來說, 通常使用數(shù)據(jù)字典對各類數(shù)據(jù)及其集合進(jìn)行描述,數(shù)據(jù)字典是進(jìn)行數(shù)據(jù)收集和數(shù) 據(jù)分析所獲得的主要成果。下面將根據(jù)系統(tǒng)功能對本系統(tǒng)設(shè)計的數(shù)據(jù)項和數(shù)據(jù)結(jié) 構(gòu)分別進(jìn)行分析。本系統(tǒng)涉及部門、員工和管理員三個對象,所以系統(tǒng)涉及的數(shù)據(jù)項由這三 個對象本身的屬性和它們之間關(guān)系的屬性確定。 下面將分別討論他們的數(shù)據(jù)結(jié)構(gòu) 和數(shù)據(jù)項。員工名稱:公司員工含義:員工是工資管理系統(tǒng)的主要數(shù)據(jù)結(jié)構(gòu),包含了員工的所有信息。既然
7、 員工屬于系統(tǒng)管理的對象范疇,應(yīng)具有統(tǒng)一的編號,每一位員工給一個編號, 同一部門的員工有多個,故員工編號是員工的一個重要屬性。組成:員工對象分別由員工編號、員工姓名、性別、部門名稱、出生日期、 籍貫、員工職位、住址、聯(lián)系電話九個數(shù)據(jù)項組成。各數(shù)據(jù)項的含義如下:數(shù)據(jù)項:員工編號含義:員工編號,能夠唯一標(biāo)識每一位員工 別名:員工編號數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:員工姓名含義:員工所取的名字別名:姓名數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:性別含義:員工的性別數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:部門名稱含義:員工所屬部門別名:部門名稱數(shù)據(jù)類型:字符型長度:20數(shù)據(jù)項:出生日期含義:員工的出生年月日別名:
8、員工出生日期數(shù)據(jù)類型:時間日期型長度:8數(shù)據(jù)項:籍貫含義:員工的出生地別名:員工籍貫數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:員工職位含義:員工所任職的崗位別名:職位數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:住址含義:員工的住址別名:員工家庭地址數(shù)據(jù)類型:字符型長度:40數(shù)據(jù)項:聯(lián)系電話含義:員工的聯(lián)系電話別名:員工聯(lián)系方式數(shù)據(jù)類型:字符型長度:11部門名稱:部門名稱含義:企業(yè)的部門組成:部門對象分別由部門編號、部門名稱、人數(shù)組成各數(shù)據(jù)項的含義如下:數(shù)據(jù)項:部門編號含義:部門編號能夠唯一確定部門的所有信息。別名:編號數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:部門名稱含義:部門的名稱別名:名稱數(shù)據(jù)類型:字符型長度:20
9、數(shù)據(jù)項:人數(shù)含義:部門的人數(shù)數(shù)據(jù)類型:int長度:4管理員名稱:管理員含義:在系統(tǒng)中起非常重要的作用,負(fù)責(zé)管理系統(tǒng)。組成:管理員對象分別由管理員編號、管理員姓名和密碼組成。各數(shù)據(jù)項的含義如下:數(shù)據(jù)項:管理員編號含義:系統(tǒng)為每一位管理員進(jìn)行統(tǒng)一編號管理,編號能夠唯一確定管理 員對象。別名:工號數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:管理員姓名含義:管理員的姓名數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:密碼含義:管理員登錄系統(tǒng)的安全編碼,最初由系統(tǒng)分配一個登錄密碼,但 管理員一旦登錄系統(tǒng),就可以修改密碼了。數(shù)據(jù)類型:字符型長度:6(4)工資名稱:工資含義:員工在公司上班,所獲得的工資報酬。組成:日期、基本工資、
10、工齡工資、地區(qū)補(bǔ)貼組成。各數(shù)據(jù)項的含義如下:數(shù)據(jù)項:日期含義:發(fā)工資的日期數(shù)據(jù)類型:時間日期型長度:8數(shù)據(jù)項:員工編號含義:員工編號,能夠唯一標(biāo)識每一位員工。別名:員工編號數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:員工姓名含義:員工所取的名字別名:姓名數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:部門名稱含義:員工所屬部門別名:部門名稱數(shù)據(jù)類型:字符型長度:20數(shù)據(jù)項:基本工資含義:員工所得的基本工資數(shù)據(jù)類型:int長度:4數(shù)據(jù)項:工齡工資含義:參與該公司工作的時間所額外獲得的工資數(shù)據(jù)類型:int長度:4數(shù)據(jù)項:地區(qū)補(bǔ)貼含義:補(bǔ)貼給員工的地區(qū)差額數(shù)據(jù)類型:int長度:4(5)考勤名稱:員工考勤含義:員工經(jīng)過考勤之
11、后才能夠進(jìn)行有效管理,考勤由管理員完成,員工考勤時會產(chǎn)生曠工、請假、遲到、 早退等屬性。組成:員工編號、考勤日期、員工姓名、曠工 、請假、遲到、早退各數(shù)據(jù)項的含義如下:數(shù)據(jù)項:員工編號含義:員工編號,能夠唯一標(biāo)識每一位員工數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:考勤日期含義:對員工每月進(jìn)行考勤數(shù)據(jù)類型:時間日期型長度:8數(shù)據(jù)項:員工姓名含義:員工所取的名字別名:姓名數(shù)據(jù)類型:字符型長度:10數(shù)據(jù)項:曠工含義:記錄每一個員工的曠工次數(shù)數(shù)據(jù)類型:int長度:4數(shù)據(jù)項:請假含義:記錄每一個員工的請假次數(shù)數(shù)據(jù)類型:int長度:4數(shù)據(jù)項:遲到含義:記錄每一個員工的遲到次數(shù)數(shù)據(jù)類型:int長度:4數(shù)據(jù)項:早退含
12、義:記錄每一個員工的請假次數(shù)數(shù)據(jù)類型:int長度:42概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計就是將需求分析階段得到的用戶需求抽象為數(shù)據(jù)庫的概念結(jié) 構(gòu),是邏輯結(jié)構(gòu)設(shè)計的基礎(chǔ)。本論文使用 ER圖來描述系統(tǒng)的概念結(jié)構(gòu)。在實際 設(shè)計過程中,首先分析系統(tǒng)中以實體為基本單位的局部ER圖,然后分析兩兩實體之間的聯(lián)系,畫出兩兩實體聯(lián)系的局部 ER圖,再將兩兩實體之間聯(lián)系的ER圖 作為基本單位,畫出多個實體之間聯(lián)系的 ER圖,依次類推,最后將各局部 E-R 圖合并成全局E-R圖,下面將針對該系統(tǒng)分別進(jìn)行分析。實體分析及其局部ER圖通過需求分析得知工資管理系統(tǒng)的研究對象有部門、員工、公司和管理員四 個對象,也就是四個實體。(1
13、)部門對于工資管理系統(tǒng)來說,比較重要的部門信息是部門編號、部門名稱、人數(shù)。 其中部門的編號能夠唯一確定某個部門的所有信息, 故在該實體中定義部門編號 為實體標(biāo)識符。部門的ER圖如2-1所示。部門圖2-1部門ER圖(2)管理員工資管理系統(tǒng)中的所有管理工作由管理員來完成,管理員在系統(tǒng)中發(fā)揮著非 常重要的作用,故系統(tǒng)必須對管理員進(jìn)行統(tǒng)一管理,給每個管理員設(shè)置管理員編 號和密碼。本系統(tǒng)中管理員實體的屬性為管理員編號、管理員姓名和密碼,其中, 管理員編號能夠唯一標(biāo)識管理員的各個屬性, 所以定義管理員編號為管理員實體 的標(biāo)識符。管理員的ER圖如2-2所示。圖2-2管理員ER圖(3) 員工在員工實體中,包含
14、員工編號、員工姓名、性別、部門名稱、出生日期、籍 貫、員工職位、住址、聯(lián)系電話九個屬性。其中,編號能夠唯一標(biāo)識每一位員工, 故定義編號為員工實體的標(biāo)識符。員工實體的ER圖如2-3所示。圖2-3員工ER圖(4) 公司在工資管理系統(tǒng)里,公司信息由名稱、地址和負(fù)責(zé)人。其中公司的名稱能夠 唯一確定公司的所有信息,故在該實體中定義公司名稱為實體標(biāo)識符。公司的 ER圖女口 2-4所示。公司實體之間的聯(lián)系及其ER圖(1)員工與部門聯(lián)系的ER圖企業(yè)中的每一位員工均由某個部門管理,一個部門管理多個員工,每一位員工僅能由一個部門管理,故部門和員工之間聯(lián)系類型是1:N的聯(lián)系。部門在管理員工的過程中將產(chǎn)生部門編號、部
15、門名稱和人數(shù)等屬性,由于在部門里,部門可能會出現(xiàn)姓名相同的員工,為了方便靈活的管理每個員工,需要為每個員工建立 一個員工編號。員工和部門聯(lián)系的 ER圖如圖2-5所示。部門圖2-5部門與員工的聯(lián)系(2)公司和員工聯(lián)系的ER圖應(yīng)聘者一旦成為公司員工之后,就可以對員工進(jìn)行考勤管理了。隨后公司與員工之間通過工資建立聯(lián)系,兩個實體之間是1: N聯(lián)系。在這過程中,產(chǎn)生了考勤和工資兩個聯(lián)系。ER圖如圖2-6所示。名稱地址住址員工姓名員工職位負(fù)責(zé)人考勤日期請假早退遲到地址曠工N1考勤1N性別員工編號工資工齡工資基本工資地區(qū)補(bǔ)貼日期岀生日期員工公司圖2-6 公司與員工的聯(lián)系系統(tǒng)全局ER圖2.3.1 屬性整合在整
16、合的過程中,各局部 ER圖的屬性發(fā)生如下的沖突,所以需要重新進(jìn)行 定義。(1) 編號:編號屬性分別在四處出現(xiàn),所以要進(jìn)行重新定義。根據(jù)數(shù)量所處的 位置,分別定義為部門編號、員工編號、考勤編號、管理員編號。關(guān)系整合全局ER圖是創(chuàng)建數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ),故由局部 ER圖向全局ER圖整合的過程 中,應(yīng)該根據(jù)系統(tǒng)的功能和實際操作需要做取舍。(1) 在公司和員工兩實體聯(lián)系中,產(chǎn)生考勤與工資的聯(lián)系。(2) 員工是系統(tǒng)一個非常重要的實體,員工編號又是員工一個非常重要的 屬性,該屬性正好是員工實體的主鍵,故通過該屬性可以建立員工和部門之 間的聯(lián)系。將圖2-5、2-6合并,同時對各個屬性和關(guān)系進(jìn)行整合, 就得到系統(tǒng)全
17、局ER圖。在本工資管理系統(tǒng)中,管理員不是系統(tǒng)研究的重點內(nèi)容,為了簡化系 統(tǒng),故在全局ER圖中,可以不考慮管理關(guān)系,在系統(tǒng)中僅將管理員作為獨(dú) 立的對象處理。整合后的全局 ER圖如圖2-7所示。員工職位籍貫員工編號名稱負(fù)責(zé)人住址地址考勤日期早退遲到曠工考勤N1N性別工資工齡工資基本工資地區(qū)補(bǔ)貼日期屬于岀生日期公司員工姓名員工假 .1圖2-7全局ER圖整合后各實體及其聯(lián)系的屬性如下:管理員(管理員編號,管理員姓名,密碼);部門(部門編號,部門名稱,人數(shù),);員工(員工編號,員工姓名,性別,出生日期,籍貫,員工職位,住址) 考勤(員工編號,考勤日期,請假,早退,遲到,曠工);工資(員工編號,日期,地區(qū)
18、補(bǔ)貼,工齡工資,基本工資)。公司(名稱,地址,負(fù)責(zé)人);說明:由于公司只有一個,而且其所有屬性都是確定的,所以不必考慮公司 實體。3邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計的目的是將全局概念模型(ER圖)轉(zhuǎn)換成DBMS支持的概念 模式或關(guān)系模式(或者稱為數(shù)據(jù)結(jié)構(gòu))。本系統(tǒng)選用SQL Server 2000作為后臺 數(shù)據(jù)庫,該數(shù)據(jù)庫屬于關(guān)系型數(shù)據(jù)庫,即使用表結(jié)構(gòu)表示系統(tǒng)中的所有實體及其 聯(lián)系。要在SQL Server 2000中實現(xiàn)圖2-7所示的全局ER圖(系統(tǒng)概念結(jié)構(gòu)),必須將其轉(zhuǎn)換成關(guān)系模式。從 ER圖出發(fā),導(dǎo)出關(guān)系模式數(shù)據(jù)結(jié)構(gòu)遵循如下的兩個 原則:第一,對ER圖中的每個“實體”,都應(yīng)該轉(zhuǎn)換成一個關(guān)系,該關(guān)
19、系內(nèi)至少要 包含對應(yīng)實體的屬性,并根據(jù)語義關(guān)系確定關(guān)系的主鍵。第二,對ER圖中的“聯(lián)系”,要根據(jù)實際聯(lián)系的方式及數(shù)據(jù)處理的需要,或 者將其作為獨(dú)立的關(guān)系來處理,或者將關(guān)系的屬性(如果有)納入相關(guān)聯(lián)的實體的屬性中。如果實體之間是1:N聯(lián)系,且聯(lián)系沒有產(chǎn)生對系統(tǒng)來說非常重要的屬性,一 般將1端的主鍵納入N端的實體關(guān)系中,但是如果聯(lián)系中產(chǎn)生對系統(tǒng)比較重要的 屬性,且需要獨(dú)立研究該屬性,則要將聯(lián)系轉(zhuǎn)換成一個獨(dú)立的關(guān)系。如果實體之間的聯(lián)系是 M:N聯(lián)系,且聯(lián)系中的屬性多或者比較重要,則要將 聯(lián)系作為獨(dú)立的關(guān)系來處理,且在關(guān)系中要包含聯(lián)系的屬性和與聯(lián)系相關(guān)聯(lián)的實 體的屬性。根據(jù)這個原則,將圖 2-7與2-
20、8轉(zhuǎn)換成圖3-1所示的數(shù)據(jù)結(jié)構(gòu)??记?員工公司工資N公司(名稱、地址、負(fù)責(zé)人)考勤(員工編號、考勤日期、員工姓名、請假、曠工、遲到、早退)員工(員工編號、員工姓名、部門名稱、岀生日期、性別、員工職位、籍貫、住址、聯(lián)系電話)工資(員工編號、日期、員工姓名、基本工資、地區(qū)補(bǔ)貼、.工齡工資)1屬于部門(部門編號、部門名稱、人數(shù))部門管理員管理員(管理員編號、管理員姓名、密碼)整合后各實體及其聯(lián)系的屬性如下:管理員(管理員編號,管理員姓名,密碼);部門(部門編號,部門名稱,人數(shù),);員工(員工編號,部門名稱,員工姓名,性別,出生日期,籍貫,員工職位, 住址,聯(lián)系電話);考勤(員工編號,考勤日期,員工姓
21、名,請假,早退,遲到,曠工);工資(員工編號,日期,員工姓名,地區(qū)補(bǔ)貼,工齡工資,基本工資)。公司(名稱,地址,負(fù)責(zé)人);說明:由于公司只有一個,而且其所有屬性都是確定的,所以不必考慮公司 實體。4數(shù)據(jù)庫設(shè)計本系統(tǒng)使用SQL Server 2000作為后臺數(shù)據(jù)庫,同時也使用 Visual Basic 設(shè)計了一個前臺界面,因此,在 SQL Server中,除了創(chuàng)建基本表對象之外,還 創(chuàng)建了視圖。創(chuàng)建表對象表對象是數(shù)據(jù)庫最基本的對象,數(shù)據(jù)庫中所有其它的對象都是基于表對象來創(chuàng)建的。表對象要根據(jù)邏輯結(jié)構(gòu)設(shè)計階段設(shè)計的關(guān)系模式來創(chuàng)建。 在創(chuàng)建表結(jié)構(gòu) 之前,首先應(yīng)該確定表中各字段的數(shù)據(jù)類型和約束, 然后在
22、設(shè)計視圖或SQL視圖 中創(chuàng)建表對象。下面分別使用表格來表示各個表對象的數(shù)據(jù)類型和約束。(1)系統(tǒng)管理員在管理員對象的三個字段中,管理員編號能夠唯一標(biāo)識一個管理員,所以將 該字段定義為主鍵,其它兩個字段在管理員表中必不可少,所以定義為非空約束。 表4-1列出了管理員表結(jié)構(gòu)的數(shù)據(jù)信息。列名數(shù)據(jù)類型約束情況管理員編號char(10)主鍵姓名char(10)非空密碼varchar(6)非空表4-1管理員表結(jié)構(gòu)(2)部門信息表部門編號能夠唯一標(biāo)識部門的所有信息,故定義為主鍵,部門名稱和部門人 數(shù)字段不能為空,表4-2列出了部門表結(jié)構(gòu)的數(shù)據(jù)信息。列名數(shù)據(jù)類型約束情況部門編號char(10)主鍵部門名稱ch
23、ar(20)非空人數(shù)smallint非空表4-2 部門表結(jié)構(gòu)(3)員工信息表員工是收發(fā)工資的主要對象,在員工關(guān)系中定義員工編號為主鍵,其余為非 空約束,表4-3列出了員工信息表結(jié)構(gòu)的數(shù)據(jù)信息。列名數(shù)據(jù)類型約束情況員工編號char(10)主鍵員工姓名char(10)非空性別char(10)非空部門名稱char(20)非空岀生日期datetime非空籍貫char(10)允許空員工職位char(10)非空聯(lián)系電話char(11)非空住址char(40)允許空表4-3員工信息表結(jié)構(gòu)(4)考勤信息表考勤通常作為信息統(tǒng)計和憑證使用,每一個考勤信息作為一個獨(dú)立的記錄,故定義員工編號與考勤日期為主鍵。表 4-
24、4列出了基本考勤表結(jié)構(gòu)的數(shù)據(jù)信息列名數(shù)據(jù)類型約束情況員工編號char(10)主鍵考勤日期datetime員工姓名char(10)非空請假int允許空曠工int允許空早退int允許空遲到int允許空表4-4 考勤表結(jié)構(gòu)(5)工資信息表工資信息表作為工資統(tǒng)計使用,每一個工資信息作為一個獨(dú)立的記錄,故定 義員工編號與日期為主鍵,其余字段為非空約束。表4-5列出了基本工資信息表 結(jié)構(gòu)的數(shù)據(jù)信息。列名數(shù)據(jù)類型約束情況員工編號char(10)主鍵日期datetime員工姓名char(10)非空部門編號char(20)非空工齡工資smallint非空地區(qū)補(bǔ)貼smallint非空基本工資smallint非空表
25、4-5 考勤表結(jié)構(gòu)創(chuàng)建表之間的關(guān)系通過表之間關(guān)系的創(chuàng)建,為創(chuàng)建多表之間的連接查詢做好準(zhǔn)備。本系統(tǒng)創(chuàng)建 的關(guān)系圖如圖4-6所示。圖4-6系統(tǒng)關(guān)系圖創(chuàng)建視圖根據(jù)以上可得知,本系統(tǒng)創(chuàng)建的 SQL Server 2000數(shù)據(jù)庫文件中共包含5個 表對象。為了方便管理員使用該系統(tǒng)進(jìn)行數(shù)據(jù)查詢,系統(tǒng)還創(chuàng)建了如下的視圖。1.單表查詢視圖:(1)員工信息查詢視圖能夠?qū)λ袉T工的信息進(jìn)行查詢;(2)部門信息查詢視圖(3)考勤信息查詢視圖能夠?qū)γ總€部門的所有信息進(jìn)行查詢;能夠?qū)记诘乃行畔⑦M(jìn)行查詢;(4)工資信息查詢能夠?qū)べY的所有信息進(jìn)行查詢;2. 多表查詢視圖(1)工資信息表和員工信息表聯(lián)合查詢(數(shù)據(jù)完整)2
26、. 統(tǒng)計各部門月工資總數(shù)3. 統(tǒng)計所有部門月工資總額創(chuàng)建存儲過程1.創(chuàng)建cunchul,查詢員工的所有信息。create procedure Cun chulasselect * from員工信息表2. 創(chuàng)建cunchu2,按編號查詢查詢員工的所有信息。create procedure Cun chu2find 員工編號 char(10)asselect員工編號,員工姓名,部門名稱,員工職位from員工信息表where員工編號=find員工編號GO3. 創(chuàng)建cunchu3,向部門信息表中添加一個新的記錄。create procedure Cun chu3部門編號char(10), 部門名稱ch
27、ar (20), 部門人數(shù)char (10)asin sert部門信息表VALUES (B門編號,部門名稱,部門人數(shù))GO創(chuàng)建觸發(fā)器1) 創(chuàng)建員工信息表刪除觸發(fā)器當(dāng)用戶刪除員工信息表中的內(nèi)容時,引發(fā)該觸發(fā)器檢查考勤信息表中是否存在該內(nèi)容,如果存在就不能刪除,否則就可以刪除。create trigger tr_delete_員工 on 員工信息表for delete asdeclare 員工編號 char(10)select 員工編號=員工編號from deletedif exists (select* from考勤信息表 where 員工編號=員工編號)beginrollbackend2) 創(chuàng)
28、建員工信息表更新觸發(fā)器,當(dāng)員工信息表中部門編號發(fā)生改變時,引發(fā)該 觸發(fā)器更新工資信息表中的部門屬性。create trigger tr_update_ 員工on dbo.員工信息表for updateasif update( 部門名稱)begindeclare b 部門名稱 char(20),h 部門名稱 char(20)select b 部門名稱=部門名稱from deletedselect h部門名稱=部門名稱from insertedupdate工資信息表set 部門名稱=h部門名稱from 工資信息表 where 部門名稱=b咅B(yǎng) 門名稱print(記錄更新成功)end3) 創(chuàng)建考勤信
29、息表添加觸發(fā)器,當(dāng)用戶向考勤信息表中輸入員工的信息時,引 發(fā)該觸發(fā)器檢查員工信息表中是否有該項內(nèi)容,如果有就可以成功輸入,否則就 不能輸入。create trigger tr_insert_考勤 on 考勤信息表for in sert asdeclare 員工編號 char(10), 考勤日期datetime,員工姓名 char(10), 早退int,曠 工int, 遲到int, 請假intselect 員工編號=員工編號 from insertedselect 員工姓名=員工姓名from insertedif not exists (select* from員工信息表 where 員工姓名=
30、員工姓名 and 員工編號=員工編號)beginrollbackend5前臺界面設(shè)計本系統(tǒng)使用SQL Server 2000作為后臺數(shù)據(jù)庫,使用設(shè)計前臺界面,因此,在SQLServer 2000中,僅需要創(chuàng)建基本表對象和表之間的關(guān)系,為了減少重復(fù),在VB中僅創(chuàng)建了用戶登錄界面和員工信息查詢和編輯界面。系統(tǒng)工程結(jié)構(gòu)設(shè)計,工資管理系統(tǒng)的工程中包含登錄窗體、背景窗體、主窗體和各表對象的編輯 窗體和查詢窗體,共可創(chuàng)建五個窗體。其結(jié)構(gòu)見圖。登錄模塊設(shè)計5.3.1 界面設(shè)計(1)登錄窗體的設(shè)計界面如圖所示。(2)主窗體的設(shè)計界面如圖所示。圖登陸窗體界面圖系統(tǒng)工程結(jié)構(gòu)圖圖主窗體界面(3) 員工信息編輯窗體的
31、設(shè)計界面如圖所示。員工信息查詢窗體的設(shè)計界面如 圖所示。圖員工信息查詢窗體界面(4)窗體中各控件的屬性設(shè)置登錄窗體的兩個標(biāo)簽使用默認(rèn)的 Name屬性,其Caption屬性如圖所示表登錄窗體控件屬性默認(rèn)控件名Name屬 性其他屬性Form1LoginCap tio n= ”登錄窗體”Text1txtNo一Text2txtCodePasswordChar= ” * ”Comma nd1cmdOKCaption= ”確定(&E) ”Comma nd2cmdCa ncleCaption= ”取消(&C) ”連接設(shè)計當(dāng)管理員輸入賬號和密碼后,系統(tǒng)將根據(jù)管理員輸入的信息,到后臺數(shù)據(jù)庫的管理員表中查找該信息
32、是否存在,如果存在,系統(tǒng)將進(jìn)入主窗體,供管理員使用,否則,系統(tǒng)將不可 以使用。要完成這些任務(wù),就必須在前臺的VB系統(tǒng)與后臺的數(shù)據(jù)庫之間建立連接,該模塊使用ADO對象建立連接,創(chuàng)建的連接對象名稱為Conn,數(shù)據(jù)庫提供者(數(shù)據(jù)庫管理系統(tǒng))為Access2003即,使用的數(shù)據(jù)庫為“工資管理 Access+ ”連接語句如下:provider= data source= 工資管理 Access+創(chuàng)建連接之后,就要根據(jù)用戶輸入的信息建立查詢,查詢結(jié)果保存在查詢對象rs_login中,查詢語言保存在sql字符串中,并設(shè)置游標(biāo)類型為鍵集類型,鎖的類型為樂觀鎖,運(yùn)行查詢的語句如下:sql, conn, adOp
33、enKeyset, adLockOptimistic登陸窗體代碼設(shè)計PrivateSub Form_Load()coun =0III!IlliEnd SubPrivate Sub cmdCancle_Click()取消按鈕的單擊事件Un load MeEnd SubPrivate Sub cmdOK_Click() 確定按鈕的單擊事件Static coun As In tegerDim sql As Stri ngDim rs_loginAs NewDim conn As New靜態(tài)變量,記錄登錄次數(shù)字符串變量,存放查詢語句定義記錄集對象變量,存放查詢結(jié)果 定義連接對象變量,存放鏈接信息Sec
34、urity=SSPI;PersistSecurityIn fo=False;I nProvider=;I ntegrateditial Catalog=課程”輸出連接信息If =1 ThenMsgBox 恭喜您連接成功”ElseMsgBox 連接失敗,請重新設(shè)置連接EndIf Trim = The nMsgBox 用戶名不能為空,請重新輸入!Elsesql = select * from 系統(tǒng)管理員 where 管理員編號 & Trim & “使用鍵集游標(biāo),樂觀鎖方式打開查詢的記錄sql, conn,adOpe nKeyset,adLockOptimisticIf = True The nMs
35、gBox 沒有這個用戶,請重輸入! ,48,III!ElseIf Trim(2) = Trim The nUn load MeElseMsgBox 密碼不正確,請重輸入! ,48,_ IlliEnd IfEnd IfEnd Ifcoun = coun +1If coun =3 The nMsgBox 對不起,您已經(jīng)登錄 3次了,系統(tǒng)將自動退出!”Un load MeEnd IfEnd Sub主窗體(MDIForm)模塊設(shè)計(1 )菜單及屬性設(shè)置根據(jù)工資管理系統(tǒng)的功能,主窗體上設(shè)計有“員工管理”、“工資管理”、“部門管理”、“考勤管理”及退出共五個主菜單,主菜單中又包含有菜單項,各級菜單及屬性設(shè)
36、置如表所示。表 “工資管理系統(tǒng)”主窗體菜單及其屬性標(biāo)題名稱員工管理mnu ygMa nag員工信息查詢mn uygF ind員工信息編輯mn uygEdit部門管理mn ubmMa nag部門信息查詢mn ibmFi nd部門信息編輯mn ibmEdit考勤管理mnukqnag考勤信息查詢mnikqnd考勤信息編輯mn ikqit工資管理mnugznag工資信息查詢mnigznd工資信息編輯mn igzit退出系統(tǒng)mn uExit(2) 員工信息編輯窗體代碼設(shè)計Private Sub CmdAdd_Click()SubPrivate Sub CmdUpdate_Click()將添加的紀(jì)錄存入數(shù)
37、據(jù)庫Dim cnn As NewDim rs As NewDim str As String, sql As Stringstr = Provider=;lntegrated Security=SSPI;Persist Security lnfo=False;lnitial Catalog= strsql = select * from員工信息表 where 員工編號=& Trim(Txtno) & sql, cnn, adOpenKeyset, adLockOptimisticIf = False ThenMsgBox 該編號已經(jīng)存在,請重新輸入!Txtno =ElseMsgBox 修改成功!End IfEnd SubPrivate Sub CmdDelete_Click() 刪除紀(jì)錄Dim i As Integeri = MsgBox(確定要刪除該記錄嗎, vbYesNo)If i = vbYes ThenMsgBox 該記錄已經(jīng)成功刪除End IfEnd SubPrivate Sub CmdReturn_Click()Unload MeEnd SubPrivate Sub CmdFirst_Click()查第一條紀(jì)錄SubIf = True ThenMsgBox 這已經(jīng)是最后一條記錄了 E
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年下半年四川成都事業(yè)單位招聘工作人員筆試歷年典型考題及考點剖析附帶答案詳解
- 春節(jié)市場活動方案
- 新家喬遷活動策劃方案
- 日積月累背誦活動方案
- 新年特色繪畫活動方案
- 春節(jié)學(xué)生教育活動方案
- 文秘活動策劃方案
- 日本武士新年活動方案
- 新年公司部門活動方案
- 春節(jié)活動家庭活動方案
- 2025年江西省金控科技產(chǎn)業(yè)集團(tuán)社會招聘4人(第一批次)筆試參考題庫附帶答案詳解
- AI與VR在麻醉教學(xué)中的應(yīng)用及個性化學(xué)習(xí)路徑探討
- 《地球物理測井技術(shù)》課件2
- 《流域演化特征》課件
- 2025年自來水筆試題及答案
- 廣東省深圳市福田區(qū)耀華實驗學(xué)校2025年六年級下學(xué)期5月模擬預(yù)測數(shù)學(xué)試題含解析
- 2025年安徽中醫(yī)藥高等??茖W(xué)校單招職業(yè)適應(yīng)性測試題庫有答案
- 2025年山東省威海市市屬事業(yè)單位招聘(綜合類)考試筆試高頻重點模擬試卷提升(共500題附帶答案詳解)
- 成績單申請書
- 高校人事檔案數(shù)字化建設(shè)實踐調(diào)研
- 2025年高中歷史會考會考全套知識復(fù)習(xí)
評論
0/150
提交評論