數(shù)據(jù)庫(kù)課程設(shè)計(jì)--企業(yè)人事管理系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  數(shù)據(jù)庫(kù)課程設(shè)計(jì)</b></p><p><b>  說(shuō) 明 書</b></p><p>  2015 年 6月 19 日</p><p><b>  一、需求分析 </b></p><p><b>  一、引言</b><

2、/p><p>  需求規(guī)格說(shuō)明書是需求分析的產(chǎn)物,它是軟件系統(tǒng)生存期中軟件定義階段的最后一個(gè)步驟。作為整個(gè)軟件開(kāi)發(fā)過(guò)程的指南,它也是軟件開(kāi)發(fā)人員開(kāi)發(fā)出符合用戶要求的軟件的基礎(chǔ)。</p><p><b>  1.1 編寫目的</b></p><p>  軟件需求說(shuō)明書的編制目的是為了使用戶和軟件開(kāi)發(fā)者雙方對(duì)該軟件的初始規(guī)定有一個(gè)共同的理解,使之成為

3、整個(gè)開(kāi)發(fā)工作的基礎(chǔ)。</p><p>  本軟件需求說(shuō)明書的讀者是系統(tǒng)開(kāi)發(fā)人員或合同約定的人員。</p><p><b>  1.2 背景說(shuō)明</b></p><p> ?。?)本系統(tǒng)的名稱是:企業(yè)人事管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)。</p><p> ?。?)本系統(tǒng)能為其他的系統(tǒng)提供人事數(shù)據(jù)。</p><p&

4、gt;<b>  1.3 定義</b></p><p>  數(shù)據(jù)字典:關(guān)于數(shù)據(jù)的信息的集合,也即是對(duì)數(shù)據(jù)流圖中包含的元素的定義的集合。</p><p><b>  二、任務(wù)概述</b></p><p><b>  2.1 項(xiàng)目背景</b></p><p>  人事檔案管理是

5、現(xiàn)代企業(yè)人事資源管理中的重要內(nèi)容,也是人力資源開(kāi)發(fā)利用的基礎(chǔ)性工作。人事檔案管理在信息化之前,在人員進(jìn)出、離退休、升遷、崗位變動(dòng)、職稱變動(dòng)、學(xué)位變動(dòng),以及檔案管理人員的變動(dòng)等方面存在諸多不利于管理的地方,不適應(yīng)現(xiàn)代的企業(yè)管理形勢(shì)和人力資源開(kāi)發(fā)利用的要求。</p><p>  開(kāi)發(fā)人事檔案管理系統(tǒng)使企業(yè)的人事檔案管理工作實(shí)現(xiàn)了信息化、規(guī)范化,不僅使企業(yè)能夠高效率完成人事管理的日常工作,還使企業(yè)深入開(kāi)發(fā)利用人力資源成

6、為可能。</p><p><b>  2.2 用戶的特點(diǎn)</b></p><p>  本軟件的最終用戶是企業(yè)人事部門的工作人員。部門有專職的人事數(shù)據(jù)錄入人員,具有一定的計(jì)算機(jī)操作知識(shí);系統(tǒng)的維護(hù)人員是企業(yè)的信息中心的信息維護(hù)員,對(duì)網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)的操作比較熟悉;數(shù)據(jù)錄入員負(fù)責(zé)人事數(shù)據(jù)的錄入及日常更新,信息維護(hù)員負(fù)責(zé)人事數(shù)據(jù)的備份和其他管理工作。企業(yè)的人員調(diào)進(jìn)與調(diào)出比較頻繁

7、。</p><p><b>  三、需求規(guī)定</b></p><p>  企業(yè)人事管理系統(tǒng)的功能可以劃分為如下幾個(gè)部分:</p><p>  1、人事檔案管理:戶口狀況、政治面貌、生理狀況、合同管理等。</p><p>  2、考勤、加班、出差管理。</p><p>  3、人事變動(dòng):新進(jìn)員工登記

8、、員工離職登記、人事變更記錄。</p><p><b>  4、考核獎(jiǎng)懲。</b></p><p><b>  5、員工培訓(xùn)。</b></p><p>  6、系統(tǒng)維護(hù):操作員管理、權(quán)限設(shè)置等。</p><p>  四、功能模塊分解及各模塊作用</p><p>  登錄管理:

9、主要用于權(quán)限管理</p><p>  員工登錄功能供員工個(gè)人使用,主要用于方便員工查看個(gè)人信息,</p><p>  一條完整的員工信息應(yīng)該包含以下內(nèi)容:</p><p>  員工信息{員工號(hào),員工姓名,性別,年齡,學(xué)歷,戶口所在地,政治面貌,婚姻狀況,生理狀況}</p><p>  工作信息{員工號(hào),參加工作時(shí)間,工作崗位}</p&g

10、t;<p>  薪水{員工號(hào),月工資,獎(jiǎng)金}</p><p>  考勤狀況{員工號(hào),出勤率,遲到次數(shù),早退次數(shù)}</p><p>  出差信息{員工號(hào),出差開(kāi)始日期,出差結(jié)束日期,支出補(bǔ)貼費(fèi)用}</p><p>  加班信息{員工號(hào),加班開(kāi)始時(shí)間,加班結(jié)束時(shí)間,加班補(bǔ)貼費(fèi)用} </p><p>  說(shuō)明:考勤情況主要由每月按時(shí)到

11、崗率計(jì)算,如有遲到、早退現(xiàn)象作相應(yīng)扣減。</p><p>  一條完整的合同信息應(yīng)當(dāng)包含以下內(nèi)容:</p><p>  合同{員工號(hào),合同號(hào),合同簽訂日期,合同有效時(shí)間}</p><p>  合同有效時(shí)間按年計(jì)算</p><p>  B.人員管理:主要用于對(duì)員工的各項(xiàng)信息進(jìn)行管理,以下所有操作供管理員使用。</p><p&

12、gt;  B1.員工信息管理:</p><p>  員工信息查詢:該功能不同于員工權(quán)限的信息查詢,員工只能查詢自己的信息,而該功能能夠查詢出所有員工的信息。</p><p>  新進(jìn)員工管理: 當(dāng)企業(yè)新進(jìn)一名員工時(shí),人事管理部門應(yīng)當(dāng)在員工數(shù)據(jù)庫(kù)中對(duì)該員工進(jìn)行增加信息的操作,錄入員工的所有信息。</p><p>  退休/辭退員工管理:</p><

13、p>  當(dāng)企業(yè)辭退一名員工時(shí),人事管理部門應(yīng)當(dāng)從它所服務(wù)的工作部門中刪除該員工的工作名額,結(jié)算支付其工資、獎(jiǎng)金;同時(shí)補(bǔ)充新的員工,代替它的工作。</p><p>  當(dāng)企業(yè)中一名員工退休時(shí),人事管理部門應(yīng)當(dāng)從員工信息中刪除其所有信息。</p><p>  員工信息變動(dòng):當(dāng)員工信息發(fā)生變動(dòng)時(shí),人事部門應(yīng)當(dāng)對(duì)變動(dòng)信息做出享用更改,以保證數(shù)據(jù)的一致性。</p><p&g

14、t;  B.2 員工培訓(xùn)管理</p><p>  參訓(xùn)員工信息管理:此項(xiàng)包括參訓(xùn)員工的信息如下:</p><p>  參訓(xùn)員工的信息{員工號(hào),培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),培訓(xùn)開(kāi)始時(shí)間,培訓(xùn)結(jié)束時(shí)間,培訓(xùn)成績(jī)}</p><p>  培訓(xùn)機(jī)構(gòu)信息管理:企業(yè)請(qǐng)培訓(xùn)機(jī)構(gòu)為員工培訓(xùn),企業(yè)應(yīng)當(dāng)存有培訓(xùn)機(jī)構(gòu)的相關(guān)信息。</p><p>  一條完整的培訓(xùn)機(jī)構(gòu)信

15、息應(yīng)當(dāng)包括:</p><p>  培訓(xùn)機(jī)構(gòu){培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)機(jī)構(gòu)名}</p><p>  一個(gè)培訓(xùn)機(jī)構(gòu)存在多名培訓(xùn)教師,一條完整的培訓(xùn)教師的信息如下</p><p>  培訓(xùn)教師{培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),教師名,教師職稱}</p><p>  培訓(xùn)效果管理:?jiǎn)T工培訓(xùn)結(jié)束后,由其培訓(xùn)教師給出培訓(xùn)成績(jī),作為其培訓(xùn)效果的考核,錄入?yún)⒂?xùn)員工培訓(xùn)成績(jī)一

16、欄。</p><p>  B.3 考核獎(jiǎng)懲管理</p><p>  企業(yè)在對(duì)員工的考核過(guò)程中要對(duì)員工實(shí)施獎(jiǎng)懲機(jī)制,鼓勵(lì)企業(yè)的工作風(fēng)氣積極向上</p><p>  一條獎(jiǎng)懲信息應(yīng)當(dāng)包括:</p><p>  獎(jiǎng)懲信息{員工號(hào)、獎(jiǎng)懲性質(zhì)、獎(jiǎng)懲原因、處理辦法}</p><p>  從它所服務(wù)的工作部門中刪除該員工的工作名額,

17、結(jié)算支付其工資、獎(jiǎng)金;同時(shí)補(bǔ)充新的員工,代替它的工作。</p><p><b>  C 數(shù)據(jù)流程圖</b></p><p><b>  (1)總數(shù)據(jù)流圖</b></p><p> ?。?)人員信息管理數(shù)據(jù)流圖</p><p> ?。?)登錄管理的數(shù)據(jù)流圖</p><p>  

18、(3)員工培訓(xùn)管理的數(shù)據(jù)流圖</p><p><b>  五、數(shù)據(jù)字典</b></p><p><b>  數(shù)據(jù)項(xiàng)</b></p><p>  數(shù)據(jù)項(xiàng)有待按各子系統(tǒng)分類列表。</p><p><b>  數(shù)據(jù)結(jié)構(gòu)</b></p><p><b>

19、;  數(shù)據(jù)流</b></p><p><b>  二、小組成員分工</b></p><p>  王凱負(fù)責(zé)需求分析、編碼階段、物理結(jié)構(gòu)設(shè)計(jì)、截圖階段;</p><p>  魏悅明負(fù)責(zé)概要設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)階段。</p><p><b>  三、概要設(shè)計(jì)</b></p><

20、;p>  本程序開(kāi)發(fā)企業(yè)人事管理系統(tǒng),經(jīng)過(guò)可行性分析、詳細(xì)調(diào)查以及多次討論,確定了該系統(tǒng)由登錄管理子系統(tǒng)、人員管理子系統(tǒng)、管理員權(quán)限管理子系統(tǒng)三個(gè)子系統(tǒng)組成。</p><p>  本過(guò)程結(jié)構(gòu)設(shè)計(jì)過(guò)程采用自底向上的設(shè)計(jì)方法,即首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來(lái),得到全局概念結(jié)構(gòu).</p><p>  下面給出各個(gè)子系統(tǒng)的分析及分E-R圖的設(shè)計(jì)及對(duì)其進(jìn)行的各項(xiàng)調(diào)整。<

21、/p><p><b>  登錄管理子系統(tǒng)</b></p><p>  本開(kāi)發(fā)小組成員經(jīng)過(guò)調(diào)查、信息流程分析、數(shù)據(jù)收集,并結(jié)合需求分析,明確了——</p><p><b>  子系統(tǒng)的功能:</b></p><p>  員工登錄:功能供員工個(gè)人使用,主要用于方便員工查看個(gè)人信息。</p>&

22、lt;p>  根據(jù)要求分析給出的數(shù)據(jù)流圖,參照數(shù)據(jù)字典中的詳細(xì)描述,給出登錄管理子系統(tǒng)的分E-R圖: </p><p>  對(duì)E-R圖調(diào)整的準(zhǔn)則:</p><p>  現(xiàn)實(shí)世界中的事物能作為屬性對(duì)待的盡量作為屬性對(duì)待;</p><p>  屬性和實(shí)體的劃分:屬性中不具有需要描述的信息,即屬性是不可分的數(shù)據(jù)項(xiàng),不再包含其他信息。</p><

23、p><b>  實(shí)體屬性定義:</b></p><p>  登錄信息{員工號(hào),登錄密碼}</p><p><b>  人員管理子系統(tǒng)</b></p><p>  本開(kāi)發(fā)小組成員經(jīng)過(guò)調(diào)查、信息流程分析、數(shù)據(jù)收集,并結(jié)合需求分析,明確了——</p><p><b>  子系統(tǒng)的功能:&l

24、t;/b></p><p>  A. 員工考勤:考勤情況主要由每月按時(shí)到崗率計(jì)算,如有遲到、早退現(xiàn)象作相應(yīng)扣減。</p><p>  B.信息管理: 對(duì)員工的出差、加班、薪水進(jìn)行管理、統(tǒng)計(jì)。</p><p>  C.可以進(jìn)行對(duì)新員工、舊員工以及辭退等員工的信息查詢;</p><p>  D.擁有員工培訓(xùn)功能管理,具體由其培訓(xùn)教師給出培訓(xùn)

25、成績(jī),作為其培訓(xùn)效果的考核,錄入?yún)⒂?xùn)員工培訓(xùn)成績(jī)一欄。</p><p>  E.可以對(duì)人員的獎(jiǎng)懲功過(guò)進(jìn)行統(tǒng)計(jì)處理,便于公司運(yùn)作。</p><p>  根據(jù)要求分析給出的數(shù)據(jù)流圖,參照數(shù)據(jù)字典中的詳細(xì)描述,給出經(jīng)理管理部門的分E-R圖:</p><p><b>  實(shí)體屬性定義:</b></p><p>  員工信息{員工

26、號(hào),員工姓名,性別,年齡,學(xué)歷,戶口所在地,政治面貌,婚姻狀況,生理狀況}</p><p>  工作信息{員工號(hào),參加工作時(shí)間,工作崗位}</p><p>  薪水{員工號(hào),月工資,獎(jiǎng)金}</p><p>  考勤狀況{員工號(hào),出勤率,遲到次數(shù),早退次數(shù)}</p><p>  出差信息{員工號(hào),出差開(kāi)始日期,出差結(jié)束日期,支出補(bǔ)貼費(fèi)用}<

27、;/p><p>  加班信息{員工號(hào),加班開(kāi)始時(shí)間,加班結(jié)束時(shí)間,加班補(bǔ)貼費(fèi)用} </p><p>  合同{員工號(hào),合同號(hào),合同簽訂日期,合同有效時(shí)間}</p><p>  參訓(xùn)員工的信息{員工號(hào),員工姓名,培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),培訓(xùn)開(kāi)始時(shí)間,培訓(xùn)結(jié)束時(shí)間,培訓(xùn)成績(jī)}</p><p>  培訓(xùn)機(jī)構(gòu)信息管理:企業(yè)請(qǐng)培訓(xùn)機(jī)構(gòu)為員工培訓(xùn),企業(yè)應(yīng)當(dāng)存

28、有培訓(xùn)機(jī)構(gòu)的相關(guān)信息。</p><p>  一條完整的培訓(xùn)機(jī)構(gòu)信息應(yīng)當(dāng)包括:</p><p>  培訓(xùn)機(jī)構(gòu){培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)機(jī)構(gòu)名}</p><p>  一個(gè)培訓(xùn)機(jī)構(gòu)存在多名培訓(xùn)教師,一條完整的培訓(xùn)教師的信息如下</p><p>  培訓(xùn)教師{培訓(xùn)教師號(hào),教師名,教師職稱}</p><p>  培訓(xùn)效果管理:?jiǎn)T工培訓(xùn)結(jié)

29、束后,由其培訓(xùn)教師給出培訓(xùn)成績(jī),作為其培訓(xùn)效果的考核,錄入?yún)⒂?xùn)員工培訓(xùn)成績(jī)一欄。</p><p>  企業(yè)在對(duì)員工的考核過(guò)程中要對(duì)員工實(shí)施獎(jiǎng)懲機(jī)制,鼓勵(lì)企業(yè)的工作風(fēng)氣積極向上</p><p>  一條獎(jiǎng)懲信息應(yīng)當(dāng)包括:</p><p>  獎(jiǎng)懲信息{員工號(hào)、獎(jiǎng)懲性質(zhì)(是獎(jiǎng)還是懲)、獎(jiǎng)懲原因、處理辦法}</p><p>  對(duì)E-R圖調(diào)整的準(zhǔn)則

30、:</p><p>  現(xiàn)實(shí)世界中的事物能作為屬性對(duì)待的盡量作為屬性對(duì)待;</p><p>  屬性和實(shí)體的劃分:屬性中不具有需要描述的信息,即屬性是不可分的數(shù)據(jù)項(xiàng),不再包含其他信息。</p><p><b>  視 圖 集 成</b></p><p>  以上便是三個(gè)子系統(tǒng)的分E-R圖設(shè)計(jì)及其調(diào)整的整個(gè)過(guò)程,接著要做的

31、就是將所有的分E-R圖進(jìn)行綜合,合成一個(gè)系統(tǒng)的總E-R圖.</p><p>  由于本系統(tǒng)比較簡(jiǎn)單,分E-R圖規(guī)模也比較小,所以E-R圖合成過(guò)程采用一次將三個(gè)子系統(tǒng)分E-R圖集成總E-R圖的方式.</p><p><b>  分兩步進(jìn)行:</b></p><p><b>  第一步:合并。</b></p>&

32、lt;p>  解決各分E-R圖之間的沖突,將各分E-R圖合并起來(lái)生成初步E-R圖。</p><p>  各分E-R圖之間的沖突主要有三類:</p><p><b>  屬性沖突:</b></p><p>  (1)屬性域沖突,即屬性值的類型、取值范圍或取值集合不同。由于本系統(tǒng)較簡(jiǎn)單,所以并不存在這種沖突;</p><p

33、>  (2)屬性取值單位沖突。由于本系統(tǒng)較簡(jiǎn)單,不存在這類沖突;</p><p><b>  命名沖突:</b></p><p>  同名異義:由于本系統(tǒng)較簡(jiǎn)單,所以不存在這類沖突;</p><p>  異名同義:由于本系統(tǒng)較小,所以不存在這類沖突;</p><p><b>  結(jié)構(gòu)沖突:</b&g

34、t;</p><p>  同一對(duì)象在不同應(yīng)用中具有不同的抽象:本系統(tǒng)在需求分析階段原本存在這種沖突,考慮到后期的簡(jiǎn)化合并,我們?cè)谠O(shè)計(jì)各個(gè)分E-R圖就早先解決了這個(gè)問(wèn)題,即將在任何一個(gè)分E-R圖中作為實(shí)體出現(xiàn)的屬性全部作為實(shí)體;</p><p>  同一實(shí)體在不同分E-R圖中所包含的屬性個(gè)數(shù)和屬性排列次序不完全相同:由于本系統(tǒng)較簡(jiǎn)單,所以并不存在這種沖突;</p><p&

35、gt;  第二步:修改和重構(gòu)。</p><p>  消除不必要的冗余,生成基本E-R圖。</p><p>  由于本系統(tǒng)涵蓋的內(nèi)容比較少,基本不存在冗余的現(xiàn)象,所以初步E-R圖就是基本E-R圖,不必再進(jìn)行調(diào)整。下面給出E-R圖。</p><p><b>  總E-R圖:</b></p><p>  員工信息{員工號(hào),員工

36、姓名,性別,年齡,學(xué)歷,戶口所在地,政治面貌,婚姻狀況,生理狀況}</p><p>  工作信息{員工號(hào),參加工作時(shí)間,工作崗位}</p><p>  登錄信息{員工號(hào),登錄密碼}</p><p>  薪水{員工號(hào),月工資,獎(jiǎng)金}</p><p>  考勤狀況{員工號(hào),出勤率,遲到次數(shù),早退次數(shù)}</p><p>  

37、出差信息{員工號(hào),出差開(kāi)始日期,出差結(jié)束日期,支出補(bǔ)貼費(fèi)用}</p><p>  加班信息{員工號(hào),加班開(kāi)始時(shí)間,加班結(jié)束時(shí)間,加班補(bǔ)貼費(fèi)用} </p><p>  合同{員工號(hào),合同號(hào),簽訂合同員工的員工號(hào),合同簽訂日期,合同有效時(shí)間}</p><p>  參訓(xùn)員工的信息{員工號(hào),培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),培訓(xùn)開(kāi)始時(shí)間,培訓(xùn)結(jié)束時(shí)間,培訓(xùn)成績(jī)}</p>

38、<p>  培訓(xùn)機(jī)構(gòu){培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)機(jī)構(gòu)名}</p><p>  培訓(xùn)教師{培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),教師名,教師職稱}</p><p>  獎(jiǎng)懲信息{員工號(hào)、獎(jiǎng)懲性質(zhì)(是獎(jiǎng)還是懲)、獎(jiǎng)懲原因、處理辦法}</p><p>  由于在分E-R圖中已經(jīng)畫出了屬性,總E-R圖就不再畫出每個(gè)實(shí)體的屬性,而只給出實(shí)體和聯(lián)系</p><p>

39、<b>  四、邏輯結(jié)構(gòu)設(shè)計(jì)</b></p><p>  一.與總E-R圖對(duì)應(yīng)的關(guān)系模式</p><p>  1、實(shí)體所對(duì)應(yīng)的關(guān)系模式:</p><p>  員工信息{員工號(hào),員工姓名,性別,年齡,學(xué)歷,戶口所在地,政治面貌,婚姻狀況,生理狀況}</p><p>  工作信息{員工號(hào),參加工作時(shí)間,工作崗位}</p

40、><p>  登錄信息{員工號(hào),登錄密碼}</p><p>  薪水{員工號(hào),月工資,獎(jiǎng)金}</p><p>  考勤狀況{員工號(hào),出勤率,遲到次數(shù),早退次數(shù)}</p><p>  出差信息{員工號(hào),出差開(kāi)始日期,出差結(jié)束日期,支出補(bǔ)貼費(fèi)用}</p><p>  加班信息{員工號(hào),加班開(kāi)始時(shí)間,加班結(jié)束時(shí)間,加班補(bǔ)貼費(fèi)用}

41、 </p><p>  合同{員工號(hào),合同號(hào),簽訂合同員工的員工號(hào),合同簽訂日期,合同有效時(shí)間}</p><p>  參訓(xùn)員工的信息{員工號(hào),員工姓名,培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),培訓(xùn)開(kāi)始時(shí)間,培訓(xùn)結(jié)束時(shí)間, </p><p><b>  培訓(xùn)成績(jī)}</b></p><p>  培訓(xùn)機(jī)構(gòu){培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)機(jī)構(gòu)名}&l

42、t;/p><p>  培訓(xùn)教師{培訓(xùn)教師號(hào),教師名,教師職稱}</p><p>  獎(jiǎng)懲信息{員工號(hào)、獎(jiǎng)懲性質(zhì)(是獎(jiǎng)還是懲)、獎(jiǎng)懲原因、處理辦法}</p><p>  說(shuō)明:1.下加橫線部分表示關(guān)系的碼</p><p>  2.以上關(guān)系的詳細(xì)內(nèi)容說(shuō)明請(qǐng)參照概念結(jié)構(gòu)設(shè)計(jì)中的具體內(nèi)容</p><p>  3.上面的各個(gè)關(guān)系對(duì)概

43、念結(jié)構(gòu)設(shè)計(jì)中的相關(guān)內(nèi)容了作了修改,主要加了各個(gè)實(shí)體中間的聯(lián)系,尤其是一對(duì)多的聯(lián)系,納為屬性。</p><p>  2、聯(lián)系所對(duì)應(yīng)的關(guān)系模式:</p><p>  1)、把管理員和人員之間的n : m的預(yù)約聯(lián)系轉(zhuǎn)化為相應(yīng)的關(guān)系模式如下:</p><p>  管理(人員號(hào)、管理員號(hào)、管理內(nèi)容、管理時(shí)間);</p><p>  2)、其他聯(lián)系處理說(shuō)

44、明如下:</p><p>  工資和員工之間的1:1聯(lián)系與員工關(guān)系合并;</p><p>  薪水和出差之間的1:1聯(lián)系與薪水關(guān)系合并;</p><p>  薪水和考勤的1:1聯(lián)系與薪水關(guān)系合并;</p><p>  薪水和加班之間的1:1聯(lián)系與薪水關(guān)系合并;</p><p>  員工和工作之間的n:1聯(lián)系與工作關(guān)系合

45、并;</p><p>  員工和培訓(xùn)機(jī)構(gòu)的n:1聯(lián)系與培訓(xùn)機(jī)構(gòu)關(guān)系合并;</p><p>  培訓(xùn)機(jī)構(gòu)和培訓(xùn)教師的n:1聯(lián)系與培訓(xùn)教師關(guān)系合并;</p><p>  培訓(xùn)教師和獎(jiǎng)懲信息之間的1:1聯(lián)系與獎(jiǎng)懲信息關(guān)系合并;</p><p>  二.優(yōu)化后的數(shù)據(jù)模型</p><p>  按照數(shù)據(jù)依賴對(duì)關(guān)系模式進(jìn)行逐一分析,

46、并進(jìn)行極小化處理:</p><p>  員工信息{員工號(hào),員工姓名,性別,年齡,學(xué)歷,戶口所在地,政治面貌,婚姻狀況,生理狀況};BCNF</p><p>  工作信息{員工號(hào),參加工作時(shí)間,工作崗位};BCNF</p><p>  登錄信息{員工號(hào),登錄密碼};BCNF</p><p>  薪水{員工號(hào),月工資,獎(jiǎng)金};BCNF</p

47、><p>  考勤狀況{員工號(hào),出勤率,遲到次數(shù),早退次數(shù)};BCNF</p><p>  出差信息{員工號(hào),出差開(kāi)始日期,出差結(jié)束日期,支出補(bǔ)貼費(fèi)用};BCNF</p><p>  加班信息{員工號(hào),加班開(kāi)始時(shí)間,加班結(jié)束時(shí)間,加班補(bǔ)貼費(fèi)用} ;BCNF</p><p>  合同{員工號(hào),合同號(hào),簽訂合同員工的員工號(hào),合同簽訂日期,合同有效時(shí)間

48、};BCNF</p><p>  參訓(xùn)員工的信息{員工號(hào),員工姓名,培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),培訓(xùn)開(kāi)始時(shí)間,培訓(xùn)結(jié)束時(shí)間, </p><p>  培訓(xùn)成績(jī)};BCNF</p><p>  培訓(xùn)機(jī)構(gòu){培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)機(jī)構(gòu)名};BCNF</p><p>  培訓(xùn)教師{培訓(xùn)教師號(hào),教師名,教師職稱};BCNF</p><p

49、>  獎(jiǎng)懲信息{員工號(hào)、獎(jiǎng)懲性質(zhì)、獎(jiǎng)懲原因、處理辦法};BCNF</p><p><b>  五、物理結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  數(shù)據(jù)存儲(chǔ)</b></p><p><b>  處理過(guò)程</b></p><p><b>  六、編碼階段</

50、b></p><p>  一、表的定義和數(shù)據(jù)插入</p><p>  /* 1.創(chuàng)建數(shù)據(jù)庫(kù)*/</p><p>  create database HumanResourcesManagement; /* 創(chuàng)建企業(yè)人事管理數(shù)據(jù)庫(kù)*/</p><p>  use HumanResourcesManagement;

51、 /* 使用剛剛創(chuàng)建的數(shù)據(jù)庫(kù) */</p><p>  /* 2.創(chuàng)建企業(yè)人事管理系統(tǒng)所需的各個(gè)數(shù)據(jù)表并插入初始數(shù)據(jù)*/</p><p>  /* 2.1 創(chuàng)建員工信息表</p><p>  員工信息{員工號(hào),員工姓名,性別,年齡,學(xué)歷,戶口所在地,政治面貌,婚姻狀況,生理狀況} */ </p><p>  create table St

52、aff(</p><p>  Sno int primary key, /* 員工號(hào)主碼 */</p><p>  Sname varchar(10), /* 員工姓名 */</p><p>  Ssex varchar(5), /* 性別 */</p><p>  Sage small

53、int, /* 年齡 */</p><p>  Seduback varchar(7), /* 學(xué)歷(教育背景)*/</p><p>  Spc varchar(5), /* 政治面貌 */</p><p>  Sms varchar(5), /* 婚姻狀況 */</p>

54、<p>  Sps varchar(7) /* 生理狀況 */</p><p><b>  );</b></p><p>  insert into Staff values(1,'張三','男',20,'本科','黨員','未婚','健康&

55、#39;);</p><p>  insert into Staff values(2,'李四','男',45,'???#39;,'群眾','已婚','不健康');</p><p>  insert into Staff values(3,'王五','男',33,'

56、;研究生','團(tuán)員','已婚','健康');</p><p>  insert into Staff values(4,'趙六','女',21,'本科','團(tuán)員','未婚','健康');</p><p>  insert into Staf

57、f values(5,'錢七','女',36,'???#39;,'群眾','已婚','健康');</p><p>  insert into Staff values(6,'馬八','女',50,'博士','黨員','已婚','不健康

58、9;);</p><p>  insert into Staff values(7,'吳九','女',47,'碩士','黨員','已婚','健康');</p><p>  /* 2.2 創(chuàng)建員工工作信息表</p><p>  工作信息{員工號(hào),參加工作時(shí)間,工作崗位} *

59、/</p><p>  create table WorkInfo(</p><p>  Sno int , /* 員工號(hào)外碼 */</p><p>  Sworktime date, /* 參加工作時(shí)間 */</p><p>  Swork varchar(20) /* 工作崗位

60、 */</p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  foreign key(Sno) references Staff(Sno) on delete cascade on update cascade </p><p><b>  );</b></p><p>  insert into

61、 WorkInfo values(1,'1995-01-01','分析員');</p><p>  insert into WorkInfo values(2,'1970-03-29','清潔工');</p><p>  insert into WorkInfo values(3,'1982-05-19',&#

62、39;經(jīng)理');</p><p>  insert into WorkInfo values(4,'1994-08-31','打字員');</p><p>  insert into WorkInfo values(5,'1979-09-01','保安');</p><p>  insert i

63、nto WorkInfo values(6,'1965-12-10','分析員');</p><p>  insert into WorkInfo values(7,'1968-02-05','分析員');</p><p>  /* 2.3 創(chuàng)建員工合同信息表</p><p>  合同{員工號(hào),合同號(hào),

64、合同簽訂日期,合同有效時(shí)間}*/</p><p>  create table Agreement(</p><p>  Sno int , /* 員工號(hào)外碼 */</p><p>  ano int , /* 合同號(hào) */</p><p>  startd

65、ate date, /* 合同簽訂日期 */</p><p>  activetime smallint, /* 合同有效時(shí)間 */</p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  foreign key(Sno) references Staff(Sno) on delete cascade on u

66、pdate cascade </p><p><b>  );</b></p><p>  insert into Agreement values(1,101,'1995-01-01',20);</p><p>  insert into Agreement values(2,101,'1970-03-29'

67、;,20);</p><p>  insert into Agreement values(3,101,'1982-05-19',20);</p><p>  insert into Agreement values(4,101,'1994-08-31',20);</p><p>  insert into Agreement val

68、ues(5,101,'1979-09-01',20);</p><p>  insert into Agreement values(6,101,'1965-12-10',20);</p><p>  insert into Agreement values(7,101,'1968-02-05',20);</p><p&g

69、t;  /* 2.4 創(chuàng)建員工登錄信息表</p><p>  登錄信息{員工號(hào),登錄密碼} */</p><p>  create table LogInfo(</p><p>  Sno int , /* 員工號(hào)外碼 */</p><p>  Spass int , /*

70、 登錄密碼 */</p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  foreign key(Sno) references Staff(Sno)on delete cascade on update cascade </p><p><b>  );</b></p><p>  inser

71、t into LogInfo values(1,'123');</p><p>  insert into LogInfo values(2,'123');</p><p>  insert into LogInfo values(3,'123');</p><p>  insert into LogInfo valu

72、es(4,'123');</p><p>  insert into LogInfo values(5,'123');</p><p>  insert into LogInfo values(6,'123');</p><p>  insert into LogInfo values(7,'123')

73、;</p><p>  /* 2.5 創(chuàng)建員工薪水信息表</p><p>  薪水{員工號(hào),月工資,獎(jiǎng)金} */</p><p>  create table Salary(</p><p>  Sno int , /* 員工號(hào)外碼 */</p><p>  Ssalary fl

74、oat , /* 月工資 */</p><p>  Scommit float , /* 獎(jiǎng)金 */</p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  foreign key(Sno) references Staff(Sno)on delete cascade on

75、 update cascade </p><p><b>  );</b></p><p>  insert into Salary values(1,5000,500);</p><p>  insert into Salary values(2,3000,100);</p><p>  insert into Sal

76、ary values(3,7000,200);</p><p>  insert into Salary values(4,4000,500);</p><p>  insert into Salary values(5,2000,500);</p><p>  insert into Salary values(6,5000,500);</p>&l

77、t;p>  insert into Salary values(7,5000,500);</p><p>  /* 2.6 創(chuàng)建員工考勤狀況信息表</p><p>  考勤狀況{員工號(hào),出勤率,遲到次數(shù),早退次數(shù)} */</p><p>  create table Sattendance(</p><p>  Sno int ,

78、 /* 員工號(hào)外碼 */</p><p>  Sattendrate float , /* 出勤率 */</p><p>  Slatenum int , /* 遲到次數(shù) */</p><p>  Searlynum int , /* 早退次數(shù)

79、 */</p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  foreign key(Sno) references Staff(Sno)on delete cascade on update cascade </p><p><b>  );</b></p><p>  insert into

80、Sattendance values(1,1,0,0);</p><p>  insert into Sattendance values(2,0.5,10,5);</p><p>  insert into Sattendance values(3,0.75,4,1);</p><p>  insert into Sattendance values(4,1,0,

81、0);</p><p>  insert into Sattendance values(5,0.25,15,5);</p><p>  insert into Sattendance values(6,1,0,0);</p><p>  insert into Sattendance values(7,1,0,0);</p><p>  /

82、* 2.7 創(chuàng)建員工出差信息表</p><p>  出差信息{員工號(hào),出差開(kāi)始日期,出差結(jié)束日期,支出補(bǔ)貼費(fèi)用} */</p><p>  create table Sbussinesstrip(</p><p>  Sno int , /* 員工號(hào)外碼 */</p><p>  bstartdate

83、date, /* 出差開(kāi)始日期 */</p><p>  benddate date, /* 出差結(jié)束日期 */</p><p>  subsidy float, /* 支出補(bǔ)貼費(fèi)用 */</p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  for

84、eign key(Sno) references Staff(Sno) on delete cascade on update cascade </p><p><b>  );</b></p><p>  insert into Sbussinesstrip values(1,'2015-03-03','2015-03-30',30

85、00);</p><p>  insert into Sbussinesstrip values(4,'2015-05-02','2015-05-20',2500);</p><p>  /* 2.8 創(chuàng)建員工加班信息表</p><p>  加班信息{員工號(hào),加班開(kāi)始時(shí)間,加班結(jié)束時(shí)間,加班補(bǔ)貼費(fèi)用} */</p>

86、<p>  create table Sovertime(</p><p>  Sno int , /* 員工號(hào)外碼 */</p><p>  ostarttime varchar(5), /* 加班開(kāi)始時(shí)間 */</p><p>  oendtime varchar(5), /* 加班結(jié)束時(shí)間

87、 */</p><p>  subsidy float, /* 加班補(bǔ)貼費(fèi)用 */</p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  foreign key(Sno) references Staff(Sno) on delete cascade on update cascade </p><

88、p><b>  );</b></p><p>  insert into Sovertime values(2,'18:15','21:25',200);</p><p>  insert into Sovertime values(3,'18:15','21:25',200);</p>

89、<p>  insert into Sovertime values(5,'18:15','21:25',200);</p><p>  /* 2.9 創(chuàng)建參訓(xùn)員工信息表</p><p>  參訓(xùn)員工的信息{員工號(hào),培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),培訓(xùn)開(kāi)始時(shí)間,培訓(xùn)結(jié)束時(shí)間,培訓(xùn)成績(jī)}</p><p><b>  */

90、</b></p><p>  create table Strain(</p><p>  Sno int , /* 員工號(hào)外碼 */</p><p>  tno int, /* 培訓(xùn)機(jī)構(gòu)號(hào) */</p><p>  tecno int,

91、 /* 培訓(xùn)教師號(hào) */ </p><p>  tstartdate date, /* 培訓(xùn)開(kāi)始時(shí)間 */</p><p>  tenddate date, /* 培訓(xùn)結(jié)束時(shí)間 */</p><p>  tgrade smallint, /* 培訓(xùn)成績(jī) */<

92、/p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  foreign key(Sno) references Staff(Sno) on delete cascade on update cascade </p><p><b>  ); </b></p><p>  insert into Strain

93、 values(1,123,1,'2014-03-04','2014-05-04',95);</p><p>  insert into Strain values(3,123,2,'2013-04-01','2013-08-04',75);</p><p>  insert into Strain values(4,456,

94、1,'2014-03-04','2014-05-04',80);</p><p>  insert into Strain values(6,123,3,'2015-03-01','2015-05-04',67);</p><p>  insert into Strain values(7,456,6,'2015-04

95、-04','2015-05-04',99);</p><p>  /* 2.10 創(chuàng)建培訓(xùn)機(jī)構(gòu)信息表</p><p>  培訓(xùn)機(jī)構(gòu){培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)機(jī)構(gòu)名} */</p><p>  create table TrainingAgency (</p><p>  tno int primary key,

96、 /* 培訓(xùn)機(jī)構(gòu)號(hào)主碼 */</p><p>  tname varchar(30), /* 培訓(xùn)機(jī)構(gòu)名 */</p><p><b>  );</b></p><p>  insert into TrainingAgency values(123,'魔樂(lè)科技培訓(xùn)學(xué)校');</p>&

97、lt;p>  insert into TrainingAgency values(456,'中北大學(xué)軟件學(xué)院');</p><p>  /* 2.11 創(chuàng)建培訓(xùn)教師信息表</p><p>  培訓(xùn)教師{培訓(xùn)機(jī)構(gòu)號(hào),培訓(xùn)教師號(hào),教師名,教師職稱} */</p><p>  create table TrainingTeacher (</p

98、><p>  tno int, /* 培訓(xùn)機(jī)構(gòu)號(hào) */</p><p>  tecno int , /* 培訓(xùn)教師號(hào) */</p><p>  tecname varchar(10), /* 培訓(xùn)機(jī)構(gòu)名 */</p><p>  /* 設(shè)置tn

99、o外鍵約束 */</p><p>  foreign key(tno) references TrainingAgency(tno) on delete cascade on update cascade </p><p><b>  );</b></p><p>  insert into TrainingTeacher values(12

100、3,1,'張磊');</p><p>  insert into TrainingTeacher values(123,2,'張峰');</p><p>  insert into TrainingTeacher values(123,3,'趙云');</p><p>  insert into TrainingTea

101、cher values(456,4,'李宇春');</p><p>  insert into TrainingTeacher values(456,6,'李敏鎬');</p><p>  /* 2.12 創(chuàng)建培訓(xùn)教師信息表</p><p>  獎(jiǎng)懲信息{員工號(hào)、獎(jiǎng)懲性質(zhì)(是獎(jiǎng)還是懲)、獎(jiǎng)懲原因、處理辦法} */</p>

102、<p>  create table AwardsAndPunishments (</p><p>  Sno int , /* 員工號(hào)外碼 */</p><p>  quality varchar(5), /* 獎(jiǎng)懲性質(zhì) */</p><p>  reason varchar(60),

103、 /* 獎(jiǎng)懲原因 */</p><p>  handling varchar(80), /* 處理辦法 */ </p><p>  /* 設(shè)置Sno外鍵約束 */</p><p>  foreign key(Sno) references Staff(Sno) on delete cascade on update cas

104、cade </p><p><b>  );</b></p><p>  insert into AwardsAndPunishments values(1,'獎(jiǎng)勵(lì)','工作勤懇,態(tài)度端正,認(rèn)真負(fù)責(zé)','獎(jiǎng)金');</p><p>  insert into AwardsAndPunishment

105、s values(2,'懲罰','經(jīng)常遲到早退','獎(jiǎng)金');</p><p>  insert into AwardsAndPunishments values(5,'懲罰','經(jīng)常遲到早退','獎(jiǎng)金');</p><p>  二、觸發(fā)器和存儲(chǔ)過(guò)程</p><p>  

106、/*---------------------------------存儲(chǔ)過(guò)程------------------------------- */</p><p>  /* 1.查詢?nèi)啃畔?*/</p><p>  create procedure staffInfoAll</p><p><b>  AS</b></p>&l

107、t;p><b>  begin</b></p><p>  select * from Staff</p><p><b>  end</b></p><p>  execute staffInfoALL</p><p>  /* 2.按員工號(hào)查詢員工信息 */</p><

108、p>  create procedure staffInfoBySno</p><p>  @divid varchar(10) --定義一個(gè)輸入?yún)?shù)</p><p><b>  as</b></p><p><b>  begin</b></p><p>  select * from St

109、aff where Sno = @divid --要求ID 列與輸入?yún)?shù)相等</p><p><b>  end</b></p><p>  execute staffInfoBySno '1'</p><p>  /* 3.插入一條員工信息 */</p><p>  create procedure i

110、nsertStaffInfo</p><p>  @Sno int , /* 員工號(hào) */</p><p>  @Sname varchar(10), /* 員工姓名 */</p><p>  @Ssex varchar(5), /* 性別 */</p><p

111、>  @Sage smallint, /* 年齡 */</p><p>  @Seduback varchar(7), /* 學(xué)歷(教育背景)*/</p><p>  @Spc varchar(5), /* 政治面貌 */</p><p>  @Sms varchar(5), /*

112、 婚姻狀況 */</p><p>  @Sps varchar(7) /* 生理狀況 */</p><p><b>  as</b></p><p><b>  begin</b></p><p>  insert into Staff values(@Sno,@Sna

113、me,@Ssex,@Sage,@Seduback,@Spc,@Sms,@Sps)</p><p><b>  end</b></p><p>  execute insertStaffInfo 8,'張磊','男',25,'本科','團(tuán)員','未婚','健康'</p&

114、gt;<p>  execute staffInfoBySno '8'</p><p>  /* 4.更新一條員工信息 */</p><p>  create procedure updateStaffInfo</p><p>  @Sno int , /* 員工號(hào) */</p>&

115、lt;p>  @Sname varchar(10), /* 員工姓名 */</p><p>  @Ssex varchar(5), /* 性別 */</p><p>  @Sage smallint, /* 年齡 */</p><p>  @Seduback varchar(7)

116、, /* 學(xué)歷(教育背景)*/</p><p>  @Spc varchar(5), /* 政治面貌 */</p><p>  @Sms varchar(5), /* 婚姻狀況 */</p><p>  @Sps varchar(7) /* 生理狀況 */</p><p&

117、gt;<b>  as</b></p><p><b>  begin</b></p><p>  update Staff set Sno=@Sno,Sname=@Sname,Ssex=@Ssex,Sage=@Sage,Seduback=@Seduback,Spc=@Spc,Sms=@Sms,Sps=@Sps</p><p&

118、gt;  where Sno=@Sno</p><p><b>  end</b></p><p>  execute updateStaffInfo 8,'張?chǎng)?#39;,'男',26,'本科','團(tuán)員','已婚','健康';</p><p>  /* 5

119、.刪除一條員工信息*/</p><p>  create procedure deleteStaffInfo</p><p>  @divid varchar(10)</p><p><b>  as</b></p><p><b>  begin</b></p><p> 

120、 delete from Staff where Sno = @divid </p><p><b>  end</b></p><p>  execute staffInfoALL</p><p>  execute deleteStaffInfo '8'</p><p>  execute staff

121、InfoBySno '8'</p><p>  execute staffInfoALL</p><p>  /* ---------------------------------觸發(fā)器------------------------------- */</p><p>  create trigger 觸發(fā)器</p><p

122、><b>  on Staff</b></p><p>  after insert,delete,update</p><p><b>  as </b></p><p>  if exists (select * from inserted) and exists (select * from deleted

123、)</p><p><b>  begin</b></p><p>  print '更新成功';</p><p><b>  end</b></p><p>  else if exists (select * from inserted)</p><p>

124、<b>  begin</b></p><p>  print '插入成功';</p><p><b>  end</b></p><p>  else if exists (select * from deleted)</p><p><b>  begin</b&

125、gt;</p><p>  print '刪除成功';</p><p><b>  end</b></p><p>  /* 測(cè)試數(shù)據(jù) */</p><p>  delete from Staff where Sno=6;</p><p>  /*刪除成功 (1

126、 行受影響)*/</p><p>  insert into Staff values(8,'張磊','男',25,'本科','團(tuán)員','未婚','健康'); </p><p>  /*插入成功 (1 行受影響)*/</p><p>  update Staff set

127、Sno=8,Sname='張?chǎng)?#39;,Ssex='男',Sage=21,Seduback='本科',Spc='黨員',Sms='已婚',Sps='健康' where Sno=8;</p><p>  /*更新成功 (1 行受影響)*/</p><p>  SELECT * FROM Staff WH

128、ERE Sno=8;</p><p>  /*8張?chǎng)文?1本科黨員已婚健康*/</p><p><b>  七、實(shí)驗(yàn)截圖</b></p><p>  一、表的定義和數(shù)據(jù)插入</p><p>  (1)創(chuàng)建員工信息表Staff</p><p> ?。?)創(chuàng)建工作信息表WorkInfo&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論