数据库课程设计学生选课管理系统.docx

上传人:b****3 文档编号:3774777 上传时间:2022-11-25 格式:DOCX 页数:24 大小:911.27KB
下载 相关 举报
数据库课程设计学生选课管理系统.docx_第1页
第1页 / 共24页
数据库课程设计学生选课管理系统.docx_第2页
第2页 / 共24页
数据库课程设计学生选课管理系统.docx_第3页
第3页 / 共24页
数据库课程设计学生选课管理系统.docx_第4页
第4页 / 共24页
数据库课程设计学生选课管理系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

数据库课程设计学生选课管理系统.docx

《数据库课程设计学生选课管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计学生选课管理系统.docx(24页珍藏版)》请在冰豆网上搜索。

数据库课程设计学生选课管理系统.docx

数据库课程设计学生选课管理系统

一、系统总体功能设计

1.1开发背景

随着学校规模不断扩大、课程项目不断增多,为了解决学生选课管理上的复杂的人工操作,减轻重复工作,故设计了选课系统。

为了适应课程的改革,学校在每个学期都要开设一定的课程提供给学生,让学生根据自己的情况来选择,根据学生选择结果给出课程表。

学生选课系统开发的目标就是实现学生选课信息关系的系统化、规范化和自动化。

因此基于以上原因设计开发学生选课管理系统。

1.2设计思想

用户的需求具体表现在对各种信息的提供、编辑、处理及查询统计上。

这就要求数据库结构能充分满足各种信息的输入、处理和输出。

通过分析学生选课管理系统的现实需求,学生选课管理系统各环节的基本数据及数据处理流程,在与管理人员沟通、交流与探讨的基础上,可以得到学生选课系统的数据流程图。

根据得到的数据流图设计并实现数据库,然后进行系统编程,设计相应的图形用户界面,并实现相应数据库的连接。

至此可以完成整个系统的设计与开发。

1.3功能需求分析

该系统具备管理学生信息、课程信息、选课信息的功能:

用户通过输入账号和密码进下该系统后,可以进行一些基础维护(学生信息维护、课程信息维护、选课信息维护)。

全部都可以进行增加、修改、删除、模糊查询。

具体来说多功能和系统的要求如下:

(一)对功能的规定

1.可实现学生选课。

2.方便实现学生选课信息查询。

3.安全有效的用户区分,管理。

4.档案数据的高安全性,保密性。

(二)对性能的规定

使用稳定,操作性能好,操作方法易于掌握,系统的安全性强。

1.4功能设计模块

该小型系统主要是用于管理学生及课程的基本信息,主要功能包括四方面的:

1.管理学生信息,其中包括添加,删除,修改等操作。

2.管理课程信息,其中包括添加,删除,修改等操作。

3.管理选课信息,其中包括添加,删除,修改等操作。

4.查询信息,其中包括查询学生信息,查询课程信息,查询选课信息等操作。

其功能模块结构图如下所示

二、数据库设计

2.1数据库概念设计

描述概念模型的有力工具是E-R模型,下面将用E-R模型来描述概念结构。

根据上面的系统功能分析可知,本数据库需要建立以下几张表。

建立一张学生信息表S,主要用来存放学生的有效信息,建立一张课程信息表C,用来存放课程的有关信息。

同时为了能是两张表联系起来,需要建立一张选课表SC。

这样可以这样能满足系统需要的各项数据,以实现数据录入,查询或统计等功能。

同时为了实现数据库的安全性,需要建立一张管理员表admin,存放管理员的用户名和密码,以实现管理员的登陆。

由此可知学生选课管理系统的E-R图如下所示:

 

实体属性列表如下:

学生

学号

姓名

系别

课程

课程号

课程名

选课

课程号

学号

成绩

2.2逻辑结构设计

将概念模型转化为关系模型如下所示

实体转换成的关系模式有:

学生(学号、姓名、系别);

课程(课程号、课程名);

选课(课程号、学号、成绩);

其中带下划线的属性为各关系模式的主码。

在以上关系中,实体中的每个属性都是简单属性,都是不可再分的,实体遵循第一范式;

对于学生关系模式来说

其属性集为(学号、姓名、系别)

函数依赖集为(学号-----姓名,学号-----系别)

对于课程关系模式来说

其属性集为(课程号、课程名)

函数依赖集为(课程号--课程名)

对于选课关系模式来说

其属性集为(课程号、学号、成绩)

函数依赖集为(课程号、学号----成绩)

根据以上分析可知,以上关系模式中非主属性均完全函数依赖于码,因此他,它们符合2NF,同时在函数依赖集中,均不存在传递依赖,因此它们符合3NF的定义。

2.3数据库的创建

在开始-程序-SQL--SQLserverManaementStudio中启动数据库。

新建数据库如下图所示

给新建的数据库命名为学生选课管理系统

单击确定,这样数据库就创建好了,接下来的任务就是创建数据表了

2.4数据表的创建

2.4.1数据表的设计

1、学生表的创建

学生表主要存储学生的基本信息,便于在查询时操作,学生表的学号是唯一的,因此它可以作为学生表的主键。

学生表的结构如下所示

学生表(S)

列名

数据类型

约束

说明

Sno

Char(10)

Notnull

PRI

学号

Sname

Char(10)

姓名

Sdept

Char(10)

系别

2、课程表(C)的创建

课程表主要存放有关课程的信息,课程号唯一可以作为课程表的主键。

课程表的结构如下:

列名

数据类型

约束

说明

Cno

Char(10)

Notnull

PRI

课程号

Cname

Char(10)

课程名

3、选课表(SC)的创建

选课表主要存放学生选课的有关信息,在数据库中可以查询到学生选课的课程,学号,以及成绩。

选课表的结构如下

列名

数据类型

约束

说明

Cno

Char(10)

Notnull

PRI

课程号

Sno

Char(10)

Notnull

PRI

学号

Grade

Char(10)

成绩

4、管理员表(admin)

学生选课管理系统需要管理员的管理,以确保数据库的安全性。

因此需要创建一个管理员表,为系统管理员设置登录密码和登录账户。

只有通过系统认证才可以进入到数据库对相应的数据进行操作。

管理员表的结构如下所示

列名

数据类型

约束

说明

Username

Char(10)

Notnull

PRI

用户名

passworld

Char(10)

用户密码

Name

Char(10)

用户昵称

2.4.2数据完整性约束

1、实体完整性

在各个表中都定义了相应的主码,在学生表中定义学号为主键,因为学号对一个学生来说是唯一的,学号可以决定学生的其他一切属性,所以用学号作为主键,对课程表来说,课程号是唯一的,课程号可以决定课程名,所以用课程号作为主键。

对选课表来说,学号、课程号都不能唯一决定学生的成绩。

因此把学号和课程号联合起来作为主键。

对于主键来说,不能为空,要满足实体完整性的定义。

2、参照完整性

参照完整性是将各个表中的相应元组联系起来。

在选课表SC中,学号是学生表的外键,课程号是课程表的外键。

因此在查询学生选课的情况是可以查询到学生的有关信息。

通过设置外键以保证数据的惟一性和正确性。

3、用户自定义完整性

在以上三个表中。

对于选课表来说,学生成绩有一定的限制条件,学生成绩应在0到100之间,因此对学生成绩应该有限制性约束条件,用check短语指定列值应满足的条件。

GradeChar(10)CHECK(Grade>=0andGrade<=100),.增加CHECK约束可以保证数据库数据的准确性与正确性。

2.4.3数据表的建立

1、学生表S建立

CREATETABLES

(SnoCHAR(10)PRIMARYKEY,

SnameCHAR(10)UNIQUE,

SxCHAR(10),

);

2、课程表C建立

CREATETABLEC

(CnoCHAR(10)PRIMARYKEY,/*列级完整性约束条件*/

CnameCHAR(10),

);

3、选课表sc的建立

CREATETABLESC

(CnoCHAR(10)NOTNULL,/*列级完整性约束条件*/

SnoCHAR(10)NOTNULL,

CCHAR(10)CHECK(C>=ANDC<=100),

);

2.4.4数据表数据的录入

各个表数据的录入如下图所示:

为管理员表录入数据

为学生表录入数据

为课程表录入数据

为选课表录入数据

2.4.5关系图的建立

几张表的关系如下图所示

2.5数据库的备份

按以下步骤对数据库进行备份

1、

2、

3、

三、数据库的实现

3.1系统体系结构

本系统主要以java为开发语言,主要分为以下几个模块:

1、登录模块

此模块主要用于用户的登录,在数据库中建立相应的用户登录表,保存用户名和用户密码,在登录时java与相应的数据库进行连接,只有用户名和用户密码与数据库中的相匹配时,用户才可以进入相应的系统界面,进行相应的操作,这样可以保证数据库系统数据的安全性。

2、学生管理模块

此模块可以对学生的信息进行增加,修改、删除等。

3、课程管理模块

此模块可以对课程的有关信息进行增加、修改、删除等。

4、选课管理模块

此模块用于实现学生的选课功能。

可以对学生选的课进行修改和删除。

5、查询管理模块

此模块用于学生信息的查询。

可以查询到学生的基本信息,选课信息、和有关课程信息。

用户可以方便的输入不同的属性进行相应的查询。

3.2、连接数据库

3.2.1配置数据源

3.2.2与数据库进行连接

//连接数据库方法

publicstaticConnectionCONN(){

StringdriverName="sun.jdbc.odbc.JdbcOdbcDriver";//加载JDBC驱动

StringdbURL="jdbc:

odbc:

student1";//连接服务器和数据库test

ConnectiondbConn=null;

try{

Class.forName(driverName);

dbConn=DriverManager.getConnection(dbURL);

System.out.println("ConnectionSuccessful!

");//如果连接成功控制台输出ConnectionSuccessful!

}catch(Exceptione){

e.printStackTrace();}

returndbConn;

3.3系统登录

程序截图

3.4系统主界面

程序截图

3.5添加界面

publicvoidactionPerformed(ActionEventc){

Objectobj=c.getSource();

if(obj==录入){

if(学号.getText().equals("")||姓名.getText().equals("")||系别.getText().equals("")){

JOptionPane.showMessageDialog(this,"学生信息请填满再录入!

");}

Statementstmt=null;

ResultSetrs1=null;

Stringsql,sql1;

sql1="select*fromSwhereSno='"+学号.getText()+"'";

sql="insertintoSvalues('"+学号.getText()+"','"+姓名.getText()+"','"+系别.getText()+"')";

ConnectiondbConn1=CONN();

stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

rs1=stmt.executeQuery(sql1);

if(rs1.next()){JOptionPane.showMessageDialog(this,"该学号以存在,无法添加");}

else{

stmt.executeUpdate(sql);

JOptionPane.showMessageDialog(this,"添加成功");}

rs1.close();

stmt.close();}

程序截图

3.6修改界面

程序截图

3.7、删除界面

程序截图

3.8查询界面

四、课程设计总结

通过本次课程设计,使自己对数据库的设计过程有了一个详细的了解。

从开始的需求分析,到以后的概念设计,逻辑结构设计,以及数据库的实现都有了一定的认识。

在设计数据库的过程中,要注意数据库的完整性约束,无论是实体完整性还是用户自定义完整性都会对数据库产生积极地作用,保证数据库里数据的准确性、稳定性与安全性。

虽然建立数据库不是一件很难的事,。

通过此次实践操作,才使自己明白,设计数据库时必须好好的搞好各个表之间的关系,还要对数据的认真分析,建立相关的约束,并且还要建立好触发器,并且对触发器的基于的表必须好好考虑,并且对E-R有了很好的认识,知道该怎么画,该怎么去连线。

同时我认识到数据是一个与其它学科联系很密切的一门课程,在本次课程设计中就将数据库与Java结合起来,用Java连接数据库,进行系统编程,数据库作为后台,在图形界面中实现对数据库的增删查改,这样大大提高了用户的可操作性与系统的美观性。

因此注意各个课程之间的联系,并将相关知识结合起来运用到生活实践中去,也是我这次课程设计获得的感受。

数据库是一门实践性很强的学科,通过本次课程设计使自己深深的认识到自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。

把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。

参考文献

【1】王珊等.数据库系统概论.第四版。

北京:

高等教育出版社.2006

【2】叶核亚.Java程序设计实用教程.第三版.北京:

电子工业出版社.2009

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 中考

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

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