版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p> 課程名稱 數(shù)據(jù)庫系統(tǒng)概論 </p><p> 題目名稱 工資信息管理系統(tǒng) </p><p> 學(xué)生學(xué)院 計(jì) 算 機(jī) </p><p> 專業(yè)班級(jí) 計(jì)算機(jī)科學(xué)與計(jì)算</p>
2、<p> 學(xué) 號(hào) </p><p> 學(xué)生姓名 </p><p> 指導(dǎo)教師 </p><p> 2013 年 1 月 15 日</p><p><b> 目 錄<
3、/b></p><p><b> 一、 引言3</b></p><p><b> 1.1課題來源3</b></p><p> 1.2課題研究主要內(nèi)容4</p><p><b> 1.3主要工作4</b></p><p><b&
4、gt; 二、 需求分析5</b></p><p> 2.1、數(shù)據(jù)流圖5</p><p> 2.2、數(shù)據(jù)字典6</p><p><b> 1)、數(shù)據(jù)項(xiàng)6</b></p><p> 2)、數(shù)據(jù)結(jié)構(gòu)描述7</p><p> 3)、數(shù)據(jù)流的描述8</p>
5、<p> 4)、主要數(shù)據(jù)存儲(chǔ)的定義8</p><p> 三、概念結(jié)構(gòu)設(shè)計(jì)9</p><p> 3.1數(shù)據(jù)實(shí)體描述及分ER圖9</p><p> 3.2整體ER圖11</p><p> 四、系統(tǒng)概要設(shè)計(jì)11</p><p> 4.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)11</p><p
6、> 4.2數(shù)據(jù)庫物理設(shè)計(jì)13</p><p> 4.3系統(tǒng)總體框架13</p><p> 五、系統(tǒng)詳細(xì)設(shè)計(jì)14</p><p> 5.1數(shù)據(jù)庫實(shí)施14</p><p> 1)、建立數(shù)據(jù)庫14</p><p> 2)、建數(shù)據(jù)庫中的基本表15</p><p> 3)、
7、數(shù)據(jù)裝載17</p><p> 4)、創(chuàng)建視圖18</p><p> 5)、存儲(chǔ)過程設(shè)計(jì)19</p><p> 6)、促發(fā)器設(shè)計(jì)19</p><p> 7)、創(chuàng)建索引20</p><p> 5.2數(shù)據(jù)庫的數(shù)據(jù)完整性設(shè)計(jì)20</p><p> 5.3數(shù)據(jù)的安全設(shè)計(jì)20&l
8、t;/p><p> 5.4系統(tǒng)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)21</p><p> 5.5系統(tǒng)功能測試22</p><p> 5.6數(shù)據(jù)庫性能檢測與備份設(shè)計(jì)29</p><p> 5.7系統(tǒng)安裝使用說明31</p><p> 六、回顧與展望32</p><p><b> 參考文
9、獻(xiàn)33</b></p><p><b> 一、 引言</b></p><p><b> 1.1課題來源</b></p><p> 隨著經(jīng)濟(jì)的發(fā)展,企業(yè)正向著大型化、規(guī)?;l(fā)展,而對于大中型企業(yè),員工、職稱等跟工資管理有關(guān)的信息隨之急劇增加。在這種情況下單靠人工來處理員工的工資不但顯得力不從心,而且極容易
10、出錯(cuò)。如何設(shè)計(jì)一個(gè)小型企業(yè)工資信息的數(shù)據(jù)庫管理系統(tǒng),由計(jì)算機(jī)代替人工執(zhí)行一系列諸如增加新員工,刪除舊員工,工資查詢,統(tǒng)計(jì)等操作。這樣就使辦公人員可以輕松快捷地完成工資信息管理的任務(wù)。 </p><p> 對于企、事業(yè)單位的工資發(fā)放來說,不需要太大型的數(shù)據(jù)庫系統(tǒng)。只需要一個(gè)操作方便,功能實(shí)用,能同時(shí)滿足財(cái)務(wù)部門、單位其他相關(guān)部門及代發(fā)單位三方對數(shù)據(jù)的管理及需求的系統(tǒng)。企業(yè)的目標(biāo)就是在于利用編程軟件開發(fā)一個(gè)功能實(shí)用
11、,用戶操作方便,簡單明了的工資信息管理程序。 </p><p> 實(shí)現(xiàn)工資的集中管理??晒┴?cái)務(wù)人員對本單位的人員以及工資進(jìn)行增加、刪除、修改、查詢,對工資發(fā)放中的應(yīng)發(fā)工資合計(jì)等項(xiàng)目由系統(tǒng)自動(dòng)進(jìn)行計(jì)算;同時(shí)系統(tǒng)還可對員工及工資信息管理情況進(jìn)行多角度查詢。 </p><p> 基于以上原因,企業(yè)工資信息管理系統(tǒng)使用電腦安全保存、快速計(jì)算、全面統(tǒng)計(jì),實(shí)現(xiàn)工資信息管理的系統(tǒng)化、規(guī)范化、自動(dòng)化。
12、以Delphi7.0和SQL SERVER 2008為語言編寫管理信息系統(tǒng)的過程。該程序通過Delphi的ADO數(shù)據(jù)對象來實(shí)現(xiàn)Delphi前臺(tái)與后臺(tái)SQL SERVER數(shù)據(jù)庫的連接,并具有典型的數(shù)據(jù)庫應(yīng)用系統(tǒng)的特征,完成了系統(tǒng)結(jié)構(gòu)與現(xiàn)實(shí)生活的緊密結(jié)合。</p><p> 1.2課題研究主要內(nèi)容</p><p> 工資信息管理系統(tǒng)是為了更好的實(shí)現(xiàn)工資各種信息的管理以及各種信息的安全性管理
13、。本系統(tǒng)主要對查看員工的各種工資信息需求所設(shè)計(jì)的,可以很好的管理數(shù)據(jù)。</p><p><b> 1.3主要工作</b></p><p> 經(jīng)過調(diào)研及分析,工資信息管理系統(tǒng)主要完成以下功能:</p><p> ?。?) 管理員身份的確認(rèn):只有用戶名和用戶密碼都相符的管理員方可進(jìn)入本系統(tǒng),為了防止不合法用戶對數(shù)據(jù)的察看和修改,管理員可以設(shè)定用
14、戶名、密碼和其權(quán)限,還可以對紀(jì)錄進(jìn)行增加、刪除、修改等操作。當(dāng)管理員要進(jìn)入系統(tǒng)時(shí)必須先輸入用戶名和密碼,按“確認(rèn)”按鈕后,系統(tǒng)辨別管理員身份,對合法管理員賦予權(quán)限。</p><p> ?。?) 員工基礎(chǔ)信息模塊:員工的基本信息。</p><p> ?。?) 工資信息模塊:員工每個(gè)月度的基本工資、職務(wù)工資、住房補(bǔ)助、生活補(bǔ)助、加班工資等</p><p> (4) 部
15、門信息模塊:各部門編號(hào)、名稱。</p><p> (5) 員工信息管理模塊:管理員對所需要的資料的查詢即對員工基本信息的增加、刪除、修改、查詢操作。</p><p> ?。?) 員工工資管理模塊:管理員對所需要的資料的查詢即對員工工資信息的增加、刪除、修改、查詢操作。</p><p><b> 二、 需求分析</b></p>
16、<p><b> 2.1、數(shù)據(jù)流圖</b></p><p><b> 2.2、數(shù)據(jù)字典</b></p><p><b> 1)、數(shù)據(jù)項(xiàng)</b></p><p> 2)、 數(shù)據(jù)結(jié)構(gòu)描述</p><p><b> 名稱:員工</b><
17、/p><p> 含義說明:員工基礎(chǔ)信息</p><p> 組成結(jié)構(gòu):員工編號(hào)+員工姓名+部門編號(hào)+性別+年齡+文化程度</p><p><b> 名稱:工資</b></p><p><b> 含義說明:工資信息</b></p><p> 組成結(jié)構(gòu):員工編號(hào)+基本工資+職
18、務(wù)工資+加班天數(shù)+加班工資+事假天數(shù)+扣款+住房補(bǔ)助+生活補(bǔ)助+實(shí)發(fā)工資+時(shí)間</p><p><b> 名稱:部門</b></p><p><b> 含義說明:部門信息</b></p><p> 組成結(jié)構(gòu):部門編號(hào)+部門名稱</p><p><b> 名稱:基本工資</b&
19、gt;</p><p> 含義說明:基本工資信息</p><p> 組成結(jié)構(gòu):員工編號(hào)+基本工資+職務(wù)工資</p><p><b> 名稱:浮動(dòng)工資</b></p><p> 含義說明:浮動(dòng)工資信息</p><p> 組成結(jié)構(gòu):員工編號(hào)+住房補(bǔ)助+生活補(bǔ)助</p><
20、p><b> 3)、數(shù)據(jù)流的描述</b></p><p> 數(shù)據(jù)流名稱:員工信息添加 簡述:新員工信息錄入</p><p> 數(shù)據(jù)流來源:公司管理者</p><p> 數(shù)據(jù)流去向:員工信息</p><p> 數(shù)據(jù)流組成:員工編號(hào)+員工姓名+部門編號(hào)+性別+年齡+文化程度</p>
21、<p> 數(shù)據(jù)流名稱:員工信息修改 簡述:員工信息錯(cuò)誤或者員工調(diào)動(dòng)</p><p> 數(shù)據(jù)流來源:員工信息</p><p> 數(shù)據(jù)流去向:員工信息</p><p> 數(shù)據(jù)流組成:員工編號(hào)+員工姓名+部門編號(hào)+性別+年齡+文化程度</p><p> 數(shù)據(jù)流名稱:員工信息刪除 簡述:員工離職</p>
22、<p> 數(shù)據(jù)流來源:員工信息</p><p> 數(shù)據(jù)流去向:員工信息</p><p> 數(shù)據(jù)流組成:員工編號(hào)+員工姓名+部門編號(hào)+性別+年齡+文化程度</p><p> 數(shù)據(jù)流名稱:工資添加 簡述:新員工工資添加</p><p> 數(shù)據(jù)流來源:公司管理者</p><p> 數(shù)據(jù)流去
23、向:工資信息</p><p> 數(shù)據(jù)流組成:員工編號(hào)+基本工資+職務(wù)工資+加班天數(shù)+加班工資+事假天數(shù)+扣款+住房補(bǔ)助+生活補(bǔ)助+實(shí)發(fā)工資+時(shí)間</p><p> 數(shù)據(jù)流名稱:工資修改 簡述:公司對工資修改</p><p> 數(shù)據(jù)流來源:公司管理者</p><p> 數(shù)據(jù)流去向:工資信息</p><p
24、> 數(shù)據(jù)流組成:員工編號(hào)+基本工資+職務(wù)工資+加班天數(shù)+加班工資+事假天數(shù)+扣款+住房補(bǔ)助+生活補(bǔ)助+實(shí)發(fā)工資+時(shí)間</p><p> 4)、主要數(shù)據(jù)存儲(chǔ)的定義</p><p><b> 存儲(chǔ)名稱:員工記錄</b></p><p><b> 輸入:員工基本信息</b></p><p>
25、<b> 輸出:員工所有信息</b></p><p> 數(shù)據(jù)結(jié)構(gòu):員工編號(hào)+員工姓名+部門編號(hào)+性別+年齡+文化程度</p><p><b> 存儲(chǔ)名稱:部門記錄</b></p><p><b> 輸入:部門基本信息</b></p><p><b> 輸出:
26、部門所有信息</b></p><p> 數(shù)據(jù)結(jié)構(gòu):部門編號(hào)+部門名稱</p><p><b> 存儲(chǔ)名稱:工資記錄</b></p><p><b> 輸入:員工工資信息</b></p><p> 輸出:員工所有工資信息</p><p> 數(shù)據(jù)結(jié)構(gòu):員工編
27、號(hào)+基本工資+職務(wù)工資+加班天數(shù)+加班工資+事假天數(shù)+扣款+住房補(bǔ)助+生活補(bǔ)助+實(shí)發(fā)工資+時(shí)間</p><p> 存儲(chǔ)名稱:浮動(dòng)工資記錄</p><p> 輸入:員工浮動(dòng)工資信息</p><p> 輸出:員工所有浮動(dòng)工資信息</p><p> 數(shù)據(jù)結(jié)構(gòu):員工編號(hào)+住房補(bǔ)助+生活補(bǔ)助</p><p> 存儲(chǔ)名稱
28、:基本工資記錄</p><p> 輸入:員工基本工資信息</p><p> 輸出:員工所有基本工資信息</p><p> 數(shù)據(jù)結(jié)構(gòu):員工編號(hào)+基本工資+職務(wù)工資</p><p><b> 三、概念結(jié)構(gòu)設(shè)計(jì)</b></p><p> 3.1數(shù)據(jù)實(shí)體描述及分ER圖</p>&l
29、t;p> 圖3.1操作用戶信息E-R圖</p><p> 圖3.2員工基礎(chǔ)信息E-R圖</p><p> 圖3.3部門基礎(chǔ)信息E-R圖</p><p> 圖3.4員工基本工資E-R圖</p><p> 圖3.5 員工浮動(dòng)工資E-R圖</p><p> 圖3.6 工資發(fā)放明細(xì)E-R圖</p>
30、<p><b> 3.2整體ER圖</b></p><p> 圖3.7工資信息管理系統(tǒng)總E-R圖</p><p><b> 四、系統(tǒng)概要設(shè)計(jì)</b></p><p> 4.1數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)</p><p> 關(guān)系模式:員工基礎(chǔ)信息(員工編號(hào)、姓名、部門編號(hào)、性別、文化程度
31、、年齡)</p><p> 部門信息(部門編號(hào)、部門名稱)</p><p> 員工基本工資信息(員工編號(hào)、基本工資、職務(wù)工資)</p><p> 員工浮動(dòng)工資信息(員工編號(hào)、住房補(bǔ)助、生活補(bǔ)助)</p><p> 工資發(fā)放明細(xì)(員工編號(hào)、基本工資、職務(wù)工資、加班天數(shù)、加班工資、事假天數(shù)、扣款、住房補(bǔ)助、生活補(bǔ)助、實(shí)發(fā)工資、時(shí)間)<
32、;/p><p> 操作用戶信息(用戶編號(hào)、用戶名、密碼)</p><p> 表5.1員工基礎(chǔ)信息表</p><p> 表5.2部門基礎(chǔ)信息表</p><p> 表5.3員工基本工資信息表</p><p> 表5.4員工浮動(dòng)工資項(xiàng)目表</p><p> 表5.5工資發(fā)放明細(xì)表</p&
33、gt;<p><b> 表5.6操作用戶表</b></p><p> 4.2數(shù)據(jù)庫物理設(shè)計(jì)</p><p> 數(shù)據(jù)庫物理設(shè)計(jì)階段的任務(wù)是根據(jù)具體計(jì)算機(jī)系統(tǒng)(DBMS和硬件等)的特點(diǎn),為給定的數(shù)據(jù)庫系統(tǒng)確定合理的存儲(chǔ)結(jié)構(gòu)和存取方法。所謂的“合理”主要有兩個(gè)含義:一個(gè)是要使設(shè)計(jì)出的物理數(shù)據(jù)庫占用較少的存儲(chǔ)空間,另一個(gè)對數(shù)據(jù)庫的操作具有盡可能高的速度。主
34、要體現(xiàn)在后者。 </p><p> (1)建立索引:對工資發(fā)放明細(xì)表,在屬性列 員工編號(hào)(EID) 實(shí)發(fā)金額(shifa)建立非聚簇索引</p><p> (2)存儲(chǔ)結(jié)構(gòu) 確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)主要指確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu),包括確定關(guān)系、索引、日志、備份等的存儲(chǔ)安排及存儲(chǔ)結(jié)構(gòu),以及確定系統(tǒng)存儲(chǔ)參數(shù)的配置。 將日志文件和數(shù)據(jù)庫對象(表、索引等)分別放在不同的磁盤,可以改進(jìn)系統(tǒng)的性能,
35、提高系統(tǒng)的安全性。所以,系統(tǒng)應(yīng)將日志文件和數(shù)據(jù)文件存放在不同磁盤上。</p><p> 本系統(tǒng)的數(shù)據(jù)庫建立不是很大,所以數(shù)據(jù)存儲(chǔ)采用的是一個(gè)磁盤的一個(gè)分區(qū)。</p><p><b> 4.3系統(tǒng)總體框架</b></p><p><b> 五、系統(tǒng)詳細(xì)設(shè)計(jì)</b></p><p><b&g
36、t; 5.1數(shù)據(jù)庫實(shí)施</b></p><p><b> 1)、建立數(shù)據(jù)庫</b></p><p> 2)、建數(shù)據(jù)庫中的基本表</p><p><b> a.部門基礎(chǔ)信息表</b></p><p><b> b.員工基礎(chǔ)信息表</b></p>
37、<p> c.員工基本工資信息</p><p> d.員工浮動(dòng)工資項(xiàng)目表</p><p><b> e.工資發(fā)放明細(xì)表</b></p><p><b> 3)、數(shù)據(jù)裝載</b></p><p> 用同樣的方法裝載數(shù)據(jù),在此不一一列出。最后裝載好的各個(gè)表信息如下:</p&g
38、t;<p><b> 部門基礎(chǔ)信息</b></p><p><b> 員工基礎(chǔ)信息</b></p><p><b> c.員工基本工資表</b></p><p> d.員工浮動(dòng)工資項(xiàng)目表</p><p><b> e.工資發(fā)放明細(xì)表</b
39、></p><p><b> 4)、創(chuàng)建視圖</b></p><p> 建立一個(gè)視圖,反映員工的基本工資、職務(wù)工資、住房補(bǔ)助、生活補(bǔ)助情況。視圖命名為“工資_fafang”。</p><p><b> 5)、存儲(chǔ)過程設(shè)計(jì)</b></p><p> I.定義一個(gè)名為“工資明細(xì)”的存儲(chǔ)過程
40、,指定員工工資基本和浮動(dòng)情況,并將結(jié)果插入工資發(fā)放明細(xì)表中</p><p><b> 6)、促發(fā)器設(shè)計(jì)</b></p><p> a.工資發(fā)放明細(xì)表插入新數(shù)據(jù)時(shí),定義一個(gè)觸發(fā)器自動(dòng)求出實(shí)發(fā)金額的大小</p><p> 定義這個(gè)觸發(fā)器名稱為“工資_shifa”。</p><p> b.定義一個(gè)觸發(fā)器,在對上述的存儲(chǔ)
41、過程執(zhí)行后,向工資發(fā)放明細(xì)表更新員工的事假和加班情況,命名為“工資明細(xì)_更新”</p><p><b> 7)、創(chuàng)建索引</b></p><p> 其索引項(xiàng)為工號(hào)、實(shí)發(fā)工資。</p><p> 5.2數(shù)據(jù)庫的數(shù)據(jù)完整性設(shè)計(jì)</p><p> a.實(shí)體完整性:通過設(shè)置主鍵都已經(jīng)實(shí)現(xiàn)。部門信息表主鍵為“DID”;員工
42、基礎(chǔ)信息表、員工基本工資表、員工浮動(dòng)工資項(xiàng)目表、工資發(fā)放明細(xì)表主鍵都為“EID”;</p><p> b.參照完整性:在員工基礎(chǔ)信息表中部門編號(hào)在本表中不為主碼,但在部門信息表中做主碼,所以為員工基礎(chǔ)信息表的外碼。員工信息表中的DID對應(yīng)部門信息中的DID,員工基本工資表、員工浮動(dòng)工資項(xiàng)目表中的EID對應(yīng)員工信息表中的EID。保證了參照完整性。</p><p> c.在該系統(tǒng)中,設(shè)置了
43、員工的年齡Age在18到60歲之間;性別只能為“男”或“女”;以及部門名稱Dname的唯一性約束和員工基礎(chǔ)信息表中Ename不為空的約束。</p><p> 當(dāng)違反數(shù)據(jù)庫的完整性約束時(shí),可以通過執(zhí)行建立的存儲(chǔ)過程,而觸發(fā)器是一種特殊類型的存儲(chǔ)過程,在制定表中的數(shù)據(jù)被修改,它會(huì)被觸發(fā)并自動(dòng)執(zhí)行,有效的實(shí)施數(shù)據(jù)完整性。</p><p> 5.3數(shù)據(jù)的安全設(shè)計(jì)</p><
44、p> 1)、創(chuàng)建一個(gè)登陸用戶,用戶名名為“SJK”,密碼為“3110006010”, 默認(rèn)連接到的數(shù)據(jù)庫:“工資信息管理系統(tǒng)”。</p><p> 2)、創(chuàng)建一個(gè)用戶“CNA”</p><p> 3)、創(chuàng)建一個(gè)名為“R1”的角色。</p><p> 4)、為角色賦予對工資發(fā)放明細(xì)表的Select權(quán)限</p><p> 5)、將
45、角色R1授予用戶“CNA”,使其擁有R1所包含的全部權(quán)限</p><p> 5.4系統(tǒng)功能模塊的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b> 系統(tǒng)功能模塊圖</b></p><p><b> 5.5系統(tǒng)功能測試</b></p><p><b> 1)、登陸界面</b></
46、p><p> 此功能模塊,包括兩種身份人員登陸“管理員”和“一般員工”,不同身份的人登陸后會(huì)進(jìn)入不同的界面,執(zhí)行自己擁有的權(quán)限。</p><p> 該模塊主要代碼:procedure TForm1.Button1Click(Sender: TObject);</p><p><b> begin</b></p><p>
47、;<b> with</b></p><p> adoquery1 do</p><p><b> begin</b></p><p><b> close;</b></p><p> SQL.Clear;</p><p> Sql.Add
48、('select * from 操作用戶表 where (zhanghao=:a) and (pword=:b) and(shenfen=:c) ');</p><p> parameters.ParamByName('a').Value:=Trim(edit1.Text);</p><p> parameters.ParamByName('b&
49、#39;).Value:=Trim(edit2.Text);</p><p> parameters.ParamByName('c').Value:=Trim(ComboBox1.Text);</p><p><b> open;</b></p><p><b> end;</b></p>
50、<p> if adoquery1.RecordCount<=0 then</p><p><b> begin</b></p><p> application.MessageBox('!您輸入的賬號(hào)或密碼或身份不匹配!,請重新輸入','提示',0+64);</p><p><b
51、> Exit;</b></p><p><b> end</b></p><p> else begin</p><p> if(Trim(ComboBox1.Text)='管理員') then</p><p> application.MessageBox('管理員
52、,你好,歡迎登陸!','提示',0+64);</p><p> if(Trim(ComboBox1.Text)='員工') then</p><p> application.MessageBox('親愛的員工!歡迎登陸工資信息管理系統(tǒng)。','提示',0+64);</p><p> pr
53、ocedure TForm1.Button2Click(Sender: TObject);</p><p><b> begin</b></p><p> application.Terminate;</p><p><b> end;</b></p><p> 2)、模塊選擇跳轉(zhuǎn)界面<
54、;/p><p> 該功能是一個(gè)跳轉(zhuǎn)模塊,方便快捷找到需要相關(guān)操作的模塊。</p><p> 該功能詳細(xì)代碼:procedure TForm2.Button1Click(Sender: TObject);</p><p><b> begin</b></p><p> Form3.visible:=true;</
55、p><p> Form2.visible:=false;</p><p><b> end;</b></p><p> 每個(gè)跳轉(zhuǎn)按鈕都是相關(guān)的模塊跳轉(zhuǎn)指令。</p><p> 3)、部門信息、基本工資和浮動(dòng)工資模塊</p><p> 這三個(gè)模塊功能主要有相關(guān)數(shù)據(jù)的插入、刪除、修改、查詢。&l
56、t;/p><p> 以下列出部門模塊(其他模塊代碼類似)功能主要代碼:</p><p> procedure TForm3.Button1Click(Sender: TObject);</p><p><b> begin</b></p><p> with ADOQuery1 do</p><p
57、><b> begin</b></p><p><b> Close;</b></p><p> SQL.Clear;</p><p> SQL.Add('insert 部門基礎(chǔ)信息表 values(:a,:b)');</p><p> Parameters.Para
58、mByName('a').Value := Edit1.Text;</p><p> Parameters.ParamByName('b').Value := Edit2.Text;</p><p><b> ExecSQL;</b></p><p><b> Close;</b>&l
59、t;/p><p> SQL.Clear;</p><p> SQL.add('select * from 部門基礎(chǔ)信息表');</p><p><b> Open;</b></p><p><b> end;</b></p><p> Applicat
60、ion.MessageBox('添加成功,點(diǎn)擊確定查看','提示',0+64);</p><p> end;//*這是插入數(shù)據(jù)對應(yīng)的代碼</p><p> procedure TForm3.Button2Click(Sender: TObject);</p><p><b> begin</b></p
61、><p><b> with</b></p><p> adoquery1 do</p><p><b> begin</b></p><p><b> Close;</b></p><p> SQL.Clear;</p><p
62、> if(trim(Edit1.Text)<>'') then i:=1;</p><p> if (trim(Edit2.Text)<>'') then i:=2;</p><p><b> case i of</b></p><p><b> 1: begin
63、</b></p><p> SQL.Text:='Delete from 部門基礎(chǔ)信息表 where DID=:a';</p><p> Parameters.ParamByName('a').Value:=trim(Edit1.Text);</p><p><b> ExecSQL;</b>&
64、lt;/p><p> application.MessageBox('刪除成功,點(diǎn)擊確定查看','提示',0+64);</p><p><b> Close;</b></p><p> SQL.Clear;</p><p> SQL.add('select * from 部門
65、基礎(chǔ)信息表');</p><p><b> Open;</b></p><p><b> end;</b></p><p><b> 2:begin</b></p><p> SQL.Text:='Delete from 部門基礎(chǔ)信息表 where Dn
66、ame=:a';</p><p> Parameters.ParamByName('a').Value:=trim(Edit2.Text);</p><p><b> ExecSQL;</b></p><p> application.MessageBox('刪除成功,點(diǎn)擊確定查看','提示
67、',0+64);</p><p><b> Close;</b></p><p> SQL.Clear;</p><p> SQL.add('select * from 部門基礎(chǔ)信息表');</p><p><b> Open;</b></p><
68、;p><b> end;</b></p><p><b> end;</b></p><p><b> end;</b></p><p> end;//*這是刪除模塊的代碼(注:修改及查詢模塊代碼和刪除大致相同,只是修改對應(yīng)的條件判斷和SQL語句即可,在此不一一列出)。</p>
69、;<p> 4)、員工基礎(chǔ)信息模塊</p><p> 該模塊除了和以上模塊有相似的插入、刪除、更新、查詢的基本功能外,還集合了模糊查詢、嵌套查詢、自身連接、分組查詢。</p><p> 查詢主要代碼:procedure TForm4.N1Click(Sender: TObject);</p><p><b> begin</b&
70、gt;</p><p> x:=inputBox('請輸入關(guān)鍵字','如:張','張');</p><p><b> with</b></p><p> adoquery1 do</p><p><b> begin</b></p>
71、<p><b> Close;</b></p><p> SQL.Clear;</p><p> SQL.add('select * from 員工基礎(chǔ)信息表 where Ename like '''+'%'+x+'%'+'''');<
72、/p><p><b> open;</b></p><p><b> end;</b></p><p> end;//*只要變動(dòng)相應(yīng)的SQL語句以及一些條件即可</p><p> 5)、工資發(fā)放明細(xì)模塊</p><p> 該模塊首先通過執(zhí)行事先定義好的存儲(chǔ)過程“工資_明
73、細(xì)”將相關(guān)的數(shù)據(jù)導(dǎo)入到“工資發(fā)放明細(xì)表中”,避免的大量的查詢插入。而后再通過錄入員工的加班及事假情況,而這次錄入相當(dāng)于更新了該表中的數(shù)據(jù),進(jìn)而促發(fā)了“工資明細(xì)_更新”觸發(fā)器,進(jìn)而自動(dòng)將員工的所有工資信息進(jìn)行計(jì)算,然后將計(jì)算的結(jié)果插入到該表對應(yīng)的“shifa”即“實(shí)發(fā)金額”列,方便快捷。同時(shí)該模塊還有一定的統(tǒng)計(jì)功能,求和、求最大(小)、求平均、升降序排列等。</p><p> 執(zhí)行存儲(chǔ)模塊主要代碼:procedu
74、re TForm7.Button2Click(Sender: TObject);</p><p><b> begin</b></p><p> with ADOQuery1</p><p><b> do</b></p><p><b> begin</b></
75、p><p><b> Close;</b></p><p> SQL.Clear;</p><p> SQL.Add('exec 工資_明細(xì)');</p><p><b> ExecSQL;</b></p><p> showmessage('已
76、成功執(zhí)行存儲(chǔ)過程,相關(guān)數(shù)據(jù)已導(dǎo)入成功。') ;</p><p><b> Close;</b></p><p> SQL.Clear;</p><p> SQL.add('select * from 工資發(fā)放明細(xì)表');</p><p><b> Open;</b>
77、</p><p><b> end;</b></p><p><b> end;</b></p><p> 求和等一些統(tǒng)計(jì)功能的主要代碼:</p><p> procedure TForm7.N2Click(Sender: TObject);</p><p><
78、b> begin</b></p><p><b> with</b></p><p> adoquery1 do</p><p><b> begin</b></p><p><b> Close;</b></p><p>
79、 SQL.Clear;</p><p> SQL.add('select Sum(shifa) 實(shí)發(fā)金額總和 from 工資發(fā)放明細(xì)表');</p><p><b> open;</b></p><p><b> end;</b></p><p><b> en
80、d;</b></p><p> 6)、一般員工身份進(jìn)入查詢信息模塊</p><p> 每個(gè)員工只可以查看自己的一切信息。</p><p> 主要代碼:procedure TForm8.Button1Click(Sender: TObject);</p><p><b> begin</b></p
81、><p><b> with</b></p><p> adoquery1 do</p><p><b> begin</b></p><p><b> Close;</b></p><p> SQL.Clear;</p><p
82、> SQL.add('select t.Dname,q.* from 部門基礎(chǔ)信息表 t,員工基礎(chǔ)信息表 q where t.DID=q.DID and q.EID='''+Form1.Edit1.Text+'''');</p><p><b> Open;</b></p><p><
83、b> end;</b></p><p><b> end;</b></p><p><b> 7)密碼修改模塊</b></p><p> 主要代碼:和向數(shù)據(jù)庫表中更新操作類似,只是要從登陸頁面獲取員工或管理員的信息,以下附上條件判斷部分:</p><p> if(Edit
84、1.Text<>Form1.Edit2.Text) then</p><p><b> begin</b></p><p> application.MessageBox('!當(dāng)前密碼輸入錯(cuò)誤,請重新輸入!','提示',0+64);</p><p> Edit1.clear;</p>
85、<p><b> end;</b></p><p> if (Edit1.Text=Form1.Edit2.Text) and (Edit2.Text<>Edit3.Text) then</p><p> application.MessageBox('!兩次新密碼輸入不同,請重新輸入!','提示',0
86、+64);</p><p> if (Edit1.Text=Form1.Edit2.Text) and (Edit2.Text=Edit3.Text) and(length(Edit2.Text)<3) then</p><p> application.MessageBox('!密碼不得少于3位,請重新輸入!','提示',0+64);</p
87、><p> if (Edit1.Text=Form1.Edit2.Text) and (Edit2.Text=Edit3.Text) and(length(Edit2.Text)>=3) then</p><p><b> begin</b></p><p> SQL.Text:='Update 操作用戶表 set pwor
88、d='''+trim(Edit2.Text)+''' where zhanghao='''+Form1.Edit1.Text+'''';</p><p><b> ExecSQL;</b></p><p> application.MessageBox('
89、;!修改成功,請重新登錄!','提示',0+64);</p><p> 5.6數(shù)據(jù)庫性能檢測與備份設(shè)計(jì)</p><p><b> 1)、性能測試測試</b></p><p> 輸入的賬號(hào)、密碼和身份都匹配,則顯示登陸成功,點(diǎn)擊確定跳轉(zhuǎn)到選擇模塊。</p><p> 選擇員工基礎(chǔ)信息,查詢編
90、號(hào)為“1003”的員工信息,結(jié)果如下圖:</p><p> 模糊查詢,查詢姓“張”的員工信息,點(diǎn)擊模糊查詢,輸入“張”結(jié)果如下圖:</p><p> 查詢發(fā)放金額的平均值:</p><p> 2)、數(shù)據(jù)庫備份與恢復(fù)設(shè)計(jì)</p><p> 在“工資發(fā)放明細(xì)”模塊,添加一個(gè)ADOCommand 、ADOCommand控件。</p&g
91、t;<p><b> 備份設(shè)備:</b></p><p><b> 主要代碼如下:</b></p><p> procedure TForm7.Button5Click(Sender: TObject);</p><p><b> begin</b></p><
92、;p> adocommand1.Connection:=ADOConnection1;</p><p> adocommand1.CommandText:='BACKUP DATABASE 工資信息管理系統(tǒng) TO DISK='+''''+'F:\Study\BF\工資信息管理系統(tǒng)備份.bak'+''''+
93、39;WITH FORMAT';</p><p> adocommand1.CommandType:=cmdText;</p><p> adocommand1.Execute;</p><p> showmessage('數(shù)據(jù)庫備份完成!');</p><p><b> end;</b>
94、</p><p><b> 恢復(fù)設(shè)備:</b></p><p> 主要代碼:procedure TForm7.Button6Click(Sender: TObject);</p><p><b> begin</b></p><p> adoquery1.SQL.Clear;</p&g
95、t;<p> adoquery1.SQL.Add('USE master');</p><p> adoquery1.SQL.Add('RESTORE DATABASE 工資信息管理系統(tǒng) from DISK='+''''+'F:\Study\BF\工資信息管理系統(tǒng)備份.bak'+''''
96、;);</p><p> adoquery1.SQL.Add('USE 工資信息管理系統(tǒng)');</p><p> adoquery1.ExecSQL;</p><p> showmessage('數(shù)據(jù)庫恢復(fù)完成!');</p><p><b> end;</b></p>
97、<p> 5.7系統(tǒng)安裝使用說明</p><p> 在安裝有SQL server2008的電腦上,打開SQL server management stdio,將數(shù)據(jù)庫文件附加到SQL server </p><p> 下載安裝delphi 7,通過delphi ADO控件連接上附加的數(shù)據(jù)庫,如圖:</p><p> 點(diǎn)擊執(zhí)行文件projec1.
98、EXE,輸入正確的身份驗(yàn)證即可。</p><p><b> 六、回顧與展望</b></p><p> 整個(gè)課程設(shè)計(jì)到現(xiàn)在已經(jīng)基本結(jié)束,在這次課程設(shè)計(jì)中自己遇到了很多問題與困難,通過自己一邊自學(xué)一邊摸索。運(yùn)用Delphi的友好的可視化編程環(huán)境為程序的編寫較為方便。自己從中學(xué)到了很多。</p><p> 總結(jié)本系統(tǒng)的開發(fā)我做了如下工作,首先了
99、解系統(tǒng)需要實(shí)現(xiàn)如下功能:具有良好的操作界面;模塊能夠自由增加、修改、刪除及查詢信息;建立數(shù)據(jù)庫備份機(jī)制,并提供數(shù)據(jù)災(zāi)難恢復(fù)功能;支持?jǐn)?shù)據(jù)的查詢機(jī)制;自動(dòng)計(jì)算員工工資;收集數(shù)據(jù),分析數(shù)據(jù),創(chuàng)建數(shù)據(jù)表。最后進(jìn)行系統(tǒng)整體設(shè)計(jì),完成各個(gè)前臺(tái)窗體設(shè)計(jì)和具體的代碼實(shí)現(xiàn)。在這次課程設(shè)計(jì)中,我查閱了大量的書籍,在網(wǎng)上也查了不少的資料,使我的編程水平有了很大的提高,我學(xué)到了許多以前在課堂上面學(xué)不到的知識(shí),并且對系統(tǒng)的開發(fā)有了初步的了解。在使用Delphi
100、提供的ADO數(shù)據(jù)庫操作組件實(shí)現(xiàn)了對數(shù)據(jù)的各項(xiàng)操作,也熟悉了delphi的開發(fā)應(yīng)用環(huán)境和軟件開發(fā)的一般流程。</p><p> 同時(shí)在設(shè)計(jì)過程中,我也發(fā)現(xiàn)了自己的不足,因?yàn)槭鞘状芜M(jìn)行這樣的課題開發(fā),在代碼的實(shí)現(xiàn)上略現(xiàn)笨拙,整個(gè)程序在架構(gòu)上也算不上完美,我相信通過今后的學(xué)習(xí)和實(shí)踐,自己在開發(fā)能力一定能夠得到大大的提高。 </p><p><b> 參考文獻(xiàn)</b>&l
101、t;/p><p> 薩師煊,王珊 數(shù)據(jù)庫系統(tǒng)概論[M]. 高等教育出版社</p><p> 郝安林,康會(huì)光等 SQL server2008基礎(chǔ)教程與實(shí)驗(yàn)指導(dǎo) 清華大學(xué)出版社</p><p> 陳豫龍 Delphi數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例導(dǎo)航 人民郵電出版社</p><p> 劉藝 Delphi企業(yè)級(jí)解決方案及應(yīng)用剖析
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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ù)庫系統(tǒng)課程設(shè)計(jì)--工資信息管理系統(tǒng)
- 數(shù)據(jù)庫系統(tǒng)原理課程設(shè)計(jì)---工資管理系統(tǒng)
- 工資信息管理系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---宿舍信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--教室信息管理系統(tǒng).
- 數(shù)據(jù)庫課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 住院管理系統(tǒng)-數(shù)據(jù)庫系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)---學(xué)生信息管理系統(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ì)學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--教師信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)--顧客信息管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)----藥品信息管理系統(tǒng)
- 學(xué)生信息管理系統(tǒng)數(shù)據(jù)庫課程設(shè)計(jì)
- 數(shù)據(jù)庫課程設(shè)計(jì)--學(xué)生信息管理系統(tǒng)
- 數(shù)據(jù)庫系統(tǒng)課程設(shè)計(jì)
- 數(shù)據(jù)庫系統(tǒng)課程設(shè)計(jì)
評論
0/150
提交評論