ImageVerifierCode 换一换
格式:DOCX , 页数:91 ,大小:356.85KB ,
资源ID:9170649      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9170649.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库课程设计报告格式 电子版.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库课程设计报告格式 电子版.docx

1、数据库课程设计报告格式 电子版西安邮电大学数据库课程设计报告题 目: 选课系统课程设计 学院名称:计算机学院专业名称:软件工程班 级:软件1104学号:04113125学生姓名 :郭亚涛指导教师:乔平安时间: 2013年6月17日 至 2013年6月30日1、课程设计目的 1. 进一步学习和掌握数据库原理的基础知识和理论。 2. 学习SQL Server数据库管理系统的基本功能和建立数据库各种对象的方法。 3. 熟练掌握和使用SQL语言操纵数据库,使用T-SQL语言编程。 4. 理解和掌握利用数据库所学的理论知识来设计数据库的基本方法和步骤。 5. 通过上机操作和调试程序,提高学生理论联系实际

2、和动手操作能力。 二、课程设计内容 1.完成数据的添加和修改,并提交数据库保存。其中的数据包括:学生信息、课程信息、教师信 2.设计实现学生信息查询,教师信息查询,课程信息查询,选课,选课查询,等JAVA图形化界面面。 3具备一定的安全性管理功能。包括登录、退出等功能。三、软硬件环境及系统所采用的体系结构系统的体系结构为C/S,前台为Java,后台数据库一般为SQL Server4、需求分析学生管理是学校管理中的一项重要任务,以往的手工操作已经不能适应现在办公的需要.为了摆脱繁琐的劳动,提高工作效率,利用计算机进行信息处理成为必然.开发功能完善及安全可靠的管理系统可以大大提高学校资源的利用率,

3、及时,准确地获取需要的信息,充分发挥人员的工作潜力。正是咨询业的迅速发展使得人们从过去的手工劳动中得以解脱.同时,编写一套完善的学生管理系统的任务就显得尤为重要。本学生管理系统可实现学生基本信息、成绩信息、课程信息、班级基本信息表、教师基本信息表等的录入、修改、查询、更新和删除。2.功能需求分析用户密码管理 密码修改、用户删除和用户信息查询。班级管理 添加、修改、删除和查询班级信息。 教师管理 添加、修改、删除和查询教师信息。五、系统设计 本系统采用C/S体系结构,客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,采用java作为开发工具;服务器端则用于提供数据服务,采用SQL Se

4、rver2008标准版作为数据库管理系统。本系统按照功能划分为以下三个个模块:学生界面(包括学生添加和查询等)、教师界面(包括课程查询、成绩添加等)和管理员界面(包括课程管理、教师管理、学生管理等)。系统的功能模块图如下图所示: 2、数据库设计 2、数据库设计(1)数据库概念结构设计本系统主要有三个实体:a、学生实体、选修课两个实体,一个学生可以选修若干门课程,一门课程也可以被多个学生选修,这两个实体集之间是多对多联系,联系上有选课成绩; b、教师和课程两个实体,一个老师可以教授若干门课程,一门课程也可以被多个老师教授,这两个实体集之间也是多对多联系; 2数据库设计 (2)数据库逻辑结构设计

5、根据关系模型的转换原则,上面的ER图可转换为如下所示的关系模型:学生信息表:student(学号,姓名,所属院系,课程编号,选修课程,选修成绩)公选课信息表:course(课程号,课程名,学分,学时,教师编号) 教师信息表:teacher(教师编号,教师姓名,所属院系,教授课程号,教授课程名)根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统中主要的数据表如下:表1 教师信息表teacher的表结构主码列 名数据类型宽度是否可为空 PK教师工号char10教师姓名char10是所属院系char10是教授课程号char10教授课程名char10是表2 学生信息表student的表

6、结构主码列 名数据类型宽度是否可为空 PK学号char10姓名char10 是所属院系char20是所选课程号int4选修课程char10是选修成绩int10是表3公选课信息表course的表结构主码列 名数据类型宽度是否可为空 PK课程号char10课程名char10是学分int4学时int4下面在系统实施阶段就可以物理实现数据库了,本系统使用前面实验已经建好的服务器端SQL Server数据库 1.课程基本信息表E-R图:2.成绩基本信息表E-R图: 3.教师基本信息表E-R图:6、系统的实施 代码:public char logon() throws SQLException Strin

7、g tuserid=t1.getText(); String tpassword=new String(t2.getPassword(); String sql1=null,sql2=null; ResultSet rs=null; SqlManager DBm = SqlManager.createInstance(); /单态模式获取实例 DBm.connectDB(); sql1=exec ProcLogon+tuserid+,+tpassword+; rs=DBm.executeQuery(sql1); if(rs.next()/如果存储过程有结果返回,则将用户信息读入并保存 Syst

8、em.out.println(rs.getString(1)+如果存储过程有结果返回,则将用户信息读入并保存); userid=rs.getString(1);password=rs.getString(2); if(userid.startsWith(T) TeaInfo.saveTea(userid); else if(userid.startsWith(S) StuInfo.saveStu(userid); else if(userid.startsWith(A) sql2=sql1;DBm.connectDB();rs=DBm.executeQuery(sql2); rs.close(

9、);DBm.closeDB(); return userid.substring(0, 1).toCharArray()0; elseuserid=null;password=null; JOptionPane.showMessageDialog(this,用户名或密码错误,请重新填写, 警告,JOptionPane.WARNING_MESSAGE); rs.close();DBm.closeDB();return 0; public void reset() t1.setText(null);t2.setText(null);t1.requestFocusInWindow(); public

10、 void actionPerformed(ActionEvent e) if(e.getSource()=button) if(selectcourse()0) JOptionPane.showMessageDialog(this,选课成功n点击确定查看已选课程,选课成功,JOptionPane.INFORMATION_MESSAGE); ChooseList.updateTable();stuPanel.card.show(StuPanel.pCenter, 已选课程); public int selectcourse() int selectedCount=ChooseList.getS

11、electedCount(); int a=xianzhi();int c=0; String courseID=new StringselectedCount;if(selectedCount=3) JOptionPane.showMessageDialog(this,选课数目不能超过3门,你已经选择了3门n点击确定查看已选课程, 警告,JOptionPane.WARNING_MESSAGE); ChooseList.updateTable(); StuPanel.card.show(StuPanel.pCenter, 已选课程);return c ; elseif(a+selectedCo

12、unt3) JOptionPane.showMessageDialog(this,选课数目不能超过3门,你已经选择了+selectedCount+门n点击确定查看已选课程, 警告,JOptionPane.WARNING_MESSAGE); ChooseList.updateTable(); StuPanel.card.show(StuPanel.pCenter, 已选课程);return c; else /不能选重复了 String sql=exec SelectedCourse+Logon.userid+; /System.out.println(sql+不能选重复了); SqlManage

13、r DBm=SqlManager.createInstance(); DBm.connectDB(); ResultSet rs=DBm.executeQuery(sql); tryint i=0;while(rs.next() courseIDi=rs.getString(1).trim();System.out.println(courseIDi+changdu); rs.close();catch(SQLException e)e.printStackTrace();return c; DBm.closeDB()for(int i=0;icount;i+) for(int j=0;jse

14、lectedCount;j+) if(table1.getValueAt(i,0).toString().equals(true) /System.out.println(table1.getValueAt(i,1).toString().trim()+选课不能重复,点击); /System.out.println(courseIDj); if(table1.getValueAt(i,1).toString().trim().equals(courseIDj) JOptionPane.showMessageDialog(this,选课不能重复,n点击确定查看已选课程, 警告,JOptionPa

15、ne.WARNING_MESSAGE); ChooseList.updateTable(); StuPanel.card.show(StuPanel.pCenter, 已选课程); return c; for(int i=0;icount;i+) if(table1.getValueAt(i,0).toString().equals(true) String courseid=table1.getValueAt(i,1).toString(); sql=exec SelectCourse+Logon.userid+,+courseid+;DBm.connectDB(); c=DBm.execu

16、teUpdate(sql);DBm.closeDB();System.out.println(c1=+c); System.out.println(c2=+c); if(c=0) JOptionPane.showMessageDialog(this,请选择选修课, 警告,JOptionPane.WARNING_MESSAGE);return c; public int xianzhi() int a=0; for(int i=0;icount;i+) if(table1.getValueAt(i,0).toString().equals(true)a+; return a; public vo

17、id actionPerformed(ActionEvent e) modify.setVisible(true); public static void saveStu(String id) SqlManager DBm=SqlManager.createInstance(); DBm.connectDB(); String sql=exec ProcStudent+id+; ResultSet rs=DBm.executeQuery(sql); System.out.println(sql); try rs.next(); jid.setText(rs.getString(1); jnam

18、e.setText(rs.getString(2); jsex.setText(rs.getString(3); jbirth.setText(rs.getString(4); jclass.setText(rs.getString(5);catch(SQLException e) e.printStackTrace();七、系统评价及心得体会 通过将近两周的时间的艰苦历程,终于完成了本次数据库的课程设计选修课程管理系统。如果 凭现在所学的知识来看要完成选修课程管理系统,这是远远不够的,因此需要下去大量查资料并自学很多知识。所以在做的过程中,边做边学,作出的效果并不是那么的完善。 以前没有做过

19、这种数据库管理系统,面对好几张表时,对于它们之间的联系、E-R图的结构,都是要经过深思熟虑之后才能动手开始整个数据库建立与java编程。本次课程设计虽然完成了,但是我知道还是存在一些缺陷的,数据库还不是那么的完美,还存在一些漏洞,java编程界面面也不是那么的完美,界面结构也有一些缺点,但是我尽最大的能力来使我的数据库和界面面更加的人性化,更加的方便实用。在以后的学习过程中,需要对事物多加考虑,对问题全面考虑。要把问题更加的完善,不能想到什么就做什么,一定要在动手之前做好充分的准备,这样才可以做到事半功倍。本次课程设计取得一定的成绩,是值得欣慰的。同时,也认识到自学的重要性,要不懂多查书,多查

20、资料。在做的过程中,学习知识。同时提高自己。8、参考文献 1 钱雪忠.数据库原理及应用(第二版).北京邮电大学出版社.2004 2 钱雪忠.数据库原理及应用实验指导(第二版).北京邮电大学出版社.2004 3 李刚.疯狂Java讲义.电子工业出版社.20089、附录:源代码 import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.sql.*;import java.util.Vector;public class A

21、dmPanel extends JPanel implements ActionListener,ItemListener,MouseListener private static final long serialVersionUID = 1L;/添加默认序列号 JButton b1,b2,b3,b4,b5,b6; JPanel p1,p2,pCenter; CardLayout card=null; JTextField t1=new JTextField(10), t2=new JTextField(10), t3=new JTextField(10), tt1=new JTextFie

22、ld(10), tt2=new JTextField(10), tt3=new JTextField(10); ButtonGroup sex1=new ButtonGroup(), sex2=new ButtonGroup(); JRadioButton radio1=new JRadioButton(男,true), radio2=new JRadioButton(女); JRadioButton r1=new JRadioButton(男,true), r2=new JRadioButton(女); JComboBox year,month,date,yy,mm,dd,post; JTa

23、ble table1,table2; Vector vectorColName1=new Vector(), vectorColName2=new Vector(); VectorVector vector1=new VectorVector(), vector2=new VectorVector(); DefaultTableModel model1=new DefaultTableModel(vectorColName1,0) private static final long serialVersionUID = 1L;/添加默认序列号 public boolean isCellEdit

24、able(int row, int column) return false; ; DefaultTableModel model2=new DefaultTableModel(vectorColName2,0) private static final long serialVersionUID = 1L;/添加默认序列号 public boolean isCellEditable(int row, int column) return false; ; AdmPanel() setLayout(new BorderLayout(); t1=new JTextField(10); t2=ne

25、w JTextField(10); t3=new JTextField(10); tt1=new JTextField(10); tt2=new JTextField(10); tt3=new JTextField(10); sex1.add(radio1); sex1.add(radio2); sex2.add(r1); sex2.add(r2); year=new JComboBox(); month=new JComboBox(); date=new JComboBox(); yy=new JComboBox(); mm=new JComboBox(); dd=new JComboBox

26、(); post=new JComboBox(); post.addItem(助教); post.addItem(讲师); post.addItem(副教授); post.addItem(教授); for(int i=1980;i1995;i+) year.addItem(i); for(int i=1;i=12;i+) month.addItem(i); for(int i=1;i=31;i+) date.addItem(i); for(int i=1950;i1995;i+) yy.addItem(i); for(int i=1;i=12;i+) mm.addItem(i); for(in

27、t i=1;i=31;i+) dd.addItem(i); year.addItemListener(this); month.addItemListener(this); yy.addItemListener(this); mm.addItemListener(this); post.addItemListener(this); b1=new JButton(学生信息管理); b2=new JButton(教师信息管理); b3=new JButton(输入); b4=new JButton(删除); b5=new JButton(输入); b6=new JButton(删除); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); b6.addActionListener(this); JPanel p0=new JPanel(); p0.add(b1); p0.add(b2); pCenter=new JPanel(); card=new

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1