數(shù)據(jù)庫課程設(shè)計--學生成績管理系統(tǒng)_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  《數(shù)據(jù)庫系統(tǒng)概論》</b></p><p><b>  課程設(shè)計</b></p><p><b>  實驗報告書</b></p><p>  設(shè)計課題: 學生成績管理系統(tǒng) </p><p><b>  程序運行平臺<

2、;/b></p><p>  編程工具:Netbeans</p><p><b>  編程語言:JAVA</b></p><p>  數(shù)據(jù)庫:SQL SERVER 2005</p><p>  具體操作如下:新建SutGradeManage項目,然后再編寫相應的java文件,再編譯,鏈接,執(zhí)行等,用戶就可登錄進該系

3、統(tǒng)進行相應的操作。</p><p><b>  總體設(shè)計</b></p><p>  該系統(tǒng)可以添加、修改、查找、顯示和刪除學生的信息</p><p><b>  程序的主要功能</b></p><p><b>  4.1添加功能</b></p><p>

4、;  添加一個學生的基本信息,包括student_ID,student_Name,student_Sex,born_Date,class_NO,tele_Number,ru_Date,address,comment。</p><p><b>  4.2刪除功能</b></p><p>  能夠?qū)σ粋€學生的信息進行刪除按student_ID進行刪除。</p>

5、<p><b>  4.3顯示功能</b></p><p>  顯示所有學生的主要信息包括student_ID,student_Name,student_Sex,result!</p><p><b>  4.4查找功能</b></p><p>  根據(jù)你鍵入的student_ID,顯示其詳細信息!</

6、p><p><b>  4.5修改功能</b></p><p>  對學生的信息和成績進行修改</p><p><b>  。</b></p><p><b>  數(shù)據(jù)庫設(shè)計</b></p><p>  數(shù)據(jù)庫設(shè)計是要在一個給定的應用環(huán)境(DBMS)中,通過

7、合理的邏輯設(shè)計和有效的物理設(shè)計,構(gòu)造較優(yōu)的數(shù)據(jù)庫模式、子模式,建立數(shù)據(jù)庫和設(shè)計應用程序,滿足用戶的各種信息需求。</p><p>  5.1數(shù)據(jù)庫概念設(shè)計</p><p>  在數(shù)據(jù)庫設(shè)計中,先要對系統(tǒng)分析所得的數(shù)據(jù)字典中的數(shù)據(jù)存儲進行分析,然后得出系統(tǒng)的關(guān)系模式,可以采用實體——聯(lián)系圖(簡稱E——R圖)的方法進行數(shù)據(jù)結(jié)構(gòu)的描述。E——R圖由實體、屬性、聯(lián)系三部分組成。</p>

8、<p><b>  5.2表結(jié)構(gòu)</b></p><p><b>  5.3視圖</b></p><p><b>  模塊分析</b></p><p><b>  6.1 登陸界面</b></p><p>  主要代碼:public Logi

9、nUI(String title)</p><p>  {this.setTitle(title);</p><p>  Border border = BorderFactory.createBevelBorder(BevelBorder.RAISED,Color.WHITE,Color.GRAY);</p><p>  Login = new JLabel(&

10、quot;學生成績管理系統(tǒng)");</p><p>  Login.setHorizontalAlignment(JLabel.CENTER);</p><p>  Login.setFont(new Font("宋體",Font.BOLD,20));</p><p>  Tip = new JLabel();</p>&l

11、t;p>  Tip.setForeground(Color.RED);</p><p>  Tip.setHorizontalAlignment(JLabel.CENTER);</p><p>  Tip.setFont(new Font("宋體",Font.PLAIN,15));</p><p>  nameLabel = new JLa

12、bel("用戶名:");</p><p>  nameLabel.setHorizontalAlignment(JLabel.RIGHT);</p><p>  passwordLabel = new JLabel("密碼:");</p><p>  passwordLabel.setHorizontalAlignment(J

13、Label.RIGHT);</p><p>  nameField = new JTextField();</p><p>  nameField.addKeyListener(</p><p>  new KeyListener()</p><p><b>  {</b></p><p>  p

14、ublic void keyPressed(KeyEvent e)</p><p><b>  {</b></p><p>  if(e.getKeyCode() == KeyEvent.VK_ENTER)</p><p><b>  {</b></p><p>  passwordField.gr

15、abFocus();</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void keyTyped(KeyEvent e)</p><p><b>  { }</b></p><p>  p

16、ublic void keyReleased(KeyEvent e)</p><p><b>  { }</b></p><p><b>  });</b></p><p>  passwordField = new JPasswordField();</p><p>  passwordField

17、.addKeyListener(new KeyListener()</p><p><b>  {</b></p><p>  public void keyPressed(KeyEvent e)</p><p><b>  {</b></p><p>  if(e.getKeyCode() ==

18、KeyEvent.VK_ENTER)</p><p>  {userLogin();</p><p><b>  }</b></p><p><b>  }</b></p><p>  public void keyTyped(KeyEvent e)</p><p>&l

19、t;b>  { }</b></p><p>  public void keyReleased(KeyEvent e)</p><p><b>  { }</b></p><p><b>  });</b></p><p>  passwordField.setEchoChar(&

20、#39;*');</p><p>  loginButton = new JButton("登錄");</p><p>  loginButton.setBorder(border);</p><p>  exitButton = new JButton("退出");</p><p>  exi

21、tButton.setBorder(border);</p><p>  loginButton.addActionListener(</p><p>  new ActionListener()</p><p><b>  {</b></p><p>  public void actionPerformed(Acti

22、onEvent e)</p><p><b>  {</b></p><p>  userLogin();</p><p><b>  }</b></p><p><b>  });</b></p><p>  6.2學生信息添加界面</p>

23、<p>  學生信息添加部分代碼: public StudentGradFrame(String title)</p><p><b>  {</b></p><p>  studentId = new JLabel("學號:");</p><p>  studentId.setHorizontalAlignm

24、ent(JLabel.RIGHT);</p><p>  courseId = new JLabel("課程編號:");</p><p>  courseId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  school = new JLabel("學年:");</p>

25、;<p>  school.setHorizontalAlignment(JLabel.RIGHT);</p><p>  termId = new JLabel("學期:");</p><p>  termId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  grade = new

26、JLabel("分數(shù):");</p><p>  grade.setHorizontalAlignment(JLabel.RIGHT);</p><p>  studentIdField = new JTextField();</p><p>  studentIdField.grabFocus();</p><p>  

27、studentIdField.addKeyListener(</p><p>  new KeyListener()</p><p><b>  {</b></p><p>  public void keyPressed(KeyEvent e)</p><p><b>  {</b></p&

28、gt;<p>  if(e.getKeyCode() == KeyEvent.VK_ENTER)</p><p>  { courseIdField.grabFocus(); }</p><p><b>  }</b></p><p>  public void keyTyped(KeyEvent e)</p>&l

29、t;p><b>  {</b></p><p><b>  }</b></p><p>  public void keyReleased(KeyEvent e)</p><p><b>  {</b></p><p><b>  }</b><

30、/p><p><b>  });</b></p><p>  6.3學生成績查詢界面</p><p>  首先由用戶輸入要查找的學生學號等,然后查找數(shù)據(jù)庫中的該學生信息</p><p>  主要代碼:public QueryExam(String title)</p><p><b>  {

31、</b></p><p>  idLabel = new JLabel("請選擇查詢方式:");</p><p>  idLabel.setFont(new Font("隸書",Font.BOLD,20));</p><p>  idField = new JTextField();</p><

32、p>  idField.setEditable(false);</p><p>  jRByNum = new JRadioButton("課程編號");</p><p>  jRByNum.addActionListener(</p><p>  new ActionListener()</p><p><b

33、>  {</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {</b></p><p><b>  Flag = 0;</b></p><p>  idLabel.setText("

34、;請輸入課程編號:");</p><p>  idField.setEditable(true);</p><p>  idField.grabFocus();</p><p><b>  }</b></p><p><b>  });</b></p><p>  

35、jRByName = new JRadioButton("課程名稱");</p><p>  jRByName.addActionListener(</p><p>  new ActionListener()</p><p><b>  {</b></p><p>  public void act

36、ionPerformed(ActionEvent e)</p><p><b>  {</b></p><p><b>  Flag = 1;</b></p><p>  idLabel.setText("請輸入課程名稱:");</p><p>  idField.setEdit

37、able(true);</p><p>  idField.grabFocus();</p><p><b>  }</b></p><p><b>  });</b></p><p>  jRByTerm = new JRadioButton("學期");</p>

38、<p>  jRByTerm.addActionListener(</p><p>  new ActionListener()</p><p><b>  {</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>

39、  {</b></p><p><b>  Flag = 2;</b></p><p>  idLabel.setText("請輸入學期:");</p><p>  idField.setEditable(true);</p><p>  idField.grabFocus();</

40、p><p><b>  }</b></p><p><b>  });</b></p><p>  6.4學生成績修改界面</p><p>  首先由用戶輸入要修改的學生的成績</p><p>  主要代碼:public UpdateGrade(String title)<

41、/p><p><b>  {</b></p><p>  idLabel = new JLabel("請輸入學號:");</p><p>  idLabel.setFont(new Font("隸書",Font.BOLD,20));</p><p>  idField = new JT

42、extField();</p><p>  idField.grabFocus();</p><p>  studentId = new JLabel("學號:");</p><p>  studentId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  courseId =

43、 new JLabel("課程編號:");</p><p>  courseId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  school = new JLabel("學年:");</p><p>  school.setHorizontalAlignment(JLabel.

44、RIGHT);</p><p>  termId = new JLabel("學期:");</p><p>  termId.setHorizontalAlignment(JLabel.RIGHT);</p><p>  grade = new JLabel("分數(shù):");</p><p>  grad

45、e.setHorizontalAlignment(JLabel.RIGHT);</p><p>  studentIdField = new JTextField();</p><p>  courseIdField = new JTextField();</p><p>  schoolField = new JTextField();</p>&l

46、t;p>  termIdField = new JTextField();</p><p>  gradeField = new JTextField();</p><p>  studentIdField.setEditable(false);</p><p>  courseIdField.setEditable(false);</p>&l

47、t;p>  schoolField.setEditable(false);</p><p>  termIdField.setEditable(false);</p><p>  gradeField.setEditable(false);</p><p>  bQuery = new JButton("查詢");</p>&

48、lt;p>  bQuery.addActionListener(</p><p>  new ActionListener()</p><p><b>  {</b></p><p>  public void actionPerformed(ActionEvent e)</p><p><b>  {&

49、lt;/b></p><p>  if(!gradeDAO.queryGrade(idField.getText()))</p><p><b>  {</b></p><p>  gradeDAO.viewGrade(idField.getText(),studentIdField,courseIdField,schoolField,t

50、ermIdField,gradeField);</p><p>  courseIdField.setEditable(true);</p><p>  schoolField.setEditable(true);</p><p>  termIdField.setEditable(true);</p><p>  gradeField.se

51、tEditable(true);</p><p>  bUpdate.setEnabled(true);</p><p>  bQuery.setEnabled(false);</p><p><b>  }</b></p><p><b>  else</b></p><p&g

52、t;<b>  {</b></p><p>  JOptionPane.showMessageDialog(new JFrame(),"該學號不存在,重新填寫");</p><p>  idField.setText("");</p><p>  idField.grabFocus();</p>

53、;<p><b>  }</b></p><p><b>  }</b></p><p><b>  });</b></p><p><b>  系統(tǒng)測試</b></p><p><b>  (學生成績添加圖)</b>&

54、lt;/p><p><b>  (學生信息查詢圖)</b></p><p><b> ?。ㄐ薷膶W生成績圖)</b></p><p>  (學生成績錄入成功圖)</p><p><b>  實驗總結(jié)</b></p><p>  通過這次數(shù)據(jù)庫課程設(shè)計,讓我對數(shù)

55、據(jù)庫有了更深層次的理解,不僅僅停留在理論知識的層面。對數(shù)據(jù)庫的操作及運用也更熟悉了。在設(shè)計的過程中遇到的問題,不懂了就在網(wǎng)絡上搜索,書籍上查詢以及同學們的幫助,我了解了更多的知識。并且對軟件的設(shè)計有了更深的體會。積累了軟件開發(fā)的經(jīng)驗。</p><p>  這次試驗我用是java編寫的一個圖形界面來實現(xiàn)數(shù)據(jù)庫的應用,通過一些java中的窗體結(jié)構(gòu)JFrame來實現(xiàn)的,運用了事件監(jiān)聽,按鈕事件等,這個程序界面不是很好看

56、,但是也用到了很多編程知識,同時,我也要感謝在設(shè)計過程中幫助過我的老師和同學。</p><p><b>  參考文獻</b></p><p>  《數(shù)據(jù)庫系統(tǒng)及應用》 戴小平 主編 中國科學技術(shù)大學出版社 2010.8</p><p>  《數(shù)據(jù)庫系統(tǒng)概論》 王珊  主編  清華大學出版社  2009<

溫馨提示

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

最新文檔

評論

0/150

提交評論