版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 課程設計報告</b></p><p> 院(系): 電氣與信息工程學院_ 專業(yè)班級: </p><p> 學生姓名: 學 號: </p><p> 設計地點(單位)______第一實驗樓__ _______ _ _ </p><
2、p> 設計題目:_____________人事管理系統(tǒng)________ ____ _ </p><p> 完成日期: 2013年 6月 28日</p><p><b> 指導教師評語:</b></p><p> ____________________________________
3、 </p><p> ______________________________________________________________________________________________________________________________________________________</p><p> 成績(五級記分制):______ ______
4、____ 指導教師(簽字):________ ________</p><p><b> 課程設計任務書</b></p><p> 設計題目:人事管理系統(tǒng)設計</p><p> 教研室主任: 指導教師:
5、 2013年 06 月 15 日</p><p><b> 摘要</b></p><p> 在現(xiàn)代化的社會中,無論是大型企業(yè)還是中小型企業(yè),都必不可少地會涉及到人事管理的問題。一個完善的人事管理系統(tǒng)對企業(yè)的發(fā)展有著至關重要的作用。</p><p> 人事管理系統(tǒng)分為6個模塊,基本信息管理模塊、退休員工信息管理模塊、部
6、門信息管理模塊、學歷信息管理模塊、家庭信息管理模塊和職稱信息管理模。本系統(tǒng)采用SQL Server 2008作為數(shù)據(jù)庫。在實現(xiàn)數(shù)據(jù)庫部分功能時要求寫出存儲過程、觸發(fā)器和視圖。</p><p> 關鍵詞:人事管理 SQL Server 2008 觸發(fā)器 存儲過程 視圖 事務處理 游標</p><p><b> 目錄</b></p><p>&
7、lt;b> 摘要IV</b></p><p><b> 1 需求分析1</b></p><p> 1.1 系統(tǒng)目標設計1</p><p> 1.2 系統(tǒng)功能分析1</p><p> 1.3 功能模塊分析2</p><p> 1.4 系統(tǒng)全局數(shù)據(jù)流圖2&l
8、t;/p><p> 1.5 數(shù)據(jù)字典3</p><p> 2 概念結構設計6</p><p> 2.1 構成系統(tǒng)的實體型6</p><p> 2.2 人事管理系統(tǒng)E-R圖7</p><p> 3 邏輯結構設計8</p><p> 3.1邏輯結構簡介8</p>&
9、lt;p> 3.2 E-R圖向關系模型的轉換8</p><p><b> 4物理模型設計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)建游標19</p><p> 4.6 創(chuàng)建事物處理21</p><p><b> 總結22</b></p><p><b> 致謝23</b></p><p><b> 參考文獻24</b></p>
11、<p><b> 1 需求分析</b></p><p> 1.1 系統(tǒng)目標設計</p><p> 使企業(yè)可以實現(xiàn)規(guī)范化的管理。</p><p> 推動企業(yè)勞動人事管理走向科學化、現(xiàn)代化,適應現(xiàn)代企業(yè)制度的要求。</p><p> 使管理員可以很簡單地完成日常的管理工作,例如新員工的加入、老員工的退休
12、等。</p><p> 支持企業(yè)進行勞動人事管理及其相關方面的科學決策,如企業(yè)領導根據(jù)現(xiàn)有職工的數(shù)目決定招聘的人數(shù)等。</p><p> 1.2 系統(tǒng)功能分析</p><p> 根據(jù)現(xiàn)代企業(yè)的情況,本系統(tǒng)要求應能完成以下主要功能:</p><p> 設計友好的登錄界面,完成用戶身份檢驗??梢蕴峁Ω鞣N窗口的外觀進行設計,可以提供用戶進
13、行外觀選擇。</p><p> 企業(yè)新員工各種信息的輸入、修改、刪除等,包括員工基本信息、學歷信息、婚姻狀況、職稱等。</p><p> 數(shù)據(jù)庫信息維護,即員工各種數(shù)據(jù)信息的備份。</p><p> 對于轉出、辭職、退休員工信息的刪除。</p><p> 按照一定的條件,查詢、統(tǒng)計符合條件的員工信息;至少應該包括每個員工詳細信息的查詢
14、、按婚姻狀況查詢、按學歷查詢、按工作崗位查詢等,至少應該包括按學歷、婚姻狀況、崗位、參加工作時間等統(tǒng)計各自的員工信息;</p><p> 對查詢、統(tǒng)計的結果打印輸出。</p><p> 按照部門將現(xiàn)有員工進行分類,查看各個部門現(xiàn)有員工的平均年齡,根據(jù)各部門工作量的大小,較好地進行人事調度。另外可以幫助領導作出招聘新員工人數(shù)的決定。</p><p> 可供其他人
15、使用幫助。</p><p> 1.3 功能模塊分析</p><p> 根據(jù)系統(tǒng)功能的基本要求,可對整個系統(tǒng)劃分為幾個模塊</p><p> 圖1.1 功能模塊分析</p><p> 1.4 系統(tǒng)全局數(shù)據(jù)流圖</p><p> 系統(tǒng)的全局數(shù)據(jù)流圖,也稱第一層數(shù)據(jù)流圖,是從整體上描述系統(tǒng)的數(shù)據(jù)流,反映系統(tǒng)數(shù)據(jù)的
16、整體流向,給設計者、開發(fā)者和用戶一個總體描述。</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 學歷信息(degree_info)</p><p> 表1.5 家庭信息(home_info)</p><p> 表1.6職稱信息(Pro_info)</p><p><b> 2 概念結構設計</
18、b></p><p> 2.1 構成系統(tǒng)的實體型</p><p> 由人事管理系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典,抽取出系統(tǒng)的6個主要實體,包括:員工、部門、學歷、家庭、職稱評定信息、賬號。</p><p> 員工實體型屬性:Worker_no, Worker_name, Sex, Birthday, Age, ID, Department_name, Post,
19、 Phone, Work_date, Worker_ type</p><p> 退休員工實體型屬性:Worker_no, Worker_name, Sex, Birthday, Age, ID, Department_name, Post, Phone, Work_date, Worker_ type,tui_date</p><p> 部門實體型屬性:Department_no,D
20、epartment_name,manager_no,Workeload,Real_number,Need_number</p><p> 學歷實體型屬性:Degree_no,Worker_no,Degree,Major,School,Graduate_date</p><p> 家庭實體型屬性:Home_no,Worker_no,Marriage_info,Home_number,Ho
21、me_phone,Home_address</p><p> 職稱評定信息實體型屬性: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 邏輯結構設計</b></p><p><b> 3.1邏輯結構簡介</b></p><p> 邏輯結構設計就是把概念結構設計階段設計好的基本E-R圖轉換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結構。</p><p> 設計邏輯結構一般分為3步進行:</p><p> (1)
23、將概念結構轉換為一般的關系、網(wǎng)狀、層次模型;</p><p> (2) 將轉換來的關系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉換;</p><p> (3) 對數(shù)據(jù)模型進行優(yōu)化。</p><p> 3.2 E-R圖向關系模型的轉換</p><p> 將E-R圖轉換為關系模型實際上就是要將實體型、實體的屬性和實體型間的聯(lián)系轉換為
24、關系模式,這種轉換一般遵循如下原則:一個實體型轉換為一個關系模式。實體的屬性就是關系的屬性,實體的碼就是關系的碼。</p><p> 對于實體間的聯(lián)系則有以下不同的情況:</p><p> ?。?)一個1:1聯(lián)系可以轉換為一個獨立的關系模式,也可以與任意一斷對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的試題的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,每個實體的碼均為該關
25、系的候選碼。如果與某一端實體對應的關系模式合并,則需要在該關系模式的屬性中加入另一個關系模式的碼和聯(lián)系本身的屬性。</p><p> (2)一個1:n聯(lián)系可以轉換為一個獨立的關系模式,也可以與n端對應的關系模式合并。如果轉換為一個獨立的關系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,而關系的碼為n端實體的碼。</p><p> ?。?)一個m:n聯(lián)系轉換為一個關
26、系模式。與該聯(lián)系相連的餓個實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,個實體的碼組成關系的碼或關系碼的一部分。</p><p> ?。?)3個或3個以上實體間的一個多元聯(lián)系可以轉換為一個關系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉換為關系的屬性,各實體的碼組成關系的碼或關系碼的一部分。</p><p> ?。?)具有相同碼的關系模式可合并。</p><
27、p><b> 4物理模型設計</b></p><p> 數(shù)據(jù)庫物理設計是將邏輯設計影射到存儲介質上,利用可用的硬件和軟件功能盡可能快地對數(shù)據(jù)進行物理訪問和維護。</p><p><b> 4.1定義數(shù)據(jù)庫</b></p><p> SQL Server 2008數(shù)據(jù)庫文件分為3中類型:主數(shù)據(jù)文件、次數(shù)據(jù)文件和
28、日志文件。</p><p> 通過SQL語言進行數(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> 在員工基本信息表,家庭信息表,學歷
29、信息表,職稱評定表,創(chuàng)建一個插入員工信息的存儲過程:</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 ,--工作時間</p><p> @Worker_type varchar(8) ,
32、--員工類型</p><p> @Degree_no varchar(15) , --學位號</p><p> @Degree varchar(4) ,--學位</p><p> @Major varchar(25) ,--專業(yè)</p><p> @School v
33、archar(25) ,--畢業(yè)學校</p><p> @Gradute_date date , --畢業(yè)時間</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> --插入學歷信息</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)建當一個員工辭職時刪除該信息,當一個員工退休時,將基本信息復制到退休表中,其他信息刪除的存儲過程</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)建更新家庭信息表、學歷信息、職稱信息的存儲過程</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> --更新學歷信息</b>
57、;</p><p> create procedure update_degree</p><p> @Worker_no varchar(15) ,--工號</p><p> @Degree varchar(4) ,--學位</p><p> @Major varchar(25) ,--專業(yè)&
58、lt;/p><p> @School varchar(25) ,--畢業(yè)學校</p><p> @Gradute_date date --畢業(yè)時間</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> 按學歷查詢</b></p><p><b> --學歷查詢</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> 定義一個觸發(fā)器,當在數(shù)據(jù)庫中插入一條員工信息后,觸發(fā)相應的部門人數(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> 定義一個觸發(fā)器,當在數(shù)據(jù)庫中刪除一條員工信息后,觸發(fā)相應的部門人數(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> 定義一個觸發(fā)器,當在數(shù)據(jù)庫中員工所屬的部門更改后,觸
89、發(fā)轉出的部門人數(shù)減1,轉入的部門人數(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> --轉出的部門人數(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> --轉入的部門人數(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> 定義一個觸發(fā)器,當在數(shù)據(jù)庫中刪除一個員工的基本信息時連帶刪除該員工的職稱,學歷,家庭信息</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)建一個觸發(fā)器,檢查部門員工是否已滿,滿人則不進行操作</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)建一個觸發(fā)器,插入或更新時檢查部門是否存在,不存在則不進行操作</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> 建立一個查看所有員工的所有信息的視圖</p><p> create view all_worker(員工編號,姓名,性別,出生日期,年齡,身份證號,部門編號,部門,經(jīng)理編號,職位,電話,工作時間,員工類型,學歷號,學位,</p>
110、<p> 專業(yè),畢業(yè)學校,畢業(yè)時間,職稱號,評定時間,評定單位,評定職稱,備注,家庭編號,婚姻狀況,家庭人口,家庭電話,家庭地址)</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> 建立一個用于查看員工常用信息的視圖</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'學位',home_info.Marriage_info '婚姻狀況',worker_info.Work_date '工作時間' </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> 查詢員工學歷視圖</b></p><p> create view show_degree(員工編號,姓名,性別,學歷號,學位,專業(yè),畢業(yè)學校,畢業(yè)時間)</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(員工編號,姓名,性別,職稱號,評定時間,評定單位,評定職稱,備注)</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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(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)
- 數(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)
- 數(shù)據(jù)庫課程設計---人事管理系統(tǒng)
- 人事管理系統(tǒng)_數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計------人事管理系統(tǒng)設計
評論
0/150
提交評論