數據庫課程設計報告---績效考核評價處理系統_第1頁
已閱讀1頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《數據庫課程設計》報告書</p><p><b> ?。}目)</b></p><p><b>  小組成員分工</b></p><p><b>  教師簽字</b></p><p>  指導教師: </p>&l

2、t;p>  答辯評委: </p><p><b>  目 錄</b></p><p><b>  1 前言1</b></p><p>  2 需求分析和輸入、輸出數據介紹2</p><p>  3 基本表設計及完整性體現3</p><p&

3、gt;  4 視圖設計和各功能實現4</p><p>  5 游標、存儲過程和觸發(fā)器設計及各功能實現5</p><p>  6 數據庫安全性設計6</p><p>  7 數據庫的備份與恢復7</p><p>  9 應用系統實現8</p><p>  9 實踐心得體會9</p><p&

4、gt;<b>  1 前言</b></p><p>  數據庫課程設計是綜合使用數據庫知識,分析有關于員工的績效考核評價和信息處理的問題,設計出關系模型,根據并通過一種DBMS設計出能夠解決該問題的數據庫實例,并努力使用一種程序設計語言設計實用的一個系統。</p><p><b>  [設計目的]</b></p><p>

5、  1、通過關系數據庫的理論知識,理論聯系實際,解決實際問題。</p><p>  2、通過分析問題和輔助開發(fā)工具的應用,掌握在Microsoft SQL Server平臺進行數據庫實現。</p><p>  3、嘗試結合高級語言編程實現數據庫管理與應用系統的開發(fā)。</p><p>  4、對于基本表的設計、完整性的考慮、視圖的設計、觸發(fā)器等功能的實現、安全性的設計

6、、備份與恢復的實現,我們可以通過本次課程設計得以充分的掌握與應用實踐。</p><p><b>  [系統簡介]</b></p><p>  本系統主要對企業(yè)或者事業(yè)單位的員工之間相互評價、打分的數據進行區(qū)間調整、離散去除、誤差倒扣等多種方式對評分表進行處理,以實現每個人得分的真實性。</p><p>  系統主要通過VS以及SQL Serve

7、r 2008等集成開發(fā)工具實現。MyEcplice是C#高級語言集成開發(fā)工具,實現各種要求以及各種功能。SQL Server 2008 實現對數據的存儲。通過C#高級語言實現對數據庫數據的操作。同時利用html語言實現前臺與用戶的交互。</p><p>  2 需求分析和輸入、輸出數據介紹</p><p>  該部分主要介紹選題的系統功能分析,輸入、輸出數據的格式和內容。進而對數據進行詳細

8、分析。(含有功能結構圖,數據流圖)</p><p><b>  需求分析:</b></p><p><b>  超級管理員功能:</b></p><p><b>  添加管理員</b></p><p>  管理員可以對已存在的單位通過添加表單進行添加管理員操作。</p&g

9、t;<p><b>  單位管理員功能:</b></p><p><b>  添加員工</b></p><p>  通過填寫表單向本單位中插入員工 </p><p><b>  區(qū)間調整</b></p><p>  所有的員工評分完成后對打分表進行區(qū)間調整處理&l

10、t;/p><p><b>  離散去除</b></p><p>  區(qū)間調整處理完成對生成的區(qū)間調整表進行離散去除處理</p><p><b>  誤差倒扣</b></p><p>  離散去除完成后對離散去除表進行誤差處理</p><p><b>  最終得分<

11、/b></p><p>  最后通過每個人的平均分減去評分誤差的平均分得到每個人的最終得分。</p><p><b>  員工模塊主要功能:</b></p><p><b>  網上打分</b></p><p>  對本單位中所有的員工進行評分操作。</p><p>&

12、lt;b>  個人信息</b></p><p>  顯示該員工的詳細信息。</p><p><b>  員工表</b></p><p><b>  打分表</b></p><p><b>  管理員表</b></p><p><b

13、>  單位表</b></p><p>  3 基本表設計及完整性體現</p><p>  根據第2部分對系統的需求分析和輸入、輸出數據的分析,畫出E-R圖,設計相關基本表,并注意相關完整性設計和根據規(guī)范化理論,驗證各關系表的所屬什么級別范式。</p><p><b>  11</b></p><p>

14、<b>  1</b></p><p><b>  n</b></p><p><b>  mn</b></p><p><b>  單位表:</b></p><p>  create table units(</p><p> 

15、 Unitid varchar(10) primary key,</p><p>  Unitname varchar(10) not null,</p><p>  Isadmined varchar(10) not null</p><p><b>  );</b></p><p><b>  用戶表:&l

16、t;/b></p><p>  create table users(</p><p>  Userid varchar(18) primary key,</p><p>  Username varchar(10) not null,</p><p>  Password varchar(10) not null,</p>

17、<p>  Usersex varchar(2) check (Usersex in ('男','女')),</p><p>  Userage int check (Userage>=18 and userage<=60),</p><p>  Unitid varchar(10),</p><p>  f

18、oreign key (Unitid) references units(Unitid)</p><p>  on delete cascade</p><p>  on update cascade</p><p><b>  );</b></p><p><b>  管理員表:</b></

19、p><p>  create table admins(</p><p>  Adminid varchar(18) primary key,</p><p>  Part varchar(10) not null,</p><p>  Unitid varchar(10),</p><p>  foreign key (

20、Unitid) references units(Unitid)</p><p>  on delete cascade</p><p>  on update cascade</p><p><b>  );</b></p><p>  4 視圖設計和各功能實現</p><p>  根據第3部分

21、基本表的設計和第2部分基本功能的分析,設計相關的視圖,結合各功能要求的實現,說明如何使用SQL實現(或結合編程工具說明如何設計實現)。</p><p>  視圖主要通過java語言結合傳遞的變量進行動態(tài)的創(chuàng)建。</p><p><b>  各功能實現:</b></p><p><b>  打分表觸發(fā)器:</b></p

22、><p>  create trigger 打分表的更新 </p><p>  on 職工信息 </p><p>  for Insert</p><p><b>  as </b></p><p><b>  declare</b></p><p

23、>  @Id char(18),</p><p>  @Eno char(10),</p><p>  @Dno char(6),</p><p>  @Ename char(10),</p><p>  @WEno char(10),</p><p>  @Who char(10),</p>&

24、lt;p>  @Grade smallint </p><p>  declare aa cursor for select Id from 職工信息 </p><p>  declare @i char(18)</p><p>  declare @q int</p><p><b>

25、;  set @q=1</b></p><p>  open aa </p><p>  fetch Next From aa into @i </p><p><b>  begin </b></p><p><b>  select </b></p>

26、<p><b>  @Id =Id,</b></p><p><b>  @Eno=Eno,</b></p><p><b>  @Dno=Dno,</b></p><p>  @Ename=Ename</p><p>  from inserted </p

27、><p>  while (@@fetch_status=0) </p><p><b>  begin </b></p><p>  select @Id=i.Id,@Eno=i.Eno,@Dno=i.Dno,@Ename=i.Ename,@WEno=a.Eno,@Who=a.Ename,@Grade=i.Eage</p><

28、;p>  From 職工信息 a,inserted i</p><p>  where a.Id=@i </p><p><b>  insert</b></p><p>  into 人事部打分表</p><p><b>  values</b></p><p>

29、<b>  (</b></p><p><b>  @Id,</b></p><p><b>  @Eno,</b></p><p><b>  @Dno,</b></p><p><b>  @Ename,</b></p>

30、;<p><b>  @WEno,</b></p><p><b>  @Who,</b></p><p><b>  @Grade</b></p><p><b>  )</b></p><p>  fetch next From aa

31、 into @i </p><p><b>  end</b></p><p>  close aa </p><p>  deallocate aa </p><p><b>  end </b></p><p><b>  部門觸發(fā)器

32、 </b></p><p>  create trigger 部門觸發(fā)器 </p><p>  on Department </p><p>  for Insert</p><p><b>  as </b></p><p>  declare @b char(10)&l

33、t;/p><p>  select @b=Dname</p><p>  From inserted i</p><p>  declare @w char(20)</p><p>  declare @e char(20)</p><p>  set @w='職工信息表_'+@b</p>&

34、lt;p>  set @e='打分表_'+@b</p><p><b>  begin </b></p><p><b>  begin </b></p><p>  exec('create table ' +@w+ '(</p><p>  Eno

35、 char(10) unique ,</p><p>  Ename char(10)not null,</p><p>  Eage int check (Eage >= 20 and Eage <= 60)not null,</p><p>  Esex char(2) check (Esex in (''男'',&

36、#39;'女''))not null,</p><p>  Dno char(6)not null,</p><p>  Id char(18)not null primary key,</p><p>  Work char(10),</p><p>  Pword char(6),</p><p

37、>  Foreign key(Dno)references Department(Dno)</p><p><b>  )')</b></p><p><b>  end </b></p><p>  Exec('create table ' +@e+ '(</p>&l

38、t;p>  Id char(18)not null ,</p><p>  Eno char(10),</p><p>  Dno char(6)not null,</p><p>  Ename char(10)not null,</p><p>  WEno char(10)not null,</p><p&g

39、t;  Who char(10)not null,</p><p>  Grade int check (Grade>=0 and Grade<=100), </p><p>  Primary key (Id,WEno)</p><p><b>  )'</b></p><p><b>

40、  )</b></p><p><b>  End</b></p><p><b>  刪除觸發(fā)器:</b></p><p>  create trigger 刪除觸發(fā)器_工商局 </p><p>  on 職工信息表_工商局 </p><p>  for

41、Delete</p><p><b>  as </b></p><p>  set Nocount off </p><p>  declare </p><p>  @Id char(18) ,</p><p>  @Eno char(10) </p><

42、;p><b>  begin </b></p><p>  select @Id=d.Id, @Eno=d.Eno</p><p>  from deleted d</p><p><b>  begin </b></p><p><b>  DElete </b>&

43、lt;/p><p>  from 打分表_工商局 </p><p>  where WEno=@Eno or Id=@Id</p><p><b>  delete </b></p><p>  From 管理員信息表</p><p>  where Id=@Id</p><p&g

44、t;<b>  end</b></p><p><b>  end </b></p><p>  5 觸發(fā)器、存儲過程和游標設計和功能介紹</p><p>  在本部分主要介紹系統中通過游標、存儲過程和觸發(fā)器的設計,實現一些功能的事項。</p><p>  SQL-SERVER中的“游標”是一種數

45、據庫對象,應用程序用它來對結果集實行“行集”操作。 </p><p>  SQL-SERVER支持CLIENT游標、API SERVER游標和T-SQL游標。T-SQL游標和其它種類的游標區(qū)別是:T-SQL游標在存儲過程、批處理、函數、或觸發(fā)器中使用,用于重復對光標每一行的定制的處理。其它種類的游標被設計用于從客戶應用程序中訪問數據庫信息。</p><p>  SQL-SERVER中的“存

46、儲過程”是一組預編譯的SQL語句。T-SQL語句是充當SQL-SERVER數據庫和用戶應用程序間的編程接口。存儲和執(zhí)行T-SQL程序的方法有兩種,一種是本地存儲程序,另一種是將程序存儲為SQL-SERVER中的“存儲過程”,然后創(chuàng)建應用程序執(zhí)行存儲過程。 </p><p>  通過編寫存儲過程來運行經常執(zhí)行的管理任務,或者應用復雜的業(yè)務規(guī)則。SQL-SERVER中的存儲過程分為“系統存儲過程”和“用戶定義的存儲過

47、程”。系統存儲過程用以管理SQL-SERVER和顯示有關數據庫和用戶的信息,系統存儲過程充當從系統表中檢索信息的快捷方式,如:sp-stored-procedures列出當前環(huán)境中的所有存儲過程。 SQL-SERVER存儲過程具有以下幾點功能: </p><p>  a.通過輸入,輸出參數與調用程序通訊;</p><p>  b.返回一個稱為返回代碼的整型值,以表明過程的執(zhí)行狀態(tài);<

48、;/p><p>  c.具有方便的重新編譯其過程的方法,用EXECUTE與WITH RECOMPILE 子句;</p><p>  SQL-SERVER中的“觸發(fā)器”是一種強制業(yè)務規(guī)則和數據完整性的一種類型機制,它是一種特殊類型的存儲過程。SQL-SERVER有兩種類型的觸發(fā)器:“AFTER觸發(fā)器”和 “INSTEAD OF觸發(fā)器”。</p><p>  觸發(fā)器具有以下

49、幾點功能:</p><p>  a. 實現“層疊刪除” ,如在表INVENTORY和INVENTORY PROPERTY之間不存在外鍵,但用一個觸發(fā)器可以監(jiān)視INVENTORY表中記錄的刪除情況,及另一個表與之有關聯的記錄;</p><p>  b. 訪問“INSERTED表”和”DELETED表中的內容。如對更新類型觸發(fā)器的表來講,將在“刪除表”中存放舊值,而在“插入表”中存

50、放新值。刪除表和插入表是每個觸發(fā)器都有的兩個特殊的虛擬表,這兩個表是邏輯表,并動態(tài)存貯在內存中.。6 數據庫安全性設計</p><p>  說明該系統的數據庫安全性方面設計的具體體現及使用方法。</p><p>  數據庫的安全性問題是指保護數據庫以防止不合法的使用所造成的數據泄漏、更改或破壞。</p><p>  安全性問題不是數據庫系統所獨有的,所有計算機系統都

51、有這個問題。只是在數據庫系統中大量數據集中存放,而且為許多最終用戶直接共享,從而是安全性問題更為突出。系統安全保護措施是否有效是數據庫系統的主要指標之一。</p><p>  數據庫安全性控制的常用方法有:1)用戶標識和鑒定,2)存取控制,3)視圖,4)審計,5)密碼存儲。</p><p>  數據庫角色是被命名的一組與數據庫操作相關的權限,角色是權限的集合。因此,可以為一組具有相同權限的

52、用戶創(chuàng)建一個角色,使用角色來管理數據庫權限可以簡化授權的過程。但是用戶可以回收角色的權限,從而修改角色所擁有的權限。</p><p>  進行存取權限控制時可以為不同的用戶定義不同的視圖,把數據對象限制在一定的范圍內,也就是說,通過視圖機制把要保密的詩句對無權存取的用戶隱藏起來,從而自動的對數據提供移動程度的安全保護。</p><p>  任何系統的安全保護措施都不是完美無缺的。蓄意盜竊、

53、破壞數據的人總是想方法打破控制。審計功能是把用戶對數據庫的所有操作自動記錄下來放入審計日志中。DBA可以利用審計跟蹤的信息,重現導致數據庫出現現有狀況的一系列事件,找出非法存取數據的人、時間和內容。</p><p>  審計通常是很浪費時間和空間的,所以DBMS往往都將其作為可選特征,允許DBA根據對應安全性的要求,靈活的打開或者關閉審計功能。審計功能一般主要用于安全性較高的部門。</p><

54、p>  隨著計算機特別是計算機網絡的發(fā)展,數據的共享要求日益增強,數據的安全保密越來越重要。DBMS是管理數據的核心,因而其自身必須具有一套完整而且有效的安全性機制。</p><p>  實現數據庫系統安全性的技術和方法有很多種,最重要的是存取控制技術、視圖技術、審計技術。自主存取控制功能一般是通過SQL和GRANT語句和REVOKE語句來實現的。7 數據庫的備份與恢復</p><p&g

55、t;  對該系統的數據庫備份和恢復策略進行描述。</p><p>  數據庫系統中事物是一個十分重要的概念。事物是用戶定義的一個數據庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位。</p><p>  從DBMS系統的觀點來看,事物是數據庫運行中的一個邏輯工作單位,由BDMS中的事物管理子系統負責事物的控制和管理。</p><p>  盡管數據庫

56、系統中采取了各種保護措施來防止數據庫的安全性和完整性被破壞,澳證并發(fā)事務的正確執(zhí)行,但是計算機系統中硬件的鼓掌、軟件的錯誤、操作員的失誤以及惡意的破壞仍散步不可避免的。這些故障輕則造成運行事物非正常中段,影響數據庫中數據的正確性,重則破壞數據庫,使數據庫中全部或者部分數據丟失,因此DBMS必須具有頭把數據庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)(亦成為一致狀態(tài))的功能,這就是數據庫的恢復。</p><p>  恢復子

57、系統是DBMS的一個重要的組成部分,而且還相當龐大,常常占整個系統代碼的10%以上。DBMS所采用的恢復技術是否行之有效,不僅對系統的可靠程度起著決定性的作用,而且對系統的云頂效率也有很大的影響,是衡量系統性能優(yōu)劣的重要指標。</p><p>  數據庫系統中肯呢個發(fā)生各種各樣的故障,大致可以分為事務故障、系統故障、介質故障和計算機病毒等??偨Y各類故障,對數據庫逇影響有兩種可能性。一是數據庫本身被破壞。二是數據庫

58、沒有破壞,但是數據可能不正確,這是因為事物的運行被非正常終止造成的。</p><p>  恢復的基本原理十分簡單??梢杂靡粋€詞來概括:冗余。</p><p>  這就是說,數據庫中任何被破壞的貨不正確的那以部分可以根據存儲在系統別處的冗余數據來重建。盡管恢復的基本原理很簡單但實現技術的細節(jié)卻相當復雜。</p><p>  恢復機制涉及的兩個關鍵問題是:第一,如何建立

59、冗余數據;第二,如何利用這些冗余數據實施數據恢復。</p><p>  建立冗余數據最常用的技術是數據轉儲和登錄日志文件。通常在一個數據庫系統中,這兩種方法是一起使用的。</p><p>  保證數據一致性是對數據庫的基本的要求。事物是數據庫的邏輯工作單位,只要DBMS能夠保證系統中一切事物的原子性、一致性、隔離性和持續(xù)性,也就保證了數據庫處于一致狀態(tài)。為了保證事物的原子性、一致性與持續(xù)性

60、,DBMS必須對事務故障、系統故障和介質故障進行恢復。數據庫轉儲和登記日志文件是恢復中最經常使用的技術?;謴偷幕驹砭褪抢么鎯υ诤髠涞母北?、日志文件中的冗余數據來重建數據庫。</p><p>  事物不僅是恢復的基本單位,也是并發(fā)控制的基本單位,為了保證事物的隔離性,保證事物的一致性,DBMS需要對并發(fā)操作進行控制。</p><p><b>  8應用系統實現</b&

61、gt;</p><p>  如題:結合高級語言進行應用系統的實現,分模塊進行,可對重要模塊,特色模塊進行介紹。</p><p>  績效考核評價處理系統,主要是針對事業(yè)和企業(yè)單位的成員之間互相評分和分數處理的一個系統,在成員互相打分之后能對數據進行保存,并且通過誤差倒扣評議方法對所保存的數據進行處理。</p><p>  其中有超級管理員和分管單位的管理員,還有普通

62、成員這三種。</p><p>  超級管理員能對各個的位的分管管理員進行管理(例如添加、刪除單位等)。</p><p>  分管管理員能對其所屬的單位的人員進行管理(例如添加成員、顯示所有成員等),對成員之間所打的分數進行調整(例如誤差倒扣、區(qū)間調整、離散去除等),顯示各個成員的最終得分,修改密碼等。</p><p>  成員通過登錄,能夠實現網上互評,查看個人信息

63、,修改個人密碼等。</p><p><b>  實踐心得體會</b></p><p>  如題:可對課程設計中出現的問題和解決方法加以描述。</p><p>  本系統的工作時間主要集中在需求分析上,盡可能實現表結構的完整性與合理性,但是實際的情況有所出入,在不斷地學習中,隨著相關技術知識的積累,對本設計的認識也在不斷地改變,其最根本所在還是對

64、表結構的修改,尤其是隨著視圖、存儲過程的實現過程中,不斷地思索出本系統中需要解決的問題,不斷地發(fā)現問題解決問題,所以在最后的設計階段省去了很大的精力與時間。</p><p>  通過這次的數據庫課程設計讓我們對數據庫有了更加深入的了解,以及如何用數據庫和java語言進行連接,在遇到不會的問題的時候先要自己通過查課本,上網來解決,實在解決不掉的問題,問老師和同學。在不斷的遇到問題解決問題的過程中,讓我們學到了很多的

溫馨提示

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

評論

0/150

提交評論