2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  院(系):_電氣與信息工程學(xué)院 專業(yè)班級(jí): </p><p>  學(xué)生姓名: 學(xué) 號(hào): </p><p>  設(shè)計(jì)地點(diǎn)(單位)_____ _

2、______ _ _ </p><p>  設(shè)計(jì)題目:__ _工資管理系統(tǒng)設(shè)計(jì) </p><p>  完成日期: 2016年 1月 7日</p><p><b>  指導(dǎo)教師評語:</b></p><p>  ______________________

3、______________ </p><p>  ______________________________________________________________________________________________________________________________________________________</p>&

4、lt;p>  成績(五級(jí)記分制):______ __________ 指導(dǎo)教師(簽字): ________ ________</p><p><b>  摘要</b></p><p>  本次數(shù)據(jù)庫課程設(shè)計(jì)不要求界面和外部應(yīng)用程序的設(shè)計(jì),只設(shè)計(jì)數(shù)據(jù)庫部分。工資管理系統(tǒng)采用mysql作為數(shù)據(jù)庫后臺(tái)。工資管理系統(tǒng)的主要任務(wù)是用計(jì)算機(jī)對各種工資

5、信息進(jìn)行日常的管理,如查詢、修改、增加、刪除等,設(shè)計(jì)觸發(fā)器、存儲(chǔ)過程使管理更方便,迅速準(zhǔn)確地完成各種工資信息的統(tǒng)計(jì)計(jì)算和匯總工作,快速打印出工資報(bào)表,針對系統(tǒng)服務(wù)對象的具體要求,設(shè)計(jì)了企業(yè)工資管理系統(tǒng)。</p><p>  關(guān)鍵詞: 工資管理系統(tǒng) msyql 觸發(fā)器 存儲(chǔ)過程</p><p><b>  課程設(shè)計(jì)任務(wù)書3</b></p><p>

6、;  設(shè)計(jì)題目:工資管理系統(tǒng)設(shè)計(jì)</p><p>  教研室主任:王雙明 指導(dǎo)教師:游明英/王雙明 2015年 12 月25 日</p><p><b>  目錄</b></p><p><b>  摘要II</b>&l

7、t;/p><p><b>  1 需求分析1</b></p><p>  1.1 系統(tǒng)目標(biāo)設(shè)計(jì)1</p><p>  1.2 系統(tǒng)功能分析1</p><p>  1.3 數(shù)據(jù)流程分析1</p><p>  1.4 數(shù)據(jù)字典2</p><p>  2 概念結(jié)構(gòu)設(shè)計(jì)4&

8、lt;/p><p>  2.1 構(gòu)成系統(tǒng)的實(shí)體型4</p><p>  2.2 E-R圖4</p><p>  3 邏輯結(jié)構(gòu)設(shè)計(jì)5</p><p>  3.1邏輯結(jié)構(gòu)簡介5</p><p>  3.2 關(guān)系模型5</p><p><b>  4物理模型設(shè)計(jì)6</b>

9、</p><p>  4.1定義數(shù)據(jù)庫6</p><p><b>  4.2 創(chuàng)建表6</b></p><p>  4.3 創(chuàng)建存儲(chǔ)過程8</p><p>  4.4 創(chuàng)建視圖9</p><p>  4.5 創(chuàng)建觸發(fā)器10</p><p><b>  總

10、結(jié)12</b></p><p><b>  參考文獻(xiàn)13</b></p><p><b>  1 需求分析</b></p><p>  1.1 系統(tǒng)目標(biāo)設(shè)計(jì)</p><p>  信息時(shí)代不斷發(fā)展,工資管理系統(tǒng)也需要不斷更新,現(xiàn)代化,才能更加方便!</p><p&g

11、t;  1.2 系統(tǒng)功能分析</p><p>  根據(jù)不同的用戶角色,進(jìn)行授權(quán),使不同用戶具有相應(yīng)的權(quán)限,比如管理員可以管理該數(shù)據(jù)庫的全部數(shù)據(jù)更新;員工可以修改自己的基本信息等等。</p><p>  基本工種,基本工資的管理;</p><p>  公司部門、部門福利、員工的管理;</p><p>  加班類型,加班工資的管理;</p&

12、gt;<p>  公司員工的考勤信息管理;</p><p>  員工月工資管理,月工資=基本工資+部門福利-缺勤扣掉的工資;</p><p>  查詢統(tǒng)計(jì)上述信息,生成企業(yè)工資報(bào)表</p><p>  1.3 數(shù)據(jù)流程分析</p><p><b>  圖1.3數(shù)據(jù)流程圖</b></p><

13、;p><b>  1.4 數(shù)據(jù)字典</b></p><p>  表1.1 員工信息表</p><p>  表1.2 部門信息表</p><p><b>  表1.3 工種表</b></p><p><b>  表1.4 工資表</b></p><p&

14、gt;<b>  表1.5 考勤表</b></p><p>  表1.6 離職員工表</p><p><b>  2 概念結(jié)構(gòu)設(shè)計(jì)</b></p><p>  2.1 構(gòu)成系統(tǒng)的實(shí)體型</p><p>  由工資管理系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典,抽取出系統(tǒng)的幾個(gè)個(gè)主要實(shí)體,包括:員工實(shí)體,工種實(shí)體,部門

15、實(shí)體,工資實(shí)體。</p><p>  員工實(shí)體型屬性:StaffId, staffName, staffAge, staffSex, staffPhone</p><p>  工種實(shí)體型屬性:professionId, professionName</p><p>  部門實(shí)體型屬性:departmentId, departmentName,departmentPh

16、one</p><p>  工資實(shí)體型屬性:basicSalary departmentAllowance</p><p><b>  2.2 E-R圖</b></p><p><b>  圖2.2E-R圖</b></p><p><b>  3 邏輯結(jié)構(gòu)設(shè)計(jì)</b></

17、p><p><b>  3.1邏輯結(jié)構(gòu)簡介</b></p><p>  邏輯結(jié)構(gòu)設(shè)計(jì)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。</p><p>  設(shè)計(jì)邏輯結(jié)構(gòu)一般分為3步進(jìn)行:</p><p>  (1) 將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;</p&g

18、t;<p>  (2) 將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;</p><p>  (3) 對數(shù)據(jù)模型進(jìn)行優(yōu)化。</p><p><b>  3.2 關(guān)系模型</b></p><p>  將E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要獎(jiǎng)實(shí)體型、實(shí)體的屬性和實(shí)體型之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,這種轉(zhuǎn)換一般遵循如下原則:

19、一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式,一個(gè)多對多的關(guān)系可以轉(zhuǎn)化為一個(gè)關(guān)系模式,而一對多的關(guān)系可以融合在其他的相關(guān)的關(guān)系模式中。例如:</p><p>  (1) 員工與部門是多對一的關(guān)系,所以將員工與部門設(shè)計(jì)成以下關(guān)系模式:</p><p>  員工(StaffId, staffName, staffAge, staffSex, staffPhone )</p><p> 

20、 部門(departmentId, departmentName,departmentPhone )</p><p>  屬于(StaffId, staffName, staffAge, staffSex, staffPhone departmentId, departmentName,departmentPhone )</p><p>  (2)員工和工種是多對一的關(guān)系,所以將員工與工種

21、設(shè)計(jì)成以下關(guān)系模式:</p><p>  員工(StaffId, staffName, staffAge, staffSex, staffPhone ) </p><p>  工種 (professionId, professionName)</p><p>  屬于(StaffId, staffName, staffAge, staffSex, staffP

22、hone professionId, professionName) </p><p>  (3)員工與工資是一對一的關(guān)系,所以將員工與工資設(shè)計(jì)以下關(guān)系模式:</p><p>  工資(basicSalary departmentAllowance)</p><p>  員工 (StaffId, staffName, staffAge, staffSex, sta

23、ffPhone)</p><p>  屬于(basicSalary departmentAllowance StaffId, staffName, staffAge, staffSex, staffPhone)</p><p><b>  4物理模型設(shè)計(jì)</b></p><p>  數(shù)據(jù)庫物理設(shè)計(jì)是將邏輯設(shè)計(jì)影射到存儲(chǔ)介質(zhì)上,利用可用的硬件和軟

24、件功能盡可能快地對數(shù)據(jù)進(jìn)行物理訪問和維護(hù)。</p><p><b>  4.1定義數(shù)據(jù)庫</b></p><p>  通過SQL語言進(jìn)行數(shù)據(jù)庫創(chuàng)建,創(chuàng)建數(shù)據(jù)庫的語句如下:</p><p>  Create database sms;</p><p><b>  4.2 創(chuàng)建表</b></p&g

25、t;<p><b>  創(chuàng)建部門信息表</b></p><p>  DROP TABLE IF EXISTS `department`;</p><p>  CREATE TABLE `department` (</p><p>  `departmentId` int(11) NOT NULL AUTO_INCREMENT,//

26、部門編號(hào),主鍵自增</p><p>  `departmentName` varchar(255) NOT NULL,//部門名字</p><p>  `departmentAllowance` int(11) NOT NULL,//部門補(bǔ)貼</p><p>  `departmentPhhone` int(11) NOT NULL,//部門電話</p>

27、<p>  PRIMARY KEY (`departmentId`),</p><p><b>  ) </b></p><p><b>  創(chuàng)建離職員工表</b></p><p>  DROP TABLE IF EXISTS `dimissionstaff`;</p><p>  C

28、REATE TABLE `dimissionstaff` (</p><p>  `staffId` int(11) NOT NULL,//員工編號(hào),主鍵,唯一</p><p>  `staffName` varchar(255) NOT NULL,//員工名字</p><p>  `staffSex` varchar(255) DEFAULT NULL,//員工性

29、別</p><p>  `staffAge` int(11) DEFAULT NULL,//員工年齡</p><p>  `staffPhone` varchar(255) DEFAULT NULL,//員工電話</p><p>  `departmentId` int(11) DEFAULT NULL,//員工所在部門編號(hào),外鍵</p><p&

30、gt;  `professionId` int(11) DEFAULT NULL,//員工所屬工種,外鍵</p><p>  PRIMARY KEY (`staffId`)</p><p><b>  ) </b></p><p><b>  創(chuàng)建工種表 </b></p><p>  CREATE

31、TABLE `profession` (</p><p>  `professionId` int(11) NOT NULL AUTO_INCREMENT,//工種號(hào),主鍵自增</p><p>  `professionName` varchar(255) NOT NULL,//工種名字</p><p>  `departmentId` int(11) NOT NU

32、LL,//工種所屬部門,外鍵</p><p>  `basicSalary` int(11) NOT NULL,//工種的基本工資</p><p>  PRIMARY KEY (`professionId`),</p><p><b>  )</b></p><p><b>  創(chuàng)建工資表</b>&

33、lt;/p><p>  CREATE TABLE `salary` (</p><p>  `staffId` int(11) NOT NULL,//員工號(hào),外鍵</p><p>  `departmentId` int(11) NOT NULL,//員工所屬部門號(hào),外鍵</p><p>  `basicSalary` int(11) NOT N

34、ULL,//員工的基本工資,外鍵</p><p>  `departmentAllowance` int(11) NOT NULL,//員工所在部門的補(bǔ)貼,外鍵</p><p>  `isGet` int(11) NOT NULL,//員工是否領(lǐng)取工資</p><p>  PRIMARY KEY (`staffId`),</p><p>&l

35、t;b>  ) </b></p><p><b>  創(chuàng)建員工表</b></p><p>  CREATE TABLE `staff` (</p><p>  `staffId` int(11) NOT NULL AUTO_INCREMENT,//員工編號(hào),主鍵自增</p><p>  `staffNa

36、me` varchar(255) NOT NULL,//員工姓名</p><p>  `staffAge` int(11) DEFAULT NULL,//員工年齡</p><p>  `staffSex` varchar(255) DEFAULT NULL,//員工性別</p><p>  `staffPhone` varchar(255) DEFAULT NULL

37、,//員工電話</p><p>  `departmentId` int(11) DEFAULT NULL,//員工所在部門,外鍵</p><p>  `professionId` int(11) DEFAULT NULL,//員工所屬工種,外鍵</p><p>  PRIMARY KEY (`staffId`),</p><p><b

38、>  ) </b></p><p><b>  創(chuàng)建考勤表</b></p><p>  CREATE TABLE `works` (</p><p>  `staffId` int(11) NOT NULL,//員工編號(hào),外鍵</p><p>  `workDate` date NOT NULL,//工

39、作日</p><p>  `isWork` int(11) NOT NULL,//是否打卡</p><p><b>  ) </b></p><p>  4.3 創(chuàng)建存儲(chǔ)過程</p><p>  /*創(chuàng)建查詢部門全部員工的存儲(chǔ)過程,只有一個(gè)輸入?yún)?shù):部門編號(hào)*/</p><p>  DROP PR

40、OCEDURE IF EXISTS `dpt_staff`;</p><p>  DELIMITER ;;</p><p>  CREATE DEFINER=`root`@`localhost` PROCEDURE `dpt_staff`(`id` int)</p><p><b>  BEGIN</b></p><p>

41、;  SELECT * FROM staff where departmentId=id;</p><p><b>  END</b></p><p><b>  ;;</b></p><p>  DELIMITER ;</p><p>  /*調(diào)用該存儲(chǔ)過程*/</p><p&

42、gt;  Call dpt_staff(部門編號(hào)(1或2));</p><p>  /*創(chuàng)建查詢單人月工資的存儲(chǔ)過程,一個(gè)輸入?yún)?shù):員工編號(hào);一個(gè)輸出參數(shù):月總工資;*/</p><p>  DROP PROCEDURE IF EXISTS `monthSalary`;</p><p>  DELIMITER ;;</p><p>  CRE

43、ATE DEFINER=`root`@`localhost` PROCEDURE `monthSalary`(IN `id` int,OUT `c` int)</p><p><b>  BEGIN</b></p><p>  DECLARE a INT;</p><p>  DECLARE b INT;</p><p>

44、;  /*把查詢到的結(jié)果賦值給變量*/</p><p>  SELECT basicSalary into a FROM salary WHERE staffId=id;</p><p>  SELECT departmentAllowance into b FROM salary WHERE staffId=id;</p><p>  set c = a+b;&l

45、t;/p><p>  select c as monthSalary;</p><p><b>  END</b></p><p><b>  ;; </b></p><p>  DELIMITER ;</p><p>  /*創(chuàng)建生成年終獎(jiǎng)的存儲(chǔ)過程,一個(gè)輸入?yún)?shù):員工編號(hào)*

46、/</p><p>  DROP PROCEDURE IF EXISTS `yearBonus`;</p><p>  DELIMITER ;;</p><p>  CREATE DEFINER=`root`@`localhost` PROCEDURE `yearBonus`(`id` int)</p><p><b>  BEGI

47、N</b></p><p>  DECLARE a INT DEFAULT 1000;</p><p>  DECLARE b DOUBLE;</p><p>  DECLARE c INT DEFAULT 12;</p><p>  DECLARE month_Salary INT;</p><p>  

48、/*調(diào)用存儲(chǔ)過程monthSalary(),得到其輸出參數(shù)*/</p><p>  call monthSalary(id,month_Salary);</p><p>  SET b=(month_Salary*c+a)/c;</p><p><b>  SELECT b;</b></p><p><b> 

49、 END</b></p><p><b>  ;;</b></p><p>  DELIMITER ;</p><p>  /*調(diào)用存儲(chǔ)過程*/</p><p>  Call yearBonus(員工編號(hào))</p><p><b>  4.4 創(chuàng)建視圖</b>&l

50、t;/p><p>  /*創(chuàng)建部門員工考勤情況的試圖*/</p><p>  DROP VIEW IF EXISTS `dpt_stf_workinfo`;</p><p>  CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL </p><p>  SECURITY DEFINER

51、 VIEW `dpt_stf_workinfo` AS SELECT</p><p>  department.departmentId,</p><p>  staff.staffId,</p><p>  staff.professionId,</p><p>  works.isWork,</p><p>  

52、works.workDate</p><p><b>  FROM</b></p><p>  department</p><p>  INNER JOIN profession ON profession.departmentId = </p><p>  department.departmentId</p&

53、gt;<p>  INNER JOIN staff ON staff.professionId = profession.professionId </p><p>  AND staff.departmentId = department.departmentId</p><p>  INNER JOIN works ON works.staffId = staff.sta

54、ffId ;</p><p>  /*創(chuàng)建員工是否領(lǐng)取工資的試圖*/</p><p>  DROP VIEW IF EXISTS `isgetsalary`;</p><p>  CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` VIEW `isgetsalary` AS SELECT</p>

55、<p>  staff.staffId,</p><p>  staff.staffName,</p><p>  salary.isGet</p><p><b>  FROM</b></p><p><b>  staff</b></p><p>  INNE

56、R JOIN salary ON salary.staffId = staff.staffId ;</p><p>  /*創(chuàng)建各個(gè)員工工資情況的試圖*/</p><p>  DROP VIEW IF EXISTS `salaryinfo`;</p><p>  CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost

57、` SQL </p><p>  SECURITY DEFINER VIEW `salaryinfo` AS SELECT</p><p>  department.departmentId,</p><p>  staff.staffId,</p><p>  staff.staffName,</p><p>  

58、staff.professionId,</p><p>  department.departmentAllowance,</p><p>  profession.basicSalary</p><p><b>  FROM</b></p><p>  department</p><p>  

59、INNER JOIN profession ON profession.departmentId = </p><p>  department.departmentId</p><p>  INNER JOIN staff ON staff.professionId = profession.professionId </p><p>  AND staff.de

60、partmentId = department.departmentId ;</p><p><b>  4.5 創(chuàng)建觸發(fā)器</b></p><p>  /*創(chuàng)建一個(gè)有員工離職的時(shí)候,離職員工表添加一條記錄,員工表刪除對應(yīng)員工信息的觸發(fā)器*/</p><p>  DROP TRIGGER IF EXISTS `update_allowance`

61、;</p><p>  DELIMITER ;;</p><p>  CREATE TRIGGER `update_allowance` AFTER UPDATE ON `department` </p><p>  FOR EACH ROW begin</p><p>  update salary set departmentAllowa

62、nce=new.departmentAllowance </p><p>  where departmentId=departmentId;</p><p><b>  end</b></p><p>  /*創(chuàng)建一個(gè)一個(gè)員工離職,對應(yīng)工資表的數(shù)據(jù)全部清除*/</p><p>  DROP TRIGGER IF EX

63、ISTS `delete_salary`;</p><p>  DELIMITER ;;</p><p>  CREATE TRIGGER `delete_salary` AFTER DELETE ON `staff` FOR EACH </p><p><b>  ROW begin</b></p><p>  del

64、ete from salary where staffId=old.staffId;</p><p><b>  end</b></p><p><b>  總結(jié)</b></p><p>  在這一周的課程設(shè)計(jì)中我學(xué)到了許多書本之外的東西,動(dòng)手能力得到了提高,對數(shù)據(jù)庫系統(tǒng)的設(shè)計(jì)流程有了進(jìn)一步的了解。雖然本周時(shí)間比較緊,五天

65、其中有三天考試,但是我還是下來了。當(dāng)然在本次課程設(shè)計(jì)中我也學(xué)到了很多應(yīng)用軟件的知識(shí),比如navicate for mysql和PowerDesigner之間的聯(lián)合運(yùn)用,數(shù)據(jù)流圖的繪制還有就是對工資管理的需求分析更加熟悉等。在這里感謝*老師,*老師的幫助,其次感謝**的指導(dǎo)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 孫建伶,林懷忠. 數(shù)

66、據(jù)庫原理與應(yīng)用. 北京:高等教育出版社 2006.5</p><p>  [2] 梁方明. SQL Server 2000. 北京:希望電子出版社 2002.7</p><p>  [3] 王珊,薩師煊. 數(shù)據(jù)庫系統(tǒng)概論(第四版). 北京:高等教育出版社 2006.5</p><p>  [4] 李樹有. 數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)與實(shí)例. 北京:人民郵電出版社 2005.

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論