您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 设计数据库课程设计(Java实现)
一、课程设计目的在数据库原理课程基础上,培养学生综合运用数据库知识的能力。学会数据库的设计、规划以及应用程序的开发和调试,使学生掌握客户机/服务器体系结构,学会大型数据库的工作模式。大型数据库管理系统存放于服务器,数据库放在服务器上,学生在客户机上开发应用程序访问服务器上的数据库,并完成应用系统所要求的各项功能,应用程序的开发需要采用当前流行的新软件。二、课程设计内容1.数据库的设计根据学生信息管理系统,经过调查研究,构建合理的数据库。首先构建基本表以及表和表之间的联系,在此基础上构建视图和索引表。2.服务器的组织根据建立的基本表、视图和索引表搭建服务器。3.前端开发工具:java学习并完成编写程序。服务器端:SQLServer20124.开发应用程序利用所学的新软件开发工具进行应用程序的开发。5.连接、调试。三、软硬件环境及系统所采用的体系结构系统的体系结构为C/S结构,具体开发工具为Ecplise,前台为Java,后台数据库一般为SQLServer2012。四、需求分析通过对学生信息管理的了解,确定本系统具备一下功能。多用户账号登录只要通过用户登录验证后,能对学生的记录信息进行修改,增加,删除等操作。五、系统设计1.系统结构图a.功能模块图学生信息管理增加删除修改查找浏览2.数据库设计学生包含的信息:学生学号宿舍住址电话性别姓名学科成绩用户增加查询上一条删除修改下一条查看成绩查看学科成绩查询增加选课修改删除选课NMLogin表USE[Student]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Login]([userName][nvarchar](20)NOTNULL,[password][nvarchar](10)NULL,CONSTRAINT[PK_Login]PRIMARYKEYCLUSTERED([userName]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GO学生课程选择用户用户名密码StudentIfor表USE[Student]GOSETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[StudentIfor]([code][nvarchar](10)NOTNULL,[name][nvarchar](10)NOTNULL,[sex][nchar](2)NOTNULL,[room][nvarchar](10)NOTNULL,[address][nvarchar](50)NULL,[tel][nvarchar](11)NULL,CONSTRAINT[PK_StudentInfor]PRIMARYKEYCLUSTERED([code]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOCrouse表CREATETABLE[dbo].[Course]([courseID][nchar](5)NOTNULL,[courseName][nvarchar](40)NOTNULL,CONSTRAINT[PK_Course]PRIMARYKEYCLUSTERED([courseID]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GOStudent_Crouse表CREATETABLE[dbo].[Student_Course]([code][nvarchar](10)NOTNULL,[courseID][nchar](5)NOTNULL,[courseGrade][float]NULL,CONSTRAINT[PK_Student_Course]PRIMARYKEYCLUSTERED([code]ASC,[courseID]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]GO六、系统的实施系统的实现方法是用java结合SqlServer2012,用java编写前端的用户界面主要的界面代码如下:publicclasswindowsimplementsActionListener{privateJFrameframe;privateJLabel[]label;privateJTextField[]textField;privateJListlist;privateJScrollPanejscrollPane;privateDefaultListModellistModel;privateJRadioButtonmjRadioButton,fjRadioButton;privateButtonGroupsetButtonGrop;privateJButton[]button;privateJButtonjbu;privateContainercon;privateResultSetresultSet;privateString[]sinfor={*学号:,*姓名:,*性别:,*宿舍:,住址:,电话:};privateString[]binfor={增加,删除,修改,查找,上一条,下一条};publicwindows(){frame=newJFrame(学生信息管理);con=frame.getContentPane();con.setLayout(null);frame.setLocation(350,150);frame.setSize(7770/15,6000/15);frame.setResizable(false);textField=newJTextField[6];label=newJLabel[6];button=newJButton[6];for(inti=0;i6;i++){label[i]=newJLabel(sinfor[i]);label[i].setLocation(5,3+(i*670/15));label[i].setSize(570/15,670/15);con.add(label[i]);if(i!=2){textField[i]=newJTextField();textField[i].setSize(200,470/15);textField[i].setLocation(770/15,5+(i*670/15));con.add(textField[i]);}else{mjRadioButton=newJRadioButton(男,false);mjRadioButton.setVisible(true);mjRadioButton.setSize(570/15,670/15);mjRadioButton.setLocation(970/15,5+(2*670/15));mjRadioButton.addActionListener(this);mjRadioButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));fjRadioButton=newJRadioButton(女,false);fjRadioButton.setSize(570/15,670/15);fjRadioButton.setLocation(2070/15,5+(2*670/15));fjRadioButton.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));fjRadioButton.setVisible(true);fjRadioButton.addActionListener(this);setButtonGrop=newButtonGroup();setButtonGrop.add(mjRadioButton);setButtonGrop.add(fjRadioButton);con.add(mjRadioButton);con.add(fjRadioButton);}button[i]=newJButton(binfor[i]);button[i].setSize(1570/15,370/15);button[i].setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));button[i].addActionListener(this);if(i=2)button[i].setLocation(240/15+(i*2000/15),4300/15);elsebutton[i].setLocation(240/15+((i-3)*2000/15),4300/15+450/15);con.add(button[i]);}jbu=newJButton(查看成绩);jbu.setSize(1570/15,800/15);jbu.setLocation(3*2000/15,4300/15);jbu.addActionListener(this);con.add(jbu);selectse=newselect();resultSet=se.selectTable();listModel=newDefaultListModel();try{while(resultSet.next()){listModel.addElement(resultSet.getString(code)++resultSet.getString(name));}}catch(SQLExceptione){e.printStackTrace();}se.isDisconnection();list=newJList(listModel);list.addMouseListener(newMouseAdapter(){publicvoidmouseClicked(MouseEvente){if(e.getClickCount()==2&&list.getSelectedIndex()!=-1)clickTwo(list.getSelectedValue());}});jscrollPane=newJScrollPane(list);jscrollPane.setSize(200,250);jscrollPane.setLocation(270,7);con.add(jscrollPane);frame.setVisible(true);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}应用程序的编制方法是用户点击给出的功能按钮实现对应的功能,按钮响应中调用相应的类及方法,重要代码如下:privatevoidclickTwo(Objectvalue){Stringstr=null;ResultSetre;selectse;str=value.toString().substring(0,8);str.trim();se=newselect();re=se.selectCode(str);try{te
本文标题:设计数据库课程设计(Java实现)
链接地址:https://www.777doc.com/doc-6542863 .html