




已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
課程設(shè)計專用紙 目 錄一、目的及要求 1 1.1、 課程設(shè)計目的 11.2、 開發(fā)環(huán)境及所選題目 11.3、 選題原因 11.4、 系統(tǒng)開發(fā)的重點和難點 1二、課程設(shè)計內(nèi)容說明 22.1、需求分析 22.2、概念結(jié)構(gòu)設(shè)計 52.3、邏輯結(jié)構(gòu)設(shè)計 72.4、物理結(jié)構(gòu)設(shè)計 82.5、數(shù)據(jù)庫實施 11三、結(jié)論與體會 20一、目的及要求1.1 課程設(shè)計目的通過兩周的課程設(shè)計,要求學(xué)生加深對數(shù)據(jù)庫技術(shù)相關(guān)理論的理解,增強(qiáng)動手能力,掌握使用現(xiàn)行較為流行的數(shù)據(jù)庫理論和數(shù)據(jù)庫開發(fā)工具進(jìn)行數(shù)據(jù)庫管理操作(如建庫、建立完整性約束,對數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行查詢,更改等操作)的方法;具體應(yīng)用方面,要求學(xué)生對SQL語言要有較深入的了解和掌握,對數(shù)據(jù)庫的管理(主要是安全性方面)要有一定程度的了解;設(shè)計的最終結(jié)果為學(xué)生設(shè)計和完成具有較完善功能和一定規(guī)模的數(shù)據(jù)庫應(yīng)用系統(tǒng)(后臺),為此后的軟件工程課程設(shè)計和畢業(yè)設(shè)計作準(zhǔn)備。1.2 開發(fā)環(huán)境及所選題目開發(fā)環(huán)境:SQL Server 2000所選題目:人事管理系統(tǒng)1.3 選題原因人事管理系統(tǒng)是每個企業(yè)與公司必備的系統(tǒng),應(yīng)用最為廣泛,一個好的人事管理系統(tǒng)應(yīng)該能夠給管理員帶來極大的方便,同時也極大提高了管理人員的工作效率。所以我想選這個題目來考驗下自己。人事在社會上普遍存在,所以我想在需求分析時應(yīng)該會比較容易實現(xiàn),這樣更有利于系統(tǒng)的設(shè)計。我們以前任何設(shè)計時,與我們最接近的就是學(xué)生成績管理或者是學(xué)生學(xué)籍管理,這次選人事管理系統(tǒng)也是由于它們有比較相近的地方。 1.4 系統(tǒng)開發(fā)的重點和難點系統(tǒng)出現(xiàn)了一些技術(shù)難點大致如下:1、建立合理的表結(jié)構(gòu),避免數(shù)據(jù)冗余 各表通過特定字段實現(xiàn)不同表的數(shù)據(jù)連接,避免數(shù)據(jù)冗余,需要設(shè)計簡潔高效的表結(jié)構(gòu)。2、建立相當(dāng)?shù)南到y(tǒng)安全性管理員登錄身份的驗證機(jī)制設(shè)計、操作頁面的權(quán)限保護(hù)。當(dāng)然這雖然是前臺的事,但設(shè)計時也應(yīng)著重考慮。3、建立嚴(yán)密的數(shù)據(jù)表操作機(jī)制同一表有可能在多個模塊中被修改,所以嚴(yán)密的數(shù)據(jù)表操作機(jī)制的建立十分比較困難的,但也是必須的。除了設(shè)計時必須有相當(dāng)程度的考慮,在編制時更應(yīng)加強(qiáng)程序邏輯的可靠性和程序調(diào)試的全面性。二、課程設(shè)計內(nèi)容說明1. 需求分析l 問題陳述:信息技術(shù)為企業(yè)的發(fā)展提供了機(jī)遇,也帶來了挑戰(zhàn)。如何改良企業(yè)內(nèi)部經(jīng)營機(jī)制,公正,客觀,全面,快捷地評估員工的業(yè)績,實現(xiàn)以人為本的經(jīng)營戰(zhàn)略,提高人事管理工作的效率,使人事管理員有更多的精力去做人力資源分析,研究和開發(fā)工作,是企業(yè)立足發(fā)展,開拓未來,領(lǐng)先同行業(yè)的關(guān)鍵。本人事管理系統(tǒng)分為四個模塊:管理員登錄、員工基本信息管理、員工考勤信息管理、員工調(diào)動信息管理。其中管理員管理員工和部門,也可以查詢員工崗位信息,員工調(diào)動信息以及員工的考勤信息,具有使用此系統(tǒng)的最高權(quán)限。l 系統(tǒng)所需完成的功能:本系統(tǒng)是為了更好的實現(xiàn)人事信息管理。員工基本信息管理可包括:(1) 員工資料管理:包括員工信息的添加,修改,刪除(對于轉(zhuǎn)出、辭職、辭退、退休員工信息的刪除),查詢等功能;員工信息包括編號、姓名、性別、生日、住址、學(xué)歷、專業(yè)、進(jìn)入本公司時間、E-mail等。備注:刪除時對于轉(zhuǎn)出,辭職,辭退,和退休的員工要分情況刪除。退休員工和其他原因離職的員工信息要保存在不同的表里以提高此系統(tǒng)的完善性。在添加時,應(yīng)該注意添加時在崗位信息表里也應(yīng)該有相應(yīng)的信息添加以體現(xiàn)此系統(tǒng)的智能性。(2) 員工資料查詢:按編號、按姓名、按進(jìn)入公司時間等進(jìn)行查詢。員工考勤信息管理可包括(1)考勤信息管理:包括請假、加班、出差信息的添加,修改,刪除3個功能。(2) 對考勤信息的查詢:按員工編號或時間查詢考勤情況。員工調(diào)動信息管理可包括:(1) 員工調(diào)動信息管理:包括員工調(diào)動信息的添加,修改,刪除3個功能;員工調(diào)動信息包括原有部門、原有職務(wù)、新部門、新職務(wù)等。在做此模塊時應(yīng)注意各個模塊之間的聯(lián)系,把實際中的情況都要考慮進(jìn)去,以完備整個系統(tǒng)。比如添加和修改調(diào)動信息時應(yīng)把崗位信息表里的內(nèi)容也相應(yīng)的進(jìn)行改動,還要做些視圖供管理員查詢。(2) 員工調(diào)動信息查詢:按某個員工的調(diào)動情況或某個時間范圍內(nèi)部調(diào)動情況等進(jìn)行查詢。l 數(shù)據(jù)字典員工基本信息表:主鍵:編號,Char(5),能否為空:否。 含義:每個員工都有一個與之唯一對應(yīng)的公司給予的數(shù)字編號。崗位信息表:主鍵:員工編號,CHAR(5),能否為空:否。 含義:每個員工都有一個與之唯一對應(yīng)的公司職位,編號 和崗位唯一對應(yīng)。考勤信息表:主鍵:員工編號,CHAR(5),能否為空:否。 含義:公司需要考勤,每個員工都需要被考勤,每條考勤 信息都對應(yīng)一個員工。調(diào)動信息表:主鍵:員工編號,CHAR(5),能否為空:否。 含義:有些員工需要調(diào)動,每條調(diào)動信息都對應(yīng)一個員工。部門信息表:主鍵:部門名稱,CHAR(20),能否為空:否。 含義:每個部門都有個唯一與之對應(yīng)的名稱,可以唯一標(biāo) 此部門。管理員信息表:主鍵:賬號,CHAR(10),能否為空:否。 含義:每個人事管理系統(tǒng)都要有管理員,每個管理員都 唯一一個賬號。l 功能模塊框架圖人事管理信息系統(tǒng) 員工考勤管理管理員登錄崗位信息表調(diào)動信息表員工考勤表察看調(diào)動視圖員工調(diào)動管理察看崗位視圖視圖管理視圖查詢視圖管理崗位信息添加考勤信息查詢考勤信息刪除考勤信息添加視圖查詢員工崗位管理崗位信息刪除崗位信息修改調(diào)動信息添加調(diào)動信息修改調(diào)動信息查詢圖2.1.1功能模塊框架圖2. 概念結(jié)構(gòu)設(shè)計編號姓名性別生日住址學(xué)歷專業(yè)備注Email進(jìn)入本公司時間配偶工作單位配偶姓名外語情況畢業(yè)學(xué)校畢業(yè)時間員工圖2.2.1員工屬性圖員工編號崗位名稱所屬部門崗位 圖2.2.2崗位屬性圖部門名稱部門經(jīng)理所屬城市部門電話部門所屬單位圖2.2.3部門屬性圖姓名賬號學(xué)歷密碼管理員住址性別所屬單位 圖2.2.4管理員屬性圖 員工編號原有部門所屬職務(wù)調(diào)動時間調(diào)動新部門新職務(wù)圖2.2.5信息屬性圖加班時間員工編號考勤出差地點請假原因請假結(jié)束時間請假開始時間 圖2.2.6考勤屬性圖管理員 1 1管理2管理1 n n 調(diào)動員工 部門 n 1 1 n m執(zhí)行 考勤2 所屬 1 1 n 考勤1考勤崗位 n m圖2.2.7全局E-R圖3. 邏輯結(jié)構(gòu)設(shè)計根據(jù)上面設(shè)計的E-R圖和需求分析,可以設(shè)計下列幾個表:員工基本信息表:編號,姓名,性別,生日,住址,學(xué)歷,專業(yè),進(jìn)入本公司時間,Email,配偶姓名,配偶工作單位,畢業(yè)學(xué)校,外語情況,畢業(yè)時間,備注崗位信息表:員工編號,崗位名稱,所屬部門部門信息表:部門名稱,部門電話,部門電話,部門經(jīng)理,所屬單位,所在城市管理遠(yuǎn)信息表:帳號,密碼,姓名,性別,學(xué)歷,住址,所屬單位調(diào)動信息表:員工編號,原有部門,原有職務(wù),新部門,新職務(wù),調(diào)動時間考勤信息表:員工編號,請假原因,請假開始時間,請假結(jié)束時間,加班時間,出差地點,日期,所屬部門退休員工信息表:編號,姓名,性別,生日,住址,學(xué)歷,專業(yè),進(jìn)入本公司時間,Email,配偶姓名,配偶工作單位,畢業(yè)學(xué)校,外語情況,畢業(yè)時間,備注離職員工信息表:編號,姓名,性別,生日,住址,學(xué)歷,專業(yè),進(jìn)入本公司時間,Email,配偶姓名,配偶工作單位,畢業(yè)學(xué)校,外語情況,畢業(yè)時間,備注備注:在退休員工信息表中,考慮到實際中公司可能不需要這么多屬性,所以只有編號和姓名是有值的,其他都為空。還有就是兩個表是另外的備份表在E-R圖中并沒有顯示出來。4. 物理結(jié)構(gòu)設(shè)計表2.4.1崗位基本信息表 列名 數(shù)據(jù)類型 可否為空 說明員工編號 Char(5) 否員工編號 崗位名稱 Char(20) 可員工崗位名稱 所屬部門 Char(20) 可崗位所屬部門表2.4.2員工基本信息表列名數(shù)據(jù)類型可否為空 說明 編號 CHAR(5) 否員工編號 姓名 CHAR(10) 否 員工姓名 生日 Varchar(50) 可 員工生日 住址 Varchar(100) 可 員工住址 學(xué)歷 Char(10) 可 員工學(xué)歷 專業(yè) Char(20) 可 員工專業(yè)進(jìn)入本公司時間 Varchar(20) 可加入公司日期 Email Varchar(20) 可 員工Email 配偶姓名 Char(10) 可 員工配偶姓名配偶工作單位 Varchar(30) 可員工配偶工作畢業(yè)學(xué)校 Varchar(20) 可 員工畢業(yè)學(xué)校 外語情況 Varchar(20) 可 員工外語情況 畢業(yè)時間 Varchar(20) 可 員工畢業(yè)時間 備注 Char(4) 可 員工在職情況表2.4.3部門信息表列名 數(shù)據(jù)類型 可否為空 說明 部門名稱 Char(20) 否 部門名稱 部門電話 Varchar(10) 可 部門電話號碼 部門經(jīng)理 Char(10) 可 部門經(jīng)理姓名 所屬單位 Char(20) 可所屬單位名稱 所在城市 Char(10) 可所在城市名稱表2.4.4 調(diào)動信息表 列名 數(shù)據(jù)類型 可否為空 說明 員工編號 Char(5) 否 員工編號 原有部門 Char(20) 可 原有部門名稱 原有職務(wù) Char(20) 可 原有崗位名稱 新部門 Char(20) 可 新部門名稱 新職務(wù) Char(20) 可 新職務(wù)名稱 調(diào)動時間 Varcher(20) 可 調(diào)動日期表2.4.5考勤信息表 列名 數(shù)據(jù)類型 可否為空 說明員工編號char(5) 否 員工編號請假原因varchar(50)可 請假原因請假開始時間varchar(20)可請假開始時間請假結(jié)束時間varchar(20)可請假結(jié)束時間加班時間varchar(20)可加班時間出差地點char(10)可出差地點日期varchar(20)可日期所屬部門char(20)可所屬部門表2.4.6管理員信息表列名數(shù)據(jù)類型可否為空說明帳號char(10) 否管理員帳號密碼char(10)可管理員密碼姓名char(10)可管理員姓名性別char(2)可管理員性別學(xué)歷char(10)可管理員學(xué)歷住址varchar(100)可管理員住址所屬單位char(20)可管理員所屬單位語言環(huán)境:SQL Server 2000操作系統(tǒng):Windows 2000 Server存儲路徑:數(shù)據(jù)存儲在硬盤里表2.4.7 主要數(shù)據(jù)類型表符號含義符號含義INT長整數(shù)CHAR(N)N位定長字符串SMALLINT短整數(shù)VARCHAR(N)不超過N變長字符串REAL浮點數(shù)BIT(N)N位定長位串DOUBLEPRECISION雙精度浮點數(shù)BIT VARYING不超過N位變長位串FLOATN位浮點數(shù)DATE日期:年:月:日Numberic(p,q)定寬,定小數(shù)位TIME時間:時:分:秒表2.4.8 主要語句命令表:語句說明語句說明Create創(chuàng)建表,視圖和存儲過程等Update更新表,視圖和存儲過程等Alter修改表,視圖和存儲過程等Delete刪除表,視圖和存儲過程等5. 數(shù)據(jù)庫實施l 表的創(chuàng)建員工基本信息表 create table 員工基本信息表(編號 char(5) not null unique, 姓名 char(10), 性別 char(2), 生日 varchar(50), 住址 varchar(100), 學(xué)歷 char(10), 專業(yè) char(20), 進(jìn)入本公司時間 varchar(20), Email varchar(20), 配偶姓名 char(10), 配偶工作單位 varchar(30), 畢業(yè)學(xué)校 varchar(20), 外語情況 varchar(20), 畢業(yè)時間 varchar(20), 備注 char(4), constraint c1 check(備注 in(退休,在職,轉(zhuǎn)出,辭退,辭職), constraint c2 check(性別 in(男,女);備注:本表將婚姻信息表和員工信息表合并一起了。還有上班信息表 被我刪掉了。調(diào)動信息表create table 調(diào)動信息表(員工編號 char(5) not null unique, 原有部門 char(20), 原有職務(wù) char(20), 新部門 char(20), 新職務(wù) char(20), 調(diào)動時間 varchar(20);備注:本表反應(yīng)了員工調(diào)動的信息,與崗位信息表緊密相連。考勤信息表create table 考勤信息表(員工編號 char(5) not null unique, 上班時間 varchar(20), 下班時間 varchar(20), 請假原因 varchar(50), 請假開始時間 varchar(20), 請假結(jié)束時間 varchar(20), 加班時間 varchar(20), 出差地點 char(10), 日期 varchar(20), 所屬部門 char(20);備注:此表為了方便管理員調(diào)出最近考勤表來查看數(shù)據(jù)。l 在員工基本表里,我做了一個刪除觸發(fā)器和一個添加觸發(fā)器。刪除觸發(fā)器create trigger save_del on 員工基本信息表for delete asbegin if (select 備注 from deleted)=退休begininsert 退休員工信息表select * from deletedupdate 退休員工信息表set 生日=NULL,住址=NULL,學(xué)歷=NULL,專業(yè)=NULL, 進(jìn)入本公司時間=NULL,Email=NULL,配偶姓名=NULL, 配偶工作單位=NULL,畢業(yè)學(xué)校=NULL,外語情況=NULL,畢業(yè)時間=NULLwhere 編號 in(select 編號 from deleted)endif (select 備注 from deleted) not in(退休,在職)begininsert 離職員工信息表select * from deletedenddelete from 考勤信息表where 員工編號 in(select 編號 from deleted)delete from 崗位信息表where 員工編號 in(select 編號 from deleted)delete from 調(diào)動信息表where 員工編號 in(select 編號 from deleted)end備注:此觸發(fā)器是當(dāng)刪除員工時才能觸發(fā),但刪除員工之前一定需將此元組中備注屬性修改掉??捎么舜鎯Y(jié)構(gòu):(create procedure pro_update備注y1 char(5),y2 varchar(50)asupdate 員工基本信息表set 備注=y2where 編號=y1)修改掉屬性備注后,再實施刪除操作(代碼略),同時將觸發(fā)此觸發(fā)器將崗位信息表,調(diào)動信息表以及考勤信息表里的相關(guān)信息全部刪除,并會保留到另外的退休員工信息表或離職員工信息表。其實,我有個想法就是將此刪除觸發(fā)器改成修改觸發(fā)器,即在將一元組備注屬性修改掉后就觸發(fā)自動將該元組刪除,并牽連其他表中相關(guān)信息也刪除。但在實際運用中可能會有些將備注屬性誤修改的人為誤操作,我就不清楚該怎樣才能避免這種誤操作,所以由于水平與知識的欠缺就放棄了此想法,相信在以后的學(xué)習(xí)中會有些進(jìn)步。 添加觸發(fā)器 create trigger t_insert員工 on 員工基本信息表for insertasbegindeclare a char(5)set a=(編號 in(select 編號 from inserted)insert into 崗位信息表(員工編號) values(a)end 備注:此觸發(fā)器比較簡單,就是在實際運用中可以方便用戶插入一個新的員工信息,同時不會忘記在其他表中建立與之相關(guān)的元組信息。不過添加到相關(guān)表中,只有一個主屬性,其他非主屬性皆為空,請用戶自行輸入。l 在調(diào)動信息表里,當(dāng)添加和修改調(diào)動信息時也要有觸發(fā)器來修改崗位信息表。在實際運用中這是必須的,很多公司和企業(yè)都需要這種自動化的添加與修改,方便而且不易出錯。添加觸發(fā)器create trigger t_insert調(diào)動信息 on 調(diào)動信息表for insertas declare a char(5),b char(20),c char(20)set a=(select 員工編號 from inserted)set b=(select 新部門 from inserted)set c=(select 新職務(wù) from inserted)update 崗位信息表set 所屬部門=b,崗位名稱=cwhere 員工編號=a備注:通過插入存儲過程可以觸發(fā)添加觸發(fā)器,存儲過程如下:create procedure pro_insert調(diào)動信息y1 char(5),y2 char(20),y3 char(20),y4 char(20),y5 char(20),y6 varchar(20)asinsert into 調(diào)動信息表(員工編號,原有部門,原有職務(wù),新部門,新職務(wù),調(diào)動時間) values(y1,y2,y3,y4,y5,y6)修改觸發(fā)器create trigger t_update調(diào)動信息 on 調(diào)動信息表for updateas declare a char(5),b char(20),c char(20)set a=(select 員工編號 from inserted)set b=(select 新部門 from inserted)set c=(select 新職務(wù) from inserted)update 崗位信息表set 所屬部門=b,崗位名稱=cwhere 員工編號=a備注:從修改觸發(fā)器我學(xué)到點東西,上面兩個觸發(fā)器,就關(guān)鍵字不同,其他都一樣。很多同學(xué)都不會做修改觸發(fā)器,因為觸發(fā)器不能送參,只能通過兩個邏輯表來實現(xiàn)。但是他們因為都忽略了一個重要的知識點:修改是先刪除后添加。知道這個后就不難想象在邏輯表inserted里是有新修改的元組的,這就是我的一點小心得。同樣此修改觸發(fā)器也是通過存儲過程實現(xiàn)的:create procedure pro_update調(diào)動信息y1 char(5),y2 char(20),y3 char(20),y4 char(20),y5 char(20),y6 varchar(20)asupdate 調(diào)動信息表set 原有部門=y2,原有職務(wù)=y3,新部門=y4,新職務(wù)=y5,調(diào)動時間=y6where 員工編號=y1l 在崗位信息表里,我做了添加,刪除和修改的存儲過程,舉例如下:添加存儲過程create procedure pro_insert崗位信息y1 char(5), y2 char(20), y3 char(20)as insert into 崗位信息表(員工編號,崗位名稱,所屬部門) values(y1,y2,y3)刪除存儲過程create procedure pro_delete崗位信息id char(5)asdelete from 崗位信息表where 員工編號=id這個存儲過程是按編號刪除的,其他類似,在此就不再贅述了!修改存儲過程create procedure pro_update崗位信息y1 char(5),y2 char(20), y3 char(20)as update 崗位信息表set 崗位名稱=y2,所屬部門=y3where 員工編號=y1l 考勤信息表,在此舉例:出差信息的修改,加班信息的添加和請假信息的刪除。其他都基本相同,不做贅述!出差信息修改存儲過程create procedure pro_update出差信息y1 char(10),y2 char(10)asupdate 考勤信息表set 出差地點=y2where 出差地點=y1加班信息的添加create procedure pro_insert加班信息y1 char(5),y2 varchar(20),y3 varchar(20),y4 varchar(50),y5 varchar(20),y6 varchar(20),
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)用水電供應(yīng)與使用協(xié)議
- 化妝品銷售排行榜統(tǒng)計表
- 銷售區(qū)域業(yè)績對比表
- 汽車發(fā)動機(jī)結(jié)構(gòu)與維修知識閱讀題
- 銀行保衛(wèi)考試試題及答案
- 易班新生考試試題及答案
- 醫(yī)院藥局考試試題及答案
- 六一兒童酒店活動方案
- 醫(yī)學(xué)倫理考試試題及答案
- 六一建構(gòu)活動方案
- 2025年安全生產(chǎn)考試題庫:安全生產(chǎn)隱患排查治理安全教育培訓(xùn)試題
- 馬列原著選讀試題及答案
- 2025國開電大《個人與團(tuán)隊管理》形考任務(wù)1-10答案
- 湖南2024生地會考試卷及答案
- 2024小學(xué)語文教學(xué)及說課課件:六年級上冊《只有一個地球》
- PLC裝配流水線模擬控制課程設(shè)計
- biggs學(xué)習(xí)策略問卷SPQ-英文版
- 新聞發(fā)布系統(tǒng)-需求規(guī)格說明書
- (完整word版)最新防雷裝置檢測工程質(zhì)量管理手冊
- DL_5000-2000_火力發(fā)電廠設(shè)計技術(shù)規(guī)程
- 四害密度監(jiān)測工作實施方案
評論
0/150
提交評論