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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  數據庫原理及應用課程設計</p><p><b>  設計報告</b></p><p>  題 目: 某單位的人事管理系統 </p><p>  學 號: </p><p>  學生姓名: </p&g

2、t;<p>  指導教師: </p><p>  提交時間: 2015-01-04 </p><p><b>  目錄</b></p><p>  第1章 需求分析1</p><p>  1.1 需求調查1</p><p&

3、gt;  1.2 系統功能分析2</p><p>  1.3 面對用戶需求分析3</p><p>  第2章 面向對象分析和設計4</p><p>  第3章 邏輯結構設計7</p><p>  類和對象向關系模式轉換12</p><p>  第4章 數據庫物理結構設計12</p><

4、;p>  4.1存取方法設計12</p><p>  4.2 存儲結構設計12</p><p>  4.3 物理設計13</p><p>  第5章 數據庫完整性設計16</p><p>  5.1 主鍵及唯一性索引16</p><p>  5.2 參照完整性設計16</p>&l

5、t;p>  5.3 Check約束17</p><p>  5.4 觸發器設計17</p><p>  第6章 數據庫視圖設計19</p><p>  第7章 數據庫存儲過程設計19</p><p><b>  總結20</b></p><p><b>  參考文獻

6、:20</b></p><p>  人事管理系統后臺數據庫</p><p><b>  第1章 需求分析</b></p><p><b>  1.1 需求調查</b></p><p>  通過對各個用戶的調查,該人事管理系統有如下需求:</p><p><

7、b>  員工信息管理:</b></p><p>  實現記錄在該單位中所有人員的在該單位的員工信息,實現對員工信息的管理,也包括對員工信息的增加、刪除、修改等功能。</p><p><b>  部門信息管理:</b></p><p>  實現對該單位中的各個部門的編號、部門相關信息的統計,此時也將單位中的所有人員進行分類管理。

8、</p><p><b>  職位調動管理:</b></p><p>  實現當員工的就職信息發生更改的時候,系統進行相應關聯信息的更改,即增加相應的修改信息的同時,員工的信息管理中的對應信息進行修改。</p><p>  系統管理人員信息管理:</p><p>  實現對相應的系統管理人員的帳號、密碼等基本信息的管理功

9、能。</p><p><b>  出勤信息管理:</b></p><p>  實現對每一位員工的出勤狀況的記錄,記錄對應的出勤刷卡機號以及出勤時間的信息管理。</p><p><b>  獎懲管理:</b></p><p>  實現針對于不同的獎懲類型、獎懲金額等信息的管理,實現輸入獎懲信息的修改相

10、應的工資信息。</p><p><b>  工資管理:</b></p><p>  實現各個員工工資條目信息的管理。</p><p>  1.2 系統功能分析</p><p><b>  員工管理:</b></p><p>  主要應用于對員工在該單位基本信息的管理,可以執行

11、對某員工的增加、刪除、修改信息的功能等。</p><p><b>  管理人員管理:</b></p><p>  用于對相應的系統管理人員的帳號、密碼等基本信息的管理。</p><p><b>  個人經歷管理:</b></p><p>  可對各個員工的過往經歷匯總并記錄留檔,完善員工在該單位中的

12、基本信息,增加單位對員工個人經歷的了解。</p><p><b>  家庭關系管理:</b></p><p>  可對各個員工的家庭人員以及關系進行匯總并記錄留檔,完善員工在該單位中的基本信息,增加單位對員工家庭情況的了解</p><p><b>  部門管理:</b></p><p>  主要用于

13、分別管理各個部門的基本信息,以及部門的實際情況統計。</p><p><b>  職位調動管理:</b></p><p>  負責記錄單位中人員的職位調動信息的記錄、統計、管理等,并當更新職位調動信息的時候,將相應的員工、部門信息進行修改。</p><p><b>  出勤信息管理:</b></p><

14、p>  記錄員工每一次的刷卡出勤的相關信息,做好統計工作。</p><p><b>  刷卡機管理:</b></p><p>  管理出勤是所需要的出勤記錄刷卡機。</p><p><b>  請假記錄管理:</b></p><p>  用于記錄員工的請假信息,包括員工編號、請假時間、銷假時間

15、、請假天數等信息。</p><p><b>  獎懲記錄管理:</b></p><p>  用于記錄員工的獎懲信息,包括員工編號、獎懲類型、獎懲金額、獎懲時間等信息。</p><p><b>  工資管理:</b></p><p>  用于統計記錄員工的工資信息,基本工資、將罰金、時間等。</

16、p><p>  1.3 面對用戶需求分析</p><p>  在該單位的人事管理系統中,最主要的兩個功能就是查詢信息和管理信息。系統的用戶又分為員工和管理人員,因此我將該系統又分為以下若干子系統,包括員工查詢子系統、管理員查詢子系統、員工信息管理子系統、部門信息管理子系統、信息變更子系統、工資管理子系統,以滿足不同用戶的不同應用需求。</p><p>  下面從細分后的

17、各個子系統分析子系統的需求:</p><p><b>  員工查詢子系統:</b></p><p>  可供員工查詢與自己相關的姓名、職位、部門等基本信息,以及各個時期的工資、獎金罰款的發放情況。</p><p><b>  管理員查詢子系統</b></p><p>  可供管理員查詢所管理員工的全

18、面信息,具有管理權限。</p><p><b>  員工信息管理子系統</b></p><p>  當員工自身的基本情況,如家庭關系變更時,可由員工自行進行修改相關信息。</p><p><b>  部門信息管理子系統</b></p><p>  部門的管理員可對該部門的相關信息進行管理,執行查詢、

19、增加、刪除、修改等操作。</p><p><b>  信息變更子系統</b></p><p>  員工提交相應修改信息,則將所有該員工的相關信息進行修改。</p><p><b>  工資管理子系統</b></p><p>  對獎罰金額及基本工資、結算工資進行管理。</p><

20、p>  第2章 面向對象分析和設計</p><p><b>  類和對象設計如下:</b></p><p>  第3章 邏輯結構設計</p><p><b>  局部E-R圖</b></p><p><b>  圖3.2 個人經歷</b></p><p

21、><b>  圖3.3 家庭關系</b></p><p><b>  圖3.4 部門</b></p><p><b>  圖3.5 職位調動</b></p><p><b>  圖3.6 工資</b></p><p><b>  圖3.7管

22、理人員</b></p><p><b>  圖3.8 刷卡機</b></p><p><b>  圖3.9 出勤</b></p><p>  圖3.10 請假記錄</p><p>  圖3.11 獎懲記錄</p><p><b>  全局E-R圖:<

23、;/b></p><p>  類和對象向關系模式轉換</p><p>  1、員工(員工編號,姓名,性別,出生日期,學歷,身份證號,民族,職稱,部門號,職務)</p><p>  2、個人經歷(年份,員工編號,學習經歷,任職經歷)</p><p>  3、家庭關系(關系編號,員工編號,親屬關系,親屬姓名)</p><

24、p>  4、管理人員(管理員帳號,職工編號,密碼,級別)</p><p>  5、出勤(出勤號,員工編號,上班日期,上班時間,下班時間,刷卡機號)</p><p>  6、刷卡機(刷卡機號)</p><p>  7、部門(部門號,部門名,領導人員,員工人數)</p><p>  8、職位調動(調動編號,員工編號,調動前職務,調動后職務,

25、調動前部門號,調動后部門號,調動日期,批復日期,調動原因)</p><p>  9、獎懲記錄(獎懲編號,員工編號,獎懲類型,獎懲金額,獎懲日期,批復部門號,批復日期,獎懲原因)</p><p>  10、請假記錄(請假編號,員工編號,請假時間,銷假時間,請假天數,審批人編號)</p><p>  11、工資(工資編號,員工編號,基本工資,罰款,獎金,結算工資,起始日

26、期,截止日期,發信日期)</p><p>  第4章 數據庫物理結構設計</p><p><b>  存取方法設計</b></p><p>  數據庫系統是多用戶共享的系統,對同一個關系要建立多條存儲路徑才能滿足多用戶的多種應用要求。對于人事管理系統來說,為了提高某些屬性(如:員工編號,管理員帳號,員工基本信息等)的查詢速度,可以選擇聚簇存取的

27、方法,即把這些屬性上具有相同值的元組集中放在連續的物理塊上。這樣在查詢某個學院或是查詢某個專業或某學年等的學生成績或選課等時就會大大提高查詢速度。因此,該系統中選擇聚簇存取方法。</p><p>  4.2 存儲結構設計</p><p>  人事管理系統是一個大型復雜的計算機網絡信息系統,采用基于瀏覽器/服務器(B/S),客戶端/服務器(C/S)混合的應用體系結構來建設教務管理系統。數據庫

28、管理系統采用Microsoft 公司推出的SQL Server 2000 或以上版本,并用SQL進行數據庫的建立和數據庫中數據的維護和查詢。</p><p><b>  4.3 物理設計</b></p><p>  實現該設計的環境為Windows XP Professional + MS SQL Server 2005 或以上版本。</p><p

29、><b>  1、建立員工信息表</b></p><p>  create table 員工</p><p><b>  (</b></p><p>  員工編號 char(4) primary key,</p><p>  姓名 char(10) not null,</p>&

30、lt;p>  性別 char(2) check(性別 in('男','女')),</p><p>  出生日期 datetime,</p><p>  學歷 varchar(32) not null,</p><p>  身份證號 varchar(32) not null,</p><p>  民族 va

31、rchar(16) not null,</p><p>  職稱 char(10),</p><p>  部門號 char(4)</p><p><b>  )</b></p><p><b>  2、建立個人經歷表</b></p><p>  create table 個人

32、經歷</p><p><b>  (</b></p><p>  年份 datetime,</p><p>  員工編號 char(4),</p><p>  學習經歷 varchar(50),</p><p>  任職經歷 varchar(50),</p><p>  p

33、rimary key(年份, 員工編號),</p><p>  foreign key(員工編號) references 員工(員工編號)</p><p><b>  )</b></p><p><b>  3、建立家庭關系表</b></p><p>  create table 家庭關系</

34、p><p><b>  (</b></p><p>  關系編號 char(10) primary key,</p><p>  員工編號 char(4) not null,</p><p>  親屬關系 char(4),</p><p>  親屬姓名 char(10),</p><

35、;p>  親屬性別 char(2),</p><p>  foreign key(員工編號) references 員工(員工編號)</p><p><b>  ) </b></p><p><b>  4、建立管理人員表</b></p><p>  create table 管理人員<

36、/p><p><b>  (</b></p><p>  管理員賬號 char(4) primary key,</p><p>  職工編號 char(4) not null,</p><p>  密碼 char(6) not null,</p><p>  級別 char(4)check(級別 in

37、 ('管理員','系統管理員')),</p><p>  foreign key(職工編號) references 員工(員工編號)</p><p><b>  )</b></p><p><b>  5、建立出勤表</b></p><p>  create tabl

38、e 出勤</p><p><b>  (</b></p><p>  出勤號 char(6) primary key,</p><p>  員工編號 char(4) not null,</p><p>  上班日期 datetime,</p><p>  上班時間 datetime,</p&

39、gt;<p>  下班時間 datetime,</p><p>  刷卡機號 char(4),</p><p>  foreign key(員工編號) references 員工(員工編號)</p><p>  foreign key(刷卡機號) references 刷卡機(刷卡機號)</p><p><b>  )

40、</b></p><p><b>  6、建立刷卡機表</b></p><p>  create table 刷卡機</p><p><b>  (</b></p><p>  刷卡機號 char(4) primary key</p><p><b> 

41、 )</b></p><p><b>  7、建立部門表</b></p><p>  create table 部門</p><p><b>  (</b></p><p>  部門號 char(4) primary key,</p><p>  部門名 char

42、(10) not null,</p><p>  領導人員 char(4) not null,</p><p><b>  員工人數 int</b></p><p><b>  )</b></p><p><b>  8、建立職位調動表</b></p><p

43、>  create table 職位調動</p><p><b>  (</b></p><p>  調動編號 char(6) not null,</p><p>  員工編號 char(4) not null,</p><p>  調動前職務 char(10),</p><p>  調動后

44、職務 char(10),</p><p>  調動部門號 char(4) not null,</p><p>  調動日期 datetime,</p><p>  批復日期 datetime,</p><p>  調動原因 varchar(50),</p><p>  foreign key(員工編號) referen

45、ces 員工(員工編號),</p><p>  foreign key(調動部門號) references 部門(部門號),</p><p><b>  )</b></p><p><b>  9、建立獎懲記錄表</b></p><p>  create table 獎懲記錄</p>

46、<p><b>  (</b></p><p>  獎懲編號 char(6) not null primary key,</p><p>  員工編號 char(4) not null,</p><p>  獎懲類型 char(4),</p><p>  獎懲金額 money,</p><p

47、>  獎懲日期 datetime,</p><p>  批復部門號 char(4),</p><p>  批復日期 datetime,</p><p>  獎懲原因 varchar(50),</p><p>  foreign key(員工編號) references 員工(員工編號),</p><p>  fo

48、reign key(批復部門號) references 部門(部門號)</p><p><b>  )</b></p><p>  10、建立請假記錄表</p><p>  create table 請假記錄</p><p><b>  (</b></p><p>  請假編

49、號 char(6) not null primary key,</p><p>  員工編號 char(4) not null,</p><p>  請假時間 datetime,</p><p>  銷假時間 datetime,</p><p><b>  請假天數 int,</b></p><p&g

50、t;  審批人編號 char(4),</p><p>  foreign key(員工編號) references 員工(員工編號)</p><p><b>  )</b></p><p><b>  11、建立工資表</b></p><p>  create table 工資</p>

51、<p><b>  (</b></p><p>  工資編號 char(6) primary key,</p><p>  員工編號 char(4) not null,</p><p>  基本工資 money not null,</p><p><b>  罰款 money,</b>&

52、lt;/p><p><b>  獎金 money,</b></p><p>  結算工資 money,</p><p>  起始時間 datetime,</p><p>  截止時間 datetime,</p><p>  發信日期 datetime,</p><p>  fo

53、reign key(員工編號) references 員工(員工編號)</p><p><b>  )</b></p><p>  第5章 數據庫完整性設計</p><p>  5.1 主鍵及唯一性索引</p><p><b>  參照完整性設計</b></p><p>  

54、將個人經歷表中,將“員工編號”設置為表的外鍵。 </p><p>  在家庭關系中,將“員工編號”設置為表的外鍵。</p><p>  在管理人員表中,將“員工編號”設置為表的外鍵。</p><p>  在出勤表中,將“員工編號”設置為表的外鍵,再將“刷卡機號”設置為外鍵。</p><p>  在職位調動表中,將“員工編號”設置為表的外鍵,再

55、將“部門”號設置為外鍵。</p><p>  在獎懲記錄表中,將“員工編號”設置為表的外鍵。</p><p>  在請假記錄表中,將“員工編號”設置為表的外鍵。</p><p>  在工資等表中的將“員工編號”設置為表的外鍵。</p><p>  5.3 Check約束</p><p>  1、員工表中,將性別進行ch

56、eck約束:</p><p>  check(性別 in('男','女'))</p><p>  2、獎懲記錄表中,將獎懲類型進行check約束:</p><p>  check(獎懲類型 in('獎','懲'))</p><p>  5.4 觸發器設計</p>

57、<p>  1、在職位調動表中,建立更改員工職務的觸發器</p><p>  create trigger trigger_職務修改 on 職位調動 for insert</p><p><b>  as</b></p><p>  declare @new_員工編號 char(10),@new_調動后職務 char(10)</

58、p><p>  select @new_員工編號=員工編號,@new_調動后職務=調動后職務 from inserted</p><p>  update 員工 set 職務=@new_調動后職務 where 員工編號=@new_員工編號</p><p>  2、在員工表中,建立插入或刪除員工信息時,修改其相應部門的人數</p><p>  cr

59、eate trigger trigger_增加員工 on 員工 for insert</p><p><b>  as</b></p><p>  declare @new_部門號 char(4),@new_員工人數 int</p><p>  select @new_部門號=部門號 from inserted</p><p

60、>  select @new_員工人數=員工人數 from 部門</p><p>  update 部門 set 員工人數=@new_員工人數+1 where 部門號=@new_部門號</p><p>  create trigger trigger_減少員工 on 員工 for delete</p><p><b>  as</b>&l

61、t;/p><p>  declare @new_部門號 char(4),@new_員工人數 int</p><p>  select @new_部門號=部門號 from deleted</p><p>  select @new_員工人數=員工人數 from 部門</p><p>  update 部門 set 員工人數=@new_員工人數-1

62、where 部門號=@new_部門號</p><p>  3、在職位調動表中,當插入信息時,修改調動部門的人數信息</p><p>  create trigger trigger_部門人數修改 on 職位調動 for insert</p><p><b>  as</b></p><p>  declare @new_

63、前部門號 char(10),@new_現部門號 char(10),@new_調動后部門號 char(4),@new_員工人數 int,@new_調動前部門號 char(4)</p><p>  select @new_現部門號=調動后部門號,@new_前部門號=調動前部門號 from inserted</p><p>  select @new_員工人數=員工人數 from 部門</

64、p><p>  update 部門 set 員工人數=@new_員工人數+1 where 部門號=@new_現部門號</p><p>  update 部門 set 員工人數=@new_員工人數-1 where 部門號=@new_前部門號</p><p>  4、在獎懲記錄表中,更新獎懲信息時,修改工資表中的對應的獎金、罰款</p><p>  

65、create trigger trigger_獎金 on 獎懲記錄 for insert</p><p><b>  as</b></p><p>  declare @獎金 money,@獎懲類型 char(2),@員工編號 char(4)</p><p>  select @獎金=獎懲金額,@員工編號=員工編號,@獎懲類型=獎懲類型 fro

66、m inserted</p><p><b>  begin</b></p><p>  if(@獎懲類型='獎')</p><p>  update 工資 set獎金=@獎金 where 員工編號=@員工編號</p><p><b>  end</b></p><

67、;p>  create trigger trigger_罰款 on 獎懲記錄 for insert</p><p><b>  as</b></p><p>  declare @罰款 money,@獎懲類型 char(2),@員工編號 char(4)</p><p>  select @罰款=獎懲金額,@員工編號=員工編號,@獎懲類型=

68、獎懲類型 from inserted</p><p><b>  begin</b></p><p>  if(@獎懲類型='罰')</p><p>  update 工資 set 罰款=@罰款 where 員工編號=@員工編號</p><p><b>  end</b></p

69、><p>  5、在工資表中,獎金、罰款發生變動時,更新相應的結算工資</p><p>  create trigger [dbo].[trigger_update_a] on [dbo].[工資] for update</p><p><b>  as begin</b></p><p>  if UPDATE(罰款)&l

70、t;/p><p><b>  update 工資</b></p><p>  set 結算工資 = 基本工資-罰款+獎金</p><p><b>  from 工資</b></p><p><b>  end</b></p><p>  create tri

71、gger [dbo].[trigger_update_a] on [dbo].[工資] for update</p><p><b>  as begin</b></p><p>  if UPDATE(獎金)</p><p><b>  update 工資</b></p><p>  set 結算

72、工資 = 基本工資-罰款+獎金</p><p><b>  from 工資</b></p><p><b>  end</b></p><p>  第6章 數據庫視圖設計</p><p>  1、建立“員工基本信息查詢”視圖</p><p>  CREATE VIEW [db

73、o].[員工基本信息查詢]</p><p><b>  AS</b></p><p>  SELECT dbo.員工.員工編號, dbo.員工.姓名, dbo.員工.部門號, dbo.員工.職務, dbo.部門.領導人員, dbo.部門.部門名, dbo.個人經歷.任職經歷</p><p>  FROM dbo.員工 I

74、NNER JOIN</p><p>  dbo.部門 ON dbo.員工.部門號 = dbo.部門.部門號 INNER JOIN</p><p>  dbo.個人經歷 ON dbo.員工.員工編號 = dbo.個人經歷.員工編號</p><p>  2、建立“員工個人背景”視圖</p><p>  CREATE VIEW [dbo].[Vie

75、w_員工個人背景]</p><p><b>  AS</b></p><p>  SELECT dbo.個人經歷.員工編號, dbo.個人經歷.任職經歷, dbo.個人經歷.學習經歷, dbo.家庭關系.親屬關系, dbo.家庭關系.親屬姓名</p><p>  FROM dbo.個人經歷 INNER JOIN</

76、p><p>  dbo.家庭關系 ON dbo.個人經歷.員工編號 = dbo.家庭關系.員工編號</p><p>  第7章 數據庫存儲過程設計</p><p>  1、建立“查詢某部門人數”存儲過程</p><p>  CREATE procedure [dbo].[proc_查詢某部門的人數]</p><p>  @

77、部門號 char(4),@人數 int output</p><p><b>  as</b></p><p>  select @人數=COUNT(員工.員工編號) from 員工 where @部門號=部門號</p><p>  2、建立“查詢某部門某職稱人數”存儲過程</p><p>  CREATE proced

78、ure [dbo].[proc_查詢某部門某職稱人數]</p><p>  @部門號 char(4),@職稱 char(10),@人數 int output</p><p><b>  as</b></p><p>  select @人數=COUNT(員工.員工編號) from 員工 where (@部門號=部門號 and @職稱=職稱)&l

79、t;/p><p><b>  總結</b></p><p>  課程設計,是我們對現在所學的《數據庫系統概論》書中理論知識的實踐,我的課程設計題目是“某單位的人事管理系統”。我通過逐步的分析結構,勾畫了大致的數據庫框架。我經歷了需求分析、概念結構設計、邏輯結構設計、物理結構設計、數據庫實施等過程,對數據庫的安全性、完整性層層把握,完善數據庫的設計。</p>

80、<p>  我們在課堂上學習了,數據庫編程的相關知識,應用SQL sever進行數據庫設計。通過這次課程設計發現這其中需要的很多知識我們沒有接觸過,去圖書館查資料的時候發現我們前邊所學到的僅僅是皮毛。同時也發現有很多已經學過的東西我們沒有理解到位,不能靈活運用于實際,不能很好的用來解決問題,這就需要我們不斷的大量的實踐,通過不斷的自學,不斷地發現問題,思考問題,進而解決問題。在這個過程中我們將深刻理解所學知識,同時也可以學到不

81、少很實用的東西,此外,相信這樣的自學能力我們也將終身受用。</p><p><b>  參考文獻:</b></p><p>  王珊,薩師煊 .數據庫系統概論[M]. 高等教育出版社,2005</p><p>  數據庫技術與應用實驗. 清華大學出版社,2012</p><p>  鄭阿奇等. SQLserver實用教程

溫馨提示

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

評論

0/150

提交評論