數(shù)據(jù)庫課程設(shè)計--網(wǎng)上考試系統(tǒng)_第1頁
已閱讀1頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 報 告</p><p>  課程設(shè)計名稱: 網(wǎng)上課程設(shè)計</p><p>  開課時間: 2011 學(xué)年 1 學(xué)期</p><p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p><

2、p><b>  1.1前言1</b></p><p>  1.2 實訓(xùn)目的1</p><p>  1.3 應(yīng)掌握的知識點1</p><p>  1.4應(yīng)訓(xùn)練的能力點1</p><p>  第二章 數(shù)據(jù)庫設(shè)計內(nèi)容3</p><p>  2.1系統(tǒng)需求分析3</p>

3、<p>  2.2數(shù)據(jù)庫需求分析4</p><p>  第三章 概念結(jié)構(gòu)設(shè)計8</p><p>  第四章 邏輯結(jié)構(gòu)設(shè)計11</p><p>  4.1E-R圖轉(zhuǎn)換為關(guān)系模式11</p><p>  4.2數(shù)據(jù)模型的優(yōu)化14</p><p>  4.3設(shè)計用戶子模式15</p>&l

4、t;p>  第五章 物理結(jié)構(gòu)設(shè)計16</p><p>  第六章 實施、運行與維護17</p><p><b>  第七章 總結(jié)27</b></p><p>  第八章 參考文獻28</p><p><b>  第一章 緒論</b></p><p><b&

5、gt;  1.1前言</b></p><p>  網(wǎng)絡(luò)的普及,推動了網(wǎng)上考試系統(tǒng)的發(fā)展。本系統(tǒng)采用B/S架構(gòu)作為系統(tǒng)的總體結(jié)構(gòu),以Web數(shù)據(jù)庫技術(shù)為依托,服務(wù)器端使用Microsoft SQL server 2005等操作系統(tǒng)。該設(shè)計實現(xiàn)了網(wǎng)絡(luò)考試學(xué)生信息的查詢,科目的管理,試題的維護。教師可以通過頁面添加考生、考試信息,學(xué)生用準(zhǔn)考證號登錄,核對信息成功后,選擇考試科目進入考試頁面,完成相應(yīng)考試科目考

6、試,系統(tǒng)自動顯示考試剩余時間,最后給出考試成績。</p><p><b>  1.2 實訓(xùn)目的</b></p><p>  1. 了解數(shù)據(jù)庫系統(tǒng)的理論</p><p>  2. 掌握數(shù)據(jù)庫設(shè)計的基本方法,熟悉數(shù)據(jù)庫設(shè)計的步驟</p><p>  3. 通過設(shè)計數(shù)據(jù)庫系統(tǒng)應(yīng)用課題,進一步熟悉數(shù)據(jù)庫系統(tǒng)的操作技術(shù),提高動手能

7、力,提高分析和解決問題的能力</p><p>  4. 學(xué)習(xí)數(shù)據(jù)庫基本編程方法</p><p>  5. 快速跟蹤數(shù)據(jù)庫系統(tǒng)軟件的新技術(shù)及市場應(yīng)用動態(tài)</p><p>  1.3 應(yīng)掌握的知識點</p><p><b>  1.?dāng)?shù)據(jù)庫基本原理</b></p><p>  2. 關(guān)系數(shù)據(jù)庫的設(shè)計方法

8、,設(shè)計思路</p><p>  3. 初步掌握關(guān)系數(shù)據(jù)庫語言</p><p>  1.4應(yīng)訓(xùn)練的能力點</p><p>  1. SQL Server2005的操作與使用</p><p>  2. 數(shù)據(jù)庫概念設(shè)計與邏輯設(shè)計</p><p>  3. 數(shù)據(jù)庫的建立與管理</p><p>  4.

9、SQL查詢語言的使用與編程</p><p>  5. 設(shè)計和開發(fā)一個數(shù)據(jù)庫應(yīng)用系統(tǒng)的數(shù)據(jù)庫設(shè)計部分</p><p>  第二章 數(shù)據(jù)庫設(shè)計內(nèi)容</p><p><b>  2.1系統(tǒng)需求分析</b></p><p>  2.1.1 系統(tǒng)功能的基本要求</p><p><b>  a.信

10、息要求</b></p><p>  教師能夠查詢所有系統(tǒng)數(shù)據(jù)庫中已經(jīng)錄入的考生信息用以核對,還應(yīng)能夠及時查看考生考試成績等內(nèi)容。</p><p><b>  b.處理要求</b></p><p>  組織者要求能夠輸入考生詳細信息,包括考生姓名、準(zhǔn)考證號,能錄入學(xué)生照片;組織者還要具有更新考試題目數(shù)據(jù)庫功能、可以維護考試信息,比如考

11、試科目,考試時間,每種考試的題號、題目、樣張的位置等。</p><p>  c.安全性和完整性要求</p><p><b>  ◇安全性要求:</b></p><p>  1.系統(tǒng)應(yīng)設(shè)置訪問用戶的標(biāo)識以鑒別是否是合法用戶,保證用戶身份不被盜用;</p><p>  2.系統(tǒng)應(yīng)對不同的數(shù)據(jù)設(shè)置不同的訪問級別,限制訪問用戶可

12、查詢和處理數(shù)據(jù)的類別和內(nèi)容;</p><p>  3.系統(tǒng)應(yīng)對不同用戶設(shè)置不同的權(quán)限,區(qū)分不同的用戶,如區(qū)分考生,組織者。</p><p><b>  ◇完整性要求:</b></p><p>  1.各種信息記錄的完整性,信息記錄內(nèi)容不能為空;</p><p>  2.各種數(shù)據(jù)間相互的聯(lián)系的正確性;</p>

13、<p>  3.相同的數(shù)據(jù)在不同記錄中的一致性。 </p><p>  2.1.2用戶對系統(tǒng)的實現(xiàn)要求</p><p><b>  a.信息要求</b></p><p>  考生能通過登入界面查詢其個人信息,以及本場考試科目有關(guān)信息,用以校</p><p>  對其正確性,如有錯誤可以及時報告給組織者(教師)

14、。</p><p><b>  b.處理要求</b></p><p>  1.考生通過準(zhǔn)考證號登陸系統(tǒng)后可以核對考試信息,包括姓名、考試科目、考試總時長、照片等;如果正確可點擊進入考試,將顯示本場考試的第一題,并可以顯示總題數(shù)以及當(dāng)前題號及具體題目內(nèi)容,并可以查看該題樣張信息。</p><p>  2.在考試過程中,考生對任一題有疑問時可以做個

15、標(biāo)志以備后查。</p><p>  3.考生在考試結(jié)束前(時間未結(jié)束)可以關(guān)閉考試系統(tǒng),再次登陸可以繼續(xù)考試,但考生一旦提交(考生提交或時間結(jié)束系統(tǒng)自動提交),將不能再登陸考試</p><p>  2.2數(shù)據(jù)庫需求分析</p><p><b>  1.數(shù)據(jù)流圖</b></p><p><b>  表1 數(shù)據(jù)流圖

16、</b></p><p><b>  2.數(shù)據(jù)字典</b></p><p><b>  1.數(shù)據(jù)項</b></p><p><b>  表1 數(shù)據(jù)項</b></p><p><b>  2.數(shù)據(jù)結(jié)構(gòu)</b></p><p&g

17、t;<b>  表2 數(shù)據(jù)結(jié)構(gòu)</b></p><p><b>  3.數(shù)據(jù)流</b></p><p><b>  表3 數(shù)據(jù)流</b></p><p><b>  4.數(shù)據(jù)存儲</b></p><p><b>  表4 數(shù)據(jù)結(jié)構(gòu)</b&g

18、t;</p><p><b>  5.處理過程</b></p><p><b>  表5 處理過程</b></p><p>  第三章 概念結(jié)構(gòu)設(shè)計</p><p>  1.考生實體圖 如圖1所示</p><p><b>  圖1 考試實體圖</b>&

19、lt;/p><p>  2. 組織者實體圖 如圖2所示</p><p>  圖2 組織者實體圖</p><p>  3. 考卷實體圖 如圖3所示</p><p><b>  圖3 考卷實體圖</b></p><p>  4. 考題實體圖 如圖4所示</p><p><b

20、>  圖4 考題實體圖</b></p><p>  5. 總E-R圖設(shè)計</p><p>  圖5 總E-R圖設(shè)計</p><p>  第四章 邏輯結(jié)構(gòu)設(shè)計</p><p>  E-R圖向模式轉(zhuǎn)換的原則:一個實體型轉(zhuǎn)換為一個關(guān)系模型,實體的屬性就是關(guān)系的屬性,實體的鍵就是關(guān)系的鍵;一個聯(lián)系轉(zhuǎn)換為一個關(guān)系模式,與該聯(lián)系相連的

21、每個實體型的鍵以及聯(lián)系的屬性都轉(zhuǎn)換為關(guān)系的屬性。</p><p>  4.1E-R圖轉(zhuǎn)換為關(guān)系模式</p><p>  考生 (姓名,性別,專業(yè),班級,學(xué)號,身份證號,準(zhǔn)考證號,照片,考試用時,是否交卷)</p><p>  考卷 (考試科目,考試時間,總題數(shù))</p><p>  組織者(名字,編號,密碼,登錄名)</p>

22、<p>  使用 (準(zhǔn)考證號,考試科目)</p><p>  考題 (題號,題干,樣張位置,標(biāo)準(zhǔn)答案,a,b,c,d)</p><p>  導(dǎo)入 (編號,考試科目)</p><p>  組成 (考試科目,題號)</p><p><b>  ◇表的創(chuàng)建</b></p><p> 

23、 在概念設(shè)計的基礎(chǔ)上,根據(jù)設(shè)計得到系統(tǒng)總的E-R圖,按照概念模式與關(guān)系模式轉(zhuǎn)化的一般規(guī)則,結(jié)合實際的需要進行邏輯設(shè)計,E—R圖中的實體、實體的屬性和實體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。最后生成的關(guān)系及關(guān)系表如下:</p><p><b>  考生表</b></p><p><b>  表1 考生表</b></p><p><

24、;b>  考卷表</b></p><p><b>  表2 考卷表</b></p><p><b>  考題表</b></p><p><b>  表3 考題表</b></p><p><b>  考試信息表</b></p>

25、<p><b>  表4 考試信息表</b></p><p><b>  組織者表</b></p><p><b>  表5 組織者表</b></p><p><b>  答題表</b></p><p><b>  表6 答題表<

26、;/b></p><p>  4.2數(shù)據(jù)模型的優(yōu)化</p><p><b>  1.確定數(shù)據(jù)依賴。</b></p><p>  2.對于各個關(guān)系模式之間的數(shù)據(jù)依賴進行極小化處理</p><p>  3.按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進行分析,考察是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬

27、于第幾范式。</p><p>  4.按照需求分析階段得到的處理要求,分析對于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對某些模式進行合并或分解。</p><p>  5.對關(guān)系模式進行必要的分解,提高數(shù)據(jù)操作的效率和存儲空間的利用率。</p><p>  4.3設(shè)計用戶子模式</p><p>  分別創(chuàng)建考生和組織者的視圖:</p&g

28、t;<p>  組織者信息視圖:(名字、編號)</p><p>  考生信息視圖:(準(zhǔn)考證號、姓名、性別、專業(yè)、班級、學(xué)號、身份證號、考試科目、是否交卷、照片)</p><p>  第五章 物理結(jié)構(gòu)設(shè)計</p><p><b>  關(guān)系型數(shù)據(jù)庫的實現(xiàn)</b></p><p>  不同的數(shù)據(jù)庫產(chǎn)品所提供的物理

29、環(huán)境,存取方法和存貯結(jié)構(gòu)有很大的區(qū)別。能供設(shè)計人員使用的設(shè)計變量,參數(shù)范圍也很不相同,因此沒有通用的物理設(shè)計方法可遵循,只能給出一般的設(shè)計內(nèi)容和原則SQL Server 就是關(guān)系數(shù)據(jù)庫開發(fā)工具,數(shù)據(jù)庫能匯集各種信息以供查詢、存儲和檢索。自定義窗體收集信息。數(shù)據(jù)表示圖提供了一種類似于 Excel 的電子表格,可以使數(shù)據(jù)庫一目了然,還提供了排序功能。SQL Server也提供了數(shù)據(jù)存儲庫,可以使用桌面數(shù)據(jù)庫文件把數(shù)據(jù)庫文件置于網(wǎng)絡(luò)文件服務(wù)器

30、,與其他網(wǎng)絡(luò)用戶共享數(shù)據(jù)庫。如上所述, SQL Server 作為關(guān)系數(shù)據(jù)庫開發(fā)具備了許多優(yōu)點,可以在一個數(shù)據(jù)包中同時擁有桌面數(shù)據(jù)庫的便利和關(guān)系數(shù)據(jù)庫的強大功能。為此,首先要充分了解所用DBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存取結(jié)構(gòu)。</p><p><b>  關(guān)系模式方法選擇</b></p><p>  為了提高某個屬性(或?qū)傩越M)的查詢速度,把這個或這些

31、屬性上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇。</p><p>  因此我數(shù)據(jù)庫建立了以下幾個索引:</p><p>  1.在考生表的準(zhǔn)考證號上設(shè)置考生信息索引,再以考試科目設(shè)置聚簇索引,這樣可以很快捷的顯示一組學(xué)生是考同一門考試的信息。</p><p>  2考題題號上設(shè)置普通索引,再在考試科目上設(shè)置聚簇索引,可以快速顯示相應(yīng)題目。</p>

32、<p>  第六章 實施、運行與維護</p><p>  用MS SQL SERVER2005建立數(shù)據(jù)庫結(jié)構(gòu),加載(測試/虛擬)數(shù)據(jù),能體現(xiàn)對數(shù)據(jù)庫的保護(安全性和完整性控制等)。實現(xiàn)各種查詢、鏈接應(yīng)用程序,并能對數(shù)據(jù)庫做簡單的維護操作。</p><p><b>  #代碼</b></p><p><b>  表的建立&l

33、t;/b></p><p><b>  考生表</b></p><p>  create table ks</p><p>  ( ksname char(20),</p><p>  xb char(20),</p><p><b>  xh int,</b><

34、/p><p>  bj char(20),</p><p>  zy char(20),</p><p><b>  zkzh int,</b></p><p>  zkzh int primary key,</p><p>  zp char(20),</p><p>  k

35、sys char(20),</p><p>  sfjj char(20)</p><p><b>  );</b></p><p><b>  考卷表</b></p><p>  create table kj </p><p>  (kskm char(20) prima

36、ry key,</p><p>  kssj char(20),</p><p><b>  zts int</b></p><p><b>  );</b></p><p><b>  組織者表</b></p><p>  create table z

37、zh</p><p>  (zzhname char(20),</p><p>  bh int primary key,</p><p>  dlm char(20),</p><p>  mm char(20)</p><p><b>  );</b></p><p>

38、<b>  考題表</b></p><p>  create table kt</p><p>  (th int primary key,</p><p>  tg char(50),</p><p>  a char(20),</p><p>  b char(20),</p>

39、<p>  c char(20),</p><p>  d char(20),</p><p>  bzda char(20),</p><p>  yzwz char(20)</p><p><b>  );</b></p><p><b>  考試信息表</b>

40、</p><p>  create table ksxx </p><p>  (ksname char(20),</p><p>  zkzh int primary key,</p><p>  zp char(20),</p><p>  kskm char(20),</p><p>&l

41、t;b>  zts int ,</b></p><p>  kssj char(20),</p><p>  ksda char(20),</p><p>  ksys char(20),</p><p><b>  bh int ,</b></p><p>  foreign

42、key(kskm) references kj(kskm),</p><p>  foreign key(bh) references zzh(bh)</p><p><b>  );</b></p><p><b>  答題表</b></p><p>  create table dt </

43、p><p>  (zkzh int primary key,</p><p>  kskm char(20),</p><p>  ksys char(20),</p><p><b>  zts int ,</b></p><p><b>  th int,</b></p

44、><p>  kssj char(20),</p><p>  foreign key(kskm) references kj(kskm),</p><p>  foreign key(th) references kt(th)</p><p><b>  );</b></p><p><b&g

45、t;  視圖</b></p><p><b>  組織者</b></p><p>  create view v_zzh(zzhname,bh)</p><p><b>  as</b></p><p>  select zzhname, zzh.bh</p><p&

46、gt;  from zzh, ksxx</p><p>  where zzh.bh=ksxx.bh;</p><p><b>  考試信息</b></p><p>  create view v_ksxx(zkzh,ksname,kskm,sfjj,zp)</p><p><b>  as</b>

47、;</p><p>  select ksxx.zkzh,ksname,kskm,sfjj,ksxx.zp</p><p>  from ks, ksxx</p><p>  where ks.zkzh=ksxx.zkzh;</p><p><b>  索引</b></p><p><b&g

48、t;  1.考生表:</b></p><p>  create unique index ks on ks(zkzh)</p><p><b>  2.組織者表</b></p><p>  create unique index zzh on zzh(bh)</p><p><b>  3.考試信息

49、表</b></p><p>  create unique index kj on ksxx( kskm)</p><p><b>  4.考題表:</b></p><p>  create unique index kt on kt (th)</p><p><b>  組織者的創(chuàng)建</b&

50、gt;</p><p>  exec sp_addlogin '張三','123'(創(chuàng)建張三賬戶,密碼是123)</p><p>  exec sp_addlogin '張四','1234'</p><p>  exec sp_addlogin '張五','12345'&

51、lt;/p><p>  exec sp_adduser '張三'</p><p>  exec sp_adduser '張四'</p><p>  exec sp_adduser '張五'</p><p><b>  授權(quán)</b></p><p>  g

52、rant update(zkzh,kskm)</p><p><b>  on ksxx</b></p><p>  to ' 張三'(張三具有更新數(shù)據(jù)庫的權(quán)限)</p><p><b>  創(chuàng)建角色</b></p><p>  exec sp_addrole 'mytes

53、t'(創(chuàng)建角色)</p><p><b>  授予張五角色</b></p><p>  exec sp_addrolemember 'mytest','張五'(管理數(shù)據(jù)庫的角色)</p><p><b>  創(chuàng)建存儲過程</b></p><p>  creat

54、e procedure p1(@kskm char(20),@kssj char(20),@zts numeric(6,2))</p><p><b>  as</b></p><p><b>  insert</b></p><p><b>  into kj</b></p><

55、p>  values(@kskm,@kssj,@zts)</p><p>  1.登入界面連接數(shù)據(jù)庫驗證信息</p><p>  DataTable Table = new DataTable();</p><p>  DataView dv = new DataView();</p><p>  String StrConn = &q

56、uot;Data Source=ds03;Initial Catalog=ExamSystem;Integrated Security=True";</p><p>  System.Data.SqlClient.SqlConnection Conn = new System.Data.SqlClient.SqlConnection(StrConn);</p><p>  Str

57、ing strSQL = "select * from [ks] where zkzh = " + "'" + this.textZKZH.Text + "'";</p><p>  Conn.Open();</p><p>  SqlCommand cmd = new SqlCommand(strSQL, Con

58、n);</p><p>  SqlDataReader dr = cmd.ExecuteReader();</p><p>  if (dr.Read())</p><p><b>  {</b></p><p>  Conn.Close();</p><p>  StudentsInfor Ex

59、Win = new StudentsInfor(this.textZKZH.Text);</p><p>  this.Visible = false;</p><p>  ExWin.ShowDialog();</p><p>  this.Close();</p><p><b>  }</b></p>

60、<p><b>  else</b></p><p><b>  {</b></p><p>  Conn.Close();</p><p>  MessageBox.Show("準(zhǔn)考證不存在!請重新輸入!");</p><p>  this.textZKZH.Tex

61、t = "";</p><p><b>  }</b></p><p>  2.通過界面輸入試題相關(guān)信息</p><p>  String strConn = "Data Source=ds03;Initial Catalog=ExamSystem;Integrated Security=True";&l

62、t;/p><p>  System.Data.SqlClient.SqlConnection Conn = new System.Data.SqlClient.SqlConnection(strConn);</p><p>  String strSql = "insert into dt(th,tg,bzda,yzwz,kskm) values('" + text

63、QuesNum.Text + "','" + textQuestions.Text + "','" + textModAnswer.Text + "','"+textExample.Text+"','" + textQuesSubject.Text + "')";&l

64、t;/p><p>  Conn.Open();</p><p>  System.Data.SqlClient.SqlCommand Comm = new System.Data.SqlClient.SqlCommand(strSql, Conn);</p><p>  if (Conn.State == ConnectionState.Open)</p>

65、<p>  Comm.ExecuteNonQuery();</p><p><b>  else</b></p><p><b>  {</b></p><p>  label16.Text = "無法連接數(shù)據(jù)庫!";</p><p><b>  retur

溫馨提示

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

最新文檔

評論

0/150

提交評論