數(shù)據(jù)庫人事管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
數(shù)據(jù)庫人事管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁
數(shù)據(jù)庫人事管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁
數(shù)據(jù)庫人事管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁
數(shù)據(jù)庫人事管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計(jì)任務(wù)書設(shè)計(jì)題目:人事管理系統(tǒng)設(shè)計(jì)學(xué)生姓名課程名稱數(shù)據(jù)庫原理課程設(shè)計(jì)專業(yè)班級地點(diǎn)起止時(shí)間設(shè) 計(jì) 內(nèi) 容 及 要 求內(nèi)容:學(xué)生根據(jù)本課程設(shè)計(jì)指導(dǎo)書中的題目,進(jìn)行設(shè)計(jì)。(1)設(shè)計(jì)友好的登錄界面,完成用戶身份檢驗(yàn)。可以提供對各種窗日 的外觀進(jìn)行設(shè)計(jì),可以提供用戶進(jìn)行外觀選擇。(2)企業(yè)新員工各種信息的輸入、修改、刪除等,包括員工基本信息、 學(xué)歷信息、婚姻狀況、職稱等。(3)數(shù)據(jù)庫信息維護(hù),即員工各種數(shù)據(jù)信息的備份。(4)對于轉(zhuǎn)出、辭職、退休員工信息的刪除。(5)按照一定的條件,查詢、統(tǒng)計(jì)符合條件的員工信息;至少應(yīng)該包 括每個(gè)員工詳細(xì)信息的查詢、按婚姻狀況查詢、按學(xué)歷查詢、按工作岡位 查詢等,至

2、少應(yīng)該包括按學(xué)歷、婚姻狀況、崗位、參加工作時(shí)間等統(tǒng)計(jì)各 自的員工信息;(6)對查詢、統(tǒng)計(jì)的結(jié)果打印輸出。(7)按照部門將現(xiàn)有員工進(jìn)行分類,查看各個(gè)部門現(xiàn)有員工的平均年 齡,根據(jù)各部門工作量的大小,較好地進(jìn)行人事調(diào)度。另外可以幫助領(lǐng)導(dǎo) 做出招聘新員工人數(shù)的決定。(8)可供其他人使用幫助。要求:按照數(shù)據(jù)庫系統(tǒng)開發(fā)步驟進(jìn)行數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、 物理結(jié)構(gòu)設(shè)計(jì),使學(xué)生掌握數(shù)據(jù)庫應(yīng)用軟件的開發(fā)流程,SQL語句的使用和 存儲過程的使用。設(shè) 計(jì) 參 數(shù)至少5個(gè)表結(jié)構(gòu);5個(gè)存儲過程;5個(gè)觸發(fā)器;5個(gè)視圖、2處使用事務(wù)處理、3處 使用游標(biāo)過程報(bào)告格式規(guī)范進(jìn) 度 要 求19.1 講課閱讀分析任務(wù)書制訂

3、設(shè)計(jì)計(jì)劃19.2 -3需求分析概念結(jié)構(gòu)設(shè)計(jì)19.4 -5概念結(jié)構(gòu)設(shè)計(jì)準(zhǔn)備文擋20.1-3邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)20.4-5寫文擋答辯交設(shè)計(jì)報(bào)告書參 考 資 料1 雷亮等數(shù)據(jù)庫原理課程設(shè)計(jì)指導(dǎo)書2 .王珊、薩師煊.數(shù)據(jù)庫系統(tǒng)概述(第四版).北京:高等教育出版社.2006。3. C.J.Date著.孟小峰、王珊等譯.數(shù)據(jù)庫系統(tǒng)導(dǎo)論(第8版).北京:機(jī)械工 業(yè)出版社.2007。4 .陳根才等.數(shù)據(jù)庫課程設(shè)計(jì).浙江.浙江大學(xué)出版社.2007苴丿、它說明1.本表應(yīng)在母次頭施前一周由負(fù)責(zé)教師填與一份, 院系審批后交院系辦備案, 一份由 負(fù)責(zé)教師留用。2 .若填寫內(nèi)容較多可另紙附后。3. 一題多名學(xué)生共用

4、的,在設(shè)計(jì)內(nèi)容、 參數(shù)、要求等方面應(yīng)有所區(qū)別。教研室主任:指導(dǎo)教師:摘要在現(xiàn)代化的社會中,無論是大型企業(yè)還是中小型企業(yè),都必不可少地會涉及 到人事管理的問題。一個(gè)完善的人事管理系統(tǒng)對企業(yè)的發(fā)展有著至關(guān)重要的作 用。人事管理系統(tǒng)分為6個(gè)模塊,基本信息管理模塊、退休員工信息管理模塊、部 門信息管理模塊、學(xué)歷信息管理模塊、家庭信息管理模塊和職稱信息管理模。本 系統(tǒng)采用SQL Server 2008作為數(shù)據(jù)庫。在實(shí)現(xiàn)數(shù)據(jù)庫部分功能時(shí)要求寫出存儲 過程、觸發(fā)器和視圖。關(guān)鍵詞:人事管理SQL Server 2008觸發(fā)器存儲過程視圖事務(wù)處理游標(biāo)II目錄摘要 II1 需求分析 11.1 系統(tǒng)目標(biāo)設(shè)計(jì) 11.

5、2 系統(tǒng)功能分析 11.3功能模塊分析 21.4 系統(tǒng)全局?jǐn)?shù)據(jù)流圖 21.5數(shù)據(jù)字典 32概念結(jié)構(gòu)設(shè)計(jì) 62.1構(gòu)成系統(tǒng)的實(shí)體型 62.2人事管理系統(tǒng)E-R圖 73邏輯結(jié)構(gòu)設(shè)計(jì) 83.1邏輯結(jié)構(gòu)簡介 83.2 E-R圖向關(guān)系模型的轉(zhuǎn)換 84物理模型設(shè)計(jì) 94.1定義數(shù)據(jù)庫 94.2創(chuàng)建存儲過程 94.3創(chuàng)建觸發(fā)器 144.4創(chuàng)建視圖 174.5創(chuàng)建游標(biāo) 194.6創(chuàng)建事物處理 21總結(jié) 22致謝 23參考文獻(xiàn) 24iii1需求分析1.1系統(tǒng)目標(biāo)設(shè)計(jì)使企業(yè)可以實(shí)現(xiàn)規(guī)范化的管理。推動企業(yè)勞動人事管理走向科學(xué)化、現(xiàn)代化,適應(yīng)現(xiàn)代企業(yè)制度的要求。使管理員可以很簡單地完成日常的管理工作,例如新員工的加入

6、、老員工的退 休等。支持企業(yè)進(jìn)行勞動人事管理及其相關(guān)方面的科學(xué)決策,如企業(yè)領(lǐng)導(dǎo)根據(jù)現(xiàn)有職 工的數(shù)目決定招聘的人數(shù)等。1.2系統(tǒng)功能分析根據(jù)現(xiàn)代企業(yè)的情況,本系統(tǒng)要求應(yīng)能完成以下主要功能:設(shè)計(jì)友好的登錄界面,完成用戶身份檢驗(yàn)。可以提供對各種窗口的外觀進(jìn)行設(shè) 計(jì),可以提供用戶進(jìn)行外觀選擇。企業(yè)新員工各種信息的輸入、修改、刪除等,包括員工基本信息、學(xué)歷信息、 婚姻狀況、職稱等。數(shù)據(jù)庫信息維護(hù),即員工各種數(shù)據(jù)信息的備份。對于轉(zhuǎn)出、辭職、退休員工信息的刪除。按照一定的條件,查詢、統(tǒng)計(jì)符合條件的員工信息;至少應(yīng)該包括每個(gè)員工詳 細(xì)信息的查詢、按婚姻狀況查詢、按學(xué)歷查詢、按工作崗位查詢等,至少應(yīng)該包括按學(xué)

7、歷、婚姻狀況、崗位、參加工作時(shí)間等統(tǒng)計(jì)各自的員工信息;對查詢、統(tǒng)計(jì)的結(jié)果打印輸出。按照部門將現(xiàn)有員工進(jìn)行分類,查看各個(gè)部門現(xiàn)有員工的平均年齡,根據(jù)各部 門工作量的大小,較好地進(jìn)行人事調(diào)度。另外可以幫助領(lǐng)導(dǎo)作出招聘新員工人數(shù)的決定可供其他人使用幫助。1.3功能模塊分析根據(jù)系統(tǒng)功能的基本要求,可對整個(gè)系統(tǒng)劃分為幾個(gè)模塊人事管理系統(tǒng)圖1.1功能模塊分析1.4 系統(tǒng)全局?jǐn)?shù)據(jù)流圖系統(tǒng)的全局?jǐn)?shù)據(jù)流圖,也稱第一層數(shù)據(jù)流圖,是從整體上描述系統(tǒng)的數(shù)據(jù)流,反映 系統(tǒng)數(shù)據(jù)的整體流向,給設(shè)計(jì)者、開發(fā)者和用戶一個(gè)總體描述。更新人事管理數(shù)據(jù)庫查詢1.5數(shù)據(jù)字典表1.1員工基本信息表(workernfo)名稱數(shù)據(jù)類型說明W

8、orker novarchar(15) 員工編號關(guān)鍵字Worker namevarchar(8)員工姓名Sexvarchar(2)性別BirthdaydateP出生日期Agesmalli nt年齡IDvarchar(18)身份證號Departme nt n amevarchar(15)部門Postvarchar(8)職位Phonevarchar(11)電話Work datedate工作時(shí)間Worker typevarchar(8)員工類型表1.2離退休員工(tui_info)名稱數(shù)據(jù)類型說明Worker_ novarchar(15)員工編號關(guān)鍵字Worker_ namevarchar(8)員工

9、姓名Sexvarchar(2)性別Birthdaydate出生日期Agesmalli nt年齡IDvarchar(18)身份證號Departme nt_n amevarchar(15)部門Postvarchar(8)職位Phonevarchar(11)電話Work_datedate工作時(shí)間表1.3部門基本信息表(Department_info )名稱數(shù)據(jù)類型說明Departme nt_noVarchar(15)部門編號關(guān)鍵字Departme nt_n amevarchar(15)部門名稱man ager_ novarchar(15)經(jīng)理編號WorkeloadFloat(2)工作量(%Real_

10、 nu mberInt現(xiàn)人數(shù)Need_ nu mberInt所需人數(shù)表1.4學(xué)歷信息(degreenfo)名稱數(shù)據(jù)類型說明Degree_ noVarchar(15)學(xué)歷編號關(guān)鍵子Worker_ novarchar(15)員工編號Degreevarchar(4)學(xué)位MajorVarchar(8)專業(yè)Schoolvarchar(25)學(xué)校Graduate_datedate畢業(yè)時(shí)間表1.5 家庭信息(homenfo)名稱數(shù)據(jù)類型說明Home_ noVarchar(15)家庭編號關(guān)鍵字Worker_ novarchar(15)員工編號Marriagenfovarchar(4)婚姻狀況Home_ nu

11、mbersmalli nt家庭人數(shù)Home_ph onevarchar(8)家庭電話Home_addressvarchar(50)家庭住址表1.6職稱信息(Pronfo)名稱數(shù)據(jù)類型說明Pro_ noVarchar(15)職稱編號關(guān)鍵字Worker_ novarchar(15)員工編號Assess_datedatetime評定日期Assess_ unitvarchar(20)評定單位Assess_titlevarchar(8)評定職稱Remarkvarchar(200)備注242概念結(jié)構(gòu)設(shè)計(jì)2.1構(gòu)成系統(tǒng)的實(shí)體型由人事管理系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典,抽取出系統(tǒng)的6個(gè)主要實(shí)體,包括:員工、部門、學(xué)

12、歷、家庭、職稱評定信息、賬號。員工實(shí)體型屬性: Worker_no, Worker_name, Sex, Birthday, Age, ID,Departme nt_n ame, Post, Phone, Work_date, Worker_ type退休員工實(shí)體型屬性:Worker_no, Worker_name, Sex, Birthday, Age, ID,Department_name, Post, Phone, Work_date, Worker_ type ,tui_date咅部門實(shí)體型屬性:Department_no,Department_name, manager_no, Wo

13、rkeload,Real_number,Need_number學(xué)歷實(shí)體型屬性:Degree_no, Worker_no,Degree,Major,School,Graduate_date 家庭實(shí)體型屬性:Home_noWorker_no, Marriage_info ,Home_numbqrHome_phone Home_address職稱 評定信息實(shí)體型屬性:Pro_no, Worker_no, Assess_date, Assess_unit,Assess_title, Remark2.2人事管理系統(tǒng)E-R圖departmenDepaHrwrt.rameM)ugBr_nsWodhebadR

14、aal_ numberNeed_fumhtrO-ochome_inifoWwkef_noltan#_rMjmbBrHcmejshoe圖2.1人事管理系統(tǒng)E-R圖3邏輯結(jié)構(gòu)設(shè)計(jì)3.1邏輯結(jié)構(gòu)簡介邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMF品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。設(shè)計(jì)邏輯結(jié)構(gòu)一般分為3步進(jìn)行:(1) 將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;(2) 將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定 DBMSfc持下的數(shù)據(jù)模型轉(zhuǎn)換;(3) 對數(shù)據(jù)模型進(jìn)行優(yōu)化。3.2 E-R圖向關(guān)系模型的轉(zhuǎn)換將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體型、實(shí)體的屬性和實(shí)體型間的聯(lián)系轉(zhuǎn) 換

15、為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的 屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。對于實(shí)體間的聯(lián)系則有以下不同的情況:(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)系的候選碼。如果與某一端實(shí)體 對應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式的碼和聯(lián)系本 身的屬性。(2) 一個(gè)1: n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與 n端對應(yīng)的關(guān)系模 式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則

16、與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身 的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為 n端實(shí)體的碼。(3) 一個(gè)m n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的餓個(gè)實(shí)體的碼以及聯(lián)系 本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,個(gè)實(shí)體的碼組成關(guān)系的碼或關(guān)系碼的一部分。(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)系碼的一部分。(5) 具有相同碼的關(guān)系模式可合并4物理模型設(shè)計(jì)數(shù)據(jù)庫物理設(shè)計(jì)是將邏輯設(shè)計(jì)影射到存儲介質(zhì)上,利用可用的硬件和軟件功能盡可 能快地對數(shù)據(jù)進(jìn)行物理訪問和維護(hù)。4.1定義數(shù)據(jù)庫SQL S

17、erver 2008數(shù)據(jù)庫文件分為3中類型:主數(shù)據(jù)文件、次數(shù)據(jù)文件和日志文件。 通過SQL語言進(jìn)行數(shù)據(jù)庫創(chuàng)建,創(chuàng)建數(shù)據(jù)庫的語句如下:Create database 人事管理系統(tǒng);4.2創(chuàng)建存儲過程4.2 . 1在員工基本信息表,家庭信息表,學(xué)歷信息表,職稱評定表,創(chuàng)建一個(gè)插入員工信息的存儲過程:create procedure in sertworkerWorker_no varchar(15),-工號Worker_name varchar(8),-姓名Sexvarchar(2),-性別Birthday date ,-出生年月IDvarchar(18),-身份證號Departme nt_n a

18、me varchar(15),- 咅部門 postvarchar(8),-職位pho ne varchar(11),-電話work_date date ,-工作時(shí)間Worker_type varchar(8),-員工類型Degree_ no varchar(15) ,-學(xué)位號Degree varchar(4),-學(xué)位Majorvarchar(25),-專業(yè)School varchar(25),-畢業(yè)學(xué)校Gradute_date date,- 畢業(yè)時(shí)間Home_no varchar(15) ,-家庭編號Marriage_i nfo varchar ,-婚姻狀況Home_nu mber small

19、i nt ,-家庭人口Home_pho ne varchar(11),-家庭電話Home_address varchar(50),-家庭地址Pro_no varchar(15) ,-職稱編號Assess_date date ,- 評定日期 Assess_u nit varchar(20),-評定單位Assess_title varchar(8),-評定職稱Remark varchar(200)-備注as -插入員工信息in sert intoworkernfo( Worker_ no, Worker_ name,Sex,Birthday,age,ID,Departme nt_n ame,pos

20、t,phon e,work_date,Worker_type)values(Worker_ no,Worker_name,Sex,Birthday,FLOOR(datediff(DY,Birthday,getdate()/365.25),ID,Departme nt_name,post,pho ne,work_date,Worker_type)-插入職稱信息in sert intoPro_i nfo(Pro_ no,Worker_ no,Assess_date,Assess_ un it,Assess_title,Remark)values (Pro_no,Worker_no,Assess_d

21、ate,Assess_unit,Assess_title,Remark)-插入家庭信息in sert intohome_i nfo(H ome_ no ,worker_ no, Marriagenfo,Home_nu mber,Home_ph on e,Home_address)values(Home_ no, worker_ no, Marriage_i nfo, Home_ nu mber,Home_pho ne,Home_address)-插入學(xué)歷信息in sert intodegree_i nfo(Degree_ no, Worker_ no ,Degree,Major,School,

22、Gradute_date)values (Degree_ no, Worker_ no, Degree,Major,School,Gradute_date)4.2 . 2在部門基本信息表中創(chuàng)建插入部門信息的存儲過程:create procedure add_departme ntDepartme nt_novarchar(15),Departme nt_n amevarchar(15),Ma nager_ novarchar(15),Workeloadfloat (2),Real_ nu mbersmalli nt ,Need_ nu mbersmalli ntasin sert intode

23、partme nt_in fo(Departme nt_no Qepartme nt_n ame,Ma nager_ no, Workeload,Real_ num ber,Need_ nu mber)values(Departme nt_no, Departme nt_n ame,Ma nager_ no, Workeload,Real_ nu mber,Need_ nu mber)4.2 . 3在部門基本信息表中創(chuàng)建更新部門信息的存儲過程:create procedure update_departme ntDepartme nt_n amevarchar(15),Ma nager_ no

24、varchar(15),Workeload float (2),Need_ nu mbersmalli ntasupdate departme nt_infoset Man ager_ no=Ma nager_ no,Workeload=Workeload,Need _nu mber=Need _nu mberwhere Departme nt_n ame=Departme nt_n ame;4.2 . 4創(chuàng)建當(dāng)一個(gè)員工辭職時(shí)刪除該信息,當(dāng)一個(gè)員工退休時(shí),將基本信息復(fù)制到退休表中,其他信息刪除的存儲過程CREATE PROCEDURE worker_typeworker_ no varchar

25、(15),worker_type varchar(4)ASBEGINSET NOCOUNT ON;IF worker_type='辭職'BEGINdelete from worker_i nfo where worker_ no=worker_ noENDIF worker_type='退休'BEGININSERT INTOtui_info( Worker_ no, Worker_ name,Sex,Birthday,Age,ID,Departme nt_n ame,Post,Pho n e,Work_date,Tui_date)SELECTWorker_ no

26、,Worker_name,Sex,Birthday,FLOOR(datediff(DY,Birthday,getdate()/365.25),ID,Departme nt_name,Post,Pho ne,Work_date,GETDATE()FROM worker_i nfo WHERE Worker_no=Worker_no;DELETE FROM worker_i nfo WHERE Worker_no=Worker_no;ENDEND4.2 . 5創(chuàng)建更新家庭信息表、學(xué)歷信息、職稱信息的存儲過程工號婚姻狀況家庭人口家庭電話家庭地址create procedure update_home

27、 Worker_no varchar(15) ,- Marriage_i nfo varchar(4) ,- Home_nu mber smalli nt ,- Home_pho ne varchar(11) ,- Home_address varchar(50)- asupdate homenfoset Marriagenfo=Marriage_i nfo, Home_nu mber=Ho me_nu mber, Home_ph on e=Home_ph one, Home_address=Home_address where Worker_ no= Worker_ no;-更新學(xué)歷信息cr

28、eate procedure update_degree Worker_no varchar(15),-工號Degree varchar(4),-學(xué)位Majorvarchar(25),-專業(yè)School varchar(25),-畢業(yè)學(xué)校Gradute_date date - 畢業(yè)時(shí)間asupdate degree_i nfoset Degree=Degree,Major=Major,School=School,Gradute_date=Gradute_datewhere Worker_ no= Worker_ no;-更新職稱信息create procedure update_proWork

29、er_no varchar(15),-工號Assess_date date ,-評定日期Assess_u nit varchar(20),-評定單位Assess_title varchar(8)-評定職稱asupdate pro_infoset Assess_date=Assess_date,Assess_ un it=Assess_ un it,Assess_title=Assess_titlewhere Worker_ no= Worker_ no;4.2 . 6創(chuàng)建某部門平均年齡的存儲過程create procedure avg_ageDepartme nt_n ame varchar(

30、15)asselect AVG(Age)from worker_i nfo where Departme nt_n ame=Departme nt_n ame4.2 . 7按學(xué)歷查詢-學(xué)歷查詢create procedure search_degreen ame varchar(4)asbeg indeclare search_degree cursor for select worker_ no from degree_i nfowhere worker_ no in( select Worker_ no from degree_i nfo where Degree=n ame) ope n

31、 search_degree declare no1 varchar(15)fetch n ext from search_degree into no1while FETCH_STATUS = 0beg inselectworker_i nfo. Worker_ name,worker_i nfo.Departme nt_n ame,home_i nfo.Marriagenfo ,degree_i nfo.M ajor,degree_i nfo.degree,worker_i nfo.Work_datefrom worker_i nfo,degree_i nfo,pro_i nfo,home

32、_i nfo whereworker_i nfo. Worker_ no=no1 and home_i nfo. Worker_ no=no1and pro_i nfo.Worker_ no=no1 and degree_i nfo. Worker_ no=no1 fetch n ext from search_degree into no1 endclose search_degreedeallocate search_degree end4.2 . 7按部門查詢create procedure search_departme ntn ame varchar(15)asbeg indecla

33、re search_departme nt cursor for select worker_ no from worker_i nfo where Departme nt_n ame=n ameope n search_departme ntdeclare no1 varchar(15)fetch next from search_departme nt into no1while FETCH_STATUS = 0beg inselectworker_i nfo. Worker_ name,worker_i nfo.Departme nt_n ame,home_i nfo.Marriagen

34、fo ,degree_i nfo.M ajor,worker_i nfo. Work_datefrom worker_i nfo,degree_i nfo,pro_i nfo,home_i nfo whereworkernfo. Worker_ no=no1 and homenfo. Worker_ no=no1and pro_i nfo.Worker_ no=no1 and degreenfo. Worker_ no=no1fetch next from search_departme nt into no1endclose search_departme ntdeallocate sear

35、ch_departme nt end4.2 . 9按婚姻狀況查詢create procedure search_marriagen ame varchar(15)asbeg indeclare search_marriage cursor for select worker_ no from home_i nfowhere worker_ no in( select Worker_ no from home_i nfo where marriage_i nfo=n ame) ope n search_marriagedeclare no varchar(15)fetch n ext from

36、search_marriage into nowhile FETCH_STATUS = 0beg inselect * from worker_i nfo,degree_i nfo,pro_i nfo,home_i nfo where worker_i nfo. Worker_ no=no and home_i nfo. Worker_ no=no and pro_i nfo.Worker_ no=no and degree_i nfo. Worker_ no=no fetch n ext from search_marriage into no endclose search_marriag

37、edeallocate search_marriage end4.3創(chuàng)建觸發(fā)器4.3 . 1定義一個(gè)觸發(fā)器,當(dāng)在數(shù)據(jù)庫中插入一條員工信息后,觸發(fā)相應(yīng)的部門人數(shù)加1create trigger in sert_workeron worker_i nfoafter in sertas beg inupdate departme nt_infosetdepartme nt_in fo.Real_ nu mber = departme nt_in fo.Real_ nu mber + 1fromdepartme nt_info as departme nt_in fo,i nserted as wor

38、ker_i nfowhere departme nt_in fo.Departme nt_n ame=worker_i nfo.Departme nt_n ame end;4.3 . 2定義一個(gè)觸發(fā)器,當(dāng)在數(shù)據(jù)庫中刪除一條員工信息后,觸發(fā)相應(yīng)的部門人數(shù)減1create trigger delete_workeron workernfoafter deleteas beg inupdate departme nt_infosetdepartme nt_in fo.Real_ nu mber = departme nt_in fo.Real_ nu mber - 1fromdepartme nt_

39、info as departme nt_in fo,deleted as worker_i nfowhere departme nt_in fo.Departme nt_n ame=worker_i nfo.Departme nt_n ame end;delete from worker_i nfo where worker_ no='j1'4.3 . 3定義一個(gè)觸發(fā)器,當(dāng)在數(shù)據(jù)庫中員工所屬的部門更改后,觸發(fā)轉(zhuǎn)出的部門人數(shù)減1,轉(zhuǎn)入的部門人數(shù)加1create trigger update_workeron worker_i nfoafter updateas IF(UPDATE

40、(Departme nt_name)beg in-轉(zhuǎn)出的部門人數(shù)減update departme nt_infosetdepartme nt_in fo.Real_ nu mber = departme nt_in fo.Real_ nu mber - 1fromdepartme nt_info as departme nt_in fo,deleted as worker_i nfowhere departme nt_in fo.Departme nt_n ame=worker_i nfo.Departme nt_n ame-轉(zhuǎn)入的部門人數(shù)加update departme nt_infoset

41、departme nt_in fo.Real_ nu mber = departme nt_in fo.Real_ nu mber + 1fromdepartme nt_info as departme nt_in fo,i nserted as worker_i nfowhere departme nt_in fo.Departme nt_n ame=worker_i nfo.Departme nt_n ame end;4.3 . 4定義一個(gè)觸發(fā)器,當(dāng)在數(shù)據(jù)庫中刪除一個(gè)員工的基本信息時(shí)連帶刪除該員工的職稱學(xué)歷,家庭信息create TRIGGER del_workerON workernfo

42、for DELETEASBEGINdelete homenfoFromhome_i nfo as home_i nfo , deleted as workernfoWhere home_i nfo.worker_ no= workernfo.worker_ noENDBEGINdelete degree_i nfoFrom degree_i nfo as degree_i nfo , deleted as worker_i nfoWhere degree info.worker no=worker info.worker noENDBEGINdelete pro_infoFrom pro_i

43、nfo as pro_i nfo , deleted as worker_i nfoWhere pro_i nfo.worker_ no=worker_i nfo.worker_ noEND4.3 . 5倉U建一個(gè)觸發(fā)器,檢查部門員工是否已滿,滿人則不進(jìn)行操作create Trigger check_departme nton departme nt_infofor updateasIF(UPDATE(Real _nu mber)beg indeclaresize smalli nt,MaxSize smalli nt,Departme nt_n ame varchar(15)select d

44、epartme nt_n ame =departme nt_n ame from in sertedselect MaxSize =Need_ nu mber ,size = Real_ nu mber from departme nt_info where departme nt_n ame = departme nt_n amebegi nif( size > MaxSize )beg inprint ' 該部門員工已滿rollback Tran sact ionreturn ;endendend4.3 . 6創(chuàng)建一個(gè)觸發(fā)器,插入或更新時(shí)檢查部門是否存在,不存在則不進(jìn)行操作c

45、reate trigger check_dapartme nt_n ameon workernfofor updatensertasbeg indeclaredepartme nt_n ame varchar(15)select departme nt_n ame = departme nt_n ame from in sertedif( not exists(select * from departme nt_info where departme nt_n ame = departme nt_n ame )begi nprint '該部門不存在rollback Tran sacti

46、 onreturn;endend4.4創(chuàng)建視圖4.4 . 1建立一個(gè)查看所有員工的所有信息的視圖create view all_worker(員工編號,姓名,性別,出生日期,年齡,身份證號,部門編號,部門,經(jīng)理編號,職位,電話,工作時(shí)間,員工類型,學(xué)歷號,學(xué)位,專業(yè),畢業(yè)學(xué)校,畢業(yè)時(shí)間,職稱號,評定時(shí)間,評定單位,評定職稱,備注,家庭編號,婚姻 狀況,家庭人口,家庭電話,家庭地址)asselectworker_i nfo.Worker_ no,worker_i nfo.Worker_ name,worker_i nfo.Sex,worker_i nfo.B irthday,worker_i n

47、fo.Age,worker_i nfo.ID,departme nt_in fo.Departme nt_no ,worker_i nfo.Departme nt_n ame,departme nt_info.M an ager_ no ,worker_i nfo.Post,worker_i nfo.Ph on e,worker_i nfo. Work_date,worker_i n fo.Worker_type,degree_i nfo.Degree_ no,degree_i nfo.Degree,degree_i nfo.M ajor,degree_i nfo.School,degree_

48、i nfo.Gradute _date,pro_i nfo.Pro_ no,pro_i nfo.Assess_date,pro_i nfo.Assess_u nit,pro_i nfo.Assess_title,pro_i nfo.Remark,home_i nfo.Ho me_n o,home_i nfo.Marriage_ in fo,home_i nfo.Ho me_nu mber,home_i nfo.Home_pho ne,home_i nfo.Home_addressfrom workernfo,degree_i nfo,pro_i nfo,home_i nfo,departme

49、nt_info whereworker info.Worker no=degree info.Worker no andworker_i nfo. Worker_ no=pro_i nfo. Worker_ noand worker_i nfo. Worker_ no=home_i nfo. Worker_ no anddepartme nt_in fo.Departme nt_n ame=worker_i nfo.Departme nt_n amewith check optio n4.4 . 2建立一個(gè)用于查看員工常用信息的視圖create view searchasselect work

50、er_info.Worker_no '員工編號',worker_info.Worker_name ' 員工姓名',worker_info.Sex '性另',worker_info.Age '年齡',worker_info.Department_name'部門',-workernfo.Post '職位',degree_i nfo.Degree'學(xué)位',home_i nfo.Marriage_i nfo ' 婚姻狀況',worker_info.Work_date '

51、; 工作時(shí)間'from worker_i nfo,degree_i nfo,home_i nfo,departme nt_info whereworker info.Worker no=degree info.Worker noand worker_i nfo. Worker_ no=home_i nfo. Worker_ nowith check optio n4.4 . 3查詢員工學(xué)歷視圖create view show_degree(員工編號,姓名,性別,學(xué)歷號,學(xué)位,專業(yè),畢業(yè)學(xué)校,畢業(yè)時(shí) 間)asselect worker_i nfo. Worker_ no ,worker_

52、i nfo. Worker_ name,worker_i nfo.Sex,degree_i nfo.Degree_ no ,degree_i nfo.Degree,degree_i nfo.M ajor,degree_i nfo.School,degree_i nfo.Gradute_date fromworker_i nfo,dergee_i nfowhere worker info.Worker no=degree info.Worker nowith check optio n4.4 . 4查詢部門工作量create view show_load( 員工編號,員工姓名,部門,工作量)as

53、selectworker_i nfo.worker_ no ,worker_i nfo.worker_ name,worker_i nfo.Departme nt_n ame,d epartme nt_info. Workeloadfrom departme nt_in fo,worker_i nfo wheredepartme nt_in fo.departme nt_n ame=worker_i nfo.departme nt_n ameselect * from show_loadwith check optio n4.4 . 5查詢員工職稱create view show_degree

54、(員工編號,姓名,性別,職稱號,評定時(shí)間,評定單位,評定職稱, 備注)asselectworker_i nfo.Worker_ no,worker_i nfo.Worker_ name,worker_i nfo.Sex,pro_i nfo.Pro_no ,pro_i nfo.Assess_date,pro_i nfo.Assess_ un it,pro_i nfo.Assess_title,pro_i nfo.Remark from worker_i nfo,pro_i nfo,home_i nfo where worker_i nfo. Worker_ no=pro_i nfo. Worker_ no4.4 . 6查詢員工學(xué)歷create view show_degree(員工編號,姓名,性別,學(xué)歷號,學(xué)位,專業(yè),畢業(yè)學(xué)校,畢業(yè)時(shí) 間)asselectworker_i nfo.Worker_ no,worker_i nfo.Worker_ name,worker_i nfo.Sex,degree_i nfo.D egree_ no,degree_i nfo.Degree,degree_i nfo.M ajor,degree_

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論