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

学生选课管理系统的数据库设计_选课系统数据库设计学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现了设计的要求,即登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,统计每个学生的总分、平均分以及排名,修改用户密码等功能。在此基础上,我还对系统进行了改进,特别是加强了查询的功能,使我们能更直观、有效地查询到我们想要的数据。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

数据库应用课程设计

    学生选课管理系统

一、       引言:

 

学生选课管理系统的设计为选课及成绩管理提供了一个良好的工具,此系统基本实现了设计的要求,即登录系统(通过用户名和密码),管理(录入、查询、修改和删除)学生、课程基本资料,管理(录入、查询、修改和删除)学生所选课程成绩,统计每个学生的总分、平均分以及排名,修改用户密码等功能。在此基础上,我还对系统进行了改进,特别是加强了查询的功能,使我们能更直观、有效地查询到我们想要的数据。

 

二、       系统设计

 

系统的模块划分为如图所示,分别为:用户登录、学生信息管理、课程信息管理、选课成绩管理、用户管理5 个模块。每个模块负责相应的功能。系统采用ADO.NET 技术实现对数据库的访问操作,使用Server 200 作为后台数据库。

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

1.    用户登录模块

提供用户登录界面,输入用户名,密码进行登录。

2.    学生信息管理模块

学生信息管理模块,用于管理学生的基本信息,所包括的字段有:学号、姓名、性别、年龄、班级,提供对学生信息的录入、查询、修改和删除的操作。

3.    课程信息管理模块

课程信息管理模块用于管理课程的信息,所包含的字段有:课程号、课程号、先行课和学分,提供对课程信息的录入、查询、修改和删除的操作。

4.    选课成绩管理模块

选课成绩管理模块用于管理学生的选课与成绩,所包含的字段有:学号、课程号和成绩,提供对选课成绩信息的录入、查询、修改和删除的操作。

5.    用户管理模块

用户管理模块用于用户账号和密码的管理,其功能包括添加用户,注销用户和修改密码。

三、数据库设计:

1 .数据库列表:

表单号

表单名

功能

student

学生信息表

储存学生个人信息

course

课程信息表

储存每科课程的信息

sc

选修成绩表

储存学生所选修的课程的成绩

useers

用户表

储存用户的账号与密码

 

2 .数据库E-R

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

 

 

 

 

 

 

 

 

 

 

 

 

 

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

3. 数据库表单

创建“users ”并添加各字段,如图所示:

users.bmp

 

创建“student ”并添加各字段,如图所示:

student.bmp

 

创建“course ”并添加各字段,如图所示:

course.bmp

 

创建“sc ”并添加各字段,如图所示:

sc.bmp

 

4. 主要查询功能的SQL 语句:

查询学生信息

SELECT * FROM student WHERE 学号 =’Sno’;( 按学号查询 )

SELECT * FROM student WHERE 姓名 =’Sname’; (按姓名查询)

删除学生信息

DELETE FROM student WHERE 姓名 =’Sname’;

添加学生记录

INSERT INTO student VALUES (‘Sno’,’Sname’,’Ssex’,Sage,’Sdept’);

修改学生记录

UPDATE student SET 姓名 =’Sname’ , 性别 =’Ssex’, 年龄 =Sage, 所在系 =’Sdept

WHERE 学号 =’Sno’;

 

查询课程信息

SELECT * FROM course WHERE 课程号 =’Cno’;( 按课程号查询 )

SELECT * FROM course WHERE 课程名 =’Cname’; (按课程名查询)

删除课程信息

DELETE FROM course WHERE 课程号 =’Cname’;

添加课程记录

INSERT INTO course VALUES (‘Cno’,’Cname’,’Cpno’,Ccredit);

修改课程记录

UPDATE course SET 课程名 =’Cname’, 先行课 =’Cpno’, 学分 =Ccredit

WHERE 课程号 =’Cno’;

 

查询选修课成绩

SELECT sc. 学号 ,student. 姓名 ,sc. 课程号 ,course. 课程名 ,sc. 成绩

FROM student,course,sc

WHERE student. 学号 =sc. 学号 AND course. 课程号 =sc. 课程号 AND sc. 课程号 =’Cno’AND sc. 学号 =’Sno’;”;

 

统计每个学生的总分、平均分以及排名

SELECT student. 姓名 ,SUM( 成绩 ) 总成绩 ,AVG( 成绩 ) 平均成绩

INTO #W

FROM sc,student

WHERE sc. 学号 =student. 学号

GROUP BY student. 姓名

ORDER BY AVG( 成绩 ) DESC;

SELECT *, 名次 =IDENTITY(INT,1,1)

INTO #T FROM #W;

SELECT * FROM #T;

每个学生已修学分和未修学分

SELECT sc. 学号 ,SUM( 学分 ) 已修学分 ,100-SUM( 学分 ) 未修学分数共 100

INTO #T FROM sc,course

WHERE sc. 课程号 =course. 课程号

GROUP BY sc. 学号

ORDER BY AVG( 学分 ) DESC;

SELECT #T. 学号 ,student. 姓名 ,#T. 已修学分 ,#T. 未修学分数共 100

FROM #T,student

WHERE #T. 学号 =student. 学号 ;

各个课程选修的人数和平均分

SELECT sc. 课程号 ,COUNT( 学号 ) 选修人数 ,AVG( 成绩 ) 平均成绩

INTO #T

FROM sc 

GROUP BY sc. 课程号 ;

SELECT #T. 课程号 ,course. 课程名 ,#T. 选修人数 ,#T. 平均成绩

FROM #T,course

WHERE #T. 课程号 =course. 课程号 ;

 

四、安装使用

1.   登录

  界面如下图所示:

     输入用户名和密码,按“确定”后,可进入系统的主界面

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

 

2.   主界面

登录后,可看到以下界面,共有5 项可选,分别为学生信息管理、课程信息管理、选课成绩管理、用户信息管理和关于作者。点击不同的选项可进入不同的功能界面。

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

 

3.   学生信息管理

     点击“学生信息管理”选项之后,进入以下界面,在表中可以看到所有学生的信息,包括学号、姓名、性别、年龄和所在系。系统并提供学生信息的增、删、改和查找功能。学生选课管理系统的数据库设计_选课系统数据库设计

查找功能有两种方式,一种是按学号查找,一种是按姓名查找,方便不同的用户需要。如姓名输入“张龙江”,可得到以下结果:

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

 

4.   课程信息管理

点击“课程信息管理”选项之后,进入以下界面,在表中可以看到所有课程的信息,包括课程号、课程名、先行课和学分。系统并提供课程信息的增、删、改和查找功能。

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

查找功能有两种方式,一种是按课程号查找,一种是按课程名查找,方便不同的用户需要。例如在课程号输入“1 ”,可得到以下结果:

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

 

5.   选课信息管理

点击“选课成绩管理”选项之后,进入以下界面,在表中可以看到所有选修课程的信息,包括课学号、姓名、课程号、课程名和成绩。系统并提供选课信息的增、删、改和查找功能。查找功能有三种方式,一种是按学号号查找,一种是按课程号查找,一种是学号和课程号的综合查找,方便不同的用户需要。

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

此界面提供了信息统计的功能,共三个选项,一、统计每个学生的总分、平均分以及排名;二、统计每个学生已修学分和未修学分;三、统计各个课程选修的人数和平均分。选择不同的选项进入相应的功能,如下图所示:

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

 

6.   用户管理

点击“用户管理”选项之后,进入以下界面,可以看到以下选项,添加用户、注销此用户、修改用户密码和返回主窗口,点击不同的选项进入相应的功能。例如点击修改用户密码,弹出以下界面,进行当前用户的密码修改:

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

7.   退出

按主界面的“退出”可退出程序。

 

五、总结

 

为了完成我的数据库课程设计,我从上学期就开始做了。了解到 C++ 在数据库方面的应用比较麻烦,也考虑到想在课程设计的过程中学到更多的东西,于是我从开头开始学 C# ,一门全面的面向对象的编程语言。我从图书馆借了大量关于 C# 的书,并在短时间内把 C# 的基本语句和功能看懂,之后就开始看 C# 在数据库方面的应用。前期知识准备差不多的时候,就开始动工做我的课程设计。

在开始的时候,总会遇到这样或那样的问题,在做的过程中,慢慢摸索和研究,把其中的一个个问题逐个解决。为了更好地完成课程设计,我利用了软件工程的思想,对系统进行需求分析,系统设计,数据库设计等。使程序设计的过程更加合理化、系统化,同时也提高了我的编程思想和应用能力。

对于每一次课程设计,我都独立地去完成。这一次也不例外,课程设计从上学期期末就已经开展。在暑假的时候,我要到外地去实习,时间不是很充裕,但我尽了一切的可能,挤出时间来做完我的课程设计。这个过程是艰苦的,但我从这个过程中,学到了很多的东西。不但可以巩固我的数据库应用方面的知识,我又学会了一门新的语言。提高了自己动手实践的能力,把书本的知识转化为实际应用中去,丰富了自己的实践经验。

 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181551.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Matlab 绘图颜色选择「建议收藏」

    Matlab 绘图颜色选择「建议收藏」barh(1,1,1,’FaceColor’,[0.5,0.3,0.5]);holdonbarh(2,1,1,’FaceColor’,[1,0.2,1]);holdonbarh(3,1,1,’FaceColor’,[1,0.6,0.1]);holdonbarh(4,1,1,’FaceColor’,[0.2,0.5,0.9]);holdon如上四行命令,是

    2022年5月20日
    198
  • 生产环境数据库并发数的调整

    生产环境数据库并发数的调整在开发和测试时,我们往往不会很在意数据库相关的一些并发数的配置,因为开发和测试时,系统的并发量并不会很大,因此,是否正确设置这些参数也不会对结果造成什么影响但是,上生产环境后,系统的并发量大大提高,这时,没有注意数据库的并发数配置的话就会使数据库成为系统最终的并发瓶颈。根据我在实际项目中一段时间的并发测试后,发现关于数据库并发数需要配置的几个地方,希望跟大家分享一下,…

    2022年6月13日
    23
  • Scrapy 爬虫完整案例—从小白到大神(银行网点信息为例)

    Scrapy 爬虫完整案例—从小白到大神(银行网点信息为例)采用selenium界面抓取信息,需要渲染界面,并且也是单线程操作,效率极低,一晚上只爬去了一个工行的数据。突然想到了分布式爬虫安装Scrapypip版本过于老旧不能使用,需要升级pip版本,输入python-mpipinstall–upgradepip,升级成功安装scrapy命令:pipinstallScrapy因为scrapy框架基于Twisted,所以先要下载其whl包安装地址:http://www.lfd.uci.edu/~gohlke/pythonl..

    2022年6月26日
    26
  • xshell连接虚拟机使用的是什么连接模式_vmware无法连接到虚拟机

    xshell连接虚拟机使用的是什么连接模式_vmware无法连接到虚拟机文章目录配置虚拟机网络Xshell连接理想的步骤意外后的步骤Connectionfailed出现弹框错误安装openssh-server错误配置虚拟机网络如果在本地可以ping通虚拟机的ip,就可以通过xshell连接了。Xshell连接理想的步骤点击【文件】->【新建】打开新建会话属性弹框,输入虚拟机的主机ip。切换选项卡【用户身份验证】。输入用户名,密码需要…

    2022年9月23日
    2
  • JAVA初体验

    JAVA初体验目录 nbsp 1 什么是软件开发 2 人机交互方式 3 JAVA 语言概述 3 1JAVA 语言的三种技术架构 3 2JAVA 语言的跨平台性 4 JAVA 开发环境 4 1 nbsp JDK JRE JVM 之间的关系 4 2 为什么配置 path 变量 5 Java 程序的编写 编译和运行 1 什么是软件开发 软件 一系列按照特定顺序组织的计算机数据和指令的集合 软件是由程序 数

    2025年10月25日
    3
  • Struts2用AbstractInterceptor取代了AroundInterceptor

    Struts2用AbstractInterceptor取代了AroundInterceptorStruts2中绝大多数预建interceptor都从AbstractInterceptor扩展而来,AbstractInterceptor不在支持before、after两个抽象方法,取而代之的是intercept方法被抽象出来,交由子类去实现。其实大多数interceptor只会去实现before、after中的一个,这样就必须还要在ww中为另一个提供空方法,再由于线程安全问题WW…

    2022年5月14日
    35

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号