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

下載本文檔

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

文檔簡介

1、<p>  成績: </p><p><b>  數(shù)據(jù)庫技術與應用</b></p><p><b>  課程設計</b></p><p>  評語: </p><p>  

2、簽字: </p><p><b>  目錄</b></p><p><b>  1系統(tǒng)總體設計3</b></p><p><b>  1.1系統(tǒng)需求3</b></p><p>  1.2系統(tǒng)功能分析3</p><p

3、>  1.3系統(tǒng)運行環(huán)境3</p><p>  2 系統(tǒng)模塊設計4</p><p>  2.1數(shù)據(jù)庫整體設計4</p><p>  2.1.1數(shù)據(jù)庫設計4</p><p>  2.1.2數(shù)據(jù)庫需求分析4</p><p>  2.1.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設計5</p><p>  2

4、.2應用系統(tǒng)的對象7</p><p><b>  2.3登陸模塊8</b></p><p>  2.3.1功能概述8</p><p>  2.3.2主要技術要點9</p><p>  2.4學生管理模塊9</p><p>  2.4.1功能概述9</p><p>

5、;  2.4.2主要技術要點10</p><p>  2.5教師管理模塊11</p><p>  2.5.1功能概述11</p><p>  2.5.2主要技術要點12</p><p>  2.6院系資料13</p><p>  2.6.1功能概述13</p><p>  2.6.2

6、主要技術要點13</p><p>  2.7專業(yè)資料14</p><p>  2.8課程管理模塊設計15</p><p>  2.8.1功能概述15</p><p>  2.8.2主要技術要點15</p><p>  2.8.3課程類別設計16</p><p>  2.9成績管理模塊

7、設計16</p><p>  2.9.1成績查詢16</p><p>  2.9.2成績錄入17</p><p>  2.10用戶管理模塊18</p><p>  2.10.1編輯用戶資料18</p><p>  2.10.2修改用戶資料18</p><p>  2.10.3添加新用

8、戶19</p><p>  3系統(tǒng)運行截圖20</p><p><b>  1系統(tǒng)總體設計</b></p><p>  1.1系統(tǒng)需求 隨著科學技術的發(fā)展,計算機管理在日常生活中的地位變得越來越重要。它能夠代替人做各種重復、繁瑣的勞動,并且擁有操作簡單,可信度好,不易出錯等優(yōu)點,大大減少了不必要的人力消耗,提高個人的工作效率。學生信

9、息管理是每個學校必須面臨的問題,所以,如何開發(fā)一個應用簡單,見面友好,容易操作,數(shù)據(jù)安全性好的管理系統(tǒng)就成為非常重要的技術問題。我采用Visual Studio 技術進行數(shù)據(jù)庫開發(fā)可以使開發(fā)過程簡單化,更快捷的訪問數(shù)據(jù)庫。</p><p>  作為一個基于B/S模式的管理系統(tǒng),需要記錄大量的數(shù)據(jù)信息,而這些數(shù)據(jù)信息需要同時能夠提供給使用人員查詢和修改,必然需要一個大型的數(shù)據(jù)庫系統(tǒng)和一臺網(wǎng)絡服務器,并且需要建立局域

10、網(wǎng)或是能夠被INTERNET網(wǎng)絡用戶訪問。對于客戶機來說,他不需要存儲數(shù)據(jù),而只需要通過訪問服務器,獲得相應的服務。</p><p><b>  1.2系統(tǒng)功能分析</b></p><p>  系統(tǒng)開發(fā)的總體任務是實現(xiàn)學生信息關系的系統(tǒng)化、規(guī)范化和自動化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成的。本學生信息管理系統(tǒng)需要完成的功能有:</p>&l

11、t;p>  系統(tǒng)管理功能:添加普通用戶、添加管理員、退出系統(tǒng)。</p><p>  教師管理功能:添加教師信息、查詢教師信息、修改教師信息、刪除教師信息。</p><p>  學生管理功能:添加學生資料信息、修改學生資料信息、查看修改學生院系資料、學生專業(yè)資料。</p><p>  課程管理功能:課程信息瀏覽、添加課程幾課程類別、修改課程資料。</p&g

12、t;<p>  成績管理功能:成績信息瀏覽、添加成績信息、修改成績信息、查詢成績信息。</p><p>  班級管理功能:班級資料查詢、添加、修改。</p><p><b>  1.3系統(tǒng)運行環(huán)境</b></p><p><b>  硬件平臺:</b></p><p>  cpu:p4

13、1.8GHZ</p><p><b>  內(nèi)存:256MB</b></p><p><b>  軟件平臺:</b></p><p>  數(shù)據(jù)庫:SQL SERVER 2000</p><p>  開發(fā)工具: PowerBuilder 9.0</p><p><b>

14、  2 系統(tǒng)模塊設計</b></p><p>  2.1數(shù)據(jù)庫整體設計</p><p>  2.1.1數(shù)據(jù)庫設計 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設計的好壞將直接對應用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。同時,合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實現(xiàn)。設計數(shù)據(jù)庫時應該首先充分了解用戶各個

15、方面的需求,包括現(xiàn)有的以及將來可能增加的需求。</p><p>  2.1.2數(shù)據(jù)庫需求分析</p><p>  用戶的需要具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸入和輸出。收集數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及處理數(shù)據(jù)的流程,可以為以后的設計打下基礎。</p><p>  圖2-1系統(tǒng)數(shù)據(jù)流程圖</p><p>

16、  2.1.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設計</p><p>  圖2-2系統(tǒng)功能模塊圖</p><p>  在數(shù)據(jù)庫中建立表格,為了系統(tǒng)的安全,有必要建立一個登錄頁面,所以在數(shù)據(jù)庫中還應建立一個密碼表。</p><p><b>  各個表的具體設計:</b></p><p>  密碼表(users):</p><

17、;p>  學生信息表(student):</p><p>  老師信息表(teacher):</p><p>  班級信息表(class):</p><p>  課程信息表(course):</p><p>  成績信息表(garde)</p><p>  課程類別信息表(coursetype):</p&g

18、t;<p>  學生專業(yè)信息表(speciality) :</p><p>  學院信息表(department) :</p><p>  2.2應用系統(tǒng)的對象</p><p>  在應用程序?qū)ο蟮腛pen 事件中輸入如下代碼:</p><p>  //從配置參數(shù)文件中讀取連接數(shù)據(jù)庫所需的參數(shù)</p><p&

19、gt;  // Profile SMSstudent</p><p>  SQLCA.DBMS = "MSS Microsoft SQL Server"</p><p>  SQLCA.Database = "SMSstudent"</p><p>  SQLCA.LogPass = "88888888"&

20、lt;/p><p>  SQLCA.ServerName = "G-PC"</p><p>  SQLCA.LogId = "sa"</p><p>  SQLCA.AutoCommit = False</p><p>  SQLCA.DBParm = ""</p><

21、;p><b>  //連接數(shù)據(jù)庫</b></p><p>  Connect Using SQLCA;</p><p>  If SQLCA.SQLCODE <> 0 THEN</p><p>  messagebox("數(shù)據(jù)庫連接出錯",SQLCA.SQLerrtext)</p><p

22、><b>  else</b></p><p>  open(w_login) </p><p><b>  end if</b></p><p>  應用程序運行后直接連接數(shù)據(jù)庫直至數(shù)據(jù)庫連接成功.在應用程序?qū)ο蟮淖兞慷x窗口中,定義全局變量string gs_username,gs_usertype,gs_myp

23、assword用于應用程序不同對象間參數(shù)的傳遞。</p><p><b>  2.3登陸模塊</b></p><p><b>  2.3.1功能概述</b></p><p>  為了系統(tǒng)的安全,在進入系統(tǒng)之前首先會出現(xiàn)一個登錄模塊,用戶只有在輸入正確的用戶名和正確的密碼之后,才能進入系統(tǒng)。用戶登錄頁面用來輸入用戶名和密碼。

24、</p><p>  圖2-3用戶登陸窗口</p><p>  圖2-4登陸頁面流程圖</p><p>  用戶登錄系統(tǒng)窗口的是用戶和管理員進入系統(tǒng)的唯一通道,它是進入應用系統(tǒng)的喉舌,在安全保密、系統(tǒng)維護中占有重要的地位,登錄系統(tǒng)在外觀界面上一定要美觀、友好,登錄系統(tǒng)就是要驗證當前的用戶名是否與該用戶密碼一致,保留登錄痕跡等工作。</p><p&

25、gt;  2.3.2主要技術要點</p><p><b>  保留登錄痕跡:</b></p><p>  根據(jù)操作局部性原理,一般情況下用戶上次登錄之后還會繼續(xù)登錄,因此在程序中可以依照人機交互界面友好性原則保留用戶登錄時的用戶名,控件sle_1用來顯示用戶名,profilestring是一個函數(shù),用來讀取profile文件中一組參數(shù),核心代碼如下:</p>

26、;<p>  sle_1.text=profilestring("publish.ini","user","username","")</p><p>  if trim(sle_1.text)<>"" then</p><p>  sle_2.setfocus()

27、</p><p><b>  end if</b></p><p><b>  2.4學生管理模塊</b></p><p><b>  2.4.1功能概述</b></p><p>  學生管理模塊可以查看學生的學號、姓名、性別、出生日期、電話等學生的基本信息,并能進行添加、修改

28、和刪除。在新增狀態(tài)可以添加新的學生基本信息。設計時我盡可能設想各種邊界條件,如記錄為空,輸入為空,輸入出錯等,當輸入的信息滿足這些邊界條件時,將會彈出一個提示框提醒用戶,以便用戶能及時地做出修改。添加的信息將全部存儲到數(shù)據(jù)庫中。</p><p>  圖2-5學生信息窗口</p><p>  2.4.2主要技術要點</p><p>  (1)顯示數(shù)據(jù)窗口選中的數(shù)據(jù)到相

29、應的編輯框</p><p>  由于數(shù)據(jù)窗口是不允許數(shù)據(jù)進行直接修改,因此首先選中數(shù)據(jù)雙擊鼠標到相應的編輯框,再進行修改。核心代碼如下if row>0 then</p><p>  sle_1.text=dw_1.object.sid[row]</p><p><b>  ……</b></p><p>  gb_2

30、.text="修改"</p><p><b>  end if</b></p><p>  (2) 數(shù)據(jù)庫插入、修改及刪除數(shù)據(jù)</p><p>  運用數(shù)據(jù)庫的INSERT、UPDATE及DELETE子句進行操作。首先通過dw_1.GetItemString、 dw_1.GetItemNumber等函數(shù)讀出數(shù)據(jù)窗口對象一一對

31、應放置數(shù)據(jù)庫中位置。核心代碼如下:select studentID into :li_id from student </p><p>  where studentID=:li_id;</p><p>  if gb_2.text="新增" then</p><p>  if SQLCA.SQLCODE=0 then </p>&

32、lt;p>  messagebox("提示","學號重復")</p><p><b>  end if</b></p><p>  INSERT INTO student( studentID, ……) </p><p>  VALUES ( :sle_1.text, …… ) ;<

33、;/p><p><b>  else</b></p><p><b>  //修改信息</b></p><p>  lyesno=messagebox('提示','是否修改當前信息?',question!,yesno!)</p><p>  if lyesno=2 th

34、en return</p><p>  li_id=trim(sle_1.text);</p><p>  UPDATE student</p><p>  SET studentName=:sle_2.text, ……,</p><p>  WHERE studentID=:li_id;</p><p><b

35、>  // 刪除信息</b></p><p>  lyesno=messagebox('提示:刪除下列信息?',sle_1.text+":"+sle_2.text,question!,yesno!)</p><p>  if lyesno=2 then return</p><p>  DELETE FROM

36、student</p><p>  WHERE studentID = :sle_1.text;</p><p>  (3)學生信息優(yōu)化過濾條件查詢</p><p>  過濾條件是通過and邏輯關系進行連接的,那么會存在這樣的情況,第一個過濾之前是沒有其他的條件與其進行連接的,不應該存在and邏輯關系,主要方法是對ls_filter的前面4個字符進行判斷,如果是an

37、d則去掉即可。核心代碼如下://檢索數(shù)據(jù)</p><p>  dw_1.SetTransObject(sqlca)</p><p>  ls_filter="1=1"</p><p><b>  //學生檢索</b></p><p>  if sle_11.text<>"&quo

38、t; then ls_filter=ls_filter+" and sid='"+sle_11.text+"'"</p><p><b>  //過濾數(shù)據(jù)</b></p><p>  dw_1.setfilter(ls_filter)</p><p>  dw_1.filter()<

39、/p><p><b>  2.5教師管理模塊</b></p><p><b>  2.5.1功能概述</b></p><p>  教師管理模塊可以查看教師的編號、姓名、性別等基本信息并能進行添加、修改和刪除。在新增狀態(tài)可以添加新的學生基本信息。設計時我盡可能設想各種邊界條件,如記錄為空,輸入為空,輸入出錯等,當輸入的信息滿足這

40、些邊界條件時,將會彈出一個提示框提醒用戶,以便用戶能及時地做出修改。添加的信息將全部存儲到數(shù)據(jù)庫中。</p><p>  圖2-6教師信息窗口</p><p>  2.5.2主要技術要點</p><p>  (1) 數(shù)據(jù)庫插入、修改及刪除數(shù)據(jù)</p><p>  運用數(shù)據(jù)庫的INSERT、UPDATE及DELETE子句進行操作。首先通過dw_

41、1.GetItemString、 dw_1.GetItemNumber等函數(shù)讀出數(shù)據(jù)窗口對象一一對應放置數(shù)據(jù)庫中位置。核心代碼如下: select teacherID into :li_id from Teacher </p><p>  where teacherID=:li_id;</p><p>  if gb_2.text="新增" then</p>

42、<p>  if SQLCA.SQLCODE=0 then </p><p>  messagebox("提示","教師編號重復") end if</p><p>  INSERT INTO Teacher( teacherID, ……) </p><p>  VALUES ( :sle_1.tex

43、t, ……) ;</p><p><b>  else</b></p><p><b>  //修改信息</b></p><p>  lyesno=messagebox('提示','是否修改當前信息?',question!,yesno!)</p><p>  i

44、f lyesno=2 then return</p><p>  li_id=trim(sle_1.text);</p><p>  UPDATE Teacher</p><p>  SET teacherName=:sle_2.text, ……</p><p>  WHERE teacherID=:li_id;</p>&

45、lt;p><b>  // 刪除信息</b></p><p>  lyesno=messagebox('提示:刪除下列信息?',sle_1.text+":"+sle_2.text,question!,yesno!)</p><p>  if lyesno=2 then return</p><p> 

46、 DELETE FROM Teacher</p><p>  WHERE teacher ID = :sle_1.text;</p><p>  (2)教師信息優(yōu)化過濾條件查詢</p><p>  同學生查詢技術一樣,核心代碼: if sle_12.text<>"" then ls_filter=ls_filter+" an

47、d teachername='"+sle_12.text+"'"</p><p><b>  2.6院系資料</b></p><p><b>  2.6.1功能概述</b></p><p>  點擊菜單中的院系信息,在該窗口中我們可以院系信息進行修改和刪除。</p>

48、<p>  圖2-7院系資料窗口</p><p>  2.6.2主要技術要點</p><p>  實現(xiàn)數(shù)據(jù)窗口對象的動態(tài)修改,核心代碼如下:</p><p><b>  //保存</b></p><p>  dw_1.AcceptText()</p><p>  if dw_1.Mo

49、difiedCount()=0 and dw_1.DeletedCount()=0 then</p><p>  MessageBox("提示信息","尚無增加、刪除或修改,無須保存!")</p><p>  Return end if</p><p>  if dw_1.Update()=1 then</p>

50、<p><b>  Commit;</b></p><p>  MessageBox("提示信息","保存成功!") else </p><p><b>  RollBack;</b></p><p>  MessageBox("提示信息",&qu

51、ot;保存失??!") end if</p><p><b>  //增加</b></p><p>  long n_row</p><p>  n_row=dw_1.insertrow(0)</p><p>  dw_1.scrolltorow(n_row)</p><p>  dw_

52、1.setrow(n_row)</p><p>  dw_1.setcolumn(1)</p><p>  dw_1.setfocus()</p><p><b>  //刪除</b></p><p>  long n_row</p><p>  dw_1.deleterow(0)</p&g

53、t;<p>  n_row=dw_1.getrow()</p><p>  dw_1.selectrow(1,false)</p><p>  dw_1.selectrow(n_row,true)</p><p><b>  2.7專業(yè)資料</b></p><p>  點擊右邊菜單中的學生資料管理項,就可以

54、查看專業(yè)信息,在該頁面中我們可以對專業(yè)名稱代碼等進行編輯查詢。</p><p>  圖2-8專業(yè)資料窗口</p><p>  2.8課程管理模塊設計</p><p><b>  2.8.1功能概述</b></p><p>  點擊菜單中課程管理模塊,可進入課程信息管理頁面。為了用戶的使用方便,故在該頁面中同時包含了課程信

55、息的可以添加和修改課程信息,包括課程編號、名稱、類別、學分、學時等信息。添加和修改記錄后,對于數(shù)據(jù)有何變化都可以顯示出來,使用戶對所做的操作一目了然。</p><p>  圖2-9課程資料窗口</p><p>  2.8.2主要技術要點</p><p>  (1)排序方式選擇:</p><p>  通過radiobutton控件,可選擇課程的

56、排序順序,默認為課程代碼順序。核心程序如下:dw_1.setsort("couid A") dw_1.sort()</p><p> ?。?)設置模糊過濾條件</p><p>  數(shù)據(jù)窗口的過濾條件是可以對字符串型的字段進行過濾的。對于多個字段的過濾條件是通過and邏輯關系進行連接。對于模糊查詢,可以利用pos函數(shù)。核心代碼如下:if trim(ddlb_3.tex

57、t)="課程編號" then</p><p>  ls_filter="Pos(couid,'"+trim(sle_8.text)+"',1) > 0 "</p><p><b>  end if</b></p><p>  dw_1.setfilter(ls_f

58、ilter)</p><p>  dw_1.filter()</p><p>  2.8.3課程類別設計</p><p>  點擊菜單中課程類別資料,可進入類別查詢修改頁面,可以對課程類別名稱進行修改。</p><p>  圖2-10課程類別修改頁面</p><p>  2.9成績管理模塊設計</p>&

59、lt;p><b>  2.9.1成績查詢</b></p><p>  點擊進入成績查詢窗口,可以通過課程的編號、學生姓名、學號方式查找學生成績信息并可以對查找到的學生可以進行成績編輯。</p><p>  圖2-11成績查詢頁面</p><p><b>  2.9.2成績錄入</b></p><p

60、>  點擊進入成績錄入窗口,可以通過課程的編號、學生姓名、學號方式查找學生成績信息并可以添加新的學生成績存入數(shù)據(jù)庫。</p><p>  圖2-12學生成績錄入窗口</p><p>  2.10用戶管理模塊</p><p>  2.10.1編輯用戶資料</p><p>  在這個窗口鏈接users數(shù)據(jù)庫,超級管理員可以對用戶資料管理進行

61、修改、添加、刪除管理。</p><p>  圖2-13編輯用戶信息窗口</p><p>  2.10.2修改用戶資料</p><p>  修改登陸用戶的密碼資料。為了提高安全性,修改密碼時,必須輸入舊密碼。</p><p>  圖2-14修改用戶信息窗口</p><p>  2.10.3添加新用戶</p>

62、<p><b>  1.功能概述</b></p><p>  在這個窗口鏈接users數(shù)據(jù)庫,超級管理員登陸后可以進入用戶管理窗口進行用戶添加。用來輸入用戶名和密碼添加的用戶名長度是4-15,由英文字母(a-z/A-Z),數(shù)字,下劃線組成,是以英文字母開頭,密碼長度是6-15,由英文字母(a-z/A-Z),數(shù)字,下劃線組成,創(chuàng)建的用戶可選擇類型。</p><p

63、>  圖2-15添加管理員窗口</p><p><b>  2.主要技術要點</b></p><p>  添加新用戶:該功能的實現(xiàn)過程比較簡單,主要是通過對數(shù)據(jù)庫中用戶表里插入新用戶資料。</p><p>  核心代碼如下:li_id=trim(sle_1.text);</p><p>  select usern

64、ame into :li_id from users </p><p>  where username=:li_id;</p><p>  if SQLCA.SQLCODE=0 then </p><p>  messagebox("提示","用戶名重復") return</p><p><b

65、>  end if</b></p><p>  INSERT INTO users(username,</p><p><b>  ……) </b></p><p>  VALUES ( :sle_1.text, </p><p><b>  …… ) ;</b>

66、;</p><p>  if SQLCA.SQLCODE=0 then</p><p>  lyesno=messagebox('提示','保存成功!',question!,yesno!)</p><p>  else rollback;</p><p>  messagebox('提示'

67、;,'信息維護出錯!'+sqlca.sqlerrtext)</p><p><b>  return</b></p><p><b>  end if</b></p><p><b>  3系統(tǒng)運行截圖</b></p><p><b>  3.1登陸模

68、塊</b></p><p><b>  圖3-1登陸窗口</b></p><p><b>  5.2教師管理模塊</b></p><p>  圖3-2按院系查詢教師信息結(jié)果</p><p>  圖3-3教師信息新增結(jié)果 </p><p><b>  5.

69、3學生管理模塊</b></p><p>  圖3-4按入學時間檢索學生結(jié)果</p><p><b>  5.4課程管理模塊</b></p><p>  圖3-5按課程類別排序結(jié)果</p><p>  圖3-6課程類別窗口</p><p><b>  5.5成績管理模塊<

70、/b></p><p>  圖3-7成績查詢窗口</p><p><b>  5.6系統(tǒng)管理模塊</b></p><p><b>  添加用戶:</b></p><p>  3-8添加管理員窗口</p><p><b>  3-9用戶管理窗口</b>

溫馨提示

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

評論

0/150

提交評論