版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、網(wǎng)絡(luò)數(shù)據(jù)庫課程項目設(shè)計課程名稱網(wǎng)絡(luò)數(shù)據(jù)庫設(shè)計題目工資管理系統(tǒng)專業(yè)班級計應(yīng)0602班學(xué)生姓名XXX學(xué)號18指導(dǎo)教師YYYYQQQQ年 P 月R日一、項目名稱:工資管理系統(tǒng)設(shè)計 1二、系統(tǒng)功能的基本要求 1三、課程設(shè)計的目的和意義 1四、應(yīng)掌握的知識點(diǎn)1五、應(yīng)訓(xùn)練的能力點(diǎn) 1六、數(shù)據(jù)庫設(shè)計內(nèi)容 2(一)需求分析.2(二)概念結(jié)構(gòu)設(shè)計.2(三)邏輯結(jié)構(gòu)設(shè)計3(四)數(shù)據(jù)庫與數(shù)據(jù)表設(shè)計 物理結(jié)構(gòu)設(shè)計41.數(shù)據(jù)庫與數(shù)據(jù)表設(shè)計.42.數(shù)據(jù)完整性設(shè)計.5七、數(shù)據(jù)庫操作實(shí)施與結(jié)果數(shù)據(jù)庫對象的設(shè)計 5(一)建數(shù)據(jù)庫工資管理庫.5(二)建表員工信息表、部門信息表、工資信息表.6(三)視圖.7(四)存儲過程.7(五)
2、觸發(fā)器 8(六)索引9(七)運(yùn)行和維護(hù)91. 關(guān)系圖的建立.92. 簡單查詢.93. 復(fù)雜查詢.11八、總結(jié) 12九、參考文獻(xiàn) 13一、項目名稱:工資管理系統(tǒng)設(shè)計二、系統(tǒng)功能的基本要求: 員工每個工種基本工資的設(shè)定; 加班津貼管理,根據(jù)加班時間和類型給予不同的加班津貼; 按照不同工種的基本工資情況、員工的考勤情況產(chǎn)生員工的每月的月工資; 員工年終獎金的生成,員工的年終獎金計算公式(員工本年度的工資總和津貼的總和)/12;企業(yè)工資報表。能夠查詢單個員工的工資情況、每個部門的工資情況、按月的工資統(tǒng)計。三、課程設(shè)計的目的和意義網(wǎng)絡(luò)數(shù)據(jù)庫是實(shí)踐性教學(xué)環(huán)節(jié)之一,是網(wǎng)絡(luò)數(shù)據(jù)庫課程的輔助教學(xué)課程。通過課程設(shè)
3、計,使學(xué)生掌握數(shù)據(jù)庫的基本概念,結(jié)合實(shí)際的操作和設(shè)計,鞏固課堂教學(xué)內(nèi)容,使學(xué)生掌握數(shù)據(jù)庫系統(tǒng)的基本概念、原理和技術(shù),將理論與實(shí)際相結(jié)合,應(yīng)用現(xiàn)有的數(shù)據(jù)建模工具和數(shù)據(jù)庫管理系統(tǒng)軟件,規(guī)范、科學(xué)地完成一個小型數(shù)據(jù)庫的設(shè)計與實(shí)現(xiàn),把理論課與實(shí)驗(yàn)課所學(xué)內(nèi)容做一綜合,并在此基礎(chǔ)上強(qiáng)化學(xué)生的實(shí)踐意識、提高其實(shí)際動手能力和創(chuàng)新能力。實(shí)訓(xùn)目的:了解數(shù)據(jù)庫系統(tǒng)的理論掌握數(shù)據(jù)庫設(shè)計的基本方法,熟悉數(shù)據(jù)庫設(shè)計的步驟;通過設(shè)計數(shù)據(jù)庫系統(tǒng)應(yīng)用課題,進(jìn)一步熟悉數(shù)據(jù)庫管理系統(tǒng)的操作技術(shù),提高動手能力,提高分析問題和解決問題的能力學(xué)習(xí)基本數(shù)據(jù)庫編程方法 快速跟蹤數(shù)據(jù)庫系統(tǒng)軟件的新技術(shù)及市場應(yīng)用動態(tài)。四、應(yīng)掌握的知識點(diǎn)數(shù)據(jù)庫基
4、本原理關(guān)系數(shù)據(jù)庫的設(shè)計方法、設(shè)計思路 初步掌握一種關(guān)系數(shù)據(jù)庫語言五、應(yīng)訓(xùn)練的能力點(diǎn)SQL Server 2000的操作與使用數(shù)據(jù)庫的概念設(shè)計與邏輯設(shè)計數(shù)據(jù)庫的建立與管理、數(shù)據(jù)表的建立與操作SQL查詢語言的使用與編程設(shè)計和開發(fā)一個數(shù)據(jù)庫應(yīng)用系統(tǒng)的數(shù)據(jù)庫設(shè)計部分六、數(shù)據(jù)庫設(shè)計內(nèi)容(一)需求分析本系統(tǒng)要求實(shí)現(xiàn)以下主要功能:1.數(shù)據(jù)錄入功能主要任務(wù)是對各種工資信息進(jìn)行日常的管理,如工資信息的輸入、查詢、修改、增加、刪除,迅速準(zhǔn)確地完成各種工資信息的統(tǒng)計計算和匯總,快速打印出報表。2.數(shù)據(jù)查詢功能系統(tǒng)需要提供以下查詢功能:1)員工考勤情況2)員工工種情況,反映員工的工種、等級,崗位工資等信息3)員工津貼
5、信息情況,反映員工的加班時間,加班類別、加班天數(shù)、崗位補(bǔ)貼情況等4)員工基本信息情況5)員工月工資情況:年,月,職工號,姓名,部門名,基本工資,病假扣款,事假扣款,.應(yīng)發(fā)工資,實(shí)發(fā)工資3.數(shù)據(jù)統(tǒng)計功能1)統(tǒng)計員工年終獎金2)統(tǒng)計每部門月工資情況(二)概念結(jié)構(gòu)設(shè)計分析前面的系統(tǒng)功能要求,需要一個表來存儲和管理員工信息,使系統(tǒng)能夠接受員工原始的各項數(shù)據(jù),以實(shí)現(xiàn)數(shù)據(jù)錄入、查詢或統(tǒng)計員工信息等功能。員工是本系統(tǒng)的第一個實(shí)體。為了能實(shí)現(xiàn)查詢和統(tǒng)計部門內(nèi)員工情況等功能,必須有一個表來存儲和管理所有部門的信息。部門是本系統(tǒng)的第二個實(shí)體。工資是以員工工作情況來制定的。需要建立一個表來記錄各種工資、津貼、扣款的
6、信息。它主要為各種查詢和統(tǒng)計功能提供工資數(shù)據(jù)。工資是第3個實(shí)體。據(jù)此可以繪出工資管理系統(tǒng)數(shù)據(jù)庫的E-R圖如下:實(shí)體屬性列表如下:實(shí)體屬性員工工號姓名性別年齡籍貫學(xué)歷工種工齡職務(wù)等級部門名稱部門部門編號部門名稱部門負(fù)責(zé)人部門人數(shù)工資工號崗位工資崗位補(bǔ)貼出勤天數(shù)加班工時加班工資加班天數(shù)加班類別病假扣款事假扣款其他扣款應(yīng)發(fā)工資實(shí)發(fā)工資部門名稱(三)邏輯結(jié)構(gòu)設(shè)計將數(shù)據(jù)庫的概念模型轉(zhuǎn)換為關(guān)系模型:實(shí)體轉(zhuǎn)換成的關(guān)系模式有:員工信息(工號,姓名,性別,年齡,籍貫,學(xué)歷,工種,工齡,職務(wù)等級,部門名稱)關(guān)系-工作(工號,部門名稱)部門(部門編號,部門名稱,部門負(fù)責(zé)人,部門人數(shù))關(guān)系-獲得(工號,姓名)工資(工
7、號,崗位工資,崗位補(bǔ)貼,出勤天數(shù),加班工時,加班工資,加班天數(shù),加班類別,病假扣除,事假扣除,其它扣除,應(yīng)發(fā)工資,實(shí)發(fā)工資,部門名稱)因?yàn)?,員工與工資是1:N的關(guān)系,所以各關(guān)系模式為:員工信息(工號,姓名,性別,年齡,籍貫,學(xué)歷,工種,工齡,職務(wù)等級,部門名稱)部門(部門編號,部門名稱,部門負(fù)責(zé)人,部門人數(shù))工資(工號,崗位工資,崗位補(bǔ)貼,出勤天數(shù),加班工時,加班工資,加班天數(shù),加班類別,病假扣除,事假扣除,其它扣除,應(yīng)發(fā)工資,實(shí)發(fā)工資,部門名稱)帶下劃線的屬性為各關(guān)系模式的外碼,字體為粗體的屬性為各關(guān)系模式的主碼。關(guān)系規(guī)范式:工資管理系統(tǒng)1NF每個屬性均不可再分(四)數(shù)據(jù)庫與數(shù)據(jù)表設(shè)計物理結(jié)
8、構(gòu)設(shè)計在SQL數(shù)據(jù)庫中需要建立3個數(shù)據(jù)表:員工信息數(shù)據(jù)表、部門數(shù)據(jù)表和工資數(shù)據(jù)表。1.數(shù)據(jù)庫與數(shù)據(jù)表設(shè)計員工信息數(shù)據(jù)表定義其中,“工號”是表的主鍵,惟一標(biāo)識?!安块T名稱”是外鍵?!肮ぬ枴睂⒂涗泦T工的編號,在員工信息表中增加這一列時,雖然增加了數(shù)據(jù)冗余,但可以在查詢每個員工信息時,提高系統(tǒng)的性能。因?yàn)閱T工信息表的記錄數(shù)相對固定,相比之下,增加這個冗余的列對于整個系統(tǒng)來說是有利的。通過它,系統(tǒng)將引用到工資信息。此表取名為“員工信息”部門數(shù)據(jù)表定義其中,部門名稱是該表的主鍵,惟一標(biāo)識一個部門。此表取名為“部門”工資數(shù)據(jù)表定義其中,“工號”作為該表的主鍵,唯一標(biāo)識,保證客房信息表數(shù)據(jù)的參照完整性。此表
9、表取名為“工資”根據(jù)上面三個數(shù)據(jù)表的設(shè)計,可執(zhí)行下面的步驟創(chuàng)建數(shù)據(jù)表1)打開企業(yè)管理器,在本地服務(wù)器上創(chuàng)建新的數(shù)據(jù)庫“工資管理庫”2)創(chuàng)建表員工信息、部門、工資2.數(shù)據(jù)完整性設(shè)計1)給每個表實(shí)施主鍵約束。主鍵約束、非空值約束員工:工號為主鍵,所以此項非空部門:部門名稱為主鍵,所以此項非空工資:工號為主鍵,所以此項非空2)實(shí)施CHECK約束員工表中建立一個檢查約束,即員工性別不是男就是女CHECK(性別 IN(男,女)3)外鍵約束員工信息表中,部門名稱為外鍵。工號為主鍵工資FOREIGN KEY(部門名稱) REFERENCES部門(部門名稱)通過此鍵建立3個表的聯(lián)系4)惟一約束a)每個表的主鍵
10、需定義為惟一性:對于工資表,因?yàn)楣ぬ柺侵麈I,聯(lián)系著員工表,所以建立唯一性alter table工資add constraint UQ_工號unique(工號)b)對于員工表,員工的工號、部門名稱都是用于識別員工身份,所以建立唯一約束alter table員工add constraint UQ_工號unique(工號)七、數(shù)據(jù)庫操作實(shí)施與結(jié)果數(shù)據(jù)庫對象的設(shè)計(一)建數(shù)據(jù)庫工資管理庫IF EXISTS(SELECT * FROM sysdatabases WHERE name=工資管理庫)drop database 工資管理庫GOCREATE DATABASE 工資管理庫ON PRIMARY(NA
11、ME=工資管理庫,FILENAME=D:工資管理庫_data.mdf,SIZE=4MB,MAXSIZE=6MB,FILEGROWTH=2MB)LOG ON (NAME =工資管理庫_log,FILENAME =D:工資管理庫.ldf,SIZE=1MB,MAXSIZE=25MB,FILEGROWTH=10%)(二)建表員工信息表、部門信息表、工資信息表IF EXISTS(SELECT * FROM sysobjects WHERE name=員工)DROP TABLE 員工GOcreate table 員工信息(工號 int NOT NULL primary key,姓名 VARCHAR(50)
12、 NOT NULL,性別 CHAR(2) DEFAULT男CHECK(性別 IN(男,女),年齡 int NOT NULL,籍貫 VARCHAR(50) NOT NULL,學(xué)歷 VARCHAR(50),工種 VARCHAR(50),工齡 VARCHAR(50) NOT NULL,職務(wù)等級 VARCHAR(50),部門名稱 char(10) NOT NULL foreign key references部門(部門名稱)GOIF EXISTS(SELECT * FROM sysobjects WHERE name=部門)DROP TABLE 部門GOcreate table 部門(部門編號 int
13、,部門名稱 char(10) primary key,部門負(fù)責(zé)人 VARCHAR(50) NOT NULL,部門人數(shù) VARCHAR(50)GOIF EXISTS(SELECT * FROM sysobjects WHERE name=工資)DROP TABLE 工資GOCREATE TABLE 工資(工號 int NOT NULL primary key,崗位工資 decimal not null,崗位補(bǔ)貼 decimal,出勤天數(shù) decimal not null,加班工時 decimal,加班工資 decimal,加班天數(shù) decimal,加班類別 varchar(50),病假扣款 de
14、cimal,事假扣款 decimal,其他扣款 decimal,應(yīng)發(fā)工資 decimal not null,實(shí)發(fā)工資 decimal not null,部門名稱 char(10) NOT NULL foreign key references部門(部門名稱)GO(三)視圖(1)查詢員工工資情況建立一個視圖,反映員工姓名及工資情況。CREATE VIEW員工信息_工資ASSELECT 員工信息.姓名, 工資.*FROM 員工信息,工資WHERE 員工信息.工號=工資.工號(四)存儲過程(1)指定員工工資情況的查詢定義一個名為staffCost的存儲過程,該存儲過程以以出勤天數(shù)(staffchuq
15、in)、加班工資(staffjiaban)、應(yīng)發(fā)工資(staffying)、實(shí)發(fā)工資(staffshi)為輸入?yún)?shù)返回指定員工工資信息的存儲過程。stsffCost代碼如下:CREATE PROCEDURE staffCoststaffchuqin decimal,staffjiaban decimal,staffying decimal,staffshi decimalASSELECT *FROM 工資WHERE 出勤天數(shù)=staffchuqin AND加班工資=staffjiaban AND應(yīng)發(fā)工資=staffying AND實(shí)發(fā)工資=staffshiGO(2)指定范圍的員工的信息查詢。以
16、員工工號、部門編號為輸入?yún)?shù)返回指定員工基本信息的存儲過程,要求輸入部分員工信息查詢員工全部信息。定義一個名為stsffInfo的存儲過程,該存儲過程以員工工號(staffNum)、部門編號(bmNum)作為輸入?yún)?shù),存儲過程返回查詢到的結(jié)果集。satffInfo的定義代碼如下:CREATE PROCEDURE staffInfostaffNum VARCHAR(50)=%,bmNum VARCHAR(50)=%ASSELECT *FROM員工信息,部門WHERE員工信息.部門名稱=部門.部門名稱AND(員工信息.工號LIKE staffNum VARCHAR(50)+%) AND(部門編號L
17、IKE bmNum VARCHAR(50)+%)GO(3)統(tǒng)計某職工年終工資總額。以工號為輸入?yún)?shù),以獎金總額為輸出參數(shù),產(chǎn)生該年度12個月份的每員工獎金統(tǒng)計的存儲過程。定義該存儲過程名為bmMonhSum,輸入?yún)?shù)為staffNum,實(shí)現(xiàn)代碼如下:CREATE PROCEDUREbmMonthSumstaffNumCHAR(10)ASSELECTsum(實(shí)發(fā)工資+崗位補(bǔ)貼)/12AS獎金總額FROM 員工信息,工資,部門WHERE 員工信息.工號=工資.工號 AND 員工信息.部門名稱=部門.部門名稱 AND工號=102GO(五)觸發(fā)器(1)關(guān)鍵操作,在工資表里添加一條新的記錄,實(shí)發(fā)工資會自
18、動更新新的數(shù)據(jù)。定義這個觸發(fā)器名稱為insert_工資。代碼如下:create trigger insert_工資 on工資for insertasdeclare i char(20)declare bb intset i=casewhen bb=100 then工資when bb=102 then實(shí)發(fā)工資endprint i(六)索引為提高檢索性能,為表創(chuàng)建符合索引,其索引項為工號、姓名。CREATE INDEX 工號_姓名_indON 員工信息(工號,姓名)GO(七)運(yùn)行和維護(hù)1.關(guān)系圖的建立使用SQL Server 2000的企業(yè)管理器創(chuàng)建工資管理系統(tǒng)關(guān)系圖工資管理系統(tǒng)的關(guān)系圖2簡單查詢
19、1)員工基本信息情況代碼如下:select *from員工信息2)員工考勤情況;代碼如下:select出勤天數(shù),工號from工資3)員工每個工種基本工資的設(shè)定。代碼如下:Select崗位工資,職務(wù)等級from工資,員工信息where工資.工號=員工信息.工號4)加班津貼管理,根據(jù)加班時間和類型給予不同的加班津貼;代碼如下:select加班工時,加班天數(shù),加班類別,加班工資from工資WHERE加班工資05)按照不同工種的基本工資情況、員工的考勤情況產(chǎn)生員工的每月的月工資;代碼如下:select工資.部門名稱,職務(wù)等級,崗位工資,出勤天數(shù),實(shí)發(fā)工資from員工,工資WHERE員工信息.工號=工資
20、.工號;3復(fù)雜查詢1)員工年終獎金的生成,員工的年終獎金計算公式(員工本年度的工資總和津貼的總和)/12;代碼如下:SELECT姓名,sum(實(shí)發(fā)工資+崗位補(bǔ)貼)/12 AS獎金總額FROM員工信息,工資,部門WHERE員工信息.工號=工資.工號group by姓名2)企業(yè)內(nèi)財務(wù)部的工資情況查詢:代碼如下:select 員工信息.工號,姓名,職務(wù)等級,實(shí)發(fā)工資from 工資,員工信息where 工資.工號=員工信息.工號 AND 工資.部門名稱=財務(wù)部3)企業(yè)工資報表。能夠查詢單個員工的工資情況代碼如下:select工資.工號,崗位工資,病假扣款,事假扣款,應(yīng)發(fā)工資,實(shí)發(fā)工資from工資,員工
21、信息WHERE工資.工號=員工信息.工號AND姓名LIKE 李%4)員工月工資情況:月,職工號,姓名,部門名,基本工資,病假扣款,事假扣款,應(yīng)發(fā)工資,實(shí)發(fā)工資。代碼如下:select員工信息.工號,姓名,員工信息.部門名稱,崗位工資,病假扣款,事假扣款,應(yīng)發(fā)工資,實(shí)發(fā)工資from工資,員工信息where工資.工號=員工信息.工號;八、總結(jié)經(jīng)過一周的時間,在同學(xué)和老師的幫助下,基本完成本次課程設(shè)計,基本達(dá)到了工資管理系統(tǒng)的要求。這次數(shù)據(jù)庫課程設(shè)計給我的最大的印象是:流程是一切的根本;架構(gòu)是重要的,想像的還要重要;實(shí)踐比一切空談和理論更能學(xué)到東西。從做這個數(shù)據(jù)庫開始無論遇到什么困難,我都沒有一絲的放棄的念頭。在設(shè)計過程中一定要慎重,仔細(xì)。來不得半點(diǎn)馬虎。需求分析是整個課程設(shè)計的中心,考慮要全面,分析徹底。才會為后來的設(shè)計打下良好的基礎(chǔ)。否則,前功盡棄,甚至不能完成任務(wù)。做實(shí)例過程中要注意與說明書中數(shù)據(jù)項數(shù)據(jù)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新小區(qū)消防安全管理機(jī)制研究
- 農(nóng)業(yè)銀行合規(guī)文化的商業(yè)應(yīng)用與前景分析
- 辦公環(huán)境優(yōu)化與提升工作效率的策略
- 2025蔬菜種植合同版樣式
- 2025標(biāo)準(zhǔn)房屋買賣合同書
- 2025招標(biāo)投標(biāo)與合同的關(guān)系工程建設(shè)招標(biāo)投標(biāo)合同(資格預(yù)審邀請書)
- 企業(yè)級解決方案中的嵌入式系統(tǒng)資源整合
- 環(huán)境影響評價行業(yè)市場前景預(yù)測及投資戰(zhàn)略研究報告
- 2024年食用甜味劑市場分析報告
- 2025設(shè)備安裝合同的模板
- 2024北京海淀初一(上)期末語文試卷及答案
- CMQOE質(zhì)量組織卓越認(rèn)證經(jīng)理歷年考試真題試題庫(中文版)
- 九年級安全班會課件
- 公路工程施工組織設(shè)計(投標(biāo)用)
- 《預(yù)防性侵安全教育》主題班會教案
- 2024企業(yè)安全生產(chǎn)考試題庫(600題含答案)
- 礦山環(huán)境保護(hù)管理制度模版(3篇)
- 中建施工電梯安拆專項施工方案
- 《一年級樂考方案》
- 綜合服務(wù)中心施工組織設(shè)計
- 客運(yùn)公司企業(yè)年度安全培訓(xùn)計劃
評論
0/150
提交評論