版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 院(系): 電氣與信息工程學(xué)院_ 專業(yè)班級: </p><p> 學(xué)生姓名: 學(xué) 號: </p><p> 設(shè)計(jì)地點(diǎn)(單位)______第一實(shí)驗(yàn)樓__ _______ _ _ </p><
2、p> 設(shè)計(jì)題目:_____________人事管理系統(tǒng)________ ____ _ </p><p> 完成日期: 2013年 6月 28日</p><p><b> 指導(dǎo)教師評語:</b></p><p> ____________________________________
3、 </p><p> ______________________________________________________________________________________________________________________________________________________</p><p> 成績(五級記分制):______ ______
4、____ 指導(dǎo)教師(簽字):________ ________</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 設(shè)計(jì)題目:人事管理系統(tǒng)設(shè)計(jì)</p><p> 教研室主任: 指導(dǎo)教師:
5、 2013年 06 月 15 日</p><p><b> 摘要</b></p><p> 在現(xiàn)代化的社會中,無論是大型企業(yè)還是中小型企業(yè),都必不可少地會涉及到人事管理的問題。一個(gè)完善的人事管理系統(tǒng)對企業(yè)的發(fā)展有著至關(guān)重要的作用。</p><p> 人事管理系統(tǒng)分為6個(gè)模塊,基本信息管理模塊、退休員工信息管理模塊、部
6、門信息管理模塊、學(xué)歷信息管理模塊、家庭信息管理模塊和職稱信息管理模。本系統(tǒng)采用SQL Server 2008作為數(shù)據(jù)庫。在實(shí)現(xiàn)數(shù)據(jù)庫部分功能時(shí)要求寫出存儲過程、觸發(fā)器和視圖。</p><p> 關(guān)鍵詞:人事管理 SQL Server 2008 觸發(fā)器 存儲過程 視圖 事務(wù)處理 游標(biāo)</p><p><b> 目錄</b></p><p>&
7、lt;b> 摘要IV</b></p><p><b> 1 需求分析1</b></p><p> 1.1 系統(tǒng)目標(biāo)設(shè)計(jì)1</p><p> 1.2 系統(tǒng)功能分析1</p><p> 1.3 功能模塊分析2</p><p> 1.4 系統(tǒng)全局?jǐn)?shù)據(jù)流圖2&l
8、t;/p><p> 1.5 數(shù)據(jù)字典3</p><p> 2 概念結(jié)構(gòu)設(shè)計(jì)6</p><p> 2.1 構(gòu)成系統(tǒng)的實(shí)體型6</p><p> 2.2 人事管理系統(tǒng)E-R圖7</p><p> 3 邏輯結(jié)構(gòu)設(shè)計(jì)8</p><p> 3.1邏輯結(jié)構(gòu)簡介8</p>&
9、lt;p> 3.2 E-R圖向關(guān)系模型的轉(zhuǎn)換8</p><p><b> 4物理模型設(shè)計(jì)9</b></p><p> 4.1定義數(shù)據(jù)庫9</p><p> 4.2 創(chuàng)建存儲過程9</p><p> 4.3 創(chuàng)建觸發(fā)器14</p><p> 4.4 創(chuàng)建視圖17<
10、/p><p> 4.5 創(chuàng)建游標(biāo)19</p><p> 4.6 創(chuàng)建事物處理21</p><p><b> 總結(jié)22</b></p><p><b> 致謝23</b></p><p><b> 參考文獻(xiàn)24</b></p>
11、<p><b> 1 需求分析</b></p><p> 1.1 系統(tǒng)目標(biāo)設(shè)計(jì)</p><p> 使企業(yè)可以實(shí)現(xiàn)規(guī)范化的管理。</p><p> 推動企業(yè)勞動人事管理走向科學(xué)化、現(xiàn)代化,適應(yīng)現(xiàn)代企業(yè)制度的要求。</p><p> 使管理員可以很簡單地完成日常的管理工作,例如新員工的加入、老員工的退休
12、等。</p><p> 支持企業(yè)進(jìn)行勞動人事管理及其相關(guān)方面的科學(xué)決策,如企業(yè)領(lǐng)導(dǎo)根據(jù)現(xiàn)有職工的數(shù)目決定招聘的人數(shù)等。</p><p> 1.2 系統(tǒng)功能分析</p><p> 根據(jù)現(xiàn)代企業(yè)的情況,本系統(tǒng)要求應(yīng)能完成以下主要功能:</p><p> 設(shè)計(jì)友好的登錄界面,完成用戶身份檢驗(yàn)??梢蕴峁Ω鞣N窗口的外觀進(jìn)行設(shè)計(jì),可以提供用戶進(jìn)
13、行外觀選擇。</p><p> 企業(yè)新員工各種信息的輸入、修改、刪除等,包括員工基本信息、學(xué)歷信息、婚姻狀況、職稱等。</p><p> 數(shù)據(jù)庫信息維護(hù),即員工各種數(shù)據(jù)信息的備份。</p><p> 對于轉(zhuǎn)出、辭職、退休員工信息的刪除。</p><p> 按照一定的條件,查詢、統(tǒng)計(jì)符合條件的員工信息;至少應(yīng)該包括每個(gè)員工詳細(xì)信息的查詢
14、、按婚姻狀況查詢、按學(xué)歷查詢、按工作崗位查詢等,至少應(yīng)該包括按學(xué)歷、婚姻狀況、崗位、參加工作時(shí)間等統(tǒng)計(jì)各自的員工信息;</p><p> 對查詢、統(tǒng)計(jì)的結(jié)果打印輸出。</p><p> 按照部門將現(xiàn)有員工進(jìn)行分類,查看各個(gè)部門現(xiàn)有員工的平均年齡,根據(jù)各部門工作量的大小,較好地進(jìn)行人事調(diào)度。另外可以幫助領(lǐng)導(dǎo)作出招聘新員工人數(shù)的決定。</p><p> 可供其他人
15、使用幫助。</p><p> 1.3 功能模塊分析</p><p> 根據(jù)系統(tǒng)功能的基本要求,可對整個(gè)系統(tǒng)劃分為幾個(gè)模塊</p><p> 圖1.1 功能模塊分析</p><p> 1.4 系統(tǒng)全局?jǐn)?shù)據(jù)流圖</p><p> 系統(tǒng)的全局?jǐn)?shù)據(jù)流圖,也稱第一層數(shù)據(jù)流圖,是從整體上描述系統(tǒng)的數(shù)據(jù)流,反映系統(tǒng)數(shù)據(jù)的
16、整體流向,給設(shè)計(jì)者、開發(fā)者和用戶一個(gè)總體描述。</p><p><b> 圖1.2 數(shù)據(jù)流圖</b></p><p><b> 1.5 數(shù)據(jù)字典</b></p><p> 表1.1 員工基本信息表(worker_info)</p><p> 表1.2離退休員工(tui_info)</p
17、><p> 表1.3部門基本信息表(Department_info)</p><p> 表1.4 學(xué)歷信息(degree_info)</p><p> 表1.5 家庭信息(home_info)</p><p> 表1.6職稱信息(Pro_info)</p><p><b> 2 概念結(jié)構(gòu)設(shè)計(jì)</
18、b></p><p> 2.1 構(gòu)成系統(tǒng)的實(shí)體型</p><p> 由人事管理系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典,抽取出系統(tǒng)的6個(gè)主要實(shí)體,包括:員工、部門、學(xué)歷、家庭、職稱評定信息、賬號。</p><p> 員工實(shí)體型屬性:Worker_no, Worker_name, Sex, Birthday, Age, ID, Department_name, Post,
19、 Phone, Work_date, Worker_ type</p><p> 退休員工實(shí)體型屬性:Worker_no, Worker_name, Sex, Birthday, Age, ID, Department_name, Post, Phone, Work_date, Worker_ type,tui_date</p><p> 部門實(shí)體型屬性:Department_no,D
20、epartment_name,manager_no,Workeload,Real_number,Need_number</p><p> 學(xué)歷實(shí)體型屬性:Degree_no,Worker_no,Degree,Major,School,Graduate_date</p><p> 家庭實(shí)體型屬性:Home_no,Worker_no,Marriage_info,Home_number,Ho
21、me_phone,Home_address</p><p> 職稱評定信息實(shí)體型屬性:Pro_no, Worker_no, Assess_date, Assess_unit, Assess_title, Remark</p><p> 2.2 人事管理系統(tǒng)E-R圖</p><p> 圖2.1人事管理系統(tǒng)E-R圖</p><p><
22、b> 3 邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p><b> 3.1邏輯結(jié)構(gòu)簡介</b></p><p> 邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。</p><p> 設(shè)計(jì)邏輯結(jié)構(gòu)一般分為3步進(jìn)行:</p><p> (1)
23、將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;</p><p> (2) 將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;</p><p> (3) 對數(shù)據(jù)模型進(jìn)行優(yōu)化。</p><p> 3.2 E-R圖向關(guān)系模型的轉(zhuǎn)換</p><p> 將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體型、實(shí)體的屬性和實(shí)體型間的聯(lián)系轉(zhuǎn)換為
24、關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。</p><p> 對于實(shí)體間的聯(lián)系則有以下不同的情況:</p><p> (1)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一斷對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的試題的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,每個(gè)實(shí)體的碼均為該關(guān)
25、系的候選碼。如果與某一端實(shí)體對應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的碼和聯(lián)系本身的屬性。</p><p> ?。?)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實(shí)體的碼。</p><p> ?。?)一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)
26、系模式。與該聯(lián)系相連的餓個(gè)實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,個(gè)實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。</p><p> (4)3個(gè)或3個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,各實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。</p><p> ?。?)具有相同碼的關(guān)系模式可合并。</p><
27、p><b> 4物理模型設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫物理設(shè)計(jì)是將邏輯設(shè)計(jì)影射到存儲介質(zhì)上,利用可用的硬件和軟件功能盡可能快地對數(shù)據(jù)進(jìn)行物理訪問和維護(hù)。</p><p><b> 4.1定義數(shù)據(jù)庫</b></p><p> SQL Server 2008數(shù)據(jù)庫文件分為3中類型:主數(shù)據(jù)文件、次數(shù)據(jù)文件和
28、日志文件。</p><p> 通過SQL語言進(jìn)行數(shù)據(jù)庫創(chuàng)建,創(chuàng)建數(shù)據(jù)庫的語句如下:</p><p> Create database 人事管理系統(tǒng);</p><p> 4.2 創(chuàng)建存儲過程</p><p><b> 4.2.1</b></p><p> 在員工基本信息表,家庭信息表,學(xué)歷
29、信息表,職稱評定表,創(chuàng)建一個(gè)插入員工信息的存儲過程:</p><p> create procedure insertworker</p><p> @Worker_no varchar(15) ,--工號</p><p> @Worker_name varchar(8) ,--姓名</p><p> @Sex
30、 varchar(2) ,--性別</p><p> @Birthday date ,--出生年月</p><p> @ID varchar(18) ,--身份證號</p><p> @Department_name varchar(15) ,--部門</p>
31、<p> @post varchar(8) ,--職位</p><p> @phone varchar(11) ,--電話</p><p> @work_date date ,--工作時(shí)間</p><p> @Worker_type varchar(8) ,
32、--員工類型</p><p> @Degree_no varchar(15) , --學(xué)位號</p><p> @Degree varchar(4) ,--學(xué)位</p><p> @Major varchar(25) ,--專業(yè)</p><p> @School v
33、archar(25) ,--畢業(yè)學(xué)校</p><p> @Gradute_date date , --畢業(yè)時(shí)間</p><p> @Home_no varchar(15) ,--家庭編號</p><p> @Marriage_info varchar(4) ,--婚姻狀況</p><p> @Home_nu
34、mber smallint ,--家庭人口</p><p> @Home_phone varchar(11) ,--家庭電話</p><p> @Home_address varchar(50) ,--家庭地址</p><p> @Pro_no varchar(15) ,--職稱編號</p><p
35、> @Assess_date date ,--評定日期</p><p> @Assess_unit varchar(20) ,--評定單位</p><p> @Assess_title varchar(8) ,--評定職稱</p><p> @Remark varchar(200) --備注</p><p>
36、;<b> as</b></p><p><b> --插入員工信息</b></p><p> insert into worker_info(Worker_no,Worker_name,Sex,Birthday,age,ID,Department_name,post,phone,work_date,Worker_type)</p&g
37、t;<p> values (@Worker_no,@Worker_name,@Sex,@Birthday,FLOOR(datediff(DY,@Birthday,getdate())/365.25),@ID,@Department_name,@post,@phone,@work_date,@Worker_type)</p><p><b> --插入職稱信息</b><
38、;/p><p> insert into Pro_info(Pro_no,Worker_no,Assess_date,Assess_unit,Assess_title,Remark)</p><p> values (@Pro_no,@Worker_no,@Assess_date,@Assess_unit,@Assess_title,@Remark)</p><p>
39、;<b> --插入家庭信息</b></p><p> insert into home_info(Home_no,worker_no,Marriage_info,Home_number,Home_phone,Home_address)</p><p> values (@Home_no,@worker_no,@Marriage_info,@Home_numbe
40、r,@Home_phone,@Home_address)</p><p><b> --插入學(xué)歷信息</b></p><p> insert into degree_info(Degree_no,Worker_no,Degree,Major,School,Gradute_date)</p><p> values (@Degree_no,
41、@Worker_no,@Degree,@Major,@School,@Gradute_date) </p><p><b> 4.2.2</b></p><p> 在部門基本信息表中創(chuàng)建插入部門信息的存儲過程:</p><p> create procedure add_department</p><p> @
42、Department_no varchar(15) ,</p><p> @Department_name varchar(15) ,</p><p> @Manager_no varchar(15) ,</p><p> @Workeload float(2) ,</p><
43、p> @Real_number smallint ,</p><p> @Need_number smallint </p><p><b> as</b></p><p> insert into department_info(Department_no,Department_name,Ma
44、nager_no,Workeload,Real_number,Need_number)</p><p> values (@Department_no,@Department_name,@Manager_no,@Workeload,@Real_number,@Need_number)</p><p><b> 4.2.3</b></p><p&
45、gt; 在部門基本信息表中創(chuàng)建更新部門信息的存儲過程:</p><p> create procedure update_department</p><p> @Department_name varchar(15) ,</p><p> @Manager_no varchar(15) ,</p><p&g
46、t; @Workeload float(2) ,</p><p> @Need_number smallint </p><p><b> as </b></p><p> update department_info</p><p> set Manager_no=@Man
47、ager_no,</p><p> Workeload=@Workeload,</p><p> Need_number=@Need_number</p><p> where Department_name=@Department_name;</p><p><b> 4.2.4</b></p>
48、<p> 創(chuàng)建當(dāng)一個(gè)員工辭職時(shí)刪除該信息,當(dāng)一個(gè)員工退休時(shí),將基本信息復(fù)制到退休表中,其他信息刪除的存儲過程</p><p> CREATE PROCEDURE worker_type</p><p> @worker_no varchar(15),</p><p> @worker_type varchar(4)</p><
49、p><b> AS</b></p><p><b> BEGIN</b></p><p> SET NOCOUNT ON;</p><p> IF @worker_type='辭職'</p><p><b> BEGIN</b></p>
50、;<p> delete from worker_info where worker_no=@worker_no</p><p><b> END</b></p><p> IF @worker_type='退休'</p><p><b> BEGIN</b></p>&
51、lt;p> INSERT INTO tui_info(Worker_no,Worker_name,Sex,Birthday,Age,ID,Department_name,Post,Phone,Work_date,Tui_date)</p><p> SELECT Worker_no,Worker_name,Sex,Birthday,FLOOR(datediff(DY,Birthday,getdate()
52、)/365.25),ID,Department_name,Post,Phone,Work_date,GETDATE() </p><p> FROM worker_info WHERE Worker_no=@Worker_no;</p><p> DELETE FROM worker_info WHERE Worker_no=@Worker_no;</p><p&g
53、t;<b> END</b></p><p><b> END</b></p><p><b> 4.2.5</b></p><p> 創(chuàng)建更新家庭信息表、學(xué)歷信息、職稱信息的存儲過程</p><p> create procedure update_home<
54、/p><p> @Worker_no varchar(15) ,--工號</p><p> @Marriage_info varchar(4) ,--婚姻狀況</p><p> @Home_number smallint ,--家庭人口</p><p> @Home_phone varchar(11) ,--家
55、庭電話</p><p> @Home_address varchar(50) --家庭地址</p><p><b> as</b></p><p> update home_info</p><p> set Marriage_info=@Marriage_info,</p><p>
56、 Home_number=@Home_number,</p><p> Home_phone=@Home_phone,</p><p> Home_address=@Home_address</p><p> where Worker_no=@Worker_no;</p><p><b> --更新學(xué)歷信息</b>
57、;</p><p> create procedure update_degree</p><p> @Worker_no varchar(15) ,--工號</p><p> @Degree varchar(4) ,--學(xué)位</p><p> @Major varchar(25) ,--專業(yè)&
58、lt;/p><p> @School varchar(25) ,--畢業(yè)學(xué)校</p><p> @Gradute_date date --畢業(yè)時(shí)間</p><p><b> as</b></p><p> update degree_info</p><p> set Deg
59、ree=@Degree,</p><p> Major=@Major,</p><p> School=@School,</p><p> Gradute_date=@Gradute_date</p><p> where Worker_no=@Worker_no;</p><p><b> --更
60、新職稱信息</b></p><p> create procedure update_pro</p><p> @Worker_no varchar(15) ,--工號</p><p> @Assess_date date ,--評定日期</p><p> @Assess_unit varchar(2
61、0) ,--評定單位</p><p> @Assess_title varchar(8) --評定職稱</p><p><b> as</b></p><p> update pro_info</p><p> set Assess_date=@Assess_date,</p><p>
62、 Assess_unit=@Assess_unit,</p><p> Assess_title=@Assess_title</p><p> where Worker_no=@Worker_no;</p><p><b> 4.2.6</b></p><p> 創(chuàng)建某部門平均年齡的存儲過程</p>
63、<p> create procedure avg_age</p><p> @Department_name varchar(15)</p><p><b> as</b></p><p> select AVG(Age)</p><p> from worker_info where Depa
64、rtment_name=@Department_name</p><p><b> 4.2.7</b></p><p><b> 按學(xué)歷查詢</b></p><p><b> --學(xué)歷查詢</b></p><p> create procedure search_deg
65、ree</p><p> @name varchar(4)</p><p><b> as</b></p><p><b> begin</b></p><p> declare search_degree cursor for select worker_no from degree_in
66、fo </p><p> where worker_no in(select Worker_no from degree_info where Degree=@name)</p><p> open search_degree</p><p> declare @no1 varchar(15) </p><p> fetch next
67、 from search_degree into @no1</p><p> while @@FETCH_STATUS = 0</p><p><b> begin </b></p><p> select worker_info.Worker_name,worker_info.Department_name,home_info.Marr
68、iage_info,degree_info.Major,degree_info.degree,</p><p> worker_info.Work_date </p><p> from worker_info,degree_info,pro_info,home_info where worker_info.Worker_no=@no1 and home_info.Worker_no=
69、@no1</p><p> and pro_info.Worker_no=@no1 and degree_info.Worker_no=@no1</p><p> fetch next from search_degree into @no1</p><p><b> end</b></p><p> close
70、 search_degree</p><p> deallocate search_degree</p><p><b> end</b></p><p><b> 4.2.7</b></p><p><b> 按部門查詢</b></p><p>
71、; create procedure search_department</p><p> @name varchar(15)</p><p><b> as</b></p><p><b> begin</b></p><p> declare search_department cur
72、sor for select worker_no from worker_info </p><p> where Department_name=@name</p><p> open search_department</p><p> declare @no1 varchar(15) </p><p> fetch next
73、from search_department into @no1</p><p> while @@FETCH_STATUS = 0</p><p><b> begin </b></p><p> select worker_info.Worker_name,worker_info.Department_name,home_info.M
74、arriage_info,degree_info.Major,worker_info.Work_date </p><p> from worker_info,degree_info,pro_info,home_info where worker_info.Worker_no=@no1 and home_info.Worker_no=@no1</p><p> and pro_info
75、.Worker_no=@no1 and degree_info.Worker_no=@no1</p><p> fetch next from search_department into @no1</p><p><b> end</b></p><p> close search_department</p><p
76、> deallocate search_department</p><p><b> end</b></p><p><b> 4.2.9</b></p><p><b> 按婚姻狀況查詢</b></p><p> create procedure searc
77、h_marriage</p><p> @name varchar(15)</p><p><b> as</b></p><p><b> begin</b></p><p> declare search_marriage cursor for select worker_no from
78、 home_info </p><p> where worker_no in(select Worker_no from home_info where marriage_info=@name)</p><p> open search_marriage</p><p> declare @no varchar(15) </p><p&g
79、t; fetch next from search_marriage into @no</p><p> while @@FETCH_STATUS = 0</p><p><b> begin </b></p><p> select * from worker_info,degree_info,pro_info,home_info w
80、here worker_info.Worker_no=@no and home_info.Worker_no=@no</p><p> and pro_info.Worker_no=@no and degree_info.Worker_no=@no</p><p> fetch next from search_marriage into @no</p><p>
81、;<b> end</b></p><p> close search_marriage</p><p> deallocate search_marriage</p><p><b> end</b></p><p><b> 4.3 創(chuàng)建觸發(fā)器</b></p
82、><p><b> 4.3.1</b></p><p> 定義一個(gè)觸發(fā)器,當(dāng)在數(shù)據(jù)庫中插入一條員工信息后,觸發(fā)相應(yīng)的部門人數(shù)加1</p><p> create trigger insert_worker</p><p> on worker_info</p><p> after inse
83、rt</p><p> as begin</p><p> update department_info</p><p><b> set </b></p><p> department_info.Real_number = department_info.Real_number + 1</p>
84、<p><b> from</b></p><p> department_info as department_info,inserted as worker_info</p><p> where department_info.Department_name=worker_info.Department_name</p><
85、;p><b> end;</b></p><p><b> 4.3.2</b></p><p> 定義一個(gè)觸發(fā)器,當(dāng)在數(shù)據(jù)庫中刪除一條員工信息后,觸發(fā)相應(yīng)的部門人數(shù)減1 create trigger delete_worker</p><p> on worker_info</p><
86、p> after delete</p><p> as begin</p><p> update department_info</p><p><b> set </b></p><p> department_info.Real_number = department_info.Real_nu
87、mber - 1</p><p><b> from</b></p><p> department_info as department_info,deleted as worker_info</p><p> where department_info.Department_name=worker_info.Department_na
88、me</p><p><b> end;</b></p><p> delete from worker_info where worker_no='j1';</p><p><b> 4.3.3</b></p><p> 定義一個(gè)觸發(fā)器,當(dāng)在數(shù)據(jù)庫中員工所屬的部門更改后,觸
89、發(fā)轉(zhuǎn)出的部門人數(shù)減1,轉(zhuǎn)入的部門人數(shù)加1</p><p> create trigger update_worker</p><p> on worker_info</p><p> after update</p><p> as IF(UPDATE(Department_name)) </p><p>&l
90、t;b> begin</b></p><p> --轉(zhuǎn)出的部門人數(shù)減</p><p> update department_info</p><p><b> set </b></p><p> department_info.Real_number = department_info.Rea
91、l_number - 1</p><p><b> from</b></p><p> department_info as department_info,deleted as worker_info</p><p> where department_info.Department_name=worker_info.Departmen
92、t_name</p><p> --轉(zhuǎn)入的部門人數(shù)加</p><p> update department_info</p><p><b> set </b></p><p> department_info.Real_number = department_info.Real_number + 1</p
93、><p><b> from</b></p><p> department_info as department_info,inserted as worker_info</p><p> where department_info.Department_name=worker_info.Department_name</p>
94、<p><b> end;</b></p><p><b> 4.3.4</b></p><p> 定義一個(gè)觸發(fā)器,當(dāng)在數(shù)據(jù)庫中刪除一個(gè)員工的基本信息時(shí)連帶刪除該員工的職稱,學(xué)歷,家庭信息</p><p> create TRIGGER del_worker</p><p>
95、ON worker_info </p><p> for DELETE</p><p><b> AS </b></p><p><b> BEGIN</b></p><p> delete home_info</p><p><b> From <
96、;/b></p><p> home_info as home_info , deleted as worker_info</p><p> Where home_info.worker_no= worker_info.worker_no</p><p><b> END</b></p><p><b&
97、gt; BEGIN</b></p><p> delete degree_info</p><p> From degree_info as degree_info , deleted as worker_info </p><p> Where degree_info.worker_no=worker_info.worker_no</p&
98、gt;<p><b> END</b></p><p><b> BEGIN</b></p><p> delete pro_info</p><p> From pro_info as pro_info , deleted as worker_info </p><p>
99、Where pro_info.worker_no=worker_info.worker_no</p><p><b> END</b></p><p><b> 4.3.5</b></p><p> 創(chuàng)建一個(gè)觸發(fā)器,檢查部門員工是否已滿,滿人則不進(jìn)行操作</p><p> create Tr
100、igger check_department</p><p> on department_info</p><p> for update</p><p><b> as</b></p><p> IF(UPDATE(Real_number))</p><p><b> be
101、gin</b></p><p><b> declare </b></p><p> @size smallint, </p><p> @MaxSize smallint,</p><p> @Department_name varchar(15) </p><p> s
102、elect @department_name =department_name from inserted</p><p> select @MaxSize =Need_number ,@size = Real_number from department_info where department_name = @department_name </p><p><b>
103、 begin</b></p><p> if( @size > @MaxSize )</p><p><b> begin</b></p><p> print '該部門員工已滿'</p><p> rollback Transaction</p><p&g
104、t;<b> return ;</b></p><p><b> end</b></p><p><b> end</b></p><p><b> end</b></p><p><b> 4.3.6</b></p&
105、gt;<p> 創(chuàng)建一個(gè)觸發(fā)器,插入或更新時(shí)檢查部門是否存在,不存在則不進(jìn)行操作</p><p> create trigger check_dapartment_name</p><p> on worker_info </p><p> for update,insert</p><p><b> as&
106、lt;/b></p><p><b> begin</b></p><p><b> declare </b></p><p> @department_name varchar(15) </p><p> select @department_name = department_n
107、ame from inserted</p><p> if( not exists(select * from department_info where department_name = @department_name ) )</p><p><b> begin</b></p><p> print '該部門不存在
108、9;</p><p> rollback Transaction</p><p><b> return;</b></p><p><b> end</b></p><p><b> end</b></p><p><b> 4.4
109、創(chuàng)建視圖</b></p><p><b> 4.4.1</b></p><p> 建立一個(gè)查看所有員工的所有信息的視圖</p><p> create view all_worker(員工編號,姓名,性別,出生日期,年齡,身份證號,部門編號,部門,經(jīng)理編號,職位,電話,工作時(shí)間,員工類型,學(xué)歷號,學(xué)位,</p>
110、<p> 專業(yè),畢業(yè)學(xué)校,畢業(yè)時(shí)間,職稱號,評定時(shí)間,評定單位,評定職稱,備注,家庭編號,婚姻狀況,家庭人口,家庭電話,家庭地址)</p><p><b> as</b></p><p> select worker_info.Worker_no,worker_info.Worker_name,worker_info.Sex,worker_info.
111、Birthday,worker_info.Age,worker_info.ID,</p><p> department_info.Department_no,worker_info.Department_name,department_info.Manager_no,worker_info.Post,worker_info.Phone,worker_info.Work_date,worker_info.Wor
112、ker_type,degree_info.Degree_no,</p><p> degree_info.Degree,degree_info.Major,degree_info.School,degree_info.Gradute_date,pro_info.Pro_no,pro_info.Assess_date,pro_info.Assess_unit,</p><p> pro_
113、info.Assess_title,pro_info.Remark,home_info.Home_no,home_info.Marriage_info,home_info.Home_number,home_info.Home_phone,home_info.Home_address</p><p> from worker_info,degree_info,pro_info,home_info,departme
114、nt_info where worker_info.Worker_no=degree_info.Worker_no and worker_info.Worker_no=pro_info.Worker_no</p><p> and worker_info.Worker_no=home_info.Worker_no and department_info.Department_name=worker_info.D
115、epartment_name</p><p> with check option</p><p><b> 4.4.2</b></p><p> 建立一個(gè)用于查看員工常用信息的視圖</p><p> create view search</p><p><b> as<
116、/b></p><p> select worker_info.Worker_no '員工編號',worker_info.Worker_name '員工姓名',worker_info.Sex '性別',worker_info.Age '年齡',worker_info.Department_name '部門',</p&g
117、t;<p> worker_info.Post '職位',degree_info.Degree'學(xué)位',home_info.Marriage_info '婚姻狀況',worker_info.Work_date '工作時(shí)間' </p><p> from worker_info,degree_info,home_info,depart
118、ment_info where worker_info.Worker_no=degree_info.Worker_no </p><p> and worker_info.Worker_no=home_info.Worker_no </p><p> with check option</p><p><b> 4.4.3</b><
119、/p><p><b> 查詢員工學(xué)歷視圖</b></p><p> create view show_degree(員工編號,姓名,性別,學(xué)歷號,學(xué)位,專業(yè),畢業(yè)學(xué)校,畢業(yè)時(shí)間)</p><p><b> as</b></p><p> select worker_info.Worker_no,
120、worker_info.Worker_name,worker_info.Sex,</p><p> degree_info.Degree_no,degree_info.Degree,</p><p> degree_info.Major,degree_info.School,degree_info.Gradute_date from worker_info,dergee_info &l
121、t;/p><p> where worker_info.Worker_no=degree_info.Worker_no</p><p> with check option</p><p><b> 4.4.4</b></p><p><b> 查詢部門工作量</b></p>&l
122、t;p> create view show_load(員工編號,員工姓名,部門,工作量 )</p><p><b> as</b></p><p> select worker_info.worker_no,worker_info.worker_name,worker_info.Department_name,department_info.Workelo
123、ad </p><p> from department_info,worker_info where department_info.department_name=worker_info.department_name</p><p> select * from show_load</p><p> with check option</p>
124、<p><b> 4.4.5</b></p><p><b> 查詢員工職稱</b></p><p> create view show_degree(員工編號,姓名,性別,職稱號,評定時(shí)間,評定單位,評定職稱,備注)</p><p><b> as</b></p>
125、<p> select worker_info.Worker_no,worker_info.Worker_name,worker_info.Sex,pro_info.Pro_no,pro_info.Assess_date,pro_info.Assess_unit,</p><p> pro_info.Assess_title,pro_info.Remark from worker_info,pro
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告---人事管理系統(tǒng)
- 數(shù)據(jù)庫人事管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 數(shù)據(jù)庫課程設(shè)計(jì)報(bào)告(人事管理系統(tǒng))
- 數(shù)據(jù)庫課程設(shè)計(jì)--人事管理系統(tǒng)
- 人事管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)----人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)——人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)(人事管理系統(tǒng))
- 數(shù)據(jù)庫課程設(shè)計(jì)--人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)—人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)---人事管理系統(tǒng)
- 人事管理系統(tǒng)_數(shù)據(jù)庫課程設(shè)計(jì)
- 人事管理系統(tǒng)課程設(shè)計(jì)(數(shù)據(jù)庫)
- 數(shù)據(jù)庫人事管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--人事管理系統(tǒng)
- 人事管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)------人事管理系統(tǒng)設(shè)計(jì)
評論
0/150
提交評論