版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 數(shù)據(jù)庫課程設計</b></p><p><b> 說 明 書</b></p><p> 2015 年 6月 19 日</p><p><b> 一、需求分析 </b></p><p><b> 一、引言</b><
2、/p><p> 需求規(guī)格說明書是需求分析的產(chǎn)物,它是軟件系統(tǒng)生存期中軟件定義階段的最后一個步驟。作為整個軟件開發(fā)過程的指南,它也是軟件開發(fā)人員開發(fā)出符合用戶要求的軟件的基礎。</p><p><b> 1.1 編寫目的</b></p><p> 軟件需求說明書的編制目的是為了使用戶和軟件開發(fā)者雙方對該軟件的初始規(guī)定有一個共同的理解,使之成為
3、整個開發(fā)工作的基礎。</p><p> 本軟件需求說明書的讀者是系統(tǒng)開發(fā)人員或合同約定的人員。</p><p><b> 1.2 背景說明</b></p><p> ?。?)本系統(tǒng)的名稱是:企業(yè)人事管理系統(tǒng)數(shù)據(jù)庫設計。</p><p> ?。?)本系統(tǒng)能為其他的系統(tǒng)提供人事數(shù)據(jù)。</p><p&
4、gt;<b> 1.3 定義</b></p><p> 數(shù)據(jù)字典:關于數(shù)據(jù)的信息的集合,也即是對數(shù)據(jù)流圖中包含的元素的定義的集合。</p><p><b> 二、任務概述</b></p><p><b> 2.1 項目背景</b></p><p> 人事檔案管理是
5、現(xiàn)代企業(yè)人事資源管理中的重要內(nèi)容,也是人力資源開發(fā)利用的基礎性工作。人事檔案管理在信息化之前,在人員進出、離退休、升遷、崗位變動、職稱變動、學位變動,以及檔案管理人員的變動等方面存在諸多不利于管理的地方,不適應現(xiàn)代的企業(yè)管理形勢和人力資源開發(fā)利用的要求。</p><p> 開發(fā)人事檔案管理系統(tǒng)使企業(yè)的人事檔案管理工作實現(xiàn)了信息化、規(guī)范化,不僅使企業(yè)能夠高效率完成人事管理的日常工作,還使企業(yè)深入開發(fā)利用人力資源成
6、為可能。</p><p><b> 2.2 用戶的特點</b></p><p> 本軟件的最終用戶是企業(yè)人事部門的工作人員。部門有專職的人事數(shù)據(jù)錄入人員,具有一定的計算機操作知識;系統(tǒng)的維護人員是企業(yè)的信息中心的信息維護員,對網(wǎng)絡和數(shù)據(jù)庫的操作比較熟悉;數(shù)據(jù)錄入員負責人事數(shù)據(jù)的錄入及日常更新,信息維護員負責人事數(shù)據(jù)的備份和其他管理工作。企業(yè)的人員調(diào)進與調(diào)出比較頻繁
7、。</p><p><b> 三、需求規(guī)定</b></p><p> 企業(yè)人事管理系統(tǒng)的功能可以劃分為如下幾個部分:</p><p> 1、人事檔案管理:戶口狀況、政治面貌、生理狀況、合同管理等。</p><p> 2、考勤、加班、出差管理。</p><p> 3、人事變動:新進員工登記
8、、員工離職登記、人事變更記錄。</p><p><b> 4、考核獎懲。</b></p><p><b> 5、員工培訓。</b></p><p> 6、系統(tǒng)維護:操作員管理、權限設置等。</p><p> 四、功能模塊分解及各模塊作用</p><p> 登錄管理:
9、主要用于權限管理</p><p> 員工登錄功能供員工個人使用,主要用于方便員工查看個人信息,</p><p> 一條完整的員工信息應該包含以下內(nèi)容:</p><p> 員工信息{員工號,員工姓名,性別,年齡,學歷,戶口所在地,政治面貌,婚姻狀況,生理狀況}</p><p> 工作信息{員工號,參加工作時間,工作崗位}</p&g
10、t;<p> 薪水{員工號,月工資,獎金}</p><p> 考勤狀況{員工號,出勤率,遲到次數(shù),早退次數(shù)}</p><p> 出差信息{員工號,出差開始日期,出差結(jié)束日期,支出補貼費用}</p><p> 加班信息{員工號,加班開始時間,加班結(jié)束時間,加班補貼費用} </p><p> 說明:考勤情況主要由每月按時到
11、崗率計算,如有遲到、早退現(xiàn)象作相應扣減。</p><p> 一條完整的合同信息應當包含以下內(nèi)容:</p><p> 合同{員工號,合同號,合同簽訂日期,合同有效時間}</p><p> 合同有效時間按年計算</p><p> B.人員管理:主要用于對員工的各項信息進行管理,以下所有操作供管理員使用。</p><p&
12、gt; B1.員工信息管理:</p><p> 員工信息查詢:該功能不同于員工權限的信息查詢,員工只能查詢自己的信息,而該功能能夠查詢出所有員工的信息。</p><p> 新進員工管理: 當企業(yè)新進一名員工時,人事管理部門應當在員工數(shù)據(jù)庫中對該員工進行增加信息的操作,錄入員工的所有信息。</p><p> 退休/辭退員工管理:</p><
13、p> 當企業(yè)辭退一名員工時,人事管理部門應當從它所服務的工作部門中刪除該員工的工作名額,結(jié)算支付其工資、獎金;同時補充新的員工,代替它的工作。</p><p> 當企業(yè)中一名員工退休時,人事管理部門應當從員工信息中刪除其所有信息。</p><p> 員工信息變動:當員工信息發(fā)生變動時,人事部門應當對變動信息做出享用更改,以保證數(shù)據(jù)的一致性。</p><p&g
14、t; B.2 員工培訓管理</p><p> 參訓員工信息管理:此項包括參訓員工的信息如下:</p><p> 參訓員工的信息{員工號,培訓機構(gòu)號,培訓教師號,培訓開始時間,培訓結(jié)束時間,培訓成績}</p><p> 培訓機構(gòu)信息管理:企業(yè)請培訓機構(gòu)為員工培訓,企業(yè)應當存有培訓機構(gòu)的相關信息。</p><p> 一條完整的培訓機構(gòu)信
15、息應當包括:</p><p> 培訓機構(gòu){培訓機構(gòu)號,培訓機構(gòu)名}</p><p> 一個培訓機構(gòu)存在多名培訓教師,一條完整的培訓教師的信息如下</p><p> 培訓教師{培訓機構(gòu)號,培訓教師號,教師名,教師職稱}</p><p> 培訓效果管理:員工培訓結(jié)束后,由其培訓教師給出培訓成績,作為其培訓效果的考核,錄入?yún)⒂枂T工培訓成績一
16、欄。</p><p> B.3 考核獎懲管理</p><p> 企業(yè)在對員工的考核過程中要對員工實施獎懲機制,鼓勵企業(yè)的工作風氣積極向上</p><p> 一條獎懲信息應當包括:</p><p> 獎懲信息{員工號、獎懲性質(zhì)、獎懲原因、處理辦法}</p><p> 從它所服務的工作部門中刪除該員工的工作名額,
17、結(jié)算支付其工資、獎金;同時補充新的員工,代替它的工作。</p><p><b> C 數(shù)據(jù)流程圖</b></p><p><b> (1)總數(shù)據(jù)流圖</b></p><p> ?。?)人員信息管理數(shù)據(jù)流圖</p><p> (2)登錄管理的數(shù)據(jù)流圖</p><p>
18、(3)員工培訓管理的數(shù)據(jù)流圖</p><p><b> 五、數(shù)據(jù)字典</b></p><p><b> 數(shù)據(jù)項</b></p><p> 數(shù)據(jù)項有待按各子系統(tǒng)分類列表。</p><p><b> 數(shù)據(jù)結(jié)構(gòu)</b></p><p><b>
19、; 數(shù)據(jù)流</b></p><p><b> 二、小組成員分工</b></p><p> 王凱負責需求分析、編碼階段、物理結(jié)構(gòu)設計、截圖階段;</p><p> 魏悅明負責概要設計、邏輯結(jié)構(gòu)設計階段。</p><p><b> 三、概要設計</b></p><
20、;p> 本程序開發(fā)企業(yè)人事管理系統(tǒng),經(jīng)過可行性分析、詳細調(diào)查以及多次討論,確定了該系統(tǒng)由登錄管理子系統(tǒng)、人員管理子系統(tǒng)、管理員權限管理子系統(tǒng)三個子系統(tǒng)組成。</p><p> 本過程結(jié)構(gòu)設計過程采用自底向上的設計方法,即首先定義各局部應用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu).</p><p> 下面給出各個子系統(tǒng)的分析及分E-R圖的設計及對其進行的各項調(diào)整。<
21、/p><p><b> 登錄管理子系統(tǒng)</b></p><p> 本開發(fā)小組成員經(jīng)過調(diào)查、信息流程分析、數(shù)據(jù)收集,并結(jié)合需求分析,明確了——</p><p><b> 子系統(tǒng)的功能:</b></p><p> 員工登錄:功能供員工個人使用,主要用于方便員工查看個人信息。</p>&
22、lt;p> 根據(jù)要求分析給出的數(shù)據(jù)流圖,參照數(shù)據(jù)字典中的詳細描述,給出登錄管理子系統(tǒng)的分E-R圖: </p><p> 對E-R圖調(diào)整的準則:</p><p> 現(xiàn)實世界中的事物能作為屬性對待的盡量作為屬性對待;</p><p> 屬性和實體的劃分:屬性中不具有需要描述的信息,即屬性是不可分的數(shù)據(jù)項,不再包含其他信息。</p><
23、p><b> 實體屬性定義:</b></p><p> 登錄信息{員工號,登錄密碼}</p><p><b> 人員管理子系統(tǒng)</b></p><p> 本開發(fā)小組成員經(jīng)過調(diào)查、信息流程分析、數(shù)據(jù)收集,并結(jié)合需求分析,明確了——</p><p><b> 子系統(tǒng)的功能:&l
24、t;/b></p><p> A. 員工考勤:考勤情況主要由每月按時到崗率計算,如有遲到、早退現(xiàn)象作相應扣減。</p><p> B.信息管理: 對員工的出差、加班、薪水進行管理、統(tǒng)計。</p><p> C.可以進行對新員工、舊員工以及辭退等員工的信息查詢;</p><p> D.擁有員工培訓功能管理,具體由其培訓教師給出培訓
25、成績,作為其培訓效果的考核,錄入?yún)⒂枂T工培訓成績一欄。</p><p> E.可以對人員的獎懲功過進行統(tǒng)計處理,便于公司運作。</p><p> 根據(jù)要求分析給出的數(shù)據(jù)流圖,參照數(shù)據(jù)字典中的詳細描述,給出經(jīng)理管理部門的分E-R圖:</p><p><b> 實體屬性定義:</b></p><p> 員工信息{員工
26、號,員工姓名,性別,年齡,學歷,戶口所在地,政治面貌,婚姻狀況,生理狀況}</p><p> 工作信息{員工號,參加工作時間,工作崗位}</p><p> 薪水{員工號,月工資,獎金}</p><p> 考勤狀況{員工號,出勤率,遲到次數(shù),早退次數(shù)}</p><p> 出差信息{員工號,出差開始日期,出差結(jié)束日期,支出補貼費用}<
27、;/p><p> 加班信息{員工號,加班開始時間,加班結(jié)束時間,加班補貼費用} </p><p> 合同{員工號,合同號,合同簽訂日期,合同有效時間}</p><p> 參訓員工的信息{員工號,員工姓名,培訓機構(gòu)號,培訓教師號,培訓開始時間,培訓結(jié)束時間,培訓成績}</p><p> 培訓機構(gòu)信息管理:企業(yè)請培訓機構(gòu)為員工培訓,企業(yè)應當存
28、有培訓機構(gòu)的相關信息。</p><p> 一條完整的培訓機構(gòu)信息應當包括:</p><p> 培訓機構(gòu){培訓機構(gòu)號,培訓機構(gòu)名}</p><p> 一個培訓機構(gòu)存在多名培訓教師,一條完整的培訓教師的信息如下</p><p> 培訓教師{培訓教師號,教師名,教師職稱}</p><p> 培訓效果管理:員工培訓結(jié)
29、束后,由其培訓教師給出培訓成績,作為其培訓效果的考核,錄入?yún)⒂枂T工培訓成績一欄。</p><p> 企業(yè)在對員工的考核過程中要對員工實施獎懲機制,鼓勵企業(yè)的工作風氣積極向上</p><p> 一條獎懲信息應當包括:</p><p> 獎懲信息{員工號、獎懲性質(zhì)(是獎還是懲)、獎懲原因、處理辦法}</p><p> 對E-R圖調(diào)整的準則
30、:</p><p> 現(xiàn)實世界中的事物能作為屬性對待的盡量作為屬性對待;</p><p> 屬性和實體的劃分:屬性中不具有需要描述的信息,即屬性是不可分的數(shù)據(jù)項,不再包含其他信息。</p><p><b> 視 圖 集 成</b></p><p> 以上便是三個子系統(tǒng)的分E-R圖設計及其調(diào)整的整個過程,接著要做的
31、就是將所有的分E-R圖進行綜合,合成一個系統(tǒng)的總E-R圖.</p><p> 由于本系統(tǒng)比較簡單,分E-R圖規(guī)模也比較小,所以E-R圖合成過程采用一次將三個子系統(tǒng)分E-R圖集成總E-R圖的方式.</p><p><b> 分兩步進行:</b></p><p><b> 第一步:合并。</b></p>&
32、lt;p> 解決各分E-R圖之間的沖突,將各分E-R圖合并起來生成初步E-R圖。</p><p> 各分E-R圖之間的沖突主要有三類:</p><p><b> 屬性沖突:</b></p><p> ?。?)屬性域沖突,即屬性值的類型、取值范圍或取值集合不同。由于本系統(tǒng)較簡單,所以并不存在這種沖突;</p><p
33、> ?。?)屬性取值單位沖突。由于本系統(tǒng)較簡單,不存在這類沖突;</p><p><b> 命名沖突:</b></p><p> 同名異義:由于本系統(tǒng)較簡單,所以不存在這類沖突;</p><p> 異名同義:由于本系統(tǒng)較小,所以不存在這類沖突;</p><p><b> 結(jié)構(gòu)沖突:</b&g
34、t;</p><p> 同一對象在不同應用中具有不同的抽象:本系統(tǒng)在需求分析階段原本存在這種沖突,考慮到后期的簡化合并,我們在設計各個分E-R圖就早先解決了這個問題,即將在任何一個分E-R圖中作為實體出現(xiàn)的屬性全部作為實體;</p><p> 同一實體在不同分E-R圖中所包含的屬性個數(shù)和屬性排列次序不完全相同:由于本系統(tǒng)較簡單,所以并不存在這種沖突;</p><p&
35、gt; 第二步:修改和重構(gòu)。</p><p> 消除不必要的冗余,生成基本E-R圖。</p><p> 由于本系統(tǒng)涵蓋的內(nèi)容比較少,基本不存在冗余的現(xiàn)象,所以初步E-R圖就是基本E-R圖,不必再進行調(diào)整。下面給出E-R圖。</p><p><b> 總E-R圖:</b></p><p> 員工信息{員工號,員工
36、姓名,性別,年齡,學歷,戶口所在地,政治面貌,婚姻狀況,生理狀況}</p><p> 工作信息{員工號,參加工作時間,工作崗位}</p><p> 登錄信息{員工號,登錄密碼}</p><p> 薪水{員工號,月工資,獎金}</p><p> 考勤狀況{員工號,出勤率,遲到次數(shù),早退次數(shù)}</p><p>
37、出差信息{員工號,出差開始日期,出差結(jié)束日期,支出補貼費用}</p><p> 加班信息{員工號,加班開始時間,加班結(jié)束時間,加班補貼費用} </p><p> 合同{員工號,合同號,簽訂合同員工的員工號,合同簽訂日期,合同有效時間}</p><p> 參訓員工的信息{員工號,培訓機構(gòu)號,培訓教師號,培訓開始時間,培訓結(jié)束時間,培訓成績}</p>
38、<p> 培訓機構(gòu){培訓機構(gòu)號,培訓機構(gòu)名}</p><p> 培訓教師{培訓機構(gòu)號,培訓教師號,教師名,教師職稱}</p><p> 獎懲信息{員工號、獎懲性質(zhì)(是獎還是懲)、獎懲原因、處理辦法}</p><p> 由于在分E-R圖中已經(jīng)畫出了屬性,總E-R圖就不再畫出每個實體的屬性,而只給出實體和聯(lián)系</p><p>
39、<b> 四、邏輯結(jié)構(gòu)設計</b></p><p> 一.與總E-R圖對應的關系模式</p><p> 1、實體所對應的關系模式:</p><p> 員工信息{員工號,員工姓名,性別,年齡,學歷,戶口所在地,政治面貌,婚姻狀況,生理狀況}</p><p> 工作信息{員工號,參加工作時間,工作崗位}</p
40、><p> 登錄信息{員工號,登錄密碼}</p><p> 薪水{員工號,月工資,獎金}</p><p> 考勤狀況{員工號,出勤率,遲到次數(shù),早退次數(shù)}</p><p> 出差信息{員工號,出差開始日期,出差結(jié)束日期,支出補貼費用}</p><p> 加班信息{員工號,加班開始時間,加班結(jié)束時間,加班補貼費用}
41、 </p><p> 合同{員工號,合同號,簽訂合同員工的員工號,合同簽訂日期,合同有效時間}</p><p> 參訓員工的信息{員工號,員工姓名,培訓機構(gòu)號,培訓教師號,培訓開始時間,培訓結(jié)束時間, </p><p><b> 培訓成績}</b></p><p> 培訓機構(gòu){培訓機構(gòu)號,培訓機構(gòu)名}&l
42、t;/p><p> 培訓教師{培訓教師號,教師名,教師職稱}</p><p> 獎懲信息{員工號、獎懲性質(zhì)(是獎還是懲)、獎懲原因、處理辦法}</p><p> 說明:1.下加橫線部分表示關系的碼</p><p> 2.以上關系的詳細內(nèi)容說明請參照概念結(jié)構(gòu)設計中的具體內(nèi)容</p><p> 3.上面的各個關系對概
43、念結(jié)構(gòu)設計中的相關內(nèi)容了作了修改,主要加了各個實體中間的聯(lián)系,尤其是一對多的聯(lián)系,納為屬性。</p><p> 2、聯(lián)系所對應的關系模式:</p><p> 1)、把管理員和人員之間的n : m的預約聯(lián)系轉(zhuǎn)化為相應的關系模式如下:</p><p> 管理(人員號、管理員號、管理內(nèi)容、管理時間);</p><p> 2)、其他聯(lián)系處理說
44、明如下:</p><p> 工資和員工之間的1:1聯(lián)系與員工關系合并;</p><p> 薪水和出差之間的1:1聯(lián)系與薪水關系合并;</p><p> 薪水和考勤的1:1聯(lián)系與薪水關系合并;</p><p> 薪水和加班之間的1:1聯(lián)系與薪水關系合并;</p><p> 員工和工作之間的n:1聯(lián)系與工作關系合
45、并;</p><p> 員工和培訓機構(gòu)的n:1聯(lián)系與培訓機構(gòu)關系合并;</p><p> 培訓機構(gòu)和培訓教師的n:1聯(lián)系與培訓教師關系合并;</p><p> 培訓教師和獎懲信息之間的1:1聯(lián)系與獎懲信息關系合并;</p><p> 二.優(yōu)化后的數(shù)據(jù)模型</p><p> 按照數(shù)據(jù)依賴對關系模式進行逐一分析,
46、并進行極小化處理:</p><p> 員工信息{員工號,員工姓名,性別,年齡,學歷,戶口所在地,政治面貌,婚姻狀況,生理狀況};BCNF</p><p> 工作信息{員工號,參加工作時間,工作崗位};BCNF</p><p> 登錄信息{員工號,登錄密碼};BCNF</p><p> 薪水{員工號,月工資,獎金};BCNF</p
47、><p> 考勤狀況{員工號,出勤率,遲到次數(shù),早退次數(shù)};BCNF</p><p> 出差信息{員工號,出差開始日期,出差結(jié)束日期,支出補貼費用};BCNF</p><p> 加班信息{員工號,加班開始時間,加班結(jié)束時間,加班補貼費用} ;BCNF</p><p> 合同{員工號,合同號,簽訂合同員工的員工號,合同簽訂日期,合同有效時間
48、};BCNF</p><p> 參訓員工的信息{員工號,員工姓名,培訓機構(gòu)號,培訓教師號,培訓開始時間,培訓結(jié)束時間, </p><p> 培訓成績};BCNF</p><p> 培訓機構(gòu){培訓機構(gòu)號,培訓機構(gòu)名};BCNF</p><p> 培訓教師{培訓教師號,教師名,教師職稱};BCNF</p><p
49、> 獎懲信息{員工號、獎懲性質(zhì)、獎懲原因、處理辦法};BCNF</p><p><b> 五、物理結(jié)構(gòu)設計</b></p><p><b> 數(shù)據(jù)存儲</b></p><p><b> 處理過程</b></p><p><b> 六、編碼階段</
50、b></p><p> 一、表的定義和數(shù)據(jù)插入</p><p> /* 1.創(chuàng)建數(shù)據(jù)庫*/</p><p> create database HumanResourcesManagement; /* 創(chuàng)建企業(yè)人事管理數(shù)據(jù)庫*/</p><p> use HumanResourcesManagement;
51、 /* 使用剛剛創(chuàng)建的數(shù)據(jù)庫 */</p><p> /* 2.創(chuàng)建企業(yè)人事管理系統(tǒng)所需的各個數(shù)據(jù)表并插入初始數(shù)據(jù)*/</p><p> /* 2.1 創(chuàng)建員工信息表</p><p> 員工信息{員工號,員工姓名,性別,年齡,學歷,戶口所在地,政治面貌,婚姻狀況,生理狀況} */ </p><p> create table St
52、aff(</p><p> Sno int primary key, /* 員工號主碼 */</p><p> Sname varchar(10), /* 員工姓名 */</p><p> Ssex varchar(5), /* 性別 */</p><p> Sage small
53、int, /* 年齡 */</p><p> Seduback varchar(7), /* 學歷(教育背景)*/</p><p> Spc varchar(5), /* 政治面貌 */</p><p> Sms varchar(5), /* 婚姻狀況 */</p>
54、<p> Sps varchar(7) /* 生理狀況 */</p><p><b> );</b></p><p> insert into Staff values(1,'張三','男',20,'本科','黨員','未婚','健康&
55、#39;);</p><p> insert into Staff values(2,'李四','男',45,'專科','群眾','已婚','不健康');</p><p> insert into Staff values(3,'王五','男',33,'
56、;研究生','團員','已婚','健康');</p><p> insert into Staff values(4,'趙六','女',21,'本科','團員','未婚','健康');</p><p> insert into Staf
57、f values(5,'錢七','女',36,'專科','群眾','已婚','健康');</p><p> insert into Staff values(6,'馬八','女',50,'博士','黨員','已婚','不健康
58、9;);</p><p> insert into Staff values(7,'吳九','女',47,'碩士','黨員','已婚','健康');</p><p> /* 2.2 創(chuàng)建員工工作信息表</p><p> 工作信息{員工號,參加工作時間,工作崗位} *
59、/</p><p> create table WorkInfo(</p><p> Sno int , /* 員工號外碼 */</p><p> Sworktime date, /* 參加工作時間 */</p><p> Swork varchar(20) /* 工作崗位
60、 */</p><p> /* 設置Sno外鍵約束 */</p><p> foreign key(Sno) references Staff(Sno) on delete cascade on update cascade </p><p><b> );</b></p><p> insert into
61、 WorkInfo values(1,'1995-01-01','分析員');</p><p> insert into WorkInfo values(2,'1970-03-29','清潔工');</p><p> insert into WorkInfo values(3,'1982-05-19',
62、39;經(jīng)理');</p><p> insert into WorkInfo values(4,'1994-08-31','打字員');</p><p> insert into WorkInfo values(5,'1979-09-01','保安');</p><p> insert i
63、nto WorkInfo values(6,'1965-12-10','分析員');</p><p> insert into WorkInfo values(7,'1968-02-05','分析員');</p><p> /* 2.3 創(chuàng)建員工合同信息表</p><p> 合同{員工號,合同號,
64、合同簽訂日期,合同有效時間}*/</p><p> create table Agreement(</p><p> Sno int , /* 員工號外碼 */</p><p> ano int , /* 合同號 */</p><p> startd
65、ate date, /* 合同簽訂日期 */</p><p> activetime smallint, /* 合同有效時間 */</p><p> /* 設置Sno外鍵約束 */</p><p> foreign key(Sno) references Staff(Sno) on delete cascade on u
66、pdate cascade </p><p><b> );</b></p><p> insert into Agreement values(1,101,'1995-01-01',20);</p><p> insert into Agreement values(2,101,'1970-03-29'
67、;,20);</p><p> insert into Agreement values(3,101,'1982-05-19',20);</p><p> insert into Agreement values(4,101,'1994-08-31',20);</p><p> insert into Agreement val
68、ues(5,101,'1979-09-01',20);</p><p> insert into Agreement values(6,101,'1965-12-10',20);</p><p> insert into Agreement values(7,101,'1968-02-05',20);</p><p&g
69、t; /* 2.4 創(chuàng)建員工登錄信息表</p><p> 登錄信息{員工號,登錄密碼} */</p><p> create table LogInfo(</p><p> Sno int , /* 員工號外碼 */</p><p> Spass int , /*
70、 登錄密碼 */</p><p> /* 設置Sno外鍵約束 */</p><p> foreign key(Sno) references Staff(Sno)on delete cascade on update cascade </p><p><b> );</b></p><p> inser
71、t into LogInfo values(1,'123');</p><p> insert into LogInfo values(2,'123');</p><p> insert into LogInfo values(3,'123');</p><p> insert into LogInfo valu
72、es(4,'123');</p><p> insert into LogInfo values(5,'123');</p><p> insert into LogInfo values(6,'123');</p><p> insert into LogInfo values(7,'123')
73、;</p><p> /* 2.5 創(chuàng)建員工薪水信息表</p><p> 薪水{員工號,月工資,獎金} */</p><p> create table Salary(</p><p> Sno int , /* 員工號外碼 */</p><p> Ssalary fl
74、oat , /* 月工資 */</p><p> Scommit float , /* 獎金 */</p><p> /* 設置Sno外鍵約束 */</p><p> foreign key(Sno) references Staff(Sno)on delete cascade on
75、 update cascade </p><p><b> );</b></p><p> insert into Salary values(1,5000,500);</p><p> insert into Salary values(2,3000,100);</p><p> insert into Sal
76、ary values(3,7000,200);</p><p> insert into Salary values(4,4000,500);</p><p> insert into Salary values(5,2000,500);</p><p> insert into Salary values(6,5000,500);</p>&l
77、t;p> insert into Salary values(7,5000,500);</p><p> /* 2.6 創(chuàng)建員工考勤狀況信息表</p><p> 考勤狀況{員工號,出勤率,遲到次數(shù),早退次數(shù)} */</p><p> create table Sattendance(</p><p> Sno int ,
78、 /* 員工號外碼 */</p><p> Sattendrate float , /* 出勤率 */</p><p> Slatenum int , /* 遲到次數(shù) */</p><p> Searlynum int , /* 早退次數(shù)
79、 */</p><p> /* 設置Sno外鍵約束 */</p><p> foreign key(Sno) references Staff(Sno)on delete cascade on update cascade </p><p><b> );</b></p><p> insert into
80、Sattendance values(1,1,0,0);</p><p> insert into Sattendance values(2,0.5,10,5);</p><p> insert into Sattendance values(3,0.75,4,1);</p><p> insert into Sattendance values(4,1,0,
81、0);</p><p> insert into Sattendance values(5,0.25,15,5);</p><p> insert into Sattendance values(6,1,0,0);</p><p> insert into Sattendance values(7,1,0,0);</p><p> /
82、* 2.7 創(chuàng)建員工出差信息表</p><p> 出差信息{員工號,出差開始日期,出差結(jié)束日期,支出補貼費用} */</p><p> create table Sbussinesstrip(</p><p> Sno int , /* 員工號外碼 */</p><p> bstartdate
83、date, /* 出差開始日期 */</p><p> benddate date, /* 出差結(jié)束日期 */</p><p> subsidy float, /* 支出補貼費用 */</p><p> /* 設置Sno外鍵約束 */</p><p> for
84、eign key(Sno) references Staff(Sno) on delete cascade on update cascade </p><p><b> );</b></p><p> insert into Sbussinesstrip values(1,'2015-03-03','2015-03-30',30
85、00);</p><p> insert into Sbussinesstrip values(4,'2015-05-02','2015-05-20',2500);</p><p> /* 2.8 創(chuàng)建員工加班信息表</p><p> 加班信息{員工號,加班開始時間,加班結(jié)束時間,加班補貼費用} */</p>
86、<p> create table Sovertime(</p><p> Sno int , /* 員工號外碼 */</p><p> ostarttime varchar(5), /* 加班開始時間 */</p><p> oendtime varchar(5), /* 加班結(jié)束時間
87、 */</p><p> subsidy float, /* 加班補貼費用 */</p><p> /* 設置Sno外鍵約束 */</p><p> foreign key(Sno) references Staff(Sno) on delete cascade on update cascade </p><
88、p><b> );</b></p><p> insert into Sovertime values(2,'18:15','21:25',200);</p><p> insert into Sovertime values(3,'18:15','21:25',200);</p>
89、<p> insert into Sovertime values(5,'18:15','21:25',200);</p><p> /* 2.9 創(chuàng)建參訓員工信息表</p><p> 參訓員工的信息{員工號,培訓機構(gòu)號,培訓教師號,培訓開始時間,培訓結(jié)束時間,培訓成績}</p><p><b> */
90、</b></p><p> create table Strain(</p><p> Sno int , /* 員工號外碼 */</p><p> tno int, /* 培訓機構(gòu)號 */</p><p> tecno int,
91、 /* 培訓教師號 */ </p><p> tstartdate date, /* 培訓開始時間 */</p><p> tenddate date, /* 培訓結(jié)束時間 */</p><p> tgrade smallint, /* 培訓成績 */<
92、/p><p> /* 設置Sno外鍵約束 */</p><p> foreign key(Sno) references Staff(Sno) on delete cascade on update cascade </p><p><b> ); </b></p><p> insert into Strain
93、 values(1,123,1,'2014-03-04','2014-05-04',95);</p><p> insert into Strain values(3,123,2,'2013-04-01','2013-08-04',75);</p><p> insert into Strain values(4,456,
94、1,'2014-03-04','2014-05-04',80);</p><p> insert into Strain values(6,123,3,'2015-03-01','2015-05-04',67);</p><p> insert into Strain values(7,456,6,'2015-04
95、-04','2015-05-04',99);</p><p> /* 2.10 創(chuàng)建培訓機構(gòu)信息表</p><p> 培訓機構(gòu){培訓機構(gòu)號,培訓機構(gòu)名} */</p><p> create table TrainingAgency (</p><p> tno int primary key,
96、 /* 培訓機構(gòu)號主碼 */</p><p> tname varchar(30), /* 培訓機構(gòu)名 */</p><p><b> );</b></p><p> insert into TrainingAgency values(123,'魔樂科技培訓學校');</p>&
97、lt;p> insert into TrainingAgency values(456,'中北大學軟件學院');</p><p> /* 2.11 創(chuàng)建培訓教師信息表</p><p> 培訓教師{培訓機構(gòu)號,培訓教師號,教師名,教師職稱} */</p><p> create table TrainingTeacher (</p
98、><p> tno int, /* 培訓機構(gòu)號 */</p><p> tecno int , /* 培訓教師號 */</p><p> tecname varchar(10), /* 培訓機構(gòu)名 */</p><p> /* 設置tn
99、o外鍵約束 */</p><p> foreign key(tno) references TrainingAgency(tno) on delete cascade on update cascade </p><p><b> );</b></p><p> insert into TrainingTeacher values(12
100、3,1,'張磊');</p><p> insert into TrainingTeacher values(123,2,'張峰');</p><p> insert into TrainingTeacher values(123,3,'趙云');</p><p> insert into TrainingTea
101、cher values(456,4,'李宇春');</p><p> insert into TrainingTeacher values(456,6,'李敏鎬');</p><p> /* 2.12 創(chuàng)建培訓教師信息表</p><p> 獎懲信息{員工號、獎懲性質(zhì)(是獎還是懲)、獎懲原因、處理辦法} */</p>
102、<p> create table AwardsAndPunishments (</p><p> Sno int , /* 員工號外碼 */</p><p> quality varchar(5), /* 獎懲性質(zhì) */</p><p> reason varchar(60),
103、 /* 獎懲原因 */</p><p> handling varchar(80), /* 處理辦法 */ </p><p> /* 設置Sno外鍵約束 */</p><p> foreign key(Sno) references Staff(Sno) on delete cascade on update cas
104、cade </p><p><b> );</b></p><p> insert into AwardsAndPunishments values(1,'獎勵','工作勤懇,態(tài)度端正,認真負責','獎金');</p><p> insert into AwardsAndPunishment
105、s values(2,'懲罰','經(jīng)常遲到早退','獎金');</p><p> insert into AwardsAndPunishments values(5,'懲罰','經(jīng)常遲到早退','獎金');</p><p> 二、觸發(fā)器和存儲過程</p><p>
106、/*---------------------------------存儲過程------------------------------- */</p><p> /* 1.查詢?nèi)啃畔?*/</p><p> create procedure staffInfoAll</p><p><b> AS</b></p>&l
107、t;p><b> begin</b></p><p> select * from Staff</p><p><b> end</b></p><p> execute staffInfoALL</p><p> /* 2.按員工號查詢員工信息 */</p><
108、p> create procedure staffInfoBySno</p><p> @divid varchar(10) --定義一個輸入?yún)?shù)</p><p><b> as</b></p><p><b> begin</b></p><p> select * from St
109、aff where Sno = @divid --要求ID 列與輸入?yún)?shù)相等</p><p><b> end</b></p><p> execute staffInfoBySno '1'</p><p> /* 3.插入一條員工信息 */</p><p> create procedure i
110、nsertStaffInfo</p><p> @Sno int , /* 員工號 */</p><p> @Sname varchar(10), /* 員工姓名 */</p><p> @Ssex varchar(5), /* 性別 */</p><p
111、> @Sage smallint, /* 年齡 */</p><p> @Seduback varchar(7), /* 學歷(教育背景)*/</p><p> @Spc varchar(5), /* 政治面貌 */</p><p> @Sms varchar(5), /*
112、 婚姻狀況 */</p><p> @Sps varchar(7) /* 生理狀況 */</p><p><b> as</b></p><p><b> begin</b></p><p> insert into Staff values(@Sno,@Sna
113、me,@Ssex,@Sage,@Seduback,@Spc,@Sms,@Sps)</p><p><b> end</b></p><p> execute insertStaffInfo 8,'張磊','男',25,'本科','團員','未婚','健康'</p&
114、gt;<p> execute staffInfoBySno '8'</p><p> /* 4.更新一條員工信息 */</p><p> create procedure updateStaffInfo</p><p> @Sno int , /* 員工號 */</p>&
115、lt;p> @Sname varchar(10), /* 員工姓名 */</p><p> @Ssex varchar(5), /* 性別 */</p><p> @Sage smallint, /* 年齡 */</p><p> @Seduback varchar(7)
116、, /* 學歷(教育背景)*/</p><p> @Spc varchar(5), /* 政治面貌 */</p><p> @Sms varchar(5), /* 婚姻狀況 */</p><p> @Sps varchar(7) /* 生理狀況 */</p><p&
117、gt;<b> as</b></p><p><b> begin</b></p><p> update Staff set Sno=@Sno,Sname=@Sname,Ssex=@Ssex,Sage=@Sage,Seduback=@Seduback,Spc=@Spc,Sms=@Sms,Sps=@Sps</p><p&
118、gt; where Sno=@Sno</p><p><b> end</b></p><p> execute updateStaffInfo 8,'張鑫','男',26,'本科','團員','已婚','健康';</p><p> /* 5
119、.刪除一條員工信息*/</p><p> create procedure deleteStaffInfo</p><p> @divid varchar(10)</p><p><b> as</b></p><p><b> begin</b></p><p>
120、 delete from Staff where Sno = @divid </p><p><b> end</b></p><p> execute staffInfoALL</p><p> execute deleteStaffInfo '8'</p><p> execute staff
121、InfoBySno '8'</p><p> execute staffInfoALL</p><p> /* ---------------------------------觸發(fā)器------------------------------- */</p><p> create trigger 觸發(fā)器</p><p
122、><b> on Staff</b></p><p> after insert,delete,update</p><p><b> as </b></p><p> if exists (select * from inserted) and exists (select * from deleted
123、)</p><p><b> begin</b></p><p> print '更新成功';</p><p><b> end</b></p><p> else if exists (select * from inserted)</p><p>
124、<b> begin</b></p><p> print '插入成功';</p><p><b> end</b></p><p> else if exists (select * from deleted)</p><p><b> begin</b&
125、gt;</p><p> print '刪除成功';</p><p><b> end</b></p><p> /* 測試數(shù)據(jù) */</p><p> delete from Staff where Sno=6;</p><p> /*刪除成功 (1
126、 行受影響)*/</p><p> insert into Staff values(8,'張磊','男',25,'本科','團員','未婚','健康'); </p><p> /*插入成功 (1 行受影響)*/</p><p> update Staff set
127、Sno=8,Sname='張鑫',Ssex='男',Sage=21,Seduback='本科',Spc='黨員',Sms='已婚',Sps='健康' where Sno=8;</p><p> /*更新成功 (1 行受影響)*/</p><p> SELECT * FROM Staff WH
128、ERE Sno=8;</p><p> /*8張鑫男21本科黨員已婚健康*/</p><p><b> 七、實驗截圖</b></p><p> 一、表的定義和數(shù)據(jù)插入</p><p> ?。?)創(chuàng)建員工信息表Staff</p><p> (2)創(chuàng)建工作信息表WorkInfo&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)人事管理系統(tǒng)(數(shù)據(jù)庫課程設計)
- 數(shù)據(jù)庫課程設計 --企業(yè)人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--企業(yè)人事管理系統(tǒng)
- 企業(yè)人事管理系統(tǒng)(數(shù)據(jù)庫課程設計)
- 數(shù)據(jù)庫課程設計--人事管理系統(tǒng)
- 人事管理系統(tǒng)數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計--人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--企業(yè)人事管理系統(tǒng) (2)
- 數(shù)據(jù)庫原理課程設計---企業(yè)人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設計----人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設計——人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設計(人事管理系統(tǒng))
- 人事管理系統(tǒng)課程設計(數(shù)據(jù)庫)
- 數(shù)據(jù)庫人事管理系統(tǒng)課程設計
- 數(shù)據(jù)庫課程設計--人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--人事管理系統(tǒng)
- 人事管理系統(tǒng)數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計--人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設計—人事管理系統(tǒng)
評論
0/150
提交評論