《SQL數(shù)據(jù)庫實訓》學生成績管理信息系統(tǒng)設計報告-郭江涵_第1頁
《SQL數(shù)據(jù)庫實訓》學生成績管理信息系統(tǒng)設計報告-郭江涵_第2頁
《SQL數(shù)據(jù)庫實訓》學生成績管理信息系統(tǒng)設計報告-郭江涵_第3頁
《SQL數(shù)據(jù)庫實訓》學生成績管理信息系統(tǒng)設計報告-郭江涵_第4頁
《SQL數(shù)據(jù)庫實訓》學生成績管理信息系統(tǒng)設計報告-郭江涵_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 山東理工大學課程實訓報告數(shù)據(jù)庫實訓題目:學生成績管理信息系統(tǒng)學 院: 計算機科學與技術(shù)學院 班 級: 軟件1304 姓 名: 郭江涵 學號 XX 指導教師: XX 總評成績指導教師簽名2016年 01 月 04日 2016年 01 月10日實訓成績評定表1.設計報告部分 (30分) 封面設計符合要求(3分); 報告格式符合要求(7分); 功能敘述完備,錯別字少,章節(jié)段落分布合理,無抄襲或雷同現(xiàn)象(10分); 排版質(zhì)量高,圖片處理且效果好(10分)。2. 設計內(nèi)容部分得分點及分數(shù)數(shù)據(jù)流圖、E-R圖和數(shù)據(jù)庫關系圖數(shù)據(jù)流圖15E-R圖15數(shù)據(jù)庫關系圖20合計50得分點及分數(shù)程序設計說明書簡要程序設

2、計流程圖代碼20合計203.成績評定綜合評語 指導教師簽名: 年 月 日目 錄第一章概述1第二章 系統(tǒng)分析2第三章 數(shù)據(jù)庫設計4第四章 系統(tǒng)實現(xiàn)7第五章 結(jié)束語19第一章 概述課程設計是實踐性教學中的一個重要環(huán)節(jié),它以某一課程為基礎,可以涉及和課程相關的各個方面,是一門獨立于課程之外的特殊課程。課程設計是讓同學們對所學的課程更全面的學習和應用,理解和掌握課程的相關知識。隨著信息時代的發(fā)展,對于學生信息的管理已經(jīng)不再局限于紙上的那些繁瑣的記錄,而是通過電腦軟件程序?qū)W生的信息進行管理,這樣不但可以簡化管理的復雜度,還可以提高管理過程中的準確性,因此有必要設計一款專門針對于學生信息管理的一個程序,

3、于是設計了此學生信息管理系統(tǒng)。該應用程序能夠?qū)γ總€學生的相關信息進行注冊、儲存、修改和刪除等操作。該系統(tǒng)要求按身份登陸,即學生、教師、管理員等不同身份進行訪問。該程序便于操作,面向廣大群體,條理清晰,容易理解,容易修改。學生信息管理系統(tǒng),從字面來看主要是對學生信息的資料進行管理,但實際上,核心卻是系統(tǒng)與管理人員的交互,如何能把如此多的信息登記盡可能的進行操作上的精簡是我們的一大難題。與其進行繁瑣的操作,讓操作標的簡潔才是我們工作的重點.程序上是分為JAVA窗體程序和數(shù)據(jù)庫兩大部分,主要進行數(shù)據(jù)庫的調(diào)用,設計需要滿足以下的需求:1.學生的信息的資料,應該包括學生的學號、姓名、所屬學院、所屬專業(yè)、

4、所屬班級、家庭地址,并且系統(tǒng)還能夠修改輸入錯誤的學生個人信息記錄。2.可以對學生的選課進行管理,包括可選課程和個人已選課信息,并進行相應的選課操作。3. 可以對課程進行管理,課程管理包括增加課程和刪除課程,該課程包括任課教師和所屬專業(yè)。4. 根據(jù)學號、姓名、班級查詢學生信息。根據(jù)課程、專業(yè)、學分查詢課程的相關信息。5.系統(tǒng)使用權(quán)限管理方式。根據(jù)工作流程,系統(tǒng)有2種角色:管理員、學生和教師。管理員允許對課程信息、教師信息、學生信息的管理。學生可以進行選課和查看課程信息的操作。教師可以查看本人所售課程的學生信息。第二章 系統(tǒng)分析1.系統(tǒng)需求:1. 使用友好的全屏幕用戶界面,菜單驅(qū)動,多窗口。2.

5、數(shù)據(jù)維護功能,通過窗體實現(xiàn)錄入、添加和修改所有表的內(nèi)容。3. 查詢統(tǒng)計功能,設置多種查詢方式,實現(xiàn)對學生的基本信息、考試成績情況等 進行查詢。4. 系統(tǒng)維護功能,適當?shù)募尤胂到y(tǒng)密碼管理、數(shù)據(jù)備份等幫助功能。2.輸入的形式和輸入值的范圍形式:輸入學生的學號,姓名,年齡,性別,出生年月,地址,電話,E-mail。輸入一個學生信息一個回車。用輸入的學號p1-num來控制輸入,當輸入的學號為0時,用break跳出循環(huán)。即if(p1-num=0)break。輸入值的范圍:學號、年齡為整型 long num; int age; 姓名為字符串型15個字節(jié)char name15; 性別為字符串型,10個字節(jié)c

6、har sex10; 出生為字符串型,20個字節(jié)char chushen20; 地址為字符串型,30個字節(jié)char dizhi30;郵箱為字符串型,輸入11位數(shù)字char email11。3.輸出的形式輸出是以表格的形式輸出,即表格的每一行都能顯示第一個學生的信息,第二行是顯示第二個學生的信息4.課題實現(xiàn):首先建立數(shù)據(jù)庫,然后創(chuàng)建數(shù)據(jù)表,設置主鍵以及各種約束,學生屬性主要包括姓名,學號,性別,年齡,學院,聯(lián)系電話,家庭住址。其中學號為主鍵,車號設立唯一性約束,將數(shù)據(jù)庫擁有者更改為sa,密碼設置為123。該應用程序包含了管理員模塊(包含學生管理子模塊和課程管理子模塊)、教師模塊、學生模塊和公共模

7、塊。管理員模塊是系統(tǒng)的核心,學生管理子系統(tǒng)實現(xiàn)對學生信息的添加、修改、刪除操作,以輸入條件進行條件查詢。課程管理子系統(tǒng)實現(xiàn)對課程的添加,添加時為其分配任課教師、上課時間、地點和課程詳細信息,實現(xiàn)對課程的修改、刪除,查看某個課程的詳細信息等。教師模塊實現(xiàn)查看自己所教授的課程、課程有哪些學生選修,以及利用本系統(tǒng)提交學生的成績。學生模塊實現(xiàn)學生的選課,查看、修改自己的選課信息。公有模塊實現(xiàn)用戶的身份驗證,密碼修改,退出系統(tǒng)等功能。在學生管理子系統(tǒng)包括學生信息和選課信息,要求對學生信息和選課信息的添加、刪除、修改和查詢,該模塊中當學生修改信息時,對相關的組件添加了事件,相應的JComboBox添加了I

8、temStateChange的相關事件,對其進行了三級聯(lián)動設計,利用形式參數(shù)進行傳遞一個int型的值,當點擊相應的JComboBox時啟動下一個相關的組件應用。在課程查詢時應用相應的JScorllPane組件顯示所查詢的相關信息。整個學生管理系統(tǒng)的數(shù)據(jù)都是在數(shù)據(jù)庫有存儲信息的,因此在應用程序中要應用相應的SQL server語句來對數(shù)據(jù)庫添加、刪除、修改相應信息。SQL server語句主要有update、insert、select語句。運用Frm窗體編輯窗口程序,建立Frm窗體,插入標簽以及按鈕,設置按鈕觸發(fā)功能,然后運用DriverManager.registerDriver(new SQ

9、LServerDriver();con = DriverManager.getConnection(strConn, sa, 123);語句鏈接數(shù)據(jù)庫內(nèi)容。LoginFrame界面主要為JTextField,利用JTextField的getText屬性獲取文本框里輸入的相應的內(nèi)容,然后應用SQL server的select的語句來查詢并驗證密碼是否與數(shù)據(jù)庫一致,如若不一致則彈出一個MessageBox的信息提示框提示輸入正確的密碼。在驗證密碼是應用了equals關鍵字,equals主要應用于字符的比較,而等號(=)主要應用于數(shù)據(jù)的比較。MainFrame界面主要JMenu和JMenuItem組

10、件,完成了主界面的菜單欄,并分別對每個JMenuItem添加了一個事件監(jiān)聽器,使點擊時顯示每個相應的Item界面,以便于對信息的操作。學生信息管理主要包括學生信息和選課信息,完成了相應的信息注冊、修改、查詢和選課查詢操作。學生信息注冊包含姓名、學號、省份證號、所屬學院及專業(yè)和班級、家庭住址等信息。數(shù)據(jù)庫的Student表也添加了相應的列。在學生信息注冊和修改頁面還應用了JComboBox的三級聯(lián)動,使用參數(shù)傳遞,獲取相應的JComboBox的getSelectedIndex來控制顯示的內(nèi)容。班級信息錄入和班級信息管理對各個班級的信息進行管理的界面,主要有JComboBox的二級聯(lián)動和JRadi

11、oButton組件的應用。班級信息管理界面中聲明了displayButtonGroup用于控制三個JRadioButton組件。用不同的方式查詢班級信息,當點擊修改時彈出一個修改的JFrame界面。第三章 數(shù)據(jù)庫設計1.數(shù)據(jù)庫設計1).學生學籍表 如圖3.1.1字段名稱標識名稱數(shù)據(jù)類型空否字段說明userid學號Varcha(16)否主鍵 uername姓名Varcha(16)可空sex性別Char(4)可空birthday出生日期Datetime可空class班級Char(20)可空圖3.1.12).課程信息表如圖3.1.2字段名稱標識名稱數(shù)據(jù)類型空否字段說明course課程號Char(16

12、)否主鍵coursenanme課程名稱Char(16)可空coursetime課時Char(16)可空fen學分Char(10)可空type類型Char(10)可空year年度nChar(10)可空圖3.1.23).學生成績表字段名稱標識名稱數(shù)據(jù)類型空否字段說明Name學生姓名Char(16)可空Class班級Char(16)可空Id學號Char(16)否主鍵usually平時成績Int (5)可空finally期末成績Int (5)可空圖3.1.3學生成績表2.數(shù)據(jù)庫關系圖1).數(shù)據(jù)流圖 如圖3.2.1圖3.2.12).數(shù)據(jù)E-R圖 如圖3.2.2圖3.2.23).數(shù)據(jù)庫關系圖 如圖3.2.

13、3圖3.2.3第四章 系統(tǒng)實現(xiàn) 1、打開系統(tǒng)會提示選擇操作事項。如圖4.1圖4.1主界面 2、選擇查詢操作后可查詢學生和課程以及成績信息。如圖4.2由以下代碼實現(xiàn):public class selectAll extends javax.swing.JFrame datatOper dt; /* Creates new form selectAll */ public selectAll() initComponents(); dt=new datatOper(); dm=new DefaultTableModel(); dm.addColumn(課程信息); dm.addColumn(成績信

14、息); dm.addColumn(學生信息) table.setModel(dm); 圖4.2查詢信息界面3、選擇系統(tǒng)維護,可進入數(shù)據(jù)備份界面,如圖4.3由以下代碼實現(xiàn):private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) int result = 0;File file = null;String path = null;JFileChooser fileChooser = new JFileChooser();FileSystemView fsv = FileSystemView.getFileSystem

15、View(); System.out.println(fsv.getHomeDirectory(); /得到桌面路徑fileChooser.setCurrentDirectory(fsv.getHomeDirectory();fileChooser.setDialogTitle(請選擇要進行備份的文件夾.);fileChooser.setApproveButtonText(確定);fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); Component chatFrame = null;result = fileChooser.s

16、howOpenDialog(chatFrame);if (JFileChooser.APPROVE_OPTION = result) path=fileChooser.getSelectedFile().getPath();System.out.println(path: +path); Connection conn = Connect.getConnection(); try Statement statement = conn.createStatement(); statement.executeUpdate(USE master); String sql=backup databas

17、e BankServer to disk=+path+ with format,init; statement.executeUpdate(sql); JOptionPane.showMessageDialog(this, 數(shù)據(jù)庫備份成功, 系統(tǒng)提示, JOptionPane.NO_OPTION); catch(SQLException e) System.out.println(數(shù)據(jù)庫備份失敗); e.printStackTrace(); 圖4.3系統(tǒng)信息4、 選擇課程查詢可查詢課程信息。如圖4.4由以下代碼實現(xiàn):private void jButton1ActionPerformed(ja

18、va.awt.event.ActionEvent evt) try String str=select * from course; ResultSet res=dt.selectInfo(str); dm=new DefaultTableModel(); dm.addColumn(課程編號); dm.addColumn(課程名稱); dm.addColumn(課程類型); dm.addColumn(學時); dm.addColumn(學分); table.setModel(dm); while(res.next() Vector v=new Vector(); ResultSetMetaDa

19、ta da=res.getMetaData(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); dm.addRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName().log(Level.SEVERE, null, ex); 圖4.4課程查詢信息 5、選擇成績查詢,可進入成績查詢界面。如圖4.5有以下代碼實現(xiàn)private void jButton2Act

20、ionPerformed(java.awt.event.ActionEvent evt) try String str=select * from score; ResultSet res=dt.selectInfo(str); dm=new DefaultTableModel(); dm.addColumn(成績編號); dm.addColumn(課程編號); dm.addColumn(期末成績); dm.addColumn(補考成績); dm.addColumn(是否重修); table.setModel(dm); while(res.next() Vector v=new Vector(

21、); ResultSetMetaData da=res.getMetaData(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); dm.addRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName().log(Level.SEVERE, null, ex); 圖4.5 成績查詢界面6、選擇學生信息查詢可進入學生查詢界面。如圖4.6有以下代碼實現(xiàn)priva

22、te void jButton3ActionPerformed(java.awt.event.ActionEvent evt) try String str=select * from students; ResultSet res=dt.selectInfo(str); dm=new DefaultTableModel(); dm.addColumn(學生編號); dm.addColumn(學生姓名); dm.addColumn(性別); dm.addColumn(出生日期); dm.addColumn(所屬班級); dm.addColumn(所屬學院); dm.addColumn(聯(lián)系電話

23、); dm.addColumn(所在地址); table.setModel(dm); while(res.next() Vector v=new Vector(); ResultSetMetaData da=res.getMetaData(); for(int i=1;ida.getColumnCount()+1;i+) v.add(res.getString(i); dm.addRow(v); / TODO add your handling code here: catch (SQLException ex) Logger.getLogger(selectAll.class.getName

24、().log(Level.SEVERE, null, ex); 圖4.6學生信息查詢界面7、在主界面中選擇學生信息錄入,可進入錄入學生信息界面。如圖4.7由以下代碼實現(xiàn):private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) boolean flagB; try / TODO add your handling code here: String sql=insert into students values(+this.jtxt1.getText()+,+this.jtxt2.getText()+,+this.

25、jtxt3.getText()+,+this.jtxt4.getText()+,+this.jtxt5.getText()+,+this.jtxt6.getText()+,+this.jtxt7.getText()+,+this.jtxt8.getText()+); datatOper Oper=new datatOper(); flagB=Oper.addInfo(sql); if(flagB=true) JOptionPane.showMessageDialog(this, 學生信息錄入成功, 系統(tǒng)信息, JOptionPane.NO_OPTION); else JOptionPane.s

26、howMessageDialog(this, 系統(tǒng)信息錄入失敗, 系統(tǒng)信息, JOptionPane.ERROR_MESSAGE); catch (SQLException ex) Logger.getLogger(addStuInfo.class.getName().log(Level.SEVERE, null, ex); 圖4.7 錄入學生信息界面8、在主界面中選擇學生信息修改或刪除,都可進入修改或刪除學生信息界面。如圖4.8由以下代碼實現(xiàn): private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) / TOD

27、O add your handling code here: boolean flag; String sql=update students set RealName=+this.jtxt2.getText()+,Sex=+jtxt3.getText()+,Brithday=+jtxt4.getText()+,Class=+jtxt5.getText()+,School=+jtxt6.getText()+,Tell=+jtxt7.getText()+,addres=+jtxt8.getText()+ where StuId=+Stuid+; datatOper Oper=new datatO

28、per(); try flag=Oper.DelUpInfo(sql); if(flag=true) JOptionPane.showMessageDialog(this, 更新成功!, 系統(tǒng)信息, JOptionPane.NO_OPTION); else JOptionPane.showMessageDialog(this, 更新失??!, 系統(tǒng)信息, JOptionPane.ERROR_MESSAGE); catch(SQLException e) e.printStackTrace(); 圖4.8 修改或刪除學生信息界面9、在主界面中選擇課程信息錄入,可進入錄入課程信息界面。如圖4.9圖4

29、.9錄入課程信息界面10、在主界面中選擇課程信息修改或刪除,都可進入修改刪除課程信息信息界面。如圖4.10圖4.10 修改刪除課程信息界面11、在主界面中選擇學生成績錄入,可進入錄入學生成績界面。如圖4.11圖4.11 錄入學生成績界面12、在主界面中選擇成績信息修改或刪除,都可進入修改刪除成績信息信息界面。如圖4.12圖4.12 修改刪除成績信息界面13、在主界面中選擇退出,進入退出系統(tǒng)界面。如圖4.13由以下代碼實現(xiàn):rivate void jMenu7MouseClicked(java.awt.event.MouseEvent evt) / TODO add your handling code here: int i=JOptionPane.showConfirmDialog(this, 是否退出

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論