人事信息管理系統(tǒng)后臺數(shù)據(jù)庫設(shè)計_第1頁
人事信息管理系統(tǒng)后臺數(shù)據(jù)庫設(shè)計_第2頁
人事信息管理系統(tǒng)后臺數(shù)據(jù)庫設(shè)計_第3頁
人事信息管理系統(tǒng)后臺數(shù)據(jù)庫設(shè)計_第4頁
人事信息管理系統(tǒng)后臺數(shù)據(jù)庫設(shè)計_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)庫管理系統(tǒng)課程設(shè)計報告題 目: 人事信息管理系統(tǒng)的后臺數(shù)據(jù)庫設(shè)計院 (系): 信息科學(xué)與工程學(xué)院 專業(yè)班級: 計算機(jī)科學(xué)與技術(shù)*班 學(xué)生姓名: * 學(xué) 號: * 指導(dǎo)教師: 陳 頡 20 13 年 1 月 7 日至20 13 年 1 月 18 日華中科技大學(xué)武昌分校制 數(shù)據(jù)庫管理系統(tǒng) 課程設(shè)計任務(wù)書一、設(shè)計(調(diào)查報告/論文)題目 人事信息管理系統(tǒng)的后臺數(shù)據(jù)庫設(shè)計二、設(shè)計(調(diào)查報告/論文)主要內(nèi)容 內(nèi)容:完成人事信息的管理工作,實現(xiàn)各部門的信息化管理,滿足員工與管理者的辦公需求,例如員工查詢信息、管理員修改信息等,要求設(shè)計并實現(xiàn)人事信息管理系統(tǒng)的后臺數(shù)據(jù)庫。 基本功

2、能與要求:1.在人事管理過程中,實現(xiàn)信息的自動化管理。2.實現(xiàn)各種信息的修改、插入、刪除功能(對管理員而言)。3.實現(xiàn)對各種信息的查詢、統(tǒng)計,支持模糊查詢(對員工和管理員均可)。4.按照年份月份統(tǒng)計某個員工的出勤情況。5.按照某年某月某日統(tǒng)計查詢某部門的遲到和早退人數(shù)。6.按年統(tǒng)計各部門的調(diào)入調(diào)出人數(shù)信息。 分工任務(wù):1 需求分析 2 數(shù)據(jù)庫物理實現(xiàn) 3系統(tǒng)后臺功能測試三、原始資料1.數(shù)據(jù)庫管理系統(tǒng)課程設(shè)計指導(dǎo)書2. 數(shù)據(jù)庫系統(tǒng)設(shè)計課件四、要求的設(shè)計(調(diào)查/論文)成果1.課程設(shè)計報告2.課程設(shè)計作品五、進(jìn)程安排序號課程設(shè)計內(nèi)容學(xué)時分配備注1選題、需求分析1天2數(shù)據(jù)庫設(shè)計2天3數(shù)據(jù)庫表及相關(guān)約束

3、、視圖實現(xiàn)2天4數(shù)據(jù)庫的存儲過程、觸發(fā)器實現(xiàn)2天5數(shù)據(jù)庫后臺功能測試2天6驗收答辯、撰寫課程設(shè)計報告1天合計10天六、主要參考資料1 顧兵.數(shù)據(jù)庫技術(shù)與應(yīng)用(SQL Server).北京:清華大學(xué)出版社,2010.2 馬曉梅.SQL Server實驗指導(dǎo).第3版.北京:清華大學(xué)出版社,2009.3 范立南等.SQL Server 2005實用教程.北京:清華大學(xué)出版社,2009.4 李丹.SQL Server 2005數(shù)據(jù)庫管理與開發(fā).北京:機(jī)械工業(yè)出版社,2010.指導(dǎo)教師(簽名): 20 年 月 日專心-專注-專業(yè)目 錄 1.需求分析1 1.1系統(tǒng)功能的基本要求1 1.2系統(tǒng)需求分析1 1

4、.3 數(shù)據(jù)字典2 1.4 數(shù)據(jù)流圖3 2.概念結(jié)構(gòu)設(shè)計4 2.1 局部E-R圖4 2.2 全局E-R圖6 3.邏輯結(jié)構(gòu)設(shè)計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è)計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ù)庫的物理實現(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

5、 6.系統(tǒng)后臺功能測試34 7.總結(jié)371.需求分析開發(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)入到各個管理功能模塊中。管理者能夠根據(jù)企業(yè)的實際來實時地改變系統(tǒng)中機(jī)構(gòu)組織,主要的改變包括:當(dāng)有新部門成立時,要將新部門加入到系統(tǒng)中;當(dāng)有部門發(fā)生變更時,如更名,上級部門改變了等,要將變更信息在系統(tǒng)中及時更新;(2)員工各種信息的輸入,包括員工的基

6、本信息、學(xué)歷信息、婚姻狀況信息、職稱等。(3)員工各種信息的修改和刪除。修改的范圍有:人員的基本信息;將人員從一個部門下移到另一個部門下。對于轉(zhuǎn)出、辭職、辭退、退休員工信息的刪除;(4)按照一定的條件,查詢、統(tǒng)計符合條件的員工信息;至少應(yīng)該包括每個員工詳細(xì)信息的查詢、按婚姻狀況查詢、按學(xué)歷查詢、按工作崗位查詢等,至少應(yīng)該包括按學(xué)歷、婚姻狀況、崗位、參加工作時間等統(tǒng)計各自的員工信息;1.2系統(tǒng)需求分析1.2.1系統(tǒng)功能流程圖職工基本信息管理人事管理系統(tǒng)信息的修改插入刪除圖1-1人事管理系統(tǒng)總數(shù)據(jù)流程圖查詢統(tǒng)計員工調(diào)動信息管理工資管理工作信息管理部門信息管理考勤信息統(tǒng)計1.2.2系統(tǒng)主要功能模塊分

7、析(1)基本信息模塊。主要包括企業(yè)員工的基本信息,如姓名、性別、學(xué)歷、婚姻狀況、聯(lián)系方式等。職工登錄后可以查詢個人信息; 管理員可以負(fù)責(zé)維護(hù)職工基本信息和職工流動信息。(2)員工工作信息模塊。主要顯示員工在公司的情況。(3)部門信息模塊。主要記錄企業(yè)的組織機(jī)構(gòu)信息。(4)考勤信息模塊。主要包含員工上下班的出勤情況,如遲到、休假等。(5)工資信息模塊。主要包括員工的工資信息。(6)查詢統(tǒng)計模塊。主要為實現(xiàn)上述信息的查詢和統(tǒng)計,并能夠生成相關(guān)報表文件。 1.3數(shù)據(jù)字典數(shù)據(jù)字典的用途:是關(guān)于數(shù)據(jù)庫中數(shù)據(jù)的描述;在需求分析階段建立,是下一步進(jìn)行概念設(shè)計的基礎(chǔ)數(shù)據(jù)字典的內(nèi)容:數(shù)據(jù)項(數(shù)據(jù)的最小單位)、數(shù)

8、據(jù)結(jié)構(gòu)(若干數(shù)據(jù)項有意義的集合)、數(shù)據(jù)流(表示某一處理過程的輸入或輸出)、數(shù)據(jù)存儲(處理過程中存取的數(shù)據(jù))、處理過程(該過程的功能)等1.3.1數(shù)據(jù)項(1)員工基本情況。包括的數(shù)據(jù)項有員工編號,姓名,性別,年齡,名族,入職時間,所屬部門,聯(lián)系電話,身份證號,基本工資。(2)員工工作信息。包括的數(shù)據(jù)項有員工編號、所屬部門編號、職稱、工齡。(3)部門信息。包括的數(shù)據(jù)項有部門編號、部門名稱、部門電話、部門經(jīng)理。(4)員工考勤信息。包括的數(shù)據(jù)項有員工編號、缺勤、遲到、早退。(5)員工工資信息。包括的數(shù)據(jù)項有員工編號,姓名,底薪,補(bǔ)貼,獎金,加班,代扣養(yǎng)老金,代扣醫(yī)療保險,代扣住房公積金,所得稅,房貼,

9、房租,實發(fā)工資。1.3.2 數(shù)據(jù)結(jié)構(gòu)例如說,數(shù)據(jù)結(jié)構(gòu)名:員工含義說明:是人事信息管理系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了一個員工的有關(guān)信息。 組成:員工編號、性別、姓名、年齡、民族、身份證號、入職時間、部門編號、聯(lián)系電話、基本工資。1.3.3數(shù)據(jù)流例如說,數(shù)據(jù)流名:變更員工 數(shù)據(jù)流來源:員工編號 數(shù)據(jù)流去向:員工信息 說明:變動人員的有關(guān)信息1.3.4數(shù)據(jù)存儲例如說,數(shù)據(jù)存儲名:員工信息表單流入數(shù)據(jù)流:來源員工流出數(shù)據(jù)流:去向存取方式:隨機(jī)存取說明:記錄員工信息的基本情況1.3.5存儲結(jié)構(gòu)例如工資信息中處理過程名:計算工資輸入數(shù)據(jù)流:員工,出勤信息輸出數(shù)據(jù)流:工資信息表單說明:計算公司所有員工的工資處理

10、:在每個月的最后一天計算出每個員工的工資。1.4總數(shù)據(jù)流圖人事管理 系 統(tǒng)人事信息系統(tǒng)數(shù)據(jù)庫人事信息系統(tǒng)管理員2.概念結(jié)構(gòu)設(shè)計2.1局部E-R圖2.1.1員工基本信息E-R圖圖2-1員工基本信息E-R圖職工信息工號姓名性別所屬部門年齡民族身份證號入職時間聯(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ù)扣款實發(fā)工資圖2-4 工資信息E-R圖2.1.5考勤信息E-R圖考勤信息缺勤早退遲到圖2-

11、5 考勤情況E-R圖工號日期2.1.6員工調(diào)動信息E-R圖員工調(diào)動信息調(diào)入時間工號姓名調(diào)離時間新部門原部門圖2-6 員工調(diào)動情況E-R圖2.2全局E-R圖影響新部門原部門調(diào)離時間調(diào)入時間姓名工號員工調(diào)動信息包括身份證號圖2-6 全局E-R圖工資工號實上班天數(shù)扣款實發(fā)工資考勤缺勤早退遲到工號影響發(fā)放給員工工號姓名性別所屬部門年齡民族入職時間聯(lián)系電話基本工資屬于部門部門編號部門名稱部門經(jīng)理部門電話包括員工工作信息工號所屬部門編號職稱工齡第三章 邏輯結(jié)構(gòu)設(shè)計 邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計完畢的基本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)化要解決的問題是如何將實體和實體間的關(guān)系轉(zhuǎn)化為關(guān)系模式,如何確定這些關(guān)系模式的屬性和代碼。3.1 E-R圖向關(guān)系模式轉(zhuǎn)換的原則(1)一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性。實體的碼就是關(guān)系的碼。(2)一個聯(lián)系轉(zhuǎn)化為一個關(guān)系模式,與該聯(lián)系相連的各實體的碼以及聯(lián)系的屬性轉(zhuǎn)化為關(guān)系的屬性,該關(guān)系的碼則有三種情況:若聯(lián)系為1:1,則每個實體的碼均是該關(guān)系的后選碼。若聯(lián)系為1:n,則關(guān)系的碼為n端實體的碼。若聯(lián)系為m:n,則關(guān)系的碼為諸實體碼的組合。 聯(lián)系為1:1一個1:1聯(lián)

13、系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,l 每個實體的碼均是該關(guān)系的候選碼。如果與某一端對應(yīng)的關(guān)系模式合并,則需要在該關(guān)系模式的屬聯(lián)系為1:n一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。如果與n端對應(yīng)的關(guān)系模式合并,則在n端實體對應(yīng)模式中加入1端實體所對應(yīng)關(guān)系模式的碼,以及聯(lián)系本身的屬性。而關(guān)系的碼為n端實體的碼。 聯(lián)系為m

14、:n一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實體碼的組合。例如在我們的例子中,"選修"聯(lián)系是一個m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號與課程號為關(guān)系的組合碼:選修(學(xué)號,課程號,成績)三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系的碼為各實體碼的組合。(3)同一實體集的實體間的聯(lián)系,即自聯(lián)系,也可按

15、上述1:1、1:n和m:n三種情況分別處理。(4)具有相同碼的關(guān)系模式可合并。為了減少系統(tǒng)中的關(guān)系個數(shù),如果兩個關(guān)系模式具有相同的主碼,可以考慮將他們合并為一個關(guān)系模式。合并方法是將其中一個關(guān)系模式的全部屬性加入到另一個關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序。3.2根據(jù)E-R圖轉(zhuǎn)換關(guān)系模式一個實體型轉(zhuǎn)換為一個關(guān)系模式。實體的屬性就是關(guān)系的屬性。實體的碼就是關(guān)系的碼。例如在我們的例子中,員工基本信息實體可以轉(zhuǎn)換為如下關(guān)系模式:員工基本信息(工號,姓名,性別,年齡,民族,入職時間,所屬部門,聯(lián)系電話,身份證號,基本工資)同樣,員工工作信息、部門信息等都分別

16、轉(zhuǎn)換為一個關(guān)系模式:員工的工作信息(工號,所屬部門編號,職稱,工齡)部門(部門編號,部門名稱,部門經(jīng)理,部門電話)工資(工號,實上班天數(shù),實發(fā)工資,扣款)考勤(工號,缺勤,遲到,早退,日期)員工調(diào)動信息(工號,姓名,原部門編號,新部門編號,調(diào)離時間,調(diào)入時間)3.3關(guān)系模式優(yōu)化按照上述4條原則,學(xué)生管理子系統(tǒng)中的5個實體和聯(lián)系可以轉(zhuǎn)換為下列關(guān)系模型:將員工工作信息和工資信息具有相同碼,合并為員工工作信息(工號,所屬部門編號,職稱,工齡,實上班天數(shù),實發(fā)工資,扣款)由上述優(yōu)化得到最后滿足第三范式的關(guān)系模式為:員工基本信息(工號,姓名,性別,年齡,民族,入職時間,所屬部門,聯(lián)系電話,身份證號,基本

17、工資)員工工作信息(工號,所屬部門編號,職稱,工齡,實上班天數(shù),實發(fā)工資,扣款)部門(部門編號,部門名稱,部門經(jīng)理,部門電話)考勤(工號,缺勤,遲到,早退,日期)員工調(diào)動信息(工號,姓名,原部門編號,新部門編號,調(diào)離時間,調(diào)入時間)4.物理結(jié)構(gòu)設(shè)計4.1數(shù)據(jù)庫文件的建立 本數(shù)據(jù)庫的文件是由一個數(shù)據(jù)文件、一個次要文件和一個事務(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ù)表的

18、建立根據(jù)課程設(shè)計任務(wù)書的要求,經(jīng)需求分析,需用到五個表,分別為員工信息表,員工工作信息表,部門信息表,考勤信息表,工資信息表,員工調(diào)動信息表。詳細(xì)情況如下:4.2.1員工基本信息表表4-1 員工信息表編號屬性名稱類型長度可否為空含義說明1員工編號char 9否標(biāo)識每一個員工2姓名char 8否員工姓名3性別char 2否標(biāo)識是男士還是女士4年齡 int 是標(biāo)識員工的年齡5民族char 4否標(biāo)識員工的民族6身份證號char 18否標(biāo)識員工的身份7入職時間datetime 否記錄員工什么時候入職8部門編號char 4是標(biāo)識員工所在部門9聯(lián)系電話char11否記錄員工的聯(lián)系方式10基本工資int 否

19、記錄員工的基本收入4.2.2員工工作信息表表4-2 員工工作信息表編號屬性名稱類型長度可否為空含義說明1員工編號char9否標(biāo)識每一個員工2部門編號char4否標(biāo)識每個部門3職稱char6是標(biāo)識每一個員工頭銜4工齡int是標(biāo)識每個員工工作時間4.2.3部門信息表表4-3 部門信息表編號屬性名稱類型長度可否為空含義說明1部門編號char4否標(biāo)識每個部門2部門名稱char8否記錄部門的名稱3部門電話char8否記錄個部門的聯(lián)系方式4部門經(jīng)理char8否記錄部門的管理人員4.2.4考勤信息表表4-4 考勤信息表編號屬性名稱類型長度可否為空含義說明1員工編號char9否標(biāo)識每一個員工2缺勤char4是

20、記錄缺勤次數(shù)3遲到char4是記錄遲到次數(shù)4早退char4是記錄早退次數(shù)5日期datetime否記錄考勤日期4.2.5工資信息表表4-5 工資信息表編號屬性名稱類型長度可否為空含義說明1員工編號char9否標(biāo)識每一個員工2實上班天數(shù)int否記錄每個員工的上班天數(shù)3實發(fā)工資int是記錄員工的實際工資4扣款int是記錄扣款信息4.2.6員工調(diào)動信息表表4-6 員工調(diào)動信息表編號屬性名稱類型長度可否為空含義說明1員工編號char9否標(biāo)識每一個員工2姓名char8否員工姓名3原部門編號char4是調(diào)離的部門4新部門編號char4是調(diào)入的部門5調(diào)離時間datetime是記錄調(diào)離原部門的時間6調(diào)入時間da

21、tetime是記錄調(diào)入新部門的時間4.3視圖的建立視圖是一種常用的數(shù)據(jù)庫對象,是關(guān)系數(shù)據(jù)庫系統(tǒng)提供給用戶以多種角度來觀察數(shù)據(jù)的一種重要機(jī)制。使用視圖是的用戶能夠以更多樣而且更有彈性的方式來訪問數(shù)據(jù),這不僅可以確保數(shù)據(jù)庫的安全性,而且可以提高其使用的便利性。視圖的作用是可以間接的訪問其他的表或者視圖中的數(shù)據(jù)。在數(shù)據(jù)庫的應(yīng)用中使用視圖有幾方面優(yōu)點:(1)集中數(shù)據(jù)顯示;(2)簡化數(shù)據(jù)操作;(3)提供簡便易行的安全保密措施;(4)易于合并或分割數(shù)據(jù)。相對于人事信息管理系統(tǒng),對員工基本信息的查詢較為頻繁,故創(chuàng)建一個顯示員工基本信息的視圖view_staff;結(jié)算工資時,會用到員工的工資信息,故建立一個員

22、工工資信息視圖view_gongzi,還會考慮員工的出勤情況,故建立一個某個員工出勤情況的視圖view_chuqin;員工對自己的工作信息進(jìn)行查詢時,要用到工作信息視圖,故建立一個工作信息視圖view_gognzuo,部門進(jìn)行管理時,需要查詢部門信息,故需要建立一個部門信息視圖view_bumen等。4.4索引的建立索引是SQL Server訪問數(shù)據(jù)使用的一種輔助數(shù)據(jù)結(jié)構(gòu),主要作用是提高數(shù)據(jù)的訪問速度和確保數(shù)據(jù)的唯一性。索引是一個單獨的、物理的數(shù)據(jù)庫結(jié)構(gòu),它是某個表中一列或若干列值得集合和相應(yīng)說指向表中物理標(biāo)識這些值的數(shù)據(jù)頁的邏輯指針清單。索引是依賴于表建立的,可以有效的進(jìn)行數(shù)據(jù)選擇和排序。索

23、引的優(yōu)點有:(1)利用索引可以大大提高查詢速度;(2)保證數(shù)據(jù)的唯一性;(3)在使用GROUP BY和ORDER BY子句進(jìn)行檢索數(shù)據(jù)時,可以顯著減少查詢中分組和排序的時間;(4)使用索引可以在檢索數(shù)據(jù)的過程中進(jìn)行優(yōu)化,提高系統(tǒng)性能;(5)可以加速表與表之間的連接。由上所述,在人事信息管理系統(tǒng)中各表的主鍵列需強(qiáng)制唯一,更按升序排列創(chuàng)建索引,便于信息的查詢搜索,建立了以下幾個索引:員工姓名聚集索引,部門名稱聚集索引,考勤編號聚集索引,工作主鍵聚集索引,身份證號唯一索引。4.5存儲過程的建立存儲過程是一組為了完成特定功能的表達(dá)式集合,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)來執(zhí)

24、行。存儲過程可以包括程序流、邏輯以及對數(shù)據(jù)庫的查詢,可以接受輸入?yún)?shù)、輸出參數(shù)、返回單個或多個結(jié)果集以及返回值。存儲過程結(jié)合了SQL的數(shù)據(jù)操作能力和過程化語言的流程控制能力,是SQL的過程化擴(kuò)展。存儲過程的優(yōu)點:(1)允許標(biāo)準(zhǔn)組件式編程;(2)能夠?qū)崿F(xiàn)較快的執(zhí)行速度;(3)能夠有效降低網(wǎng)絡(luò)流量;(4)可被作為一種安全機(jī)制來充分利用。在人事信息管理系統(tǒng)中,首先需要創(chuàng)建一個存儲過程,其用于查詢數(shù)據(jù)庫中每個員工的基本信息;創(chuàng)建存儲過程,用于返回全部男士的工作信息;創(chuàng)建一個存儲過程,用于查詢員工工資信息;創(chuàng)建一個存儲過程,其用于按日期查詢每個職工的出勤情況信息;創(chuàng)建一個存儲過程,按日期查詢各部門的調(diào)動

25、信息。4.6觸發(fā)器的建立觸發(fā)器是一種由事件驅(qū)動的特殊的存儲過程,當(dāng)它被定義在表上時,可看作表的一部分,一旦定義,任何用戶當(dāng)試圖對表進(jìn)行增加、刪除或修改操作時,都由服務(wù)器自動激活相應(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ā)器,在插入、修改、刪除操作記錄時,自動顯示表中內(nèi)容;創(chuàng)建觸發(fā)器防止表中數(shù)據(jù)被惡意刪除。4.7約束的建立約束是

26、在SQL Sever中實現(xiàn)數(shù)據(jù)完整性的一種方法,它通過定義可輸入表或表的單個列中的數(shù)據(jù)的限制條件而自動保持?jǐn)?shù)據(jù)庫完整性。SQL Sever中有5種約束:主鍵約束、外鍵約束、唯一性約束、檢查約束和默認(rèn)約束。每一種數(shù)據(jù)完整性類型,都由不同的約束類型來保障:域完整性是由默認(rèn)值或檢查約束予以保障;實體完整性則依靠逐漸或唯一約束來保障;而參照完整性就需要通過外鍵約束來保障了。5.數(shù)據(jù)庫物理實現(xiàn)5.1數(shù)據(jù)庫的建立詳細(xì)信息創(chuàng)建如下:create database rson(name=renshi_m,filename='e:rs_m.mdf',size=10mb,maxsize=100mb,

27、filegrowth=1mb),(name=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,姓名 ch

28、ar(8) COLLATE Chinese_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,入職時間 datetime NOT NULL,所在部門編號 char(4) COLLATE Chinese_PRC_CI_AS NOT NULL,聯(lián)系電話 char(11) COLLATE Chinese

29、_PRC_CI_AS NOT NULL,基本工資 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.部門

30、信息表(部門編號 char(4) COLLATE 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,

31、實上班天數(shù) int NOT NULL,實發(fā)工資 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)動信息表USE rsGOCREATE TABLE dbo.員工調(diào)動信息表(員工編號 char(9) COLLATE Chinese_PRC_C

32、I_AS NOT NULL,姓名 char(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)離時間 datetime NULL,調(diào)入時間 datetime NULL) ON PRIMARYGO5.3視圖的建立5.3.1在部門信息表創(chuàng)建視圖USE rsGOCREATE VIEW dbo.部門員工工作信息ASSELECT TOP (100) PERCENT dbo.部門信息表.部門編號AS

33、部門的編號, dbo.部門信息表.部門名稱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

34、TOP (100) PERCENT dbo.工資信息表.員工編號, dbo.員工信息表.姓名, dbo.工資信息表.實上班天數(shù), dbo.工資信息表.實發(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.部門信息表.部

35、門名稱, dbo.員工工作信息表.職稱, 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.員工信息表.姓

36、名FROM dbo.考勤信息表INNER 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.員工信息表.入職時間, dbo.員工信息表.身份證號, dbo.員工信息表.民族, dbo.員工信息表.基本工資FROM dbo.員

37、工信息表INNER JOIN dbo.部門信息表ON dbo.員工信息表.所在部門編號= dbo.部門信息表.部門編號GO5.3.6在員工調(diào)動信息表創(chuàng)建視圖USE rsGOCREATE VIEW dbo.各部門員工調(diào)動信息ASSELECT TOP (100) PERCENT 部門信息表_1.部門名稱AS 新部門名稱, dbo.員工調(diào)動信息表.新部門編號, dbo.員工調(diào)動信息表.調(diào)入時間, dbo.員工調(diào)動信息表.員工編號, dbo.員工調(diào)動信息表.姓名, dbo.部門信息表.部門名稱AS 原部門名稱, dbo.部門信息表.部門編號AS 原部門編號, dbo.員工調(diào)動信息表.調(diào)離時間FROM

38、dbo.部門信息表INNER JOIN dbo.員工調(diào)動信息表ON dbo.部門信息表.部門編號= dbo.員工調(diào)動信息表.原部門編號INNER JOIN dbo.部門信息表AS 部門信息表_1 ON dbo.員工調(diào)動信息表.新部門編號= 部門信息表_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, IGN

39、ORE_DUP_KEY = OFF, ONLINE = 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

40、(SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY實發(fā)工資不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 實發(fā)工資 ON dbo.工資信息表 (實發(fā)工資 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY5.4.3在考勤信息表創(chuàng)建索引遲到不唯一索引USE rsGOCREATE NONCLUS

41、TERED 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 = OFF, DROP_EXISTING = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF) ON PRIMARY5.4.4在員工調(diào)

42、動信息表創(chuàng)建索引原部門編號不唯一索引USE rsGOCREATE NONCLUSTERED INDEX 原部門編號 ON dbo.員工調(diào)動信息表 (原部門編號 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)動信息表 (新部門編號 ASC)WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = O

43、FF, IGNORE_DUP_KEY = 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

44、 (SORT_IN_TEMPDB = OFF, 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

45、NONCLUSTERED INDEX 姓名 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 員工信息表.姓名,性別,實發(fā)工資from 員工信息表,工資信息表where 員工信息表.員工編號=工資信息表.員工編號and 員工信息表.性別='男'

46、;go5.5.2創(chuàng)建存儲過程,其用于查詢數(shù)據(jù)庫中每個員工的基本信息use rsgo create procedure gongzuoasselect 員工信息表.員工編號,姓名,性別,年齡,民族,身份證號,入職時間,聯(lián)系電話,基本工資from 員工信息表go5.5.3創(chuàng)建存儲過程,用于按日期統(tǒng)查詢每個職工的出勤信息use rsgo create procedure kaoqinasselect 考勤信息表.日期,員工編號,遲到,早退,缺勤from 考勤信息表go5.5.4創(chuàng)建一個存儲過程,用于查詢員工工作信息use rsgo create procedure gongziasselect 員工

47、工作信息表.員工編號,姓名,部門編號,職稱,工齡from 員工工作信息表,員工信息表where 員工工作信息表.員工編號=員工信息表.員工編號go5.5.5創(chuàng)建一個存儲過程,按日期查詢各部門的調(diào)動信息use rsgo create procedure diaodongasselect 員工調(diào)動信息表.調(diào)入時間,員工編號,姓名,新部門編號,原部門編號,調(diào)入時間from 員工調(diào)動信息表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('

溫馨提示

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

最新文檔

評論

0/150

提交評論