員工工資管理系統(tǒng)報(bào)告_第1頁(yè)
員工工資管理系統(tǒng)報(bào)告_第2頁(yè)
員工工資管理系統(tǒng)報(bào)告_第3頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、課程設(shè)計(jì)課程名稱數(shù)據(jù)庫(kù)應(yīng)用課程設(shè)計(jì)題目名稱 工資管理系統(tǒng)學(xué)生學(xué)院摘要本報(bào)告介紹了一個(gè)使用 Visual Basic 為前臺(tái),SQL Server 2000為后臺(tái),用于工資管 理的數(shù)據(jù)庫(kù)管理系統(tǒng)。該系統(tǒng)能夠?qū)崿F(xiàn)對(duì)部門信息、管理員信息、員工信息、工資信息和 考勤信息的管理功能,即對(duì)這些信息的編輯、查詢。報(bào)告首先分析了用戶的需求,設(shè)計(jì)出了系統(tǒng)的功能結(jié)構(gòu)圖,然后對(duì)系統(tǒng)進(jìn)行了概念結(jié) 構(gòu)設(shè)計(jì),設(shè)計(jì)出了系統(tǒng)的局部 ER圖和全局ER圖,根據(jù)全局ER圖對(duì)系統(tǒng)進(jìn)行了邏輯結(jié)構(gòu)設(shè) 計(jì),確定出系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)即關(guān)系模式,根據(jù)這些關(guān)系模式,在SQL Server 2000中,創(chuàng)建了部門信息、管理員信息、員工信息、工資信息和

2、考勤信息等五張基本表對(duì)象;同時(shí), 利用這些表對(duì)象,創(chuàng)建了滿足用戶需求的各種查詢對(duì)象;實(shí)現(xiàn)了在SQLServer環(huán)境下的工資管理系統(tǒng)功能。最后,使用數(shù)據(jù)庫(kù)連接技術(shù),以設(shè)計(jì)完成的 SQL Server 2000數(shù)據(jù)庫(kù)文 件為后臺(tái),VB界面為前臺(tái),設(shè)計(jì)了系統(tǒng)登錄窗體和員工基本信息管理窗體,實(shí)現(xiàn)了工資管 理系統(tǒng)的部分功能。關(guān)鍵詞:數(shù)據(jù)庫(kù),SQL Server 2000,工資管理小組情況本系統(tǒng)是通過小組全體成員的共同努力,經(jīng)過分工合作完成的,具體情況如下:1. 合作的工作需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和報(bào)告的草稿通過小組討論完成。2. 分工在數(shù)據(jù)庫(kù)系統(tǒng)的總體方案確定之后,小組成員開始分工,獨(dú)立完成

3、不同的模塊及工作1 需求分析 錯(cuò)誤!未定義書簽。系統(tǒng)設(shè)計(jì)的意義 錯(cuò)誤!未定義書簽。系統(tǒng)功能 錯(cuò)誤!未定義書簽。系統(tǒng)數(shù)據(jù) 錯(cuò)誤!未定義書簽。2概念結(jié)構(gòu)設(shè)計(jì) 錯(cuò)誤!未定義書簽。實(shí)體分析及其局部 ER圖 錯(cuò)誤!未定義書簽。實(shí)體之間的聯(lián)系及其 ER圖 錯(cuò)誤!未定義書簽。系統(tǒng)全局ER圖 錯(cuò)誤!未定義書簽。3邏輯結(jié)構(gòu)設(shè)計(jì) 錯(cuò)誤!未定義書簽。4數(shù)據(jù)庫(kù)設(shè)計(jì) 錯(cuò)誤!未定義書簽。創(chuàng)建表對(duì)象 錯(cuò)誤!未定義書簽。創(chuàng)建表之間的關(guān)系 錯(cuò)誤!未定義書簽。創(chuàng)建視圖 錯(cuò)誤!未定義書簽。創(chuàng)建存儲(chǔ)過程 錯(cuò)誤!未定義書簽。創(chuàng)建觸發(fā)器 錯(cuò)誤!未定義書簽。5前臺(tái)界面設(shè)計(jì) 錯(cuò)誤!未定義書簽。系統(tǒng)工程結(jié)構(gòu)設(shè)計(jì), 錯(cuò)誤!未定義書簽。登錄模塊設(shè)

4、計(jì) 錯(cuò)誤!未定義書簽。界面設(shè)計(jì) 錯(cuò)誤!未定義書簽。連接設(shè)計(jì) 錯(cuò)誤!未定義書簽。登陸窗體代碼設(shè)計(jì) 錯(cuò)誤!未定義書簽。主窗體(MDIForml)模塊設(shè)計(jì) 錯(cuò)誤!未定義書簽??偨Y(jié) 錯(cuò)誤!未定義書簽。致謝 錯(cuò)誤!未定義書簽。參考文獻(xiàn) 錯(cuò)誤!未定義書簽。1需求分析系統(tǒng)設(shè)計(jì)的意義隨著信息化技術(shù)的發(fā)展及普及,工資管理模式也發(fā)生了巨大的變化,由 原來(lái)的手工管理模式逐步轉(zhuǎn)變?yōu)樾畔⒒芾?,通過信息化管理,將管理員、員 工及部門等信息集成在一個(gè)系統(tǒng)中,使公司能夠方便地處理工資發(fā)放操作,也 使公司及相關(guān)人員能夠在第一時(shí)間掌握工資信息及員工情況,并根據(jù)這些信息 做出今后的管理決策計(jì)劃。系統(tǒng)功能為了使本小組設(shè)計(jì)的系統(tǒng)能夠

5、盡可能滿足工資管理的實(shí)際需求,在進(jìn)行系 統(tǒng)設(shè)計(jì)之前,小組全體成員通過查資料、親臨公司進(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ù)庫(kù)的核心是數(shù)據(jù),相互關(guān)聯(lián)的數(shù)據(jù)構(gòu)成數(shù)據(jù)結(jié)構(gòu)。對(duì)于數(shù)據(jù)庫(kù)設(shè)計(jì)來(lái)說, 通常使用數(shù)據(jù)字典對(duì)各類數(shù)據(jù)及其集合進(jìn)行描述,數(shù)據(jù)字典是進(jìn)行數(shù)據(jù)收集和數(shù) 據(jù)分析所獲得的主要成果。下面將根據(jù)系統(tǒng)功能對(duì)本系統(tǒng)設(shè)計(jì)的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié) 構(gòu)分別進(jìn)行分析。本系統(tǒng)涉及部門、員工和管理員三個(gè)對(duì)象,所以系統(tǒng)涉及的數(shù)據(jù)項(xiàng)由這三 個(gè)對(duì)象本身的屬性和它們之間關(guān)系的屬性確定。 下面將分別討論他們的數(shù)據(jù)結(jié)構(gòu) 和數(shù)據(jù)項(xiàng)。員工名稱:公司員工含義:?jiǎn)T工是工資管理系統(tǒng)的主要數(shù)據(jù)結(jié)構(gòu),包含了員工的所有信息。既然

7、 員工屬于系統(tǒng)管理的對(duì)象范疇,應(yīng)具有統(tǒng)一的編號(hào),每一位員工給一個(gè)編號(hào), 同一部門的員工有多個(gè),故員工編號(hào)是員工的一個(gè)重要屬性。組成:?jiǎn)T工對(duì)象分別由員工編號(hào)、員工姓名、性別、部門名稱、出生日期、 籍貫、員工職位、住址、聯(lián)系電話九個(gè)數(shù)據(jù)項(xiàng)組成。各數(shù)據(jù)項(xiàng)的含義如下:數(shù)據(jù)項(xiàng):?jiǎn)T工編號(hào)含義:?jiǎn)T工編號(hào),能夠唯一標(biāo)識(shí)每一位員工 別名:?jiǎn)T工編號(hào)數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):?jiǎn)T工姓名含義:?jiǎn)T工所取的名字別名:姓名數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):性別含義:?jiǎn)T工的性別數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):部門名稱含義:?jiǎn)T工所屬部門別名:部門名稱數(shù)據(jù)類型:字符型長(zhǎng)度:20數(shù)據(jù)項(xiàng):出生日期含義:?jiǎn)T工的出生年月日別名:

8、員工出生日期數(shù)據(jù)類型:時(shí)間日期型長(zhǎng)度:8數(shù)據(jù)項(xiàng):籍貫含義:?jiǎn)T工的出生地別名:?jiǎn)T工籍貫數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):?jiǎn)T工職位含義:?jiǎn)T工所任職的崗位別名:職位數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):住址含義:?jiǎn)T工的住址別名:?jiǎn)T工家庭地址數(shù)據(jù)類型:字符型長(zhǎng)度:40數(shù)據(jù)項(xiàng):聯(lián)系電話含義:?jiǎn)T工的聯(lián)系電話別名:?jiǎn)T工聯(lián)系方式數(shù)據(jù)類型:字符型長(zhǎng)度:11部門名稱:部門名稱含義:企業(yè)的部門組成:部門對(duì)象分別由部門編號(hào)、部門名稱、人數(shù)組成各數(shù)據(jù)項(xiàng)的含義如下:數(shù)據(jù)項(xiàng):部門編號(hào)含義:部門編號(hào)能夠唯一確定部門的所有信息。別名:編號(hào)數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):部門名稱含義:部門的名稱別名:名稱數(shù)據(jù)類型:字符型長(zhǎng)度:20

9、數(shù)據(jù)項(xiàng):人數(shù)含義:部門的人數(shù)數(shù)據(jù)類型:int長(zhǎng)度:4管理員名稱:管理員含義:在系統(tǒng)中起非常重要的作用,負(fù)責(zé)管理系統(tǒng)。組成:管理員對(duì)象分別由管理員編號(hào)、管理員姓名和密碼組成。各數(shù)據(jù)項(xiàng)的含義如下:數(shù)據(jù)項(xiàng):管理員編號(hào)含義:系統(tǒng)為每一位管理員進(jìn)行統(tǒng)一編號(hào)管理,編號(hào)能夠唯一確定管理 員對(duì)象。別名:工號(hào)數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):管理員姓名含義:管理員的姓名數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):密碼含義:管理員登錄系統(tǒng)的安全編碼,最初由系統(tǒng)分配一個(gè)登錄密碼,但 管理員一旦登錄系統(tǒng),就可以修改密碼了。數(shù)據(jù)類型:字符型長(zhǎng)度:6(4)工資名稱:工資含義:?jiǎn)T工在公司上班,所獲得的工資報(bào)酬。組成:日期、基本工資、

10、工齡工資、地區(qū)補(bǔ)貼組成。各數(shù)據(jù)項(xiàng)的含義如下:數(shù)據(jù)項(xiàng):日期含義:發(fā)工資的日期數(shù)據(jù)類型:時(shí)間日期型長(zhǎng)度:8數(shù)據(jù)項(xiàng):?jiǎn)T工編號(hào)含義:?jiǎn)T工編號(hào),能夠唯一標(biāo)識(shí)每一位員工。別名:?jiǎn)T工編號(hào)數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):?jiǎn)T工姓名含義:?jiǎn)T工所取的名字別名:姓名數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):部門名稱含義:?jiǎn)T工所屬部門別名:部門名稱數(shù)據(jù)類型:字符型長(zhǎng)度:20數(shù)據(jù)項(xiàng):基本工資含義:?jiǎn)T工所得的基本工資數(shù)據(jù)類型:int長(zhǎng)度:4數(shù)據(jù)項(xiàng):工齡工資含義:參與該公司工作的時(shí)間所額外獲得的工資數(shù)據(jù)類型:int長(zhǎng)度:4數(shù)據(jù)項(xiàng):地區(qū)補(bǔ)貼含義:補(bǔ)貼給員工的地區(qū)差額數(shù)據(jù)類型:int長(zhǎng)度:4(5)考勤名稱:?jiǎn)T工考勤含義:?jiǎn)T工經(jīng)過考勤之

11、后才能夠進(jìn)行有效管理,考勤由管理員完成,員工考勤時(shí)會(huì)產(chǎn)生曠工、請(qǐng)假、遲到、 早退等屬性。組成:?jiǎn)T工編號(hào)、考勤日期、員工姓名、曠工 、請(qǐng)假、遲到、早退各數(shù)據(jù)項(xiàng)的含義如下:數(shù)據(jù)項(xiàng):?jiǎn)T工編號(hào)含義:?jiǎn)T工編號(hào),能夠唯一標(biāo)識(shí)每一位員工數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):考勤日期含義:對(duì)員工每月進(jìn)行考勤數(shù)據(jù)類型:時(shí)間日期型長(zhǎng)度:8數(shù)據(jù)項(xiàng):?jiǎn)T工姓名含義:?jiǎn)T工所取的名字別名:姓名數(shù)據(jù)類型:字符型長(zhǎng)度:10數(shù)據(jù)項(xiàng):曠工含義:記錄每一個(gè)員工的曠工次數(shù)數(shù)據(jù)類型:int長(zhǎng)度:4數(shù)據(jù)項(xiàng):請(qǐng)假含義:記錄每一個(gè)員工的請(qǐng)假次數(shù)數(shù)據(jù)類型:int長(zhǎng)度:4數(shù)據(jù)項(xiàng):遲到含義:記錄每一個(gè)員工的遲到次數(shù)數(shù)據(jù)類型:int長(zhǎng)度:4數(shù)據(jù)項(xiàng):早退含

12、義:記錄每一個(gè)員工的請(qǐng)假次數(shù)數(shù)據(jù)類型:int長(zhǎng)度:42概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)就是將需求分析階段得到的用戶需求抽象為數(shù)據(jù)庫(kù)的概念結(jié) 構(gòu),是邏輯結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)。本論文使用 ER圖來(lái)描述系統(tǒng)的概念結(jié)構(gòu)。在實(shí)際 設(shè)計(jì)過程中,首先分析系統(tǒng)中以實(shí)體為基本單位的局部ER圖,然后分析兩兩實(shí)體之間的聯(lián)系,畫出兩兩實(shí)體聯(lián)系的局部 ER圖,再將兩兩實(shí)體之間聯(lián)系的ER圖 作為基本單位,畫出多個(gè)實(shí)體之間聯(lián)系的 ER圖,依次類推,最后將各局部 E-R 圖合并成全局E-R圖,下面將針對(duì)該系統(tǒng)分別進(jìn)行分析。實(shí)體分析及其局部ER圖通過需求分析得知工資管理系統(tǒng)的研究對(duì)象有部門、員工、公司和管理員四 個(gè)對(duì)象,也就是四個(gè)實(shí)體。(1

13、)部門對(duì)于工資管理系統(tǒng)來(lái)說,比較重要的部門信息是部門編號(hào)、部門名稱、人數(shù)。 其中部門的編號(hào)能夠唯一確定某個(gè)部門的所有信息, 故在該實(shí)體中定義部門編號(hào) 為實(shí)體標(biāo)識(shí)符。部門的ER圖如2-1所示。部門圖2-1部門ER圖(2)管理員工資管理系統(tǒng)中的所有管理工作由管理員來(lái)完成,管理員在系統(tǒng)中發(fā)揮著非 常重要的作用,故系統(tǒng)必須對(duì)管理員進(jìn)行統(tǒng)一管理,給每個(gè)管理員設(shè)置管理員編 號(hào)和密碼。本系統(tǒng)中管理員實(shí)體的屬性為管理員編號(hào)、管理員姓名和密碼,其中, 管理員編號(hào)能夠唯一標(biāo)識(shí)管理員的各個(gè)屬性, 所以定義管理員編號(hào)為管理員實(shí)體 的標(biāo)識(shí)符。管理員的ER圖如2-2所示。圖2-2管理員ER圖(3) 員工在員工實(shí)體中,包含

14、員工編號(hào)、員工姓名、性別、部門名稱、出生日期、籍 貫、員工職位、住址、聯(lián)系電話九個(gè)屬性。其中,編號(hào)能夠唯一標(biāo)識(shí)每一位員工, 故定義編號(hào)為員工實(shí)體的標(biāo)識(shí)符。員工實(shí)體的ER圖如2-3所示。圖2-3員工ER圖(4) 公司在工資管理系統(tǒng)里,公司信息由名稱、地址和負(fù)責(zé)人。其中公司的名稱能夠 唯一確定公司的所有信息,故在該實(shí)體中定義公司名稱為實(shí)體標(biāo)識(shí)符。公司的 ER圖女口 2-4所示。公司實(shí)體之間的聯(lián)系及其ER圖(1)員工與部門聯(lián)系的ER圖企業(yè)中的每一位員工均由某個(gè)部門管理,一個(gè)部門管理多個(gè)員工,每一位員工僅能由一個(gè)部門管理,故部門和員工之間聯(lián)系類型是1:N的聯(lián)系。部門在管理員工的過程中將產(chǎn)生部門編號(hào)、部

15、門名稱和人數(shù)等屬性,由于在部門里,部門可能會(huì)出現(xiàn)姓名相同的員工,為了方便靈活的管理每個(gè)員工,需要為每個(gè)員工建立 一個(gè)員工編號(hào)。員工和部門聯(lián)系的 ER圖如圖2-5所示。部門圖2-5部門與員工的聯(lián)系(2)公司和員工聯(lián)系的ER圖應(yīng)聘者一旦成為公司員工之后,就可以對(duì)員工進(jìn)行考勤管理了。隨后公司與員工之間通過工資建立聯(lián)系,兩個(gè)實(shí)體之間是1: N聯(lián)系。在這過程中,產(chǎn)生了考勤和工資兩個(gè)聯(lián)系。ER圖如圖2-6所示。名稱地址住址員工姓名員工職位負(fù)責(zé)人考勤日期請(qǐng)假早退遲到地址曠工N1考勤1N性別員工編號(hào)工資工齡工資基本工資地區(qū)補(bǔ)貼日期岀生日期員工公司圖2-6 公司與員工的聯(lián)系系統(tǒng)全局ER圖2.3.1 屬性整合在整

16、合的過程中,各局部 ER圖的屬性發(fā)生如下的沖突,所以需要重新進(jìn)行 定義。(1) 編號(hào):編號(hào)屬性分別在四處出現(xiàn),所以要進(jìn)行重新定義。根據(jù)數(shù)量所處的 位置,分別定義為部門編號(hào)、員工編號(hào)、考勤編號(hào)、管理員編號(hào)。關(guān)系整合全局ER圖是創(chuàng)建數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ),故由局部 ER圖向全局ER圖整合的過程 中,應(yīng)該根據(jù)系統(tǒng)的功能和實(shí)際操作需要做取舍。(1) 在公司和員工兩實(shí)體聯(lián)系中,產(chǎn)生考勤與工資的聯(lián)系。(2) 員工是系統(tǒng)一個(gè)非常重要的實(shí)體,員工編號(hào)又是員工一個(gè)非常重要的 屬性,該屬性正好是員工實(shí)體的主鍵,故通過該屬性可以建立員工和部門之 間的聯(lián)系。將圖2-5、2-6合并,同時(shí)對(duì)各個(gè)屬性和關(guān)系進(jìn)行整合, 就得到系統(tǒng)全

17、局ER圖。在本工資管理系統(tǒng)中,管理員不是系統(tǒng)研究的重點(diǎn)內(nèi)容,為了簡(jiǎn)化系 統(tǒng),故在全局ER圖中,可以不考慮管理關(guān)系,在系統(tǒng)中僅將管理員作為獨(dú) 立的對(duì)象處理。整合后的全局 ER圖如圖2-7所示。員工職位籍貫員工編號(hào)名稱負(fù)責(zé)人住址地址考勤日期早退遲到曠工考勤N1N性別工資工齡工資基本工資地區(qū)補(bǔ)貼日期屬于岀生日期公司員工姓名員工假 .1圖2-7全局ER圖整合后各實(shí)體及其聯(lián)系的屬性如下:管理員(管理員編號(hào),管理員姓名,密碼);部門(部門編號(hào),部門名稱,人數(shù),);員工(員工編號(hào),員工姓名,性別,出生日期,籍貫,員工職位,住址) 考勤(員工編號(hào),考勤日期,請(qǐng)假,早退,遲到,曠工);工資(員工編號(hào),日期,地區(qū)

18、補(bǔ)貼,工齡工資,基本工資)。公司(名稱,地址,負(fù)責(zé)人);說明:由于公司只有一個(gè),而且其所有屬性都是確定的,所以不必考慮公司 實(shí)體。3邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的目的是將全局概念模型(ER圖)轉(zhuǎn)換成DBMS支持的概念 模式或關(guān)系模式(或者稱為數(shù)據(jù)結(jié)構(gòu))。本系統(tǒng)選用SQL Server 2000作為后臺(tái) 數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)屬于關(guān)系型數(shù)據(jù)庫(kù),即使用表結(jié)構(gòu)表示系統(tǒng)中的所有實(shí)體及其 聯(lián)系。要在SQL Server 2000中實(shí)現(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)遵循如下的兩個(gè) 原則:第一,對(duì)ER圖中的每個(gè)“實(shí)體”,都應(yīng)該轉(zhuǎn)換成一個(gè)關(guān)系,該關(guān)

19、系內(nèi)至少要 包含對(duì)應(yīng)實(shí)體的屬性,并根據(jù)語(yǔ)義關(guān)系確定關(guān)系的主鍵。第二,對(duì)ER圖中的“聯(lián)系”,要根據(jù)實(shí)際聯(lián)系的方式及數(shù)據(jù)處理的需要,或 者將其作為獨(dú)立的關(guān)系來(lái)處理,或者將關(guān)系的屬性(如果有)納入相關(guān)聯(lián)的實(shí)體的屬性中。如果實(shí)體之間是1:N聯(lián)系,且聯(lián)系沒有產(chǎn)生對(duì)系統(tǒng)來(lái)說非常重要的屬性,一 般將1端的主鍵納入N端的實(shí)體關(guān)系中,但是如果聯(lián)系中產(chǎn)生對(duì)系統(tǒng)比較重要的 屬性,且需要獨(dú)立研究該屬性,則要將聯(lián)系轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系。如果實(shí)體之間的聯(lián)系是 M:N聯(lián)系,且聯(lián)系中的屬性多或者比較重要,則要將 聯(lián)系作為獨(dú)立的關(guān)系來(lái)處理,且在關(guān)系中要包含聯(lián)系的屬性和與聯(lián)系相關(guān)聯(lián)的實(shí) 體的屬性。根據(jù)這個(gè)原則,將圖 2-7與2-

20、8轉(zhuǎn)換成圖3-1所示的數(shù)據(jù)結(jié)構(gòu)??记?員工公司工資N公司(名稱、地址、負(fù)責(zé)人)考勤(員工編號(hào)、考勤日期、員工姓名、請(qǐng)假、曠工、遲到、早退)員工(員工編號(hào)、員工姓名、部門名稱、岀生日期、性別、員工職位、籍貫、住址、聯(lián)系電話)工資(員工編號(hào)、日期、員工姓名、基本工資、地區(qū)補(bǔ)貼、.工齡工資)1屬于部門(部門編號(hào)、部門名稱、人數(shù))部門管理員管理員(管理員編號(hào)、管理員姓名、密碼)整合后各實(shí)體及其聯(lián)系的屬性如下:管理員(管理員編號(hào),管理員姓名,密碼);部門(部門編號(hào),部門名稱,人數(shù),);員工(員工編號(hào),部門名稱,員工姓名,性別,出生日期,籍貫,員工職位, 住址,聯(lián)系電話);考勤(員工編號(hào),考勤日期,員工姓

21、名,請(qǐng)假,早退,遲到,曠工);工資(員工編號(hào),日期,員工姓名,地區(qū)補(bǔ)貼,工齡工資,基本工資)。公司(名稱,地址,負(fù)責(zé)人);說明:由于公司只有一個(gè),而且其所有屬性都是確定的,所以不必考慮公司 實(shí)體。4數(shù)據(jù)庫(kù)設(shè)計(jì)本系統(tǒng)使用SQL Server 2000作為后臺(tái)數(shù)據(jù)庫(kù),同時(shí)也使用 Visual Basic 設(shè)計(jì)了一個(gè)前臺(tái)界面,因此,在 SQL Server中,除了創(chuàng)建基本表對(duì)象之外,還 創(chuàng)建了視圖。創(chuàng)建表對(duì)象表對(duì)象是數(shù)據(jù)庫(kù)最基本的對(duì)象,數(shù)據(jù)庫(kù)中所有其它的對(duì)象都是基于表對(duì)象來(lái)創(chuàng)建的。表對(duì)象要根據(jù)邏輯結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)的關(guān)系模式來(lái)創(chuàng)建。 在創(chuàng)建表結(jié)構(gòu) 之前,首先應(yīng)該確定表中各字段的數(shù)據(jù)類型和約束, 然后在

22、設(shè)計(jì)視圖或SQL視圖 中創(chuàng)建表對(duì)象。下面分別使用表格來(lái)表示各個(gè)表對(duì)象的數(shù)據(jù)類型和約束。(1)系統(tǒng)管理員在管理員對(duì)象的三個(gè)字段中,管理員編號(hào)能夠唯一標(biāo)識(shí)一個(gè)管理員,所以將 該字段定義為主鍵,其它兩個(gè)字段在管理員表中必不可少,所以定義為非空約束。 表4-1列出了管理員表結(jié)構(gòu)的數(shù)據(jù)信息。列名數(shù)據(jù)類型約束情況管理員編號(hào)char(10)主鍵姓名char(10)非空密碼varchar(6)非空表4-1管理員表結(jié)構(gòu)(2)部門信息表部門編號(hào)能夠唯一標(biāo)識(shí)部門的所有信息,故定義為主鍵,部門名稱和部門人 數(shù)字段不能為空,表4-2列出了部門表結(jié)構(gòu)的數(shù)據(jù)信息。列名數(shù)據(jù)類型約束情況部門編號(hào)char(10)主鍵部門名稱ch

23、ar(20)非空人數(shù)smallint非空表4-2 部門表結(jié)構(gòu)(3)員工信息表員工是收發(fā)工資的主要對(duì)象,在員工關(guān)系中定義員工編號(hào)為主鍵,其余為非 空約束,表4-3列出了員工信息表結(jié)構(gòu)的數(shù)據(jù)信息。列名數(shù)據(jù)類型約束情況員工編號(hào)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)計(jì)和憑證使用,每一個(gè)考勤信息作為一個(gè)獨(dú)立的記錄,故定義員工編號(hào)與考勤日期為主鍵。表 4-

24、4列出了基本考勤表結(jié)構(gòu)的數(shù)據(jù)信息列名數(shù)據(jù)類型約束情況員工編號(hào)char(10)主鍵考勤日期datetime員工姓名char(10)非空請(qǐng)假int允許空曠工int允許空早退int允許空遲到int允許空表4-4 考勤表結(jié)構(gòu)(5)工資信息表工資信息表作為工資統(tǒng)計(jì)使用,每一個(gè)工資信息作為一個(gè)獨(dú)立的記錄,故定 義員工編號(hào)與日期為主鍵,其余字段為非空約束。表4-5列出了基本工資信息表 結(jié)構(gòu)的數(shù)據(jù)信息。列名數(shù)據(jù)類型約束情況員工編號(hào)char(10)主鍵日期datetime員工姓名char(10)非空部門編號(hào)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ù)庫(kù)文件中共包含5個(gè) 表對(duì)象。為了方便管理員使用該系統(tǒng)進(jìn)行數(shù)據(jù)查詢,系統(tǒng)還創(chuàng)建了如下的視圖。1.單表查詢視圖:(1)員工信息查詢視圖能夠?qū)λ袉T工的信息進(jìn)行查詢;(2)部門信息查詢視圖(3)考勤信息查詢視圖能夠?qū)γ總€(gè)部門的所有信息進(jìn)行查詢;能夠?qū)记诘乃行畔⑦M(jìn)行查詢;(4)工資信息查詢能夠?qū)べY的所有信息進(jìn)行查詢;2. 多表查詢視圖(1)工資信息表和員工信息表聯(lián)合查詢(數(shù)據(jù)完整)2

26、. 統(tǒng)計(jì)各部門月工資總數(shù)3. 統(tǒng)計(jì)所有部門月工資總額創(chuàng)建存儲(chǔ)過程1.創(chuàng)建cunchul,查詢員工的所有信息。create procedure Cun chulasselect * from員工信息表2. 創(chuàng)建cunchu2,按編號(hào)查詢查詢員工的所有信息。create procedure Cun chu2find 員工編號(hào) char(10)asselect員工編號(hào),員工姓名,部門名稱,員工職位from員工信息表where員工編號(hào)=find員工編號(hào)GO3. 創(chuàng)建cunchu3,向部門信息表中添加一個(gè)新的記錄。create procedure Cun chu3部門編號(hào)char(10), 部門名稱ch

27、ar (20), 部門人數(shù)char (10)asin sert部門信息表VALUES (B門編號(hào),部門名稱,部門人數(shù))GO創(chuàng)建觸發(fā)器1) 創(chuàng)建員工信息表刪除觸發(fā)器當(dāng)用戶刪除員工信息表中的內(nèi)容時(shí),引發(fā)該觸發(fā)器檢查考勤信息表中是否存在該內(nèi)容,如果存在就不能刪除,否則就可以刪除。create trigger tr_delete_員工 on 員工信息表for delete asdeclare 員工編號(hào) char(10)select 員工編號(hào)=員工編號(hào)from deletedif exists (select* from考勤信息表 where 員工編號(hào)=員工編號(hào))beginrollbackend2) 創(chuàng)

28、建員工信息表更新觸發(fā)器,當(dāng)員工信息表中部門編號(hào)發(fā)生改變時(shí),引發(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)用戶向考勤信息表中輸入員工的信息時(shí),引 發(fā)該觸發(fā)器檢查員工信息表中是否有該項(xiàng)內(nèi)容,如果有就可以成功輸入,否則就 不能輸入。create trigger tr_insert_考勤 on 考勤信息表for in sert asdeclare 員工編號(hào) char(10), 考勤日期datetime,員工姓名 char(10), 早退int,曠 工int, 遲到int, 請(qǐng)假intselect 員工編號(hào)=員工編號(hào) from insertedselect 員工姓名=員工姓名from insertedif not exists (select* from員工信息表 where 員工姓名=

30、員工姓名 and 員工編號(hào)=員工編號(hào))beginrollbackend5前臺(tái)界面設(shè)計(jì)本系統(tǒng)使用SQL Server 2000作為后臺(tái)數(shù)據(jù)庫(kù),使用設(shè)計(jì)前臺(tái)界面,因此,在SQLServer 2000中,僅需要?jiǎng)?chuàng)建基本表對(duì)象和表之間的關(guān)系,為了減少重復(fù),在VB中僅創(chuàng)建了用戶登錄界面和員工信息查詢和編輯界面。系統(tǒng)工程結(jié)構(gòu)設(shè)計(jì),工資管理系統(tǒng)的工程中包含登錄窗體、背景窗體、主窗體和各表對(duì)象的編輯 窗體和查詢窗體,共可創(chuàng)建五個(gè)窗體。其結(jié)構(gòu)見圖。登錄模塊設(shè)計(jì)5.3.1 界面設(shè)計(jì)(1)登錄窗體的設(shè)計(jì)界面如圖所示。(2)主窗體的設(shè)計(jì)界面如圖所示。圖登陸窗體界面圖系統(tǒng)工程結(jié)構(gòu)圖圖主窗體界面(3) 員工信息編輯窗體的

31、設(shè)計(jì)界面如圖所示。員工信息查詢窗體的設(shè)計(jì)界面如 圖所示。圖員工信息查詢窗體界面(4)窗體中各控件的屬性設(shè)置登錄窗體的兩個(gè)標(biāo)簽使用默認(rèn)的 Name屬性,其Caption屬性如圖所示表登錄窗體控件屬性默認(rèn)控件名Name屬 性其他屬性Form1LoginCap tio n= ”登錄窗體”Text1txtNo一Text2txtCodePasswordChar= ” * ”Comma nd1cmdOKCaption= ”確定(&E) ”Comma nd2cmdCa ncleCaption= ”取消(&C) ”連接設(shè)計(jì)當(dāng)管理員輸入賬號(hào)和密碼后,系統(tǒng)將根據(jù)管理員輸入的信息,到后臺(tái)數(shù)據(jù)庫(kù)的管理員表中查找該信息

32、是否存在,如果存在,系統(tǒng)將進(jìn)入主窗體,供管理員使用,否則,系統(tǒng)將不可 以使用。要完成這些任務(wù),就必須在前臺(tái)的VB系統(tǒng)與后臺(tái)的數(shù)據(jù)庫(kù)之間建立連接,該模塊使用ADO對(duì)象建立連接,創(chuàng)建的連接對(duì)象名稱為Conn,數(shù)據(jù)庫(kù)提供者(數(shù)據(jù)庫(kù)管理系統(tǒng))為Access2003即,使用的數(shù)據(jù)庫(kù)為“工資管理 Access+ ”連接語(yǔ)句如下:provider= data source= 工資管理 Access+創(chuàng)建連接之后,就要根據(jù)用戶輸入的信息建立查詢,查詢結(jié)果保存在查詢對(duì)象rs_login中,查詢語(yǔ)言保存在sql字符串中,并設(shè)置游標(biāo)類型為鍵集類型,鎖的類型為樂觀鎖,運(yùn)行查詢的語(yǔ)句如下:sql, conn, adOp

33、enKeyset, adLockOptimistic登陸窗體代碼設(shè)計(jì)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ù)字符串變量,存放查詢語(yǔ)句定義記錄集對(duì)象變量,存放查詢結(jié)果 定義連接對(duì)象變量,存放鏈接信息Sec

34、urity=SSPI;PersistSecurityIn fo=False;I nProvider=;I ntegrateditial Catalog=課程”輸出連接信息If =1 ThenMsgBox 恭喜您連接成功”ElseMsgBox 連接失敗,請(qǐng)重新設(shè)置連接EndIf Trim = The nMsgBox 用戶名不能為空,請(qǐng)重新輸入!Elsesql = select * from 系統(tǒng)管理員 where 管理員編號(hào) & Trim & “使用鍵集游標(biāo),樂觀鎖方式打開查詢的記錄sql, conn,adOpe nKeyset,adLockOptimisticIf = True The nMs

35、gBox 沒有這個(gè)用戶,請(qǐng)重輸入! ,48,III!ElseIf Trim(2) = Trim The nUn load MeElseMsgBox 密碼不正確,請(qǐng)重輸入! ,48,_ IlliEnd IfEnd IfEnd Ifcoun = coun +1If coun =3 The nMsgBox 對(duì)不起,您已經(jīng)登錄 3次了,系統(tǒng)將自動(dòng)退出!”Un load MeEnd IfEnd Sub主窗體(MDIForm)模塊設(shè)計(jì)(1 )菜單及屬性設(shè)置根據(jù)工資管理系統(tǒng)的功能,主窗體上設(shè)計(jì)有“員工管理”、“工資管理”、“部門管理”、“考勤管理”及退出共五個(gè)主菜單,主菜單中又包含有菜單項(xiàng),各級(jí)菜單及屬性設(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è)計(jì)Private Sub CmdAdd_Click()SubPrivate Sub CmdUpdate_Click()將添加的紀(jì)錄存入數(shù)

37、據(jù)庫(kù)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 員工編號(hào)=& Trim(Txtno) & sql, cnn, adOpenKeyset, adLockOptimisticIf = False ThenMsgBox 該編號(hào)已經(jīng)存在,請(qǐng)重新輸入!Txtno =ElseMsgBox 修改成功!End IfEnd SubPrivate Sub CmdDelete_Click() 刪除紀(jì)錄Dim i As Integeri = MsgBox(確定要?jiǎng)h除該記錄嗎, 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. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論