




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、數(shù)據(jù)庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告題 目: 人事信息管理系統(tǒng)的后臺數(shù)據(jù)庫設(shè)計(jì)院 (系): 信息科學(xué)與工程學(xué)院 專業(yè)班級: 計(jì)算機(jī)科學(xué)與技術(shù)*班 學(xué)生姓名: * 學(xué) 號: * 指導(dǎo)教師: 陳 頡 20 13 年 1 月 7 日至20 13 年 1 月 18 日華中科技大學(xué)武昌分校制 數(shù)據(jù)庫管理系統(tǒng) 課程設(shè)計(jì)任務(wù)書一、設(shè)計(jì)(調(diào)查報(bào)告/論文)題目 人事信息管理系統(tǒng)的后臺數(shù)據(jù)庫設(shè)計(jì)二、設(shè)計(jì)(調(diào)查報(bào)告/論文)主要內(nèi)容 內(nèi)容:完成人事信息的管理工作,實(shí)現(xiàn)各部門的信息化管理,滿足員工與管理者的辦公需求,例如員工查詢信息、管理員修改信息等,要求設(shè)計(jì)并實(shí)現(xiàn)人事信息管理系統(tǒng)的后臺數(shù)據(jù)庫。 基本功能與要求:1.在人事管理過
2、程中,實(shí)現(xiàn)信息的自動(dòng)化管理。2.實(shí)現(xiàn)各種信息的修改、插入、刪除功能(對管理員而言)。3.實(shí)現(xiàn)對各種信息的查詢、統(tǒng)計(jì),支持模糊查詢(對員工和管理員均可)。4.按照年份月份統(tǒng)計(jì)某個(gè)員工的出勤情況。5.按照某年某月某日統(tǒng)計(jì)查詢某部門的遲到和早退人數(shù)。6.按年統(tǒng)計(jì)各部門的調(diào)入調(diào)出人數(shù)信息。 分工任務(wù):1 需求分析 2 數(shù)據(jù)庫物理實(shí)現(xiàn) 3系統(tǒng)后臺功能測試三、原始資料1.數(shù)據(jù)庫管理系統(tǒng)課程設(shè)計(jì)指導(dǎo)書2. 數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)課件四、要求的設(shè)計(jì)(調(diào)查/論文)成果1.課程設(shè)計(jì)報(bào)告2.課程設(shè)計(jì)作品五、進(jìn)程安排序號課程設(shè)計(jì)內(nèi)容學(xué)時(shí)分配備注1選題、需求分析1天2數(shù)據(jù)庫設(shè)計(jì)2天3數(shù)據(jù)庫表及相關(guān)約束、視圖實(shí)現(xiàn)2天4數(shù)據(jù)庫的存
3、儲過程、觸發(fā)器實(shí)現(xiàn)2天5數(shù)據(jù)庫后臺功能測試2天6驗(yàn)收答辯、撰寫課程設(shè)計(jì)報(bào)告1天合計(jì)10天六、主要參考資料1 顧兵.數(shù)據(jù)庫技術(shù)與應(yīng)用(SQL Server).北京:清華大學(xué)出版社,2010.2 馬曉梅.SQL Server實(shí)驗(yàn)指導(dǎo).第3版.北京:清華大學(xué)出版社,2009.3 范立南等.SQL Server 2005實(shí)用教程.北京:清華大學(xué)出版社,2009.4 李丹.SQL Server 2005數(shù)據(jù)庫管理與開發(fā).北京:機(jī)械工業(yè)出版社,2010.指導(dǎo)教師(簽名): 20 年 月 日目 錄 1.需求分析1 1.1系統(tǒng)功能的基本要求1 1.2系統(tǒng)需求分析1 1.3 數(shù)據(jù)字典2 1.4 數(shù)據(jù)流圖3 2.
4、概念結(jié)構(gòu)設(shè)計(jì)4 2.1 局部E-R圖4 2.2 全局E-R圖6 3.邏輯結(jié)構(gòu)設(shè)計(jì)7 3.1 E-R圖向關(guān)系模式轉(zhuǎn)換的原則7 3.2 根據(jù)E-R圖轉(zhuǎn)換關(guān)系模式8 3.3 關(guān)系模式的優(yōu)化8 4.物理結(jié)構(gòu)設(shè)計(jì)9 4.1數(shù)據(jù)庫文件的建立9 4.2數(shù)據(jù)表的建立9 4.3視圖的建立11 4.4索引的建立11 4.5存儲過程的建立12 4.6觸發(fā)器的建立12 4.6約束的建立12 5.數(shù)據(jù)庫的物理實(shí)現(xiàn)13 5.1數(shù)據(jù)庫的建立13 5.2數(shù)據(jù)表的建立13 5.3視圖的建立16 5.4索引的建立22 5.5存儲過程的建立27 5.6觸發(fā)器的建立29 5.7約束的建立30 6.系統(tǒng)后臺功能測試34 7.總結(jié)371
5、.需求分析開發(fā)數(shù)據(jù)庫系統(tǒng)的第一步是進(jìn)行需求分析,需求分析的好壞直接決定者系統(tǒng)能否真正滿足用戶的需要。需求分析階段位于軟件開發(fā)的前期,它的基本任務(wù)是準(zhǔn)確地定義未來系統(tǒng)的目標(biāo),確定為了滿足用戶的需求系統(tǒng)必須做什么。1.1系統(tǒng)功能的基本要求:(1)管理者進(jìn)入系統(tǒng)后要能夠清晰地看到企業(yè)的機(jī)構(gòu)組織形式,并能夠很方便地進(jìn)入到各個(gè)管理功能模塊中。管理者能夠根據(jù)企業(yè)的實(shí)際來實(shí)時(shí)地改變系統(tǒng)中機(jī)構(gòu)組織,主要的改變包括:當(dāng)有新部門成立時(shí),要將新部門加入到系統(tǒng)中;當(dāng)有部門發(fā)生變更時(shí),如更名,上級部門改變了等,要將變更信息在系統(tǒng)中及時(shí)更新;(2)員工各種信息的輸入,包括員工的基本信息、學(xué)歷信息、婚姻狀況信息、職稱等。(
6、3)員工各種信息的修改和刪除。修改的范圍有:人員的基本信息;將人員從一個(gè)部門下移到另一個(gè)部門下。對于轉(zhuǎn)出、辭職、辭退、退休員工信息的刪除;(4)按照一定的條件,查詢、統(tǒng)計(jì)符合條件的員工信息;至少應(yīng)該包括每個(gè)員工詳細(xì)信息的查詢、按婚姻狀況查詢、按學(xué)歷查詢、按工作崗位查詢等,至少應(yīng)該包括按學(xué)歷、婚姻狀況、崗位、參加工作時(shí)間等統(tǒng)計(jì)各自的員工信息;1.2系統(tǒng)需求分析1.2.1系統(tǒng)功能流程圖職工基本信息管理人事管理系統(tǒng)信息的修改插入刪除圖1-1人事管理系統(tǒng)總數(shù)據(jù)流程圖查詢統(tǒng)計(jì)員工調(diào)動(dòng)信息管理工資管理工作信息管理部門信息管理考勤信息統(tǒng)計(jì)1.2.2系統(tǒng)主要功能模塊分析(1)基本信息模塊。主要包括企業(yè)員工的基
7、本信息,如姓名、性別、學(xué)歷、婚姻狀況、聯(lián)系方式等。職工登錄后可以查詢個(gè)人信息; 管理員可以負(fù)責(zé)維護(hù)職工基本信息和職工流動(dòng)信息。(2)員工工作信息模塊。主要顯示員工在公司的情況。(3)部門信息模塊。主要記錄企業(yè)的組織機(jī)構(gòu)信息。(4)考勤信息模塊。主要包含員工上下班的出勤情況,如遲到、休假等。(5)工資信息模塊。主要包括員工的工資信息。(6)查詢統(tǒng)計(jì)模塊。主要為實(shí)現(xiàn)上述信息的查詢和統(tǒng)計(jì),并能夠生成相關(guān)報(bào)表文件。 1.3數(shù)據(jù)字典數(shù)據(jù)字典的用途:是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述;在需求分析階段建立,是下一步進(jìn)行概念設(shè)計(jì)的基礎(chǔ)數(shù)據(jù)字典的內(nèi)容:數(shù)據(jù)項(xiàng)(數(shù)據(jù)的最小單位)、數(shù)據(jù)結(jié)構(gòu)(若干數(shù)據(jù)項(xiàng)有意義的集合)、數(shù)據(jù)流(
8、表示某一處理過程的輸入或輸出)、數(shù)據(jù)存儲(處理過程中存取的數(shù)據(jù))、處理過程(該過程的功能)等1.3.1數(shù)據(jù)項(xiàng)(1)員工基本情況。包括的數(shù)據(jù)項(xiàng)有員工編號,姓名,性別,年齡,名族,入職時(shí)間,所屬部門,聯(lián)系電話,身份證號,基本工資。(2)員工工作信息。包括的數(shù)據(jù)項(xiàng)有員工編號、所屬部門編號、職稱、工齡。(3)部門信息。包括的數(shù)據(jù)項(xiàng)有部門編號、部門名稱、部門電話、部門經(jīng)理。(4)員工考勤信息。包括的數(shù)據(jù)項(xiàng)有員工編號、缺勤、遲到、早退。(5)員工工資信息。包括的數(shù)據(jù)項(xiàng)有員工編號,姓名,底薪,補(bǔ)貼,獎(jiǎng)金,加班,代扣養(yǎng)老金,代扣醫(yī)療保險(xiǎn),代扣住房公積金,所得稅,房貼,房租,實(shí)發(fā)工資。1.3.2 數(shù)據(jù)結(jié)構(gòu)例如說
9、,數(shù)據(jù)結(jié)構(gòu)名:員工含義說明:是人事信息管理系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了一個(gè)員工的有關(guān)信息。 組成:員工編號、性別、姓名、年齡、民族、身份證號、入職時(shí)間、部門編號、聯(lián)系電話、基本工資。1.3.3數(shù)據(jù)流例如說,數(shù)據(jù)流名:變更員工 數(shù)據(jù)流來源:員工編號 數(shù)據(jù)流去向:員工信息 說明:變動(dòng)人員的有關(guān)信息1.3.4數(shù)據(jù)存儲例如說,數(shù)據(jù)存儲名:員工信息表單流入數(shù)據(jù)流:來源員工流出數(shù)據(jù)流:去向存取方式:隨機(jī)存取說明:記錄員工信息的基本情況1.3.5存儲結(jié)構(gòu)例如工資信息中處理過程名:計(jì)算工資輸入數(shù)據(jù)流:員工,出勤信息輸出數(shù)據(jù)流:工資信息表單說明:計(jì)算公司所有員工的工資處理:在每個(gè)月的最后一天計(jì)算出每個(gè)員工的工資。
10、1.4總數(shù)據(jù)流圖人事管理 系 統(tǒng)人事信息系統(tǒng)數(shù)據(jù)庫人事信息系統(tǒng)管理員2.概念結(jié)構(gòu)設(shè)計(jì)2.1局部E-R圖2.1.1員工基本信息E-R圖圖2-1員工基本信息E-R圖職工信息工號姓名性別所屬部門年齡民族身份證號入職時(shí)間聯(lián)系電話基本工資2.1.2員工工作信息E-R圖員工工作信息工號所屬部門編號職稱工齡圖2-2 員工工作信息E-R圖2.1.3部門信息E-R圖圖2-3 部門信息E-R圖部門信息部門編號部門名稱部門經(jīng)理部門電話2.1.4工資信息E-R圖工資信息員工編號實(shí)上班天數(shù)扣款實(shí)發(fā)工資圖2-4 工資信息E-R圖2.1.5考勤信息E-R圖考勤信息缺勤早退遲到圖2-5 考勤情況E-R圖工號日期2.1.6員工
11、調(diào)動(dòng)信息E-R圖員工調(diào)動(dòng)信息調(diào)入時(shí)間工號姓名調(diào)離時(shí)間新部門原部門圖2-6 員工調(diào)動(dòng)情況E-R圖2.2全局E-R圖影響新部門原部門調(diào)離時(shí)間調(diào)入時(shí)間姓名工號員工調(diào)動(dòng)信息包括身份證號圖2-6 全局E-R圖工資工號實(shí)上班天數(shù)扣款實(shí)發(fā)工資考勤缺勤早退遲到工號影響發(fā)放給員工工號姓名性別所屬部門年齡民族入職時(shí)間聯(lián)系電話基本工資屬于部門部門編號部門名稱部門經(jīng)理部門電話包括員工工作信息工號所屬部門編號職稱工齡第三章 邏輯結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)完畢的基本ER圖轉(zhuǎn)化為與選用的具體機(jī)器上的DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符的邏輯結(jié)構(gòu)(包括數(shù)據(jù)庫模式和外模式)。這些模式在功能性、完整性和一致
12、性約束及數(shù)據(jù)庫的可擴(kuò)充性等方面應(yīng)滿足用戶的各種要求。ER圖型關(guān)系模型的轉(zhuǎn)化要解決的問題是如何將實(shí)體和實(shí)體間的關(guān)系轉(zhuǎn)化為關(guān)系模式,如何確定這些關(guān)系模式的屬性和代碼。3.1 E-R圖向關(guān)系模式轉(zhuǎn)換的原則(1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性。實(shí)體的碼就是關(guān)系的碼。(2)一個(gè)聯(lián)系轉(zhuǎn)化為一個(gè)關(guān)系模式,與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系的屬性轉(zhuǎn)化為關(guān)系的屬性,該關(guān)系的碼則有三種情況:若聯(lián)系為1:1,則每個(gè)實(shí)體的碼均是該關(guān)系的后選碼。若聯(lián)系為1:n,則關(guān)系的碼為n端實(shí)體的碼。若聯(lián)系為m:n,則關(guān)系的碼為諸實(shí)體碼的組合。 聯(lián)系為1:1一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任
13、意一端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,l 每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。如果與某一端對應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬聯(lián)系為1:n一個(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í)體的碼。如果與n端對應(yīng)的關(guān)系模式合并,則在n端實(shí)體對應(yīng)模式中加入1端實(shí)體所對應(yīng)關(guān)系模式的碼,以及聯(lián)系本身的屬性。而關(guān)系的碼為n端實(shí)體的碼。 聯(lián)系為m:n一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該
14、聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實(shí)體碼的組合。例如在我們的例子中,"選修"聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號與課程號為關(guān)系的組合碼:選修(學(xué)號,課程號,成績)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實(shí)體碼的組合。(3)同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理
15、。(4)具有相同碼的關(guān)系模式可合并。為了減少系統(tǒng)中的關(guān)系個(gè)數(shù),如果兩個(gè)關(guān)系模式具有相同的主碼,可以考慮將他們合并為一個(gè)關(guān)系模式。合并方法是將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序。3.2根據(jù)E-R圖轉(zhuǎn)換關(guān)系模式一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性。實(shí)體的碼就是關(guān)系的碼。例如在我們的例子中,員工基本信息實(shí)體可以轉(zhuǎn)換為如下關(guān)系模式:員工基本信息(工號,姓名,性別,年齡,民族,入職時(shí)間,所屬部門,聯(lián)系電話,身份證號,基本工資)同樣,員工工作信息、部門信息等都分別轉(zhuǎn)換為一個(gè)關(guān)系模式:員工的工作信息(工號,
16、所屬部門編號,職稱,工齡)部門(部門編號,部門名稱,部門經(jīng)理,部門電話)工資(工號,實(shí)上班天數(shù),實(shí)發(fā)工資,扣款)考勤(工號,缺勤,遲到,早退,日期)員工調(diào)動(dòng)信息(工號,姓名,原部門編號,新部門編號,調(diào)離時(shí)間,調(diào)入時(shí)間)3.3關(guān)系模式優(yōu)化按照上述4條原則,學(xué)生管理子系統(tǒng)中的5個(gè)實(shí)體和聯(lián)系可以轉(zhuǎn)換為下列關(guān)系模型:將員工工作信息和工資信息具有相同碼,合并為員工工作信息(工號,所屬部門編號,職稱,工齡,實(shí)上班天數(shù),實(shí)發(fā)工資,扣款)由上述優(yōu)化得到最后滿足第三范式的關(guān)系模式為:員工基本信息(工號,姓名,性別,年齡,民族,入職時(shí)間,所屬部門,聯(lián)系電話,身份證號,基本工資)員工工作信息(工號,所屬部門編號,職
17、稱,工齡,實(shí)上班天數(shù),實(shí)發(fā)工資,扣款)部門(部門編號,部門名稱,部門經(jīng)理,部門電話)考勤(工號,缺勤,遲到,早退,日期)員工調(diào)動(dòng)信息(工號,姓名,原部門編號,新部門編號,調(diào)離時(shí)間,調(diào)入時(shí)間)4.物理結(jié)構(gòu)設(shè)計(jì)4.1數(shù)據(jù)庫文件的建立 本數(shù)據(jù)庫的文件是由一個(gè)數(shù)據(jù)文件、一個(gè)次要文件和一個(gè)事務(wù)日志文件組成。數(shù)據(jù)文件包括數(shù)據(jù)庫的初始信息,記錄數(shù)據(jù)庫還擁有哪些文件,并且用于存儲數(shù)據(jù)記錄。次要文件通過在不同的物理磁盤上創(chuàng)建次要數(shù)據(jù)文件并將數(shù)據(jù)存儲其中,可將數(shù)據(jù)橫跨存儲在多塊物理磁盤上。而事務(wù)日志文件包括用來恢復(fù)數(shù)據(jù)庫的日志信息,記錄數(shù)據(jù)庫更新情況的文件。4.2數(shù)據(jù)表的建立根據(jù)課程設(shè)計(jì)任務(wù)書的要求,經(jīng)需求分析,
18、需用到五個(gè)表,分別為員工信息表,員工工作信息表,部門信息表,考勤信息表,工資信息表,員工調(diào)動(dòng)信息表。詳細(xì)情況如下:4.2.1員工基本信息表表4-1 員工信息表編號屬性名稱類型長度可否為空含義說明1員工編號char 9否標(biāo)識每一個(gè)員工2姓名char 8否員工姓名3性別char 2否標(biāo)識是男士還是女士4年齡 int 是標(biāo)識員工的年齡5民族char 4否標(biāo)識員工的民族6身份證號char 18否標(biāo)識員工的身份7入職時(shí)間datetime 否記錄員工什么時(shí)候入職8部門編號char 4是標(biāo)識員工所在部門9聯(lián)系電話char11否記錄員工的聯(lián)系方式10基本工資int 否記錄員工的基本收入4.2.2員工工作信息表
19、表4-2 員工工作信息表編號屬性名稱類型長度可否為空含義說明1員工編號char9否標(biāo)識每一個(gè)員工2部門編號char4否標(biāo)識每個(gè)部門3職稱char6是標(biāo)識每一個(gè)員工頭銜4工齡int是標(biāo)識每個(gè)員工工作時(shí)間4.2.3部門信息表表4-3 部門信息表編號屬性名稱類型長度可否為空含義說明1部門編號char4否標(biāo)識每個(gè)部門2部門名稱char8否記錄部門的名稱3部門電話char8否記錄個(gè)部門的聯(lián)系方式4部門經(jīng)理char8否記錄部門的管理人員4.2.4考勤信息表表4-4 考勤信息表編號屬性名稱類型長度可否為空含義說明1員工編號char9否標(biāo)識每一個(gè)員工2缺勤char4是記錄缺勤次數(shù)3遲到char4是記錄遲到次數(shù)
20、4早退char4是記錄早退次數(shù)5日期datetime否記錄考勤日期4.2.5工資信息表表4-5 工資信息表編號屬性名稱類型長度可否為空含義說明1員工編號char9否標(biāo)識每一個(gè)員工2實(shí)上班天數(shù)int否記錄每個(gè)員工的上班天數(shù)3實(shí)發(fā)工資int是記錄員工的實(shí)際工資4扣款int是記錄扣款信息4.2.6員工調(diào)動(dòng)信息表表4-6 員工調(diào)動(dòng)信息表編號屬性名稱類型長度可否為空含義說明1員工編號char9否標(biāo)識每一個(gè)員工2姓名char8否員工姓名3原部門編號char4是調(diào)離的部門4新部門編號char4是調(diào)入的部門5調(diào)離時(shí)間datetime是記錄調(diào)離原部門的時(shí)間6調(diào)入時(shí)間datetime是記錄調(diào)入新部門的時(shí)間4.3視
21、圖的建立視圖是一種常用的數(shù)據(jù)庫對象,是關(guān)系數(shù)據(jù)庫系統(tǒng)提供給用戶以多種角度來觀察數(shù)據(jù)的一種重要機(jī)制。使用視圖是的用戶能夠以更多樣而且更有彈性的方式來訪問數(shù)據(jù),這不僅可以確保數(shù)據(jù)庫的安全性,而且可以提高其使用的便利性。視圖的作用是可以間接的訪問其他的表或者視圖中的數(shù)據(jù)。在數(shù)據(jù)庫的應(yīng)用中使用視圖有幾方面優(yōu)點(diǎn):(1)集中數(shù)據(jù)顯示;(2)簡化數(shù)據(jù)操作;(3)提供簡便易行的安全保密措施;(4)易于合并或分割數(shù)據(jù)。相對于人事信息管理系統(tǒng),對員工基本信息的查詢較為頻繁,故創(chuàng)建一個(gè)顯示員工基本信息的視圖view_staff;結(jié)算工資時(shí),會用到員工的工資信息,故建立一個(gè)員工工資信息視圖view_gongzi,還會
22、考慮員工的出勤情況,故建立一個(gè)某個(gè)員工出勤情況的視圖view_chuqin;員工對自己的工作信息進(jìn)行查詢時(shí),要用到工作信息視圖,故建立一個(gè)工作信息視圖view_gognzuo,部門進(jìn)行管理時(shí),需要查詢部門信息,故需要建立一個(gè)部門信息視圖view_bumen等。4.4索引的建立索引是SQL Server訪問數(shù)據(jù)使用的一種輔助數(shù)據(jù)結(jié)構(gòu),主要作用是提高數(shù)據(jù)的訪問速度和確保數(shù)據(jù)的唯一性。索引是一個(gè)單獨(dú)的、物理的數(shù)據(jù)庫結(jié)構(gòu),它是某個(gè)表中一列或若干列值得集合和相應(yīng)說指向表中物理標(biāo)識這些值的數(shù)據(jù)頁的邏輯指針清單。索引是依賴于表建立的,可以有效的進(jìn)行數(shù)據(jù)選擇和排序。索引的優(yōu)點(diǎn)有:(1)利用索引可以大大提高查詢
23、速度;(2)保證數(shù)據(jù)的唯一性;(3)在使用GROUP BY和ORDER BY子句進(jìn)行檢索數(shù)據(jù)時(shí),可以顯著減少查詢中分組和排序的時(shí)間;(4)使用索引可以在檢索數(shù)據(jù)的過程中進(jìn)行優(yōu)化,提高系統(tǒng)性能;(5)可以加速表與表之間的連接。由上所述,在人事信息管理系統(tǒng)中各表的主鍵列需強(qiáng)制唯一,更按升序排列創(chuàng)建索引,便于信息的查詢搜索,建立了以下幾個(gè)索引:員工姓名聚集索引,部門名稱聚集索引,考勤編號聚集索引,工作主鍵聚集索引,身份證號唯一索引。4.5存儲過程的建立存儲過程是一組為了完成特定功能的表達(dá)式集合,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)來執(zhí)行。存儲過程可以包括程序流、邏輯以及對數(shù)據(jù)
24、庫的查詢,可以接受輸入?yún)?shù)、輸出參數(shù)、返回單個(gè)或多個(gè)結(jié)果集以及返回值。存儲過程結(jié)合了SQL的數(shù)據(jù)操作能力和過程化語言的流程控制能力,是SQL的過程化擴(kuò)展。存儲過程的優(yōu)點(diǎn):(1)允許標(biāo)準(zhǔn)組件式編程;(2)能夠?qū)崿F(xiàn)較快的執(zhí)行速度;(3)能夠有效降低網(wǎng)絡(luò)流量;(4)可被作為一種安全機(jī)制來充分利用。在人事信息管理系統(tǒng)中,首先需要?jiǎng)?chuàng)建一個(gè)存儲過程,其用于查詢數(shù)據(jù)庫中每個(gè)員工的基本信息;創(chuàng)建存儲過程,用于返回全部男士的工作信息;創(chuàng)建一個(gè)存儲過程,用于查詢員工工資信息;創(chuàng)建一個(gè)存儲過程,其用于按日期查詢每個(gè)職工的出勤情況信息;創(chuàng)建一個(gè)存儲過程,按日期查詢各部門的調(diào)動(dòng)信息。4.6觸發(fā)器的建立觸發(fā)器是一種由事件
25、驅(qū)動(dòng)的特殊的存儲過程,當(dāng)它被定義在表上時(shí),可看作表的一部分,一旦定義,任何用戶當(dāng)試圖對表進(jìn)行增加、刪除或修改操作時(shí),都由服務(wù)器自動(dòng)激活相應(yīng)的觸發(fā)器,即觸發(fā)器被請求。由此在DBMS核心層進(jìn)行集中的完整性控制。觸發(fā)器的主要作用就是:能夠?qū)崿F(xiàn)由主鍵、外鍵以及各種常規(guī)數(shù)據(jù)約束所不能保證的復(fù)雜的參照完整性和數(shù)據(jù)的一致性。所以,觸發(fā)器是一種確保數(shù)據(jù)和業(yè)務(wù)完整性的較好方法。在人事信息管理系統(tǒng)中,創(chuàng)建觸發(fā)器檢查員工的年齡,確保在0-100之間為有效年齡;創(chuàng)建觸發(fā)器,在插入、修改、刪除操作記錄時(shí),自動(dòng)顯示表中內(nèi)容;創(chuàng)建觸發(fā)器防止表中數(shù)據(jù)被惡意刪除。4.7約束的建立約束是在SQL Sever中實(shí)現(xiàn)數(shù)據(jù)完整性的一種
26、方法,它通過定義可輸入表或表的單個(gè)列中的數(shù)據(jù)的限制條件而自動(dòng)保持?jǐn)?shù)據(jù)庫完整性。SQL Sever中有5種約束:主鍵約束、外鍵約束、唯一性約束、檢查約束和默認(rèn)約束。每一種數(shù)據(jù)完整性類型,都由不同的約束類型來保障:域完整性是由默認(rèn)值或檢查約束予以保障;實(shí)體完整性則依靠逐漸或唯一約束來保障;而參照完整性就需要通過外鍵約束來保障了。5.數(shù)據(jù)庫物理實(shí)現(xiàn)5.1數(shù)據(jù)庫的建立詳細(xì)信息創(chuàng)建如下:create database rson(name=renshi_m,filename='e:rs_m.mdf',size=10mb,maxsize=100mb,filegrowth=1mb),(name
27、=company_n,filename='e:rs_m.ndf',size=10mb,maxsize=100mb,filegrowth= 1mb)log on(name=company_l,filename='e:rs_m.ldf',size=10mb,maxsize=100mb,filegrowth=1mb)Go5.2數(shù)據(jù)表的建立5.2.1創(chuàng)建員工信息表USE rsGOCREATE TABLE dbo.員工信息表(員工編號 char(9) COLLATE Chinese_PRC_CI_AS NOT NULL,姓名 char(8) COLLATE Chinese
28、_PRC_CI_AS NOT NULL,性別 char(2) COLLATE Chinese_PRC_CI_AS NOT NULL,年齡 int NOT NULL,民族 char(4) COLLATE Chinese_PRC_CI_AS NOT NULL,身份證號 char(18) COLLATE Chinese_PRC_CI_AS NOT NULL,入職時(shí)間 datetime NOT NULL,所在部門編號 char(4) COLLATE Chinese_PRC_CI_AS NOT NULL,聯(lián)系電話 char(11) COLLATE Chinese_PRC_CI_AS NOT NULL,基
29、本工資 int NOT NULL) ON PRIMARYGO5.2.2創(chuàng)建員工工作信息表USE rsGOCREATE TABLE dbo.員工工作信息表(員工編號 char(9) COLLATE Chinese_PRC_CI_AS NOT NULL,部門編號 char(4) COLLATE Chinese_PRC_CI_AS NOT NULL,職稱 char(6) COLLATE Chinese_PRC_CI_AS NULL,工齡 int NULL) ON PRIMARYGO5.2.3創(chuàng)建部門信息表USE rsGOCREATE TABLE dbo.部門信息表(部門編號 char(4) COLL
30、ATE Chinese_PRC_CI_AS NOT NULL,部門名稱 char(8) COLLATE Chinese_PRC_CI_AS NOT NULL,部門電話 char(8) COLLATE Chinese_PRC_CI_AS NOT NULL,部門經(jīng)理 char(8) COLLATE Chinese_PRC_CI_AS NOT NULL) ON PRIMARYGO5.2.4創(chuàng)建工資信息表USE rsGOCREATE TABLE dbo.工資信息表(員工編號 char(9) COLLATE Chinese_PRC_CI_AS NOT NULL,實(shí)上班天數(shù) int NOT NULL,實(shí)發(fā)
31、工資 int NULL,扣款 int NULL) ON PRIMARYGO5.2.5創(chuàng)建考勤信息表USE rsGOCREATE TABLE dbo.考勤信息表(員工編號 char(9) COLLATE Chinese_PRC_CI_AS NOT NULL,缺勤 int NULL,遲到 int NULL,早退 int NULL,日期 datetime NOT NULL) ON PRIMARYGO5.2.6創(chuàng)建員工調(diào)動(dòng)信息表USE rsGOCREATE TABLE dbo.員工調(diào)動(dòng)信息表(員工編號 char(9) COLLATE Chinese_PRC_CI_AS NOT NULL,姓名 char
32、(8) COLLATE Chinese_PRC_CI_AS NOT NULL,原部門編號 char(4) COLLATE Chinese_PRC_CI_AS NULL,新部門編號 char(4) COLLATE Chinese_PRC_CI_AS NULL,調(diào)離時(shí)間 datetime NULL,調(diào)入時(shí)間 datetime NULL) ON PRIMARYGO5.3視圖的建立5.3.1在部門信息表創(chuàng)建視圖USE rsGOCREATE VIEW dbo.部門員工工作信息ASSELECT TOP (100) PERCENT dbo.部門信息表.部門編號AS 部門的編號, dbo.部門信息表.部門名稱
33、AS 部門的名稱, dbo.員工工作信息表.員工編號, dbo.員工信息表.姓名, dbo.員工工作信息表.職稱, dbo.員工工作信息表.工齡FROM dbo.部門信息表INNER JOIN dbo.員工工作信息表ON dbo.部門信息表.部門編號= dbo.員工工作信息表.部門編號INNER JOIN dbo.員工信息表ON dbo.員工工作信息表.員工編號= dbo.員工信息表.員工編號ORDER BY dbo.員工工作信息表.員工編號GO5.3.2在工資信息表創(chuàng)建視圖USE rsGOCREATE VIEW dbo.員工工資信息ASSELECT TOP (100) PERCENT dbo
34、.工資信息表.員工編號, dbo.員工信息表.姓名, dbo.工資信息表.實(shí)上班天數(shù), dbo.工資信息表.實(shí)發(fā)工資, dbo.工資信息表.扣款FROM dbo.工資信息表INNER JOIN dbo.員工信息表ON dbo.工資信息表.員工編號= dbo.員工信息表.員工編號ORDER BY dbo.員工信息表.姓名GO5.3.3在員工工作信息表創(chuàng)建視圖USE rsGOCREATE VIEW dbo.員工工作信息ASSELECT dbo.員工工作信息表.員工編號, dbo.員工信息表.姓名, dbo.員工工作信息表.部門編號, dbo.部門信息表.部門名稱, dbo.員工工作信息表.職稱,
35、dbo.員工工作信息表.工齡FROM dbo.員工工作信息表INNER JOIN dbo.員工信息表ON dbo.員工工作信息表.員工編號= dbo.員工信息表.員工編號INNER JOIN dbo.部門信息表ON dbo.員工工作信息表.部門編號= dbo.部門信息表.部門編號GO5.3.4在考勤信息表創(chuàng)建視圖USE rsGOCREATE VIEW dbo.員工考勤信息ASSELECT dbo.考勤信息表.員工編號, dbo.考勤信息表.缺勤, dbo.考勤信息表.遲到, dbo.考勤信息表.早退, dbo.考勤信息表.日期, dbo.員工信息表.姓名FROM dbo.考勤信息表INNER
36、JOIN dbo.員工信息表ON dbo.考勤信息表.員工編號= dbo.員工信息表.員工編號GO5.3.5在員工信息表創(chuàng)建視圖USE rsGOCREATE VIEW dbo.員工信息ASSELECT dbo.員工信息表.員工編號, dbo.員工信息表.姓名, dbo.員工信息表.年齡, dbo.員工信息表.性別, dbo.員工信息表.聯(lián)系電話, dbo.員工信息表.所在部門編號, dbo.部門信息表.部門名稱, dbo.員工信息表.入職時(shí)間, dbo.員工信息表.身份證號, dbo.員工信息表.民族, dbo.員工信息表.基本工資FROM dbo.員工信息表INNER JOIN dbo.部門
37、信息表ON dbo.員工信息表.所在部門編號= dbo.部門信息表.部門編號GO5.3.6在員工調(diào)動(dòng)信息表創(chuàng)建視圖USE rsGOCREATE VIEW dbo.各部門員工調(diào)動(dòng)信息ASSELECT TOP (100) PERCENT 部門信息表_1.部門名稱AS 新部門名稱, dbo.員工調(diào)動(dòng)信息表.新部門編號, dbo.員工調(diào)動(dòng)信息表.調(diào)入時(shí)間, dbo.員工調(diào)動(dòng)信息表.員工編號, dbo.員工調(diào)動(dòng)信息表.姓名, dbo.部門信息表.部門名稱AS 原部門名稱, dbo.部門信息表.部門編號AS 原部門編號, dbo.員工調(diào)動(dòng)信息表.調(diào)離時(shí)間FROM dbo.部門信息表INNER JOIN d
38、bo.員工調(diào)動(dòng)信息表ON dbo.部門信息表.部門編號= dbo.員工調(diào)動(dòng)信息表.原部門編號INNER JOIN dbo.部門信息表AS 部門信息表_1 ON dbo.員工調(diào)動(dòng)信息表.新部門編號= 部門信息表_1.部門編號ORDER BY 原部門編號GO5.4索引的建立5.4.1在部門信息表創(chuàng)建索引部門編號唯一索引USE rsGOCREATE UNIQUE NONCLUSTERED INDEX 部門編號 ON dbo.部門信息表 (部門編號 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ON
39、LINE = OFF) ON PRIMARY部門名稱唯一索引USE rsGOCREATE UNIQUE NONCLUSTERED INDEX 部門名稱 ON dbo.部門信息表 (部門名稱 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY5.4.2在工資信息表創(chuàng)建索引扣款不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 扣款 ON dbo.工資信息表 (扣款 ASC)WITH (SORT_IN_TEMPDB = OFF
40、, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY實(shí)發(fā)工資不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 實(shí)發(fā)工資 ON dbo.工資信息表 (實(shí)發(fā)工資 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY5.4.3在考勤信息表創(chuàng)建索引遲到不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 遲到 ON dbo
41、.考勤信息表 (遲到 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY早退不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 早退 ON dbo.考勤信息表 (早退 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY5.4.4在員工調(diào)動(dòng)信息表創(chuàng)建索引原部門編號不唯一索引USE
42、 rsGOCREATE NONCLUSTERED INDEX 原部門編號 ON dbo.員工調(diào)動(dòng)信息表 (原部門編號 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY新部門編號不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 新部門編號 ON dbo.員工調(diào)動(dòng)信息表 (新部門編號 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY =
43、OFF, ONLINE = OFF) ON PRIMARY5.4.5在員工工作信息表創(chuàng)建索引工齡不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 工齡 ON dbo.員工工作信息表 (工齡 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY職稱不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 職稱 ON dbo.員工工作信息表 (職稱 ASC)WITH (SORT_IN_TEMPDB = OF
44、F, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY5.4.6在員工信息表創(chuàng)建索引員工編號唯一索引USE rsGOCREATE UNIQUE NONCLUSTERED INDEX 員工編號 ON dbo.員工信息表 (員工編號 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY姓名不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 姓名
45、 ON dbo.員工信息表 (姓名 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY5.5儲存過程的建立5.5.1創(chuàng)建存儲過程,返回全部男士的工資信息use rsgo create procedure gongzuo_maleasselect 員工信息表.姓名,性別,實(shí)發(fā)工資from 員工信息表,工資信息表where 員工信息表.員工編號=工資信息表.員工編號and 員工信息表.性別='男'go5.5.2創(chuàng)建存儲過程,其用于查詢數(shù)
46、據(jù)庫中每個(gè)員工的基本信息use rsgo create procedure gongzuoasselect 員工信息表.員工編號,姓名,性別,年齡,民族,身份證號,入職時(shí)間,聯(lián)系電話,基本工資from 員工信息表go5.5.3創(chuàng)建存儲過程,用于按日期統(tǒng)查詢每個(gè)職工的出勤信息use rsgo create procedure kaoqinasselect 考勤信息表.日期,員工編號,遲到,早退,缺勤from 考勤信息表go5.5.4創(chuàng)建一個(gè)存儲過程,用于查詢員工工作信息use rsgo create procedure gongziasselect 員工工作信息表.員工編號,姓名,部門編號,職稱
47、,工齡from 員工工作信息表,員工信息表where 員工工作信息表.員工編號=員工信息表.員工編號go5.5.5創(chuàng)建一個(gè)存儲過程,按日期查詢各部門的調(diào)動(dòng)信息use rsgo create procedure diaodongasselect 員工調(diào)動(dòng)信息表.調(diào)入時(shí)間,員工編號,姓名,新部門編號,原部門編號,調(diào)入時(shí)間from 員工調(diào)動(dòng)信息表go5.6觸發(fā)器的建立5.6.1創(chuàng)建觸發(fā)器檢查員工的年齡,確保在0-100之間為有效年齡use rsgocreate trigger age_0_100 on 員工信息表for insert,updateas declare 年齡int select 年齡=年齡from insertedif 年齡<0 and 年齡>100 beginrollbackprint('年齡必須在0-100')End5.6.2創(chuàng)建觸發(fā)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 承包合同終止協(xié)議
- 木材公司銷售合同
- 平面模特拍攝合同
- 電力施工勞務(wù)合同
- 漫畫助理外包合同
- 油漆勞務(wù)分包合同協(xié)議書
- 無人機(jī)物流配送運(yùn)營合作項(xiàng)目合同
- 商丘幼兒師范高等??茖W(xué)校《旅行社經(jīng)營管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東管理學(xué)院《高階地質(zhì)資源勘查與評價(jià)》2023-2024學(xué)年第二學(xué)期期末試卷
- 文華學(xué)院《地理科學(xué)類專業(yè)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 《公路路基路面現(xiàn)場測試規(guī)程》(3450-2019)
- 對北京古建筑天壇的調(diào)查報(bào)告
- E時(shí)代大學(xué)英語-讀寫教程2 第五單元
- 部編版三年級語文下冊第一單元《1.古詩三首-絕句》教案
- 小學(xué)三年級語文質(zhì)量分析課件
- 腹腔化療腫瘤課件
- 四川省成都市武侯區(qū)2022-2023學(xué)年七年級下學(xué)期期末英語試卷(含答案)
- 腦卒中患者護(hù)理查房
- 智能機(jī)器人與傳感器PPT完整全套教學(xué)課件
- 高效空調(diào)制冷機(jī)房智能控制系統(tǒng)技術(shù)規(guī)程
- 《動(dòng)物王國開大會》說課PPT
評論
0/150
提交評論