數(shù)據(jù)庫課程設計教務管理系統(tǒng)_第1頁
數(shù)據(jù)庫課程設計教務管理系統(tǒng)_第2頁
數(shù)據(jù)庫課程設計教務管理系統(tǒng)_第3頁
數(shù)據(jù)庫課程設計教務管理系統(tǒng)_第4頁
數(shù)據(jù)庫課程設計教務管理系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

1、洛 陽 理 工 學 院課 程 設 計 報 告專 業(yè)班 級學 號姓 名課 程 設 計 任 務 書設計題目:教務管理系統(tǒng)設計內(nèi)容與要求:設計教務管理系統(tǒng),類似于我校教務管理系統(tǒng),有四類用戶:教務員、學生、教師、管理員教務員可以輸入學生、教師、班級、課程信息。一個班級只屬于一個專業(yè),一個學生只屬于一個班級。教務員負責輸入每個專業(yè)、每個班級需要學習哪些課程,指定課程的任課教師。教師可以查看學習該課程的學生名單。課程結束后,教師可以錄入課程成績。一個教師可以教授多個班的多門課程,每門課由多位老師講授。課程分兩類,必修課和選修課。系統(tǒng)要記錄每個學生學習各門必修課的成績,還要記錄學生選修了哪些選修課以及課程

2、成績。學生可以查看自己各門課程的成績。學生還可以進行評教,給老師打分。管理員可以輸入教室信息,并結合班級、課程、教室信息實現(xiàn)自動排課。要求:1.完成本系統(tǒng)的需求分析,寫出功能需求和數(shù)據(jù)需求描述;2.完成數(shù)據(jù)庫的概念結構設計、邏輯結構設計、物理結構設計;3.完成本系統(tǒng)的部分功能模塊的程序界面設計。年 12 月 29 日課 程 設 計 評 語成績:指導教師:_年 月 日洛 陽 理 工 學 院課 程 設 計 報 告目錄一、 概述 .21.1、本設計的目的與意義.21.2、數(shù)據(jù)庫開發(fā)工具和應用程序開發(fā)工具.2二、 需求分析.22.1功能需求.22.2數(shù)據(jù)需求.2三、 概念結構設計.23.1、E-R模型

3、設計.23.2、總體 E-R圖描述.4四、 邏輯結構設計.44.1、關系模型.44.2、關系模式的優(yōu)化與說明.4五、 物理結構設計.55.1建立數(shù)據(jù)庫.55.2表與表結構.5六、 應用程序設計.66.1、系統(tǒng)總體結構.66.2、系統(tǒng)界面與源代碼.76.2.1、界面.86.2.2、功能描述.96.2.3、程序源代碼.10七、設計總結.231洛 陽 理 工 學 院課 程 設 計 報 告一、 概述本系統(tǒng)后臺數(shù)據(jù)庫采用 Microsoft SQL Server 數(shù)據(jù)庫,該數(shù)據(jù)庫系統(tǒng)在安全性、準確性和運行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)量大,效率高;前臺采用Microsoft 公司的 Visual S

4、tudio 2010 作為主要開發(fā)工具,可與 SQL Server 2008 數(shù)據(jù)庫無縫鏈接。二、 需求分析2.1、功能需求本系統(tǒng)的功能如下:1)學生信息查詢:學生可以根據(jù)學號、姓名、專業(yè)進行查詢.2)學生信息管理:主要是用于學生信息更新、插入、刪除;3)學生成績錄入:用于學生成績管理,錄入學生成績,也可以更新;2.2、數(shù)據(jù)需求本系統(tǒng)需要的數(shù)據(jù)如下:學生:學號、姓名、性別、年齡教師:工號、姓名、性別、年齡班級:班號、班名、人數(shù)、課程:課程號、課程名、上課時間、上課地點專業(yè):專業(yè)號、專業(yè)名三、 概念結構設計3.1、E-R 模型設計(E-R 圖)名性別名姓姓工號學號年齡年齡2洛 陽 理 工 學 院

5、課 程 設 計 報 告名姓齡齡nm學生教師學生和教師實體及其屬性 E-R圖課名號性別姓程程課名齡nm專班名業(yè)名級級業(yè)號班號專號齡nn11nnm課號程程課名1部分實體的 E-R圖3洛 陽 理 工 學 院課 程 設 計 報 告nn11學生班級專業(yè)屬于nnn選修成績評教必修必修成績評分1mmnm教師課程教總體 E-R 圖3.2、總體 E-R 圖描述學生與班級之間的聯(lián)系是所屬關系(一對多關系)班級與專業(yè)之間的聯(lián)系是所屬關系(一對多關系)班級與課程之間的聯(lián)系是學習關系(多對多關系)學生選修一門選修課(一對多關系)學生評教老師所教課程(多對多關系)老師教授課程(多對多關系)四、邏輯結構設計4.1、關系模型

6、學生(學號、姓名、性別、年齡、班號、選修課程號、分數(shù))教師(工號、姓名、性別、年齡)班級(班號、班名、人數(shù)、專業(yè)名)課程(課程號、課程名)成績(必修課程號、班號、學號、分數(shù))評教(學號、工號、課程號、評分)教授(工號、課程號)課程表(課程號、工號、上課時間 、上課地點)(實現(xiàn)排課功能)4洛 陽 理 工 學 院課 程 設 計 報 告用戶(用戶名、密碼、用戶類型)(存儲登陸查詢系統(tǒng)的人員信息)加粗表示外鍵、加下劃線表示主碼4.2、關系模式的優(yōu)化與說明例如:教授關系的依賴關系如下:(工號、課程號)工號、課程號所以教授關系模式屬于第三范式教師關系的依賴關系如下:工號工號、姓名、性別、年齡因為沒有非主屬

7、性對碼的部分函數(shù)依賴,也沒有非主屬性對碼的傳遞函數(shù)依賴所以教師關系模式屬于第三范式五、物理結構設計5.1、數(shù)據(jù)庫的建立5.2、表與表結構班級(Class)表的結構課程(Course)表的結構5洛 陽 理 工 學 院課 程 設 計 報 告學生(Student)表的結構教師(Teacher)表的結構評教(Judge)表的結構教授(Teach)表的結構成績(Grade)表的結構管理員(admin)表的結構6洛 陽 理 工 學 院課 程 設 計 報 告六、應用程序設計6.1、系統(tǒng)總體結構1)主界面:登陸界面,通過選擇用戶類型,輸入用戶名密碼,點擊登錄進入不同界面。2)子界面:不同用戶類型的界面不相同,

8、學生可以查詢成績,管理員可以添加學生信息以及查詢刪除學生信息。6.2、系統(tǒng)界面與源代碼6.2.1、界面登陸界面學生界面洛 陽 理 工 學 院課 程 設 計 報 告管理員界面6.2.2、功能描述1)學生查詢學習課程的成績2)管理員管理學生信息4)管理員添加學生信息洛 陽 理 工 學 院課 程 設 計 報 告5)管理員刪除學生信息5)刪除學號為 1 的觸發(fā)觸發(fā)器功能6.2.3、程序源代碼管理員實現(xiàn)查詢、刪除功能的代碼(刪除學號為 1 的用到了觸發(fā)器):package Manager.zhen;9洛 陽 理 工 學 院課 程 設 計 報 告import java.awt.*;import java.

9、awt.EventQueue;import javax.swing.JInternalFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.table.DefaultTableModel;import javax.swing.ComboBoxModel;import javax.swing.GroupLayout;import javax.swing.GroupLayout.Alignment;import javax.swing.JLabel;import javax.

10、swing.JOptionPane;import javax.swing.JTextField;import javax.swing.LayoutStyle.ComponentPlacement;import javax.swing.JButton;import javax.swing.JTable;import javax.swing.JComboBox;import javax.swing.JDesktopPane;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*

11、;import java.util.Vector;import javax.swing.DefaultComboBoxModel;import javax.swing.JScrollPane;import javax.swing.ScrollPaneConstants;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;public class Form_edit extends JInternalFrame private JDesktopPane Desktop;private DbUtil dbUtil

12、= new DbUtil();10洛 陽 理 工 學 院課 程 設 計 報 告private JPanel contentPane;private JTextField txt_sno;private JTable table;private JTextField txtsname;private JTextField txtcno;private JTextField txtgrade;private JTextField txtsno;/* Launch the application.*/public static void main(String args) EventQueue.in

13、vokeLater(new Runnable() public void run() try Form_bookedit frame = new Form_bookedit();frame.setVisible(true); catch (Exception e) e.printStackTrace(););/* Create the frame.*/public Form_edit() setEnabled(false);setClosable(true);setTitle(u67E5u8BE2u6210u7EE9);11洛 陽 理 工 學 院課 程 設 計 報 告/setDefaultCl

14、oseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 487, 412);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5);setContentPane(contentPane);JLabellblNewLabel=newnewJLabel(u8F93u5165u4F60u7684u5B66u53F7uFF1A);txt_sno = new JTextField();txt_sno.setColumns(10);JButtonbtn_s

15、earchgrade=JButton(u67E5u8BE2u6210u7EE9);btn_searchgrade.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) SearchActionPerformed(arg0););JLabelJLabel(u6210u7EE9u5982u4E0BuFF1A);JScrollPane scrollPane = new JScrollPane();lblNewLabel_2=newscrollPane.addMouseListener(

16、new MouseAdapter() Overridepublic void mousePressed(MouseEvent e) mousePressed(e););JLabel lblNewLabel_1 = new JLabel(u5B66 u53F7);JLabel lblNewLabel_3 = new JLabel(u59D3 u540D);JLabel lblNewLabel_4 = new JLabel(u73ED u7EA7);JLabel lblNewLabel_5 = new JLabel(u6210 u7EE9);txtsname = new JTextField();

17、12洛 陽 理 工 學 院課 程 設 計 報 告txtsname.setColumns(10);txtcno = new JTextField();txtcno.setColumns(10);txtgrade = new JTextField();txtgrade.setColumns(10);JButton btnalter = new JButton(u4FEEu6539);btnalter.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ModifyActionPerfor

18、med(e););JButton btndelete = new JButton(u5220u9664);btndelete.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) DelActionPerformed(e););JComboBox usertype = new JComboBox();txtsno = new JTextField();txtsno.setColumns(10);GroupLayoutGroupLayout(contentPane);gl_content

19、Pane.setHorizontalGroup(gl_contentPane=newgl_contentPane.createParallelGroup(Alignment.LEADING).addGroup(gl_contentPane.createSequentialGroup().addContainerGap().addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)13洛 陽 理 工 學 院課 程 設 計 報 告.addGroup(gl_contentPane.createSequentialGroup().ad

20、dComponent(lblNewLabel).addPreferredGap(ComponentPlacement.RELATED).addComponent(txt_sno,GroupLayout.PREFERRED_SIZE, 125, GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.RELATED, 89,.addComponent(btn_searchgrade).addGap(29).addGroup(gl_contentPane.createSequentialGroup().addComponent(

21、lblNewLabel_2).addContainerGap(372,.addGroup(gl_contentPane.createSequentialGroup().addComponent(scrollPane,GroupLayout.DEFAULT_SIZE, 433, .addContainerGap().addGroup(gl_contentPane.createSequentialGroup().addGap(46).addGroup(gl_contentPane.createParallelGroup(Alignment.LE false).addGroup(gl_content

22、Pane.createSequentialGroup().addGroup(gl_contentPane.createParallelGroup(Alignment.TR false).addComponent(lblNewLabel_1,GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE).addComponent(lblNewLabel_3,14洛 陽 理 工 學 院課 程 設 計 報 告GroupLayout.DEFAULT_SIZE,GroupLayout.DEFAULT_SIZE,.addPrefer

23、redGap(ComponentPlacement.RELATED).addGroup(gl_contentPane.createParallelGroup(Alignment.LE.addComponent(txtsname,ADING)GroupLayout.PREFERRED_SIZE,GroupLayout.PREFERRED_SIZE)GroupLayout.DEFAULT_SIZE,.addComponent(txtsno,GroupLayout.PREFERRED_SIZE,GroupLayout.PREFERRED_SIZE)GroupLayout.DEFAULT_SIZE,.

24、addGap(41).addGroup(gl_contentPane.createParallelGroup(Alignment.TR false).addComponent(lblNewLabel_4,GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, .addComponent(lblNewLabel_5,GroupLayout.DEFAULT_SIZE,GroupLayout.DEFAULT_SIZE,.addPreferredGap(ComponentPlacement.RELATED).addGroup(gl_contentPane

25、.createParallelGroup(Alignment.LEADING).addComponent(txtcno,GroupLayout.PREFERRED_SIZE,GroupLayout.DEFAULT_SIZE,15洛 陽 理 工 學 院課 程 設 計 報 告GroupLayout.PREFERRED_SIZE).addComponent(txtgrade,GroupLayout.PREFERRED_SIZE,GroupLayout.PREFERRED_SIZE)GroupLayout.DEFAULT_SIZE,.addGap(32).addGroup(gl_contentPane

26、.createSequentialGroup().addGap(10).addComponent(btnalter).addPreferredGap(ComponentPlacement.RELATED,GroupLayout.DEFAULT_SIZE, .addComponent(btndelete).addGap(62);gl_contentPane.setVerticalGroup(gl_contentPane.createParallelGroup(Alignment.LEADING).addGroup(gl_contentPane.createSequentialGroup().ad

27、dContainerGap().addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE).addComponent(lblNewLabel).addComponent(txt_sno,GroupLayout.PREFERRED_SIZE,GroupLayout.PREFERRED_SIZE)GroupLayout.DEFAULT_SIZE,.addComponent(btn_searchgrade)16洛 陽 理 工 學 院課 程 設 計 報 告.addPreferredGap(ComponentPlacement.RELA

28、TED).addComponent(lblNewLabel_2).addGap(18).addComponent(scrollPane,GroupLayout.PREFERRED_SIZE, 139, GroupLayout.PREFERRED_SIZE).addGap(18).addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE).addComponent(lblNewLabel_1).addComponent(lblNewLabel_4).addComponent(txtcno,GroupLayout.PREFERRE

29、D_SIZE,GroupLayout.PREFERRED_SIZE)GroupLayout.DEFAULT_SIZE,.addComponent(txtsno,GroupLayout.DEFAULT_SIZE,GroupLayout.PREFERRED_SIZE,GroupLayout.PREFERRED_SIZE).addPreferredGap(ComponentPlacement.UNRELATED).addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)SELINE).addGroup(gl_contentPane.

30、createParallelGroup(Alignment.BA.addComponent(lblNewLabel_3).addComponent(txtsname,GroupLayout.PREFERRED_SIZE,GroupLayout.PREFERRED_SIZE)GroupLayout.DEFAULT_SIZE,17洛 陽 理 工 學 院課 程 設 計 報 告.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE).addComponent(lblNewLabel_5).addComponent(txtgrade

31、,GroupLayout.PREFERRED_SIZE,GroupLayout.PREFERRED_SIZE)GroupLayout.DEFAULT_SIZE,.addPreferredGap(ComponentPlacement.RELATED).addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING).addComponent(btnalter).addComponent(btndelete).addContainerGap(31, );table = new JTable();table.setModel(new Def

32、aultTableModel(new Object ,new String u5B66u53F7,u59D3u540D,u73EDu7EA7, u6210u7EE9);scrollPane.setColumnHeaderView(table);scrollPane.setViewportView(table); / 讓表列標題顯示出來contentPane.setLayout(gl_contentPane);18洛 陽 理 工 學 院課 程 設 計 報 告public Form_edit(JDesktopPane table1) this();this.Desktop=table1;/設置窗體

33、居中顯示this.setLocation(table1.getWidth()-this.getWidth()/2,(table1.getHeight()-this.getHeight()/2);private void fillTable(String Sno) / TODO Auto-generated method stubDefaultTableModeldtm=(DefaultTableModel)table.getModel();dtm.setRowCount(0);/清空原來的記錄/連接數(shù)據(jù)庫Connection con=null;try/數(shù)據(jù)庫查詢,并填充到 JTABLEcon=

34、dbUtil.getCon();/下面可以寫數(shù)據(jù)庫訪問語句,并執(zhí)行。Statement stmt = con.createStatement();/ 創(chuàng)建 SQL命令對象String sql = select Sno,Sname,Cno,Sgrade fromstudent where Sno like %+Sno.trim() +%; / 定義查詢語句PreparedStatement pstm=con.prepareStatement(sql);ResultSet rs=pstm.executeQuery();19洛 陽 理 工 學 院課 程 設 計 報 告/ JOptionPane.sh

35、owMessageDialog(null, 查詢成功!);while(rs.next()Vector v=new Vector();v.add(rs.getString(Sno);v.add(rs.getString(Sname);v.add(rs.getString(Cno);v.add(rs.getString(Sgrade);dtm.addRow(v);/ 數(shù)據(jù)庫查詢結束,最后關閉連接stmt.close();/ 關閉命令對象連接catch(Exception e1)e1.printStackTrace();/finallytry dbUtil.closeCon(con); catch

36、(Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();private void ModifyActionPerformed(ActionEvent evt) 20洛 陽 理 工 學 院課 程 設 計 報 告if (txtsname.getText().isEmpty()JOptionPane.showMessageDialog(null, 請選擇一條要修改的記錄!);return;Connection conn=null;String sql=update 圖書 set 書名=?,作者=? where 書號=?

37、;try conn=dbUtil.getCon();PreparedStatement pstm=conn.prepareStatement(sql);pstm.setString(1, txtcno.getText();pstm.setString(2, txtsname.getText();pstm.setString(3, txtgrade.getText();int count=pstm.executeUpdate();if (count=0)JOptionPane.showMessageDialog(null, 修改失??!););elseJOptionPane.showMessage

38、Dialog(null, 修改成功!fillTable(); catch (Exception e) 21洛 陽 理 工 學 院課 程 設 計 報 告/ TODO Auto-generated catch blocke.printStackTrace();finallytry if (conn!=null)dbUtil.closeCon(conn); catch (Exception e) / TODO Auto-generated catch blocke.printStackTrace();private void DelActionPerformed(ActionEvent evt) if (txtsno.getText().isEmpty()JOptionPane.showMessageDialog(null, 請選擇一條要刪除的記錄!);return;Connection conn=null;/int count=0;String sno=txtsno.getText().toString();String sql=delete from Stud

溫馨提示

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

評論

0/150

提交評論