數(shù)據(jù)庫原理課程設(shè)計---企業(yè)人事管理系統(tǒng)_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  數(shù)據(jù)庫原理課程設(shè)計</b></p><p>  題 目 企業(yè)人事管理系統(tǒng) </p><p>  學(xué) 院 數(shù)理與信息工程學(xué)院 </p><p>  專 業(yè) 計算機科學(xué)與技術(shù) </p><p>

2、;  班 級 </p><p>  學(xué) 號 </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)教師

3、 </p><p>  編寫日期 2012/7/4 </p><p><b>  目 錄</b></p><p>  1 系統(tǒng)需求分析.....................................................1</p><p>  1

4、.1 系統(tǒng)調(diào)查.....................................................1</p><p>  1.2用戶需求......................................................1</p><p>  1.3 系統(tǒng)業(yè)務(wù)流程圖........................................

5、.......1</p><p>  2 系統(tǒng)邏輯方案.....................................................2</p><p>  2.1 數(shù)據(jù)流圖.....................................................2</p><p>  2.2數(shù)據(jù)字典............

6、..........................................4</p><p>  3 系統(tǒng)總體結(jié)構(gòu)設(shè)計.................................................5</p><p>  3.1 軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計.........................................5</p><

7、;p>  3.2數(shù)據(jù)儲存的總體設(shè)計............................................6</p><p>  3.3 系統(tǒng)功能模塊設(shè)計.............................................6</p><p>  4數(shù)據(jù)庫詳細設(shè)計...........................................

8、........6</p><p>  4.1 數(shù)據(jù)庫設(shè)計...................................................6</p><p>  4.2數(shù)據(jù)庫的完整性和安全性.......................................11</p><p>  5 數(shù)據(jù)庫操作...................

9、..................................11</p><p>  5.1 創(chuàng)建數(shù)據(jù)庫及相關(guān)操作........................................11</p><p>  6心得體會.....................................................28</p><p> 

10、 7參考資料.....................................................29</p><p><b>  1.系統(tǒng)需求分析</b></p><p><b>  1.1 系統(tǒng)調(diào)查</b></p><p>  在企業(yè)中,人事管理工作是非常重要的一項工作,它負責整個企業(yè)的日常人事安排

11、,人員的人事管理等。以前都是人工進行操作。隨著企業(yè)規(guī)模的擴大,人事管理的工作量也大大地加重。隨著計算機應(yīng)用的發(fā)展,人事工作者急切希望能夠?qū)⒋蟛糠譄┈嵉墓ぷ鹘唤o計算機處理,以減輕人工的壓力并提高工作效率 。而計算機的普及加快人事管理系統(tǒng)的產(chǎn)生。</p><p>  人事管理的主要任務(wù)是為實現(xiàn)企業(yè)的整體目標提供合適可用的人才,這就要求人事部門進一步加大人事制度改革的力度,建立好人才檔案,為企業(yè)選拔賢能創(chuàng)造一個良好的工

12、作環(huán)境,使員工用其所長、人盡其才;關(guān)心和改善員工的生活條件,使員工無后顧之憂,充分發(fā)揮自己的內(nèi)在潛力。</p><p>  企業(yè)人事管理的根本目的就是通過使用人才去達到最大利益。企業(yè)人事管理工作的好壞對企業(yè)的發(fā)展有較大的影響,企業(yè)對人事管理都較為重視。通過互聯(lián)網(wǎng)查詢的資料來看,國內(nèi)目前類似的系統(tǒng)大多是針對企業(yè)員工管理,而對企業(yè)引進人才方面以及與員工交流平臺方面所做的工作不多。</p><p&g

13、t;<b>  1.2用戶需求</b></p><p>  人事管理是企業(yè)管理的一個重要內(nèi)容。隨著時代的進步,企業(yè)也逐漸變的龐大起來。如何管理好企業(yè)內(nèi)部員工的信息,成為企業(yè)管理中的一個重要問題。在這種情況下,一個可以規(guī)范化,自動化的企業(yè)人事管理系統(tǒng)就顯的非常重要。</p><p>  最初的人事管理,都是靠人力來完成。當企業(yè)規(guī)模比較小的時候,人力以完成。隨著企業(yè)規(guī)模越

14、來越大,企業(yè)員工的人數(shù)越來越多,依然維持著人力進管理必然會造成工作效率底,工作錯誤曾高等問題。</p><p>  人事管理系統(tǒng)就是把分散的企業(yè)單位的職工信息實行統(tǒng)一,集中,規(guī)范的收集管理。建立分類編號管理,電腦存貯查詢以及防火,防潮,防盜等現(xiàn)代化,專業(yè)化的管理系統(tǒng)。為企事業(yè)單位和職工解除后顧之憂。</p><p>  1.3 系統(tǒng)業(yè)務(wù)流程圖</p><p>  詳

15、細調(diào)查之后,結(jié)合現(xiàn)行企業(yè)人事管理模式,為開發(fā)本系統(tǒng)而繪制出的企業(yè)人事管理系統(tǒng)的業(yè)務(wù)流程圖如圖1.1所示。</p><p>  企業(yè)人事管理系統(tǒng)業(yè)務(wù)流程圖1.1</p><p><b>  2. 系統(tǒng)邏輯方案</b></p><p>  本系統(tǒng)的邏輯模型主要是以系統(tǒng)的數(shù)據(jù)流圖(DFD)和數(shù)據(jù)字典(DD)為主要描述工具。</p>&l

16、t;p>  數(shù)據(jù)流圖表達了數(shù)據(jù)和處理的關(guān)系,數(shù)據(jù)字典則是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進行詳細的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。</p><p>  2.1數(shù)據(jù)流圖(簡稱為DFD)</p><p>  管理系統(tǒng)的頂層數(shù)據(jù)流程圖如圖2.1所示。</p><p>  企業(yè)人事管理系統(tǒng)頂層數(shù)據(jù)流程圖2.1</p><p> ?。ㄗⅲ簣D中紅色

17、虛線表示的數(shù)據(jù)流是員工信息。)</p><p>  上圖中把系統(tǒng)功能分為人事檔案管理、考勤加班出差管理、人事變動、考核獎懲、員工培訓(xùn)、系統(tǒng)維護六個功能。</p><p>  在人事管理系統(tǒng)頂層流程圖中,“出勤加班出差管理”處理框所表示的功能不是很具體,需對它進一步細化。出勤加班出差管理細化流程圖如2.2所示。</p><p>  出勤加班出差管理細化流程圖2.2&l

18、t;/p><p>  經(jīng)過整理,最后細化后的系統(tǒng)數(shù)據(jù)流程圖如2.3所示。</p><p>  2.2數(shù)據(jù)字典(簡稱DD)</p><p>  為明確數(shù)據(jù)的詳細內(nèi)容和數(shù)據(jù)加工過程,應(yīng)將數(shù)據(jù)流圖中的全部數(shù)據(jù)流及其組成部分的數(shù)據(jù)元素,數(shù)據(jù)存儲,數(shù)據(jù)加工,通過數(shù)據(jù)字典描述清楚,以便于此后系統(tǒng)設(shè)計的進行。這就需要開發(fā)人員編寫詳細的數(shù)據(jù)字典,來描述系統(tǒng)開發(fā)過程的細節(jié)。</p&

19、gt;<p>  下面列出本系統(tǒng)中的數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲、加工處理和數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)字典。數(shù)據(jù)字典可采用圖表格式或較緊湊的記錄格式描述,本文采用的是圖表格式。</p><p>  數(shù)據(jù)項的DD表列舉如下:</p><p>  表2.1 員工編號的數(shù)據(jù)字典</p><p><b>  表2.2 員工姓名</b></p>

20、;<p>  注:因限于篇幅,其余數(shù)據(jù)項的DD表在此略過。</p><p><b>  3系統(tǒng)總體結(jié)構(gòu)設(shè)計</b></p><p>  3.1軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計</p><p>  軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計的主要任務(wù)就是將整個系統(tǒng)合理的劃分成各個功能模塊,正確處理模塊之間與模塊內(nèi)部的聯(lián)系及它們之間的調(diào)用關(guān)系和數(shù)據(jù)聯(lián)系,定義各模塊的內(nèi)

21、部結(jié)構(gòu)等,本系統(tǒng)的軟件總體結(jié)構(gòu)按分解-協(xié)調(diào)的原則,信息隱蔽抽象的原則,自頂向下的原則,一致性原則,面向用戶的原則進行設(shè)計。</p><p>  3.2數(shù)據(jù)存儲的總體設(shè)計</p><p>  按用途分類可把本系統(tǒng)文件分成以下幾種:</p><p>  主文件:系統(tǒng)中的主文件是最重要的共享文件,主要存放具有固定值屬性的數(shù)據(jù)。它需要長期保存,并不斷更新。如用戶信息文件(包

22、括員工和管理員及系領(lǐng)導(dǎo))、科目信息文件、題庫信息文件、考試信息文件、考試新聞信息表、考試成績文件。</p><p>  處理文件:處理文件包含下一次更新文件所需要的全部記錄,本系統(tǒng)中的處理文件如新聞登錄日志文件、待審核項目信息文件。</p><p>  3.3系統(tǒng)功能模塊設(shè)計</p><p>  通過對系統(tǒng)的數(shù)據(jù)流圖進行分析,進一步進行功能分解,直到分解成含義明確,

23、功能單一的功能模塊,從而得到系統(tǒng)的功能模塊結(jié)構(gòu)圖。如圖3.1所示。</p><p>  圖3.1 系統(tǒng)功能模塊結(jié)構(gòu)圖</p><p>  4. 數(shù)據(jù)庫詳細設(shè)計</p><p><b>  4.1 數(shù)據(jù)庫設(shè)計</b></p><p>  數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立

24、數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。作為信息資源開發(fā)、管理和服務(wù)的一項有效技術(shù),數(shù)據(jù)庫技術(shù)在許多領(lǐng)域都起著不可或缺的作用。</p><p>  4.1.1 E-R圖設(shè)計</p><p>  E-R圖是實體-聯(lián)系圖的簡稱。概念模型是對信息世界建模,E-R圖就被用來描述現(xiàn)實世界的概念模型,由實體、屬性、聯(lián)系三部分組成。在概念

25、結(jié)構(gòu)設(shè)計中,首先設(shè)計分E-R圖,再通過整合,得到一個系統(tǒng)的全局E-R圖。</p><p>  各分E-R圖說明如下:</p><p><b>  員工E-R圖</b></p><p><b>  部門E-R圖</b></p><p><b>  管理人員E-R圖</b><

26、/p><p><b>  刷卡機E-R圖</b></p><p><b>  全局E-R圖如下:</b></p><p>  4.1.2 邏輯結(jié)構(gòu)設(shè)計(E-R圖向關(guān)系模型的轉(zhuǎn)換)</p><p>  將人事管理系統(tǒng)的E-R圖轉(zhuǎn)換為關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模型,其關(guān)系模式為:</p><p&g

27、t;  1)員工檔案{員工號,姓名,性別,出生日期,民族,學(xué)歷,職稱,部門號},其中員工編號為主碼,部門號為外碼;</p><p>  2)管理員記錄{管理員賬號,員工號,密碼,級別|,其中管理員賬號為主碼,員工號為外碼;</p><p>  3)獎懲記錄{獎懲編號,員工號,獎懲類型,批復(fù)部門號,批復(fù)原因,批復(fù)日期},獎懲編號為主碼,其中員工號和批復(fù)部門號為外碼;</p>&

28、lt;p>  4)人事變動記錄{變動編號,員工編號,調(diào)動前職務(wù),調(diào)動后職務(wù),調(diào)動日期,批復(fù)部門號,批復(fù)原因,批復(fù)日期},變動編號為主碼,其中員工號和批復(fù)部門號為外碼;</p><p>  5)考勤加班出差記錄{考勤編號,員工號,上班刷卡時間,下班刷卡時間,刷卡日期,加班時間,出差時間},考勤編號為主碼,員工號為外碼;</p><p>  6)部門記錄{部門號,名稱,領(lǐng)導(dǎo)人號},部門號

29、為主碼。</p><p>  7)培訓(xùn)記錄{員工號,培訓(xùn)課程號,課程名,培訓(xùn)考核結(jié)果},員工號和培訓(xùn)課程號為主碼,員工號為外碼。</p><p>  8)刷卡機記錄{刷卡機號}。</p><p>  基于以上關(guān)系模型,本系統(tǒng)中關(guān)于數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計如下:</p><p>  其中包括部門表、管理人員表、刷卡機表、員工檔案表、考勤加班出差表、人事

30、變動表、獎懲記錄表、培訓(xùn)記錄表。</p><p>  以下為具體表的結(jié)構(gòu)設(shè)計:</p><p>  4.2 數(shù)據(jù)庫的完整性和安全性</p><p><b>  數(shù)據(jù)庫的完整性</b></p><p>  數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性,是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),也就是防止數(shù)據(jù)庫中存在不正確的數(shù)據(jù)。為

31、了維護數(shù)據(jù)庫的完整性,本課程設(shè)計中定義了一些完整性約束條件。</p><p><b>  數(shù)據(jù)庫的安全性</b></p><p>  數(shù)據(jù)庫的安全性是保護數(shù)據(jù)庫防止惡意的破壞和非法的存取。本課程設(shè)計中通過要求用戶輸入用戶密碼來鑒別用戶身份,對不同的用戶設(shè)置不同的安全等級。</p><p><b>  5. 數(shù)據(jù)庫操作</b>

32、;</p><p>  5.1創(chuàng)建數(shù)據(jù)庫及相關(guān)操作</p><p>  1.創(chuàng)建表格及插入數(shù)據(jù)</p><p>  use 企業(yè)人事管理系統(tǒng)</p><p><b>  Go</b></p><p>  create table 部門(</p><p>  部門號 Char

33、(4) not null,</p><p>  部門名 Char(10) not null,</p><p>  領(lǐng)導(dǎo)人號 Char(4) not null,</p><p><b>  )</b></p><p><b>  Go </b></p><p>  C

34、reate procedure 部門_proc(@部門號 char(4),@部門名 char(10),@領(lǐng)導(dǎo)人號 char(4))</p><p><b>  As</b></p><p><b>  Begin</b></p><p>  Insert into 部門(部門號,部門名,領(lǐng)導(dǎo)人號) values(@部門號,

35、@部門名,@領(lǐng)導(dǎo)人號)</p><p><b>  End</b></p><p><b>  Go </b></p><p>  Exec 部門_proc '1201','總經(jīng)辦','0001'</p><p>  Exec 部門_proc '

36、;1202','人力資源部','0006'</p><p>  Exec 部門_proc '1203','企劃部','0007'</p><p>  Exec 部門_proc '1204','財務(wù)部','0008'</p><p>

37、  Exec 部門_proc '1205','研發(fā)部','0009'</p><p>  Exec 部門_proc '1206','生產(chǎn)部','0010'</p><p>  Exec 部門_proc '1207','銷售部','0011'<

38、/p><p>  Exec 部門_proc '1208','客服部','0012'</p><p><b>  Go </b></p><p>  alter table 部門 add primary key(部門號)</p><p><b>  Go </b&

39、gt;</p><p>  create table 員工檔案(</p><p>  員工編號 Char(4) not null,</p><p>  姓名 Char(10) not null,</p><p>  性別 Char(2) check(性別 in('男','女')),</p>&l

40、t;p>  出生日期 datetime,</p><p>  學(xué)歷 VarChar(32) not null,</p><p>  身份證號 VarChar(32) not null,</p><p>  民族 VarChar(16) not null,</p><p>  職稱 Char(10),</p><p

41、>  部門號 char(4),</p><p><b>  )</b></p><p><b>  Go </b></p><p>  Create procedure 員工檔案_proc(@員工編號 Char(4),@姓名 Char(10),@性別 Char(2),@出生日期 datetime,@學(xué)歷 VarCha

42、r(32),@身份證號 VarChar(32),@民族 VarChar(16),@職稱 Char(10),@部門號 char(4))</p><p><b>  As</b></p><p><b>  Begin</b></p><p>  Insert into 員工檔案(員工編號,姓名,性別,出生日期,學(xué)歷,身份證號

43、,民族,職稱,部門號) values(@員工編號,@姓名,@性別,@出生日期,@學(xué)歷,@身份證號,@民族,@職稱,@部門號)</p><p><b>  End</b></p><p><b>  Go </b></p><p>  Exec 員工檔案_proc '0001','陳委',&#

44、39;男','1972-11-25','博士','110000198511259981','漢','總裁','1201'</p><p>  Exec 員工檔案_proc '0002','龍展風','男','1982-12-20','本科&

45、#39;,'110000198212206636','漢','總經(jīng)理','1201'</p><p>  Exec 員工檔案_proc '0003','世凱然','男','1980-03-18','本科','330902198003184389','

46、;漢','副總經(jīng)理','1201'</p><p>  Exec 員工檔案_proc '0004','夏佳','女','1987-05-22','本科','110117198705228416','漢','總經(jīng)理助理','1201'

47、</p><p>  Exec 員工檔案_proc '0006','趙延','男','1981-06-06','研究生','140100198106065475','漢','人事部經(jīng)理','1201'</p><p>  Exec 員工檔案_pro

48、c '0007','張芳','女','1978-09-01','研究生','110103197809014487','漢','企劃部經(jīng)理','1201'</p><p>  Exec 員工檔案_proc '0008','蕭譯成','

49、男','1985-05-05','本科','110105198505051578','漢','財務(wù)部經(jīng)理','1201'</p><p>  Exec 員工檔案_proc '0009','鄭文華','男','1974-10-19','本科&

50、#39;,'110229197410193785','漢','研發(fā)部經(jīng)理','1201'</p><p>  Exec 員工檔案_proc '0010','王小小','男','1971-02-03','本科','110229197102035614',&#

51、39;漢','生產(chǎn)部經(jīng)理','1201'</p><p>  Exec 員工檔案_proc '0011','許念梓','女','1979-12-05','本科','230700197912057568','漢','銷售部經(jīng)理','1201&

52、#39;</p><p>  Exec 員工檔案_proc '0012','梅倩','女','1988-08-12','本科','110101198808127586','漢','客服部經(jīng)理','1201'</p><p>  Exec 員工檔案_

53、proc '0013','莫風','女','1988-08-11','???#39;,'110101198808117586','漢','出納員','1204'</p><p>  Exec 員工檔案_proc '0014','鄭倩','女

54、','1989-07-12','本科','110101198907127586','漢','業(yè)務(wù)員','1207'</p><p>  Exec 員工檔案_proc '0015','佟婭','女','1992-03-06','高中'

55、,'110101199203068415','漢','話務(wù)員','1208'</p><p>  Exec 員工檔案_proc '0016','金雅','女','1988-02-15','本科','110101198802158476','漢

56、9;,'企劃專員','1203'</p><p>  Exec 員工檔案_proc '0017','葉瀟','男','1988-07-18','本科','110101198807185426','漢','數(shù)據(jù)庫維護','1202'</

57、p><p>  Exec 員工檔案_proc '0018','黃儀','女','1984-08-22','???#39;,'110101198408225894','漢','服務(wù)顧問','1208'</p><p>  Exec 員工檔案_proc '

58、0019','曾凱','男','1986-11-12','本科','110101198611125486','漢','硬件工程師','1205'</p><p><b>  Go </b></p><p>  alter table

59、員工檔案 add primary key(員工編號)</p><p><b>  Go</b></p><p>  create table 刷卡機( </p><p>  刷卡機號 Char(4) not null</p><p><b>  )</b></p><p>&

60、lt;b>  Go</b></p><p>  Create procedure 刷卡機_proc(@刷卡機號 char(4))</p><p><b>  As</b></p><p><b>  Begin</b></p><p>  Insert into 刷卡機(刷卡機號)

61、 values(@刷卡機號)</p><p><b>  End</b></p><p><b>  Go</b></p><p>  Exec 刷卡機_proc '0001'</p><p>  Exec 刷卡機_proc '0002'</p><

62、;p>  Exec 刷卡機_proc '0003'</p><p>  Exec 刷卡機_proc '0004'</p><p>  Exec 刷卡機_proc '0005'</p><p><b>  Go </b></p><p>  Alter table 刷卡

63、機 add primary key(刷卡機號)</p><p><b>  Go </b></p><p>  create table 考勤加班出差(</p><p>  考勤編號 Char(6) not null,</p><p>  員工編號 Char(4) not null,</p><p&g

64、t;  上班日期 datetime ,</p><p>  上班時間 datetime ,</p><p>  下班時間 datetime ,</p><p><b>  加班時間 int,</b></p><p><b>  出差時間 int,</b></p><p>  

65、刷卡機號 Char(4),</p><p>  foreign key (刷卡機號) references 刷卡機(刷卡機號),</p><p>  foreign key (員工編號) references 員工檔案(員工編號),</p><p><b>  )</b></p><p><b>  Go &l

66、t;/b></p><p>  Create procedure 考勤加班出差_proc(@考勤編號 char(6),@員工編號 char(4),@上班日期 datetime,@上班時間 datetime,@下班時間 datetime,@加班時間 int, @出差時間 int,@刷卡機號 char(4))</p><p><b>  As</b></p&g

67、t;<p><b>  Begin</b></p><p>  Insert into 考勤加班出差(考勤編號,員工編號,上班日期,上班時間,下班時間,加班時間,出差時間,刷卡機號) values(@考勤編號,@員工編號,@上班日期,@上班時間,@下班時間,@加班時間,@出差時間,@刷卡機號)</p><p><b>  End</b&g

68、t;</p><p><b>  Go </b></p><p>  Exec 考勤加班出差_proc '000001','0006','2012-07-04','2012-07-04 07:36:21','2012-07-04 17:02:50',null,null,'0002&

69、#39;</p><p>  Exec 考勤加班出差_proc '000002','0003','2012-07-04','2012-07-04 07:55:02','2012-07-04 17:00:12',null,null,'0003'</p><p>  Exec 考勤加班出差_proc

70、 '000003','0006','2012-07-04','2012-07-04 07:43:08','2012-07-04 17:02:52',null,null,'0002'</p><p>  Exec 考勤加班出差_proc '000004','0008','2012-

71、07-04','2012-07-04 07:44:21','2012-07-04 17:02:50',null,null,'0001'</p><p>  Exec 考勤加班出差_proc '000005','0007','2012-07-04','2012-07-04 07:48:32',&#

72、39;2012-07-04 17:09:50',null,null,'0003'</p><p>  Exec 考勤加班出差_proc '000006','0018','2012-07-04','2012-07-04 07:39:47','2012-07-04 17:12:40',null,null,'

73、0004'</p><p>  Exec 考勤加班出差_proc '000007','0017','2012-07-04','2012-07-04 07:47:26','2012-07-04 17:03:50',null,null,'0005'</p><p>  Exec 考勤加班出差

74、_proc '000008','0016','2012-07-04','2012-07-04 07:47:22','2012-07-04 17:02:50',null,null,'0001'</p><p>  Exec 考勤加班出差_proc '000010','0010','

75、2012-07-04','2012-07-04 07:09:41','2012-07-04 17:02:00',null,null,'0005'</p><p>  Exec 考勤加班出差_proc '000011','0009','2012-07-04','2012-07-04 07:26:51

76、9;,'2012-07-04 17:01:50',null,null,'0003'</p><p>  Exec 考勤加班出差_proc '000012','0019','2012-07-04','2012-07-04 07:43:15','2012-07-04 17:00:12',null,null,

77、'0002'</p><p>  Exec 考勤加班出差_proc '000013','0004','2012-06-29','2012-06-29 07:54:25','2012-06-29 17:05:05',null,null,'0002'</p><p>  Exec 考

78、勤加班出差_proc '000014','0012','2012-07-04','2012-07-04 07:46:33','2012-07-04 17:05:05',null,null,'0003'</p><p>  Exec 考勤加班出差_proc '000015','0014',

79、'2012-07-04','2012-07-04 07:39:22','2012-07-04 17:05:05',null,null,'0005'</p><p>  Exec 考勤加班出差_proc '000016','0013','2012-07-04','2012-07-04 08:30:

80、51','2012-07-04 17:05:05',null,null,'0002'</p><p>  Exec 考勤加班出差_proc '000017','0002',null,null,null,null,7,null</p><p>  Exec 考勤加班出差_proc '000018',

81、9;0001','2012-07-04','2012-07-04 07:45:58','2012-07-04 17:00:00',2,null,'0001'</p><p>  Exec 考勤加班出差_proc '000019','0011',null,null,null,null,3,null</p&g

82、t;<p><b>  Go </b></p><p>  Alter table 考勤加班出差 add primary key(考勤編號)</p><p><b>  Go </b></p><p>  create table 管理人員(</p><p>  管理員賬號 char(

83、4) not null,</p><p>  職工編號 Char(4) not null,</p><p>  密碼 Char(6) not null,</p><p>  級別 Char(10) check(級別 in ('管理員','系統(tǒng)管理員')),</p><p>  foreign key (職

84、工編號) references 員工檔案(員工編號)</p><p><b>  )</b></p><p><b>  Go </b></p><p>  Create procedure 管理人員_proc(@管理員賬號 char(4),@職工編號 Char(4),@密碼 Char(6),@級別 Char(10))&l

85、t;/p><p><b>  As</b></p><p><b>  Begin</b></p><p>  Insert into 管理人員(管理員賬號,職工編號,密碼,級別) values(@管理員賬號,@職工編號,@密碼,@級別)</p><p><b>  End</b>

86、</p><p><b>  Go </b></p><p>  Exec 管理人員_proc '0012','0001','zjb001','管理員'</p><p>  Exec 管理人員_proc '0023','0002','zjb0

87、02','管理員'</p><p>  Exec 管理人員_proc '0068','0003','zjb003','管理員'</p><p>  Exec 管理人員_proc '0078','0004','zjb004','管理員'<

88、;/p><p>  Exec 管理人員_proc '0017','0006','zjb006','管理員'</p><p>  Exec 管理人員_proc '0026','0007','zjb007','管理員'</p><p>  Exec

89、 管理人員_proc '0034','0008','zjb008','管理員'</p><p>  Exec 管理人員_proc '0001','0009','zjb009','系統(tǒng)管理員'</p><p>  Exec 管理人員_proc '0028&#

90、39;,'0010','zjb010','管理員'</p><p>  Exec 管理人員_proc '0047','0011','zjb011','管理員'</p><p>  Exec 管理人員_proc '0067','0012','

91、zjb012','管理員'</p><p><b>  Go </b></p><p>  Alter table 管理人員 add primary key(管理員賬號)</p><p><b>  Go </b></p><p>  create table 人事變動(&l

92、t;/p><p>  調(diào)動編號 Char(6) not null,</p><p>  員工編號 Char(4) not null,</p><p>  調(diào)動前職務(wù) Char(10),</p><p>  調(diào)動后職務(wù) Char(10),</p><p>  調(diào)動部門號 Char(4) not null,</p>

93、;<p>  調(diào)動日期 Datetime,</p><p>  批復(fù)日期 Datetime,</p><p>  調(diào)動原因 VarChar(50),</p><p>  foreign key (員工編號) references 員工檔案(員工編號),</p><p>  foreign key (調(diào)動部門號) referenc

94、es 部門(部門號)</p><p><b>  )</b></p><p><b>  Go </b></p><p>  Create procedure 人事變動_proc(@調(diào)動編號 Char(6),@員工編號 Char(4),@調(diào)動前職務(wù) Char(10),@調(diào)動后職務(wù) Char(10),@調(diào)動部門號 Char

95、(4),@調(diào)動日期 Datetime,@批復(fù)日期 Datetime,@調(diào)動原因 VarChar(50))</p><p><b>  As</b></p><p><b>  Begin</b></p><p>  Insert into 人事變動(調(diào)動編號,員工編號,調(diào)動前職務(wù),調(diào)動后職務(wù),調(diào)動部門號,調(diào)動日期,批復(fù)日期

96、,調(diào)動原因) values(@調(diào)動編號,@員工編號,@調(diào)動前職務(wù),@調(diào)動后職務(wù),@調(diào)動部門號,@調(diào)動日期,@批復(fù)日期,@調(diào)動原因)</p><p><b>  End</b></p><p><b>  Go </b></p><p>  Exec 人事變動_proc '000001','0008&

97、#39;,'出納員','財務(wù)部經(jīng)理','1201','2012-03-26','2012-03-26','能力突出'</p><p>  Exec 人事變動_proc '000002','0016','業(yè)務(wù)員','企劃專員','1203',

98、null,null,null</p><p><b>  Go </b></p><p>  Alter table 人事變動 add primary key(調(diào)動編號)</p><p><b>  Go </b></p><p>  create table 獎懲記錄(</p>&l

99、t;p>  獎懲編號 Char(6) not null,</p><p>  員工編號 Char(4) not null,</p><p>  獎懲類型 Char(4) not null,</p><p>  批復(fù)部門號 Char(4),</p><p>  批復(fù)日期 Datetime,</p><p>  獎

100、懲原因 VarChar(50),</p><p>  foreign key (員工編號) references 員工檔案(員工編號),</p><p>  foreign key (批復(fù)部門號) references 部門(部門號)</p><p><b>  )</b></p><p>  Create proced

101、ure 獎懲記錄_proc(@獎懲編號 Char(6),@員工編號 Char(4),@獎懲類型 Char(4),@批復(fù)部門號 Char(4),@批復(fù)日期 Datetime,@獎懲原因 VarChar(50))</p><p><b>  As</b></p><p><b>  Begin</b></p><p>  I

102、nsert into 獎懲記錄(獎懲編號,員工編號,獎懲類型,批復(fù)部門號,批復(fù)日期,獎懲原因) values(@獎懲編號,@員工編號,@獎懲類型,@批復(fù)部門號,@批復(fù)日期,@獎懲原因)</p><p><b>  End </b></p><p><b>  Go </b></p><p>  Exec 獎懲記錄_proc

103、 '000001','0013','懲罰','1201','2012-06-30','遲到'</p><p>  Exec 獎懲記錄_proc '000002','0011','獎勵','1201',null,'業(yè)績突出'</p>

104、;<p><b>  Go </b></p><p>  Alter table 獎懲記錄 add primary key(獎懲編號)</p><p><b>  Go </b></p><p>  create table 培訓(xùn)記錄(</p><p>  員工編號 char(4) n

105、ot null,</p><p>  培訓(xùn)課程號 char(3) not null,</p><p>  培訓(xùn)課程名 Varchar(20) not null,</p><p>  考核結(jié)果 char(6) check (考核結(jié)果 in('合格','不合格')),</p><p>  foreign key(員

106、工編號) references 員工檔案(員工編號)</p><p><b>  )</b></p><p><b>  Go</b></p><p>  Create procedure 培訓(xùn)記錄_proc(@員工編號 char(4),@培訓(xùn)課程號 char(3),@培訓(xùn)課程名 Varchar(20),@考核結(jié)果 cha

107、r(6))</p><p><b>  As</b></p><p><b>  Begin</b></p><p>  Insert into 培訓(xùn)記錄(員工編號,培訓(xùn)課程號,培訓(xùn)課程名,考核結(jié)果) values(@員工編號,@培訓(xùn)課程號,@培訓(xùn)課程名,@考核結(jié)果)</p><p><b&g

108、t;  End</b></p><p><b>  Go </b></p><p>  Exec 培訓(xùn)記錄_proc '0010','001','生產(chǎn)管理學(xué)','合格'</p><p>  Exec 培訓(xùn)記錄_proc '0016','002&#

109、39;,'企業(yè)企劃','合格'</p><p>  Exec 培訓(xùn)記錄_proc '0010','002','企業(yè)企劃','合格'</p><p><b>  Go</b></p><p>  Alter table 培訓(xùn)記錄 add primary

110、 key(員工編號,培訓(xùn)課程號)</p><p><b>  Go </b></p><p>  create index 部門_領(lǐng)導(dǎo)人號 on 部門(領(lǐng)導(dǎo)人號)</p><p>  create index 員工檔案_學(xué)歷 on 員工檔案(學(xué)歷)</p><p>  create index 考勤加班出差_上班日期 o

111、n 考勤加班出差(上班日期)</p><p>  create index 人事變動_調(diào)動前職務(wù) on 人事變動(調(diào)動前職務(wù))</p><p>  create index 獎懲記錄_獎懲類型 on 獎懲記錄(獎懲類型)</p><p>  2.表創(chuàng)建成功及數(shù)據(jù)插入成功</p><p>  3.操作語句及運行結(jié)果</p><

112、;p> ?。?).單表查詢: 查詢姓名為王小小的員工的檔案信息</p><p>  Select * from 員工檔案 where 姓名 = ‘王小小’</p><p><b>  結(jié)果:</b></p><p> ?。?)連接查詢:查詢級別為系統(tǒng)管理員的職工的信息</p><p><b>  Sel

113、ect *</b></p><p>  from 員工檔案,管理人員</p><p>  Where 管理人員.職工編號=員工檔案.員工編號 and 級別='系統(tǒng)管理員'</p><p><b>  結(jié)果:</b></p><p> ?。?)嵌套查詢:考核結(jié)果為不合格的員工的信息</p

114、><p>  Select distinct 姓名,性別,職稱 </p><p><b>  from 員工檔案</b></p><p>  Where 員工編號 in </p><p>  (select 員工編號</p><p><b>  from 培訓(xùn)記錄</b><

115、/p><p>  where 考核結(jié)果='合格')</p><p><b>  結(jié)果:</b></p><p> ?。?)創(chuàng)建視圖:學(xué)歷為本科的員工信息</p><p>  Create view 員工信息</p><p><b>  As</b></p&

116、gt;<p><b>  Select *</b></p><p><b>  From 員工檔案</b></p><p>  Where 學(xué)歷=’研究生’</p><p><b>  結(jié)果:</b></p><p><b>  視圖查詢研究生信息&l

117、t;/b></p><p><b>  Select *</b></p><p><b>  From 員工信息</b></p><p>  Where 學(xué)歷='研究生'</p><p><b>  結(jié)果:</b></p><p>

118、;<b>  (5)創(chuàng)建觸發(fā)器</b></p><p><b>  1.刪除操作</b></p><p>  Create trigger delete_employee on 員工檔案 for delete</p><p>  As declare @a varchar(8)</p><p>  

119、Select @a = deleted.員工編號 from deleted</p><p>  If @a = '0005'</p><p><b>  Begin</b></p><p>  Rollback tran</p><p>  Print '無此員工,不能刪除記錄'</

120、p><p><b>  End</b></p><p><b>  結(jié)果:</b></p><p><b>  2.更新操作</b></p><p>  Create trigger updateemployee on 部門 for update</p>&

121、lt;p><b>  As </b></p><p>  If update(部門號)</p><p><b>  Begin</b></p><p>  Update 員工檔案</p><p>  Set 部門號=(select inserted.部門號 from inserted.部門&l

122、t;/p><p>  Where inserted.部門號=部門.部門號)</p><p>  From deleted.員工檔案</p><p>  Where deleted.部門號=員工檔案.部門號</p><p><b>  End </b></p><p><b>  結(jié)果:<

123、;/b></p><p>  3. 插入操作(先執(zhí)行g(shù)o前面的,再執(zhí)行g(shù)o后面的)</p><p>  Select 姓名,性別,職稱 </p><p>  from 員工檔案,管理人員</p><p>  Where 管理人員.職工編號=員工檔案.員工編號 and 級別='管理員'</p><p&

124、gt;<b>  Go</b></p><p>  Create trigger insertemployee on 員工檔案 for insert</p><p>  As declare @x varchar(8)</p><p>  Select @x = inserted.性別 from inserted</p><

125、p>  If @ x= null</p><p><b>  Begin</b></p><p>  Rollback tran</p><p>  Print '請?zhí)顚懶詣e!' </p><p><b>  End</b></p><p><b&

126、gt;  結(jié)果:</b></p><p><b>  6心得體會</b></p><p>  在我看來,數(shù)據(jù)庫課程設(shè)計主要的目標是利用課程中學(xué)到的數(shù)據(jù)庫知識和技術(shù)較好的開發(fā)設(shè)計出數(shù)據(jù)庫應(yīng)用系統(tǒng),去解決各行各業(yè)信息化處理的要求。通過這次的課 程設(shè)計,可以鞏固我們對數(shù)據(jù)庫基本原理和基礎(chǔ)理論的理解,掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計開發(fā)的基本方法,進一步提高我們綜合運用所學(xué)

127、知識的能力。</p><p>  在此次實驗中,我們組員共同討論了前面的系統(tǒng)需求分析系統(tǒng)邏輯方案,系統(tǒng)總體結(jié)構(gòu)設(shè)計,數(shù)據(jù)庫詳細設(shè)計等幾個部分,并且進行分工合作。但是在合作過程中,我們發(fā)現(xiàn)幾個模塊分開設(shè)計,每個人的思路是不同的,導(dǎo)致最后不能很好的結(jié)合在一起。所以,最后我們統(tǒng)一討論設(shè)計,融合每位組員的思想,將設(shè)計完善。這個過程很好的提高了我們的默契度。</p><p>  而且,在此次的實驗中

128、,老師要求我們的編程要獨立進行,這給我們增加了一定的難度。我們組員中有強有弱,我的能力就屬于稍弱的,所以在編程過程非常需要組員的幫助。在這次編程的過程中,我了解了數(shù)據(jù)庫的邏輯性很強,每一步需要什么,如何實施,都需要仔細推敲后才能進行。</p><p><b>  7參考資料</b></p><p>  [1] 王 珊 薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第四版).北京:高等教育

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論