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

下載本文檔

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

文檔簡介

1、<p>  《數(shù)據(jù)庫原理與技術(shù)課程設(shè)計》設(shè)計報告</p><p>  課程設(shè)計題目:學(xué)籍管理系統(tǒng)</p><p><b>  1 需求分析</b></p><p><b>  1.1系統(tǒng)目標(biāo):</b></p><p>  實現(xiàn)一個通用學(xué)籍管理系統(tǒng),完成對學(xué)生學(xué)籍信息的增加、刪除、修改、查詢

2、、顯示全部學(xué)生學(xué)籍信息等功能。</p><p>  1.1系統(tǒng)功能需求:</p><p>  本系統(tǒng)只在學(xué)校內(nèi)部使用,故無需登錄。用戶可直接進入到主界面,進行各種操作,諸如錄入學(xué)生信息、刪除已不在的學(xué)生的學(xué)籍信息、修改有錯誤信息的學(xué)生的學(xué)籍信息、查詢所要找的學(xué)生的學(xué)籍信息以及查看所有學(xué)生的學(xué)籍信息。</p><p><b>  功能劃分:</b>

3、;</p><p>  用戶無需經(jīng)過身份驗證,直接進入到學(xué)籍管理系統(tǒng)的主界面。主界面為用戶提供了6個功能,即增加記錄、刪除記錄、修改記錄、查詢記錄、顯示全部記錄和退出。</p><p><b>  功能描述:</b></p><p><b>  增加記錄:</b></p><p>  用戶進入到主界

4、面后,若想添加新的學(xué)生學(xué)籍信息,可點擊增加記錄按鈕。則會跳出一增加記錄的對話框,用戶可在各對應(yīng)的框內(nèi)填寫所要填寫的信息。當(dāng)然這些不能胡亂的填寫,要根據(jù)日常情況來填寫。</p><p><b>  刪除記錄:</b></p><p>  用戶進入到主界面后,若想把那些已不在的學(xué)生刪除掉,可點擊刪除記錄按鈕。則會跳出一刪除記錄對話框,用戶填寫所要刪除學(xué)生的學(xué)號,點擊確定。

5、若該學(xué)生的學(xué)籍信息不在數(shù)據(jù)庫中,則會出現(xiàn)提示信息“無此學(xué)生”。若在數(shù)據(jù)庫中有該學(xué)生的學(xué)籍信息,則會顯示另一提示信息“確定刪除嗎?”,點擊確定,又會出現(xiàn)一提示信息“刪除成功”。雖然有些繁瑣,但能確保不誤刪學(xué)生的學(xué)籍信息。</p><p><b>  修改記錄:</b></p><p>  用戶進入到主界面后,倘若想修改那些由于各種情況所造成的錯誤信息時,可點擊主界面上的

6、修改記錄按鈕。點擊后會跳出一修改記錄的對話框,用戶可以根據(jù)有錯誤信息的學(xué)生的學(xué)號,先進行查詢,查詢后會顯示該學(xué)生的全部學(xué)籍信息,用于可將錯誤的信息糾正過來,然后點擊修改。返回主界面可點擊退出按鈕。</p><p><b>  查詢記錄:</b></p><p>  用戶進入到主界面后,如果想要查看某個學(xué)生的學(xué)籍信息,可點擊查詢記錄按鈕。則會跳出一查詢記錄的對話框,用戶

7、輸入想要查詢學(xué)生的學(xué)號就可以查看到該學(xué)生的全部學(xué)籍信息。</p><p><b>  全部記錄:</b></p><p>  用戶進入到主界面后,想要查看全部學(xué)生的學(xué)籍信息,可點擊全部記錄按鈕。則會在主界面的下部顯示全部學(xué)生的學(xué)籍信息。</p><p><b>  退出:</b></p><p> 

8、 用戶進入到主界面后,進行了各種操作后,想要退出該學(xué)生學(xué)籍管理系統(tǒng),可點擊主界面上的退出按鈕。點擊后,用戶就可以退出本系統(tǒng)。</p><p>  2 數(shù)據(jù)庫的概念設(shè)計</p><p>  2.1系統(tǒng)的概念模型:</p><p>  圖2-1 學(xué)生學(xué)籍管理系統(tǒng)概念模型的E/R圖</p><p>  圖2-2 學(xué)生學(xué)籍信息的屬性E/R圖</

9、p><p>  上面兩張圖是學(xué)生學(xué)籍管理系統(tǒng)的概念模型的E/R圖,該系統(tǒng)所涉及的實體集有:</p><p>  學(xué)生學(xué)籍信息實體集:具體屬性有學(xué)號、姓名、性別、政治面貌、出生年月、專業(yè)、系院、籍貫、家庭住址。</p><p>  用戶實體集:具體屬性有使用權(quán)限。</p><p>  用戶可以對多個學(xué)生的學(xué)籍信息進行管理,所以用戶與學(xué)生學(xué)籍信息之間

10、的關(guān)系為1:N。</p><p>  3 將概念模型轉(zhuǎn)換為改性模型</p><p>  3.1將E-R模型轉(zhuǎn)換為關(guān)系模式</p><p> ?。?)學(xué)生學(xué)籍信息轉(zhuǎn)換為關(guān)系:</p><p>  STUDENT(CODE,NAME,SEX,POLITICAL,NATIVE,BIRTH,DEPARMENT,MAJOR,ADDRESS)</p

11、><p>  CODEE表示學(xué)號,NAME表示姓名,SEX表示性別,POLITICAL表示政治面貌,NATIVE表示籍貫,BIRTH表示出生年月,DEPARMENT表示院系,MAJOR表示專業(yè),ADDRESS表示家庭地址。</p><p>  3.2數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計:</p><p>  把關(guān)系模型轉(zhuǎn)化為表結(jié)構(gòu):</p><p>  學(xué)生學(xué)籍信息

12、表(student)所包含的學(xué)生學(xué)籍信息,定義如下:</p><p>  表 1 學(xué)生學(xué)籍信息表</p><p>  3.3實現(xiàn)數(shù)據(jù)完整性</p><p>  通過各種約束,缺省,規(guī)則和觸發(fā)器實現(xiàn)數(shù)據(jù)的完整性。由于學(xué)生學(xué)籍管理系統(tǒng)的重要性,和各個數(shù)據(jù)之間的復(fù)雜相關(guān)性,保證數(shù)據(jù)的完整性顯得更為重要。不能讓用戶隨意的刪除,修改數(shù)據(jù)。</p><p&g

13、t;  CHECK約束保證查詢時只能輸入學(xué)號。</p><p>  (2)PRIMARY KEY約束在表中定義了一個惟一標(biāo)識每一列的主鍵,即code(學(xué)號)。</p><p> ?。?)使用默認(rèn)值和規(guī)則。</p><p> ?。?)各種外鍵約束保證數(shù)據(jù)的完整性,不能隨意刪除。</p><p> ?。?)主鍵約束保證實體的完整性。</p&

14、gt;<p> ?。?)創(chuàng)建規(guī)則保證學(xué)生的出生年月只能輸入數(shù)字,不會輸入錯誤數(shù)據(jù)。</p><p> ?。?)創(chuàng)建觸發(fā)器,保證在添加學(xué)生信息的時候,自動將該班級的必修課添加到選課表中。</p><p><b>  4 應(yīng)用程序設(shè)計</b></p><p>  4.1 學(xué)生學(xué)籍管理系統(tǒng)的處理流程圖:</p><p

15、>  圖5-1 學(xué)生學(xué)籍管理系統(tǒng)的處理流程圖 </p><p>  4.2 總體結(jié)構(gòu)和外部模塊設(shè)計:</p><p>  圖4-2 模塊設(shè)計圖</p><p>  4.3 主要功能的代碼&

16、lt;/p><p><b>  (1)增加記錄</b></p><p>  void CAddDlg::OnButton1() </p><p><b>  {</b></p><p>  UpdateData(true); //把編輯框里的東西放到相關(guān)變量</p><p>

17、  CAdd m_set;</p><p>  m_set.Open();</p><p>  m_set.MoveFirst();</p><p><b>  do</b></p><p><b>  {</b></p><p>  if(m_set.m_code==m_c

18、ode)</p><p><b>  {</b></p><p>  MessageBox("學(xué)號已存在,請重新輸入!!","增加記錄");</p><p>  m_set.Close();</p><p><b>  return;</b></p>

19、;<p><b>  }</b></p><p>  m_set.MoveNext();</p><p>  }while(!m_set.IsEOF());</p><p>  m_set.AddNew(); //</p><p>  m_set.m_code=m_code;</p>

20、<p>  m_set.m_name=m_name;</p><p>  m_set.m_sex=m_sex;</p><p>  m_set.m_political=m_political;</p><p>  m_set.m_native=m_native;</p><p>  m_set.m_borth=m_borth;&l

21、t;/p><p>  m_set.m_department=m_department;</p><p>  m_set.m_major=m_major;</p><p>  m_set.m_address=m_address;</p><p>  m_set.Update(); //更新</p><p&g

22、t;  m_set.Close();</p><p>  MessageBox("錄入成功!","增加成功");</p><p><b>  }</b></p><p>  void CAddDlg::OnButton2() </p><p><b>  {</

23、b></p><p><b>  OnOK();</b></p><p><b>  }</b></p><p><b>  (2)刪除記錄</b></p><p>  void CDelDlg::OnButton1() </p><p><

24、;b>  {</b></p><p>  UpdateData(true);</p><p><b>  CAdd dat;</b></p><p>  dat.Open();</p><p>  dat.MoveFirst();</p><p><b>  do<

25、;/b></p><p><b>  {</b></p><p>  if(dat.m_code==m_code)</p><p><b>  {</b></p><p>  if (MessageBox("確定刪除嗎?","學(xué)生信息管理",MB_YES

26、NO)==IDNO)</p><p><b>  {</b></p><p>  dat.Close();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  dat.Delete();<

27、/p><p>  MessageBox("刪除成功!","學(xué)生信息管理");</p><p>  dat.Close();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  da

28、t.MoveNext();</p><p>  }while(!dat.IsEOF());</p><p>  MessageBox("無此學(xué)生","學(xué)生信息管理");</p><p><b>  }</b></p><p><b>  (3)修改記錄</b>

29、</p><p>  void CChangDlg::OnButton1() </p><p><b>  {</b></p><p>  UpdateData(true);</p><p><b>  CAdd dat;</b></p><p>  dat.Open();&

30、lt;/p><p>  dat.MoveFirst();</p><p><b>  do</b></p><p><b>  {</b></p><p>  if(dat.m_code==m_code)</p><p><b>  {</b></p&

31、gt;<p>  dat.Edit();</p><p>  dat.m_code=m_code;</p><p>  dat.m_name=m_name;</p><p>  dat.m_sex=m_sex;</p><p>  dat.m_political=m_political;</p><p>

32、  dat.m_native=m_native;</p><p>  dat.m_borth=m_borth;</p><p>  dat.m_department=m_department;</p><p>  dat.m_major=m_major;</p><p>  dat.m_address=m_address;</p>

33、<p>  dat.Update();</p><p>  MessageBox("修改成功!","修改記錄");</p><p>  dat.Close();</p><p><b>  return;</b></p><p><b>  }</b&

34、gt;</p><p>  dat.MoveNext();</p><p>  }while(!dat.IsEOF());</p><p>  dat.Close();</p><p>  MessageBox("無此學(xué)生!","修改記錄");</p><p><b>

35、  }</b></p><p><b>  (4)查詢記錄</b></p><p>  void CScanDlg::OnButton1() </p><p><b>  {</b></p><p>  UpdateData(true);</p><p>  in

36、t flag=0;</p><p>  m_list.DeleteAllItems();</p><p>  CString s;</p><p>  CAdd m_set;</p><p>  if(m_code=="")</p><p><b>  {</b></p&

37、gt;<p>  MessageBox("請輸入要查的學(xué)號!","學(xué)生信息查詢");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  m_set.Open();</p><p>  

38、m_set.MoveFirst();</p><p><b>  int j=0;</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  if(m_set.m_code==m_code)</p><p

39、><b>  {</b></p><p><b>  flag=1;</b></p><p><b>  break;</b></p><p><b>  }</b></p><p>  m_set.MoveNext();</p>&l

40、t;p>  }while(!m_set.IsEOF());</p><p>  if(flag==0)</p><p>  MessageBox("不存在該學(xué)號!","錯誤");</p><p><b>  else</b></p><p><b>  {<

41、/b></p><p>  m_list.InsertItem(0,m_set.m_code,0);</p><p>  m_list.SetItemText(0,1,m_set.m_name);</p><p>  m_list.SetItemText(0,2,m_set.m_sex);</p><p>  m_list.SetIte

42、mText(0,3,m_set.m_political);</p><p>  m_list.SetItemText(0,4,m_set.m_native);</p><p>  m_list.SetItemText(0,5,m_set.m_borth);</p><p>  m_list.SetItemText(0,6,m_set.m_department);&l

43、t;/p><p>  m_list.SetItemText(0,7,m_set.m_major);</p><p>  m_list.SetItemText(0,8,m_set.m_address);</p><p><b>  }</b></p><p>  m_set.Close();</p><p&

44、gt;  UpdateData(false);</p><p><b>  }</b></p><p><b>  (5)全部記錄</b></p><p>  void CMyDlg::OnAll() </p><p><b>  {</b></p><p

45、>  UpdateData(true);</p><p>  CAdd m_set; //調(diào)用數(shù)據(jù)庫</p><p>  m_set.Open(); //打開數(shù)據(jù)庫</p><p>  m_set.MoveFirst();</p><p><b>  int j=0;</b>

46、;</p><p>  m_list.DeleteAllItems();</p><p><b>  do</b></p><p><b>  {</b></p><p>  m_list.InsertItem(j,m_set.m_code,0); //</p><p>

47、;  m_list.SetItemText(j,1,m_set.m_name);</p><p>  m_list.SetItemText(j,2,m_set.m_sex);</p><p>  m_list.SetItemText(j,3,m_set.m_political);</p><p>  m_list.SetItemText(j,4,m_set.m_na

48、tive);</p><p>  m_list.SetItemText(j,5,m_set.m_borth);</p><p>  m_list.SetItemText(j,6,m_set.m_department);</p><p>  m_list.SetItemText(j,7,m_set.m_major);</p><p>  m_l

49、ist.SetItemText(j,8,m_set.m_address);</p><p><b>  j++;</b></p><p>  m_set.MoveNext();</p><p>  }while(!m_set.IsEOF());</p><p>  m_set.Close();</p>&l

50、t;p>  UpdateData(false);</p><p><b>  }</b></p><p><b>  (6)退出</b></p><p>  void CMyDlg::OnCancel() </p><p><b>  {</b></p>

51、<p><b>  OnOK();</b></p><p><b>  }</b></p><p><b>  5 編程實現(xiàn)</b></p><p>  下面給出學(xué)生學(xué)籍管理系統(tǒng)的主要用戶界面:</p><p>  5.1 學(xué)生學(xué)籍管理系統(tǒng)的主界面</p&g

52、t;<p>  5-1 學(xué)生學(xué)籍管理系統(tǒng)的主界面</p><p>  圖5-1是學(xué)生學(xué)籍管理系統(tǒng)的主界面,用戶可以在主界面上選擇增加記錄、刪除記錄、修改記錄、查詢記錄、顯示全部記錄、退出6個操作。</p><p>  5.2 學(xué)生學(xué)籍管理系統(tǒng)的增加記錄界面</p><p>  5-2 學(xué)生學(xué)籍管理系統(tǒng)的增加記錄界面</p><p&g

53、t;  圖 5-3 圖 5-4</p><p>  圖5-2是學(xué)生學(xué)籍管理系統(tǒng)的增加記錄界面,用戶可以在這里面填寫所要添加的學(xué)生學(xué)籍信息。填寫好所有信息后,用戶可點擊確定按鈕,就把該學(xué)生的學(xué)籍信息錄入到數(shù)據(jù)庫中。若該學(xué)生的信息以錄入到數(shù)據(jù)庫中,則出現(xiàn)如圖5-3的畫面。若還沒錄入到是數(shù)據(jù)庫中,則出現(xiàn)如圖5-4的畫面。點擊退出,則返回主界面。</p>

54、;<p>  5.3 學(xué)生學(xué)籍管理系統(tǒng)的刪除記錄界面</p><p>  5-5 學(xué)生學(xué)籍管理系統(tǒng)的刪除記錄界面</p><p>  圖 5-6 圖 5-7 圖 5-8</p><p>  圖5-5學(xué)生學(xué)籍管理系統(tǒng)的刪除記錄界面,用戶可以輸入要刪除學(xué)生學(xué)

55、籍信息的學(xué)號,若該學(xué)生是存在的,則點擊確定,會跳出一對話框,提示用戶到底要不要刪,具體如圖5-6所示,點擊確定,顯示刪除成功,如圖5-7所以。若該學(xué)生是不存在的,則會跳出一提示信息,具體如圖5-8所示。</p><p>  5.4 學(xué)生學(xué)籍管理系統(tǒng)的修改記錄界面</p><p>  5-9 學(xué)生學(xué)籍管理系統(tǒng)的修改記錄界面</p><p><b>  圖 5

56、-10</b></p><p>  圖5-9是學(xué)生學(xué)籍管理系統(tǒng)的修改記錄界面,用戶若想修改有錯誤的學(xué)生學(xué)籍信息,可進入此界面。用戶必須先輸入該學(xué)生的學(xué)號,然后點擊查詢,就可以看到該學(xué)生的全部的學(xué)籍信息。用戶若想修改,可修改編輯框中的信息,全部改好后,點擊修改。若填寫的格式,規(guī)范都符合要求,就能修改成功,出現(xiàn)如圖5-10所示的提示信息。</p><p>  5.5 學(xué)生學(xué)籍管理系

57、統(tǒng)的查詢記錄界面</p><p>  5-11 學(xué)生學(xué)籍管理系統(tǒng)的查詢記錄界面</p><p><b>  圖 5-12</b></p><p>  圖5-11是學(xué)生學(xué)籍管理系統(tǒng)的查詢記錄界面,用戶若想要查看某同學(xué)的學(xué)籍信息,可以進入到此界面中。輸入想要查詢學(xué)生的學(xué)號,點擊確定,就可以查詢了。若是該學(xué)號不存在,則出現(xiàn)如圖5-12所示。若存在,就

58、可以看到該學(xué)生的的全部學(xué)籍信息。</p><p>  5.6 學(xué)生學(xué)籍管理系統(tǒng)的顯示全部信息界面</p><p>  5-13 學(xué)生學(xué)籍管理系統(tǒng)的顯示全部信息界面</p><p>  圖5-13是學(xué)生學(xué)籍管理系統(tǒng)的顯示全部信息界面,也就是在主界面上。用戶想要查看全部學(xué)生的學(xué)籍信息,可點擊主界面上的全部記錄按鈕,則可以在主界面的下方顯示出數(shù)據(jù)庫全部學(xué)生的學(xué)籍信息。&l

59、t;/p><p>  5.7 學(xué)生學(xué)籍管理系統(tǒng)的退出界面</p><p>  此界面就是主界面,退出只是上面的一個功能按鈕。用戶進行各種操作后, 若想退出學(xué)生學(xué)籍管理系統(tǒng),可點擊主界面上的退出按鈕,就能推出本系統(tǒng)。</p><p><b>  總 結(jié)</b></p><p>  通過一個星期的數(shù)據(jù)庫課程設(shè)計實習(xí),我從中

60、受益匪淺,并且對數(shù)據(jù)庫這一門課程有了更深一步的認(rèn)識。在實習(xí)的過程中,我把這學(xué)期所學(xué)的理論知識和實踐聯(lián)系起來,在所要開發(fā)的程序中漸漸融會貫通。雖然我們對這些知識還運用得還不是很熟練,但是相信在現(xiàn)在和今后的學(xué)習(xí)中會得到更加深刻的掌握。</p><p>  在課程設(shè)計中,設(shè)計了一個學(xué)生學(xué)籍管理系統(tǒng),對學(xué)生學(xué)籍信息進行管理。基本上包含了學(xué)籍管理所要求的信息,能夠完成一定的數(shù)據(jù)管理功能。但是這是一個完全不能真正用與實際的系

61、統(tǒng),它沒有登陸注冊界面,一點都不安全。也沒有完善的數(shù)據(jù)完整性的約束。具體說來就是不具有可靠的安全性。但總之在設(shè)計當(dāng)中我學(xué)習(xí)到了許多東西,用到了很多的數(shù)據(jù)庫的理論知識,增強了一定的實踐能里。這學(xué)期也做過蠻多的實驗,但那是有步驟的,可以照著做就可以了。然而,課程設(shè)計就給了我一個課題,什么都沒有,都要自己去想,去查資料,去做。對自己的能力有很大的提高。特別是以前數(shù)據(jù)庫中沒搞清楚的弄懂了,不熟練的變得熟練了,讓我對數(shù)據(jù)庫的理論知識有了一個更加深

62、的認(rèn)識。 </p><p>  在一個系統(tǒng)開發(fā)的過程中編碼不是重要的,我感覺重要的是分析系統(tǒng)、建立起系統(tǒng)模型和對數(shù)據(jù)的處理。在分析一個系統(tǒng)前,分析人員必須要對將要開發(fā)的系統(tǒng)所涉及到的各方面知識有一個認(rèn)識,然后將系統(tǒng)的模型建立起來。這是要考慮到很多數(shù)據(jù)的特性及其關(guān)聯(lián)。</p><p>  總結(jié)這次課程設(shè)計給我感受最深的至少有四點:</p><p>  1.進行軟件開發(fā)

溫馨提示

  • 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

提交評論