数据库课程设计 学生选课信息管理系统 sqlWord文档下载推荐.docx
- 文档编号:21768417
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:23
- 大小:607.47KB
数据库课程设计 学生选课信息管理系统 sqlWord文档下载推荐.docx
《数据库课程设计 学生选课信息管理系统 sqlWord文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数据库课程设计 学生选课信息管理系统 sqlWord文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。
2
页面布局
4
目录格式
3
图表质量
页眉页脚
文档内容
内容完整性
6
内容逻辑性
5
内容正确性
程序代码(30分)
程序功能
15
编程规范
7
编程文档
8
答辩(20分)
课题陈述
问题答辩
10
是否超时
考勤(20分)
20
总评成绩
指导教师评语
签名:
年月日
教研室意见
课程设计答辩记录表
教
师
提
问
学
生
答
辩
情
况
记
录
成绩
答辩小组教师签名
摘要
随着科技的不断发展,学生的选课信息已经摈弃了以往的手工文件管理阶段,进化成为了高科技、高效率的数据库应用程序来进行管理。
学生选课信息管理系统是基于SQLSERVER数据库为后台、VB开发应用软件作为前台的一种C/S模式的数据库应用程序。
使用学生选课信息管理系统可以更高效、准确地进行学生选课、查询、记录添加等各种操作,大大减少信息管理人员的负担。
关键词:
学生选课信息管理系统,VB,SQLSERVER数据库,C/S模式
第一章系统概述
《数据库原理及应用》课程的学习,其主要的目标是能利用课程中学习到的数据库知识与技术较好地开发设计出数据库应用系统,去解决各行各业信息化处理的要求。
本实验主要在于巩固学生对数据库的基本原理和基础理论的理解,掌握数据库应用系统的设计开发的基本方法,进一步提高学生的综合运用所学的知识能力。
为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,现在广泛采用的是工程化6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。
我们按照以上几点开发了学生选课管理系统数据库。
学生选课信息管理系统要求读者较好的正规数据库知识与技术外,还要求读者掌握某种客户端开发工具或语言。
这里是利用相对简单易学易掌握的VisualBasic6.0开发工具来实现示例系统的。
如果读者对该开发工具不熟悉,这里也无妨。
这次课程设计能顺利通过是老师的细心指导和我们小组团结一致、努力的结果。
在这次课程设计中每位同学都积极参与各项环节的设计,但我们也有分工。
初步列出如下:
孙诚是用VB制作前台的界面以及数据库整体设计与规划;
张婉珺和王骏怡担任的工作是对系统的需求分析、构思数据流图、把E-R图转化成关系模型并对其进行规范化处理、用SQL语言建表、视图以及文档的初步编写等。
陶静的工作是负责画数据流图和E-R图,以及转化初始关系模型,和内容摘要等的编写。
孙诚作为组长,除对我们所制作单个模块审核外还担任了WORD文档的总结排版。
这次数据库的课程设计让我们对数据库的操作有了进一步的了解,受益匪浅。
第二章系统数据库设计部分
2.1需求分析
2.1.1需求描述
随着中国教育信息化时代的来临,各大校园对于内部信息的管理已经采用IT新潮的应用和管理系统技术来进行。
为了紧随信息化时代的脚步,不被时代所淘汰,学生的信息管理也应当由传统的手工管理模式进化为软件与数据库结合应用的管理模式,从而加强学生信息的管理能力,让学校整体管理水平得到较大的提升。
通过调查本地的学校,根据学校的具体情况设计学生选课信息管理系统。
主要功能有:
1.学生管理:
学生信息查询、插入、删除、修改等
2.课程管理:
课程信息查询、插入、删除、修改等
3.选课管理:
选课信息查询、插入、删除、修改等
4.系统管理:
操作员信息的管理
5.系统维护:
如数据安全管理(含备份与恢复)、操作员管理、权限设置等
2.1.2数据流图
图2.1数据流图
(1)
图2.2数据流图
(2)
2.1.3数据字典
数据元素
数据类型
长度
数据来源
学号
char
学生表
学生姓名
性别
生日
smalldatetime
default
所在系
课程号
课程表
课程名
学分
decimal
3,1
选课表
操作员编号
操作员表
操作员姓名
12
密码
权限
2.2数据库概念结构设计
2.2.1E-R图
图2.3数据库E-R图
2.2.2实体及属性的定义
表2-1学生信息表Student的表结构
主码
列名
宽度
小数位
空否
备注
Pk
Sno
Char
N
Sname
姓名
Sex
Y
Sbirth
SmallDatetime
出生日期
Sdept
表2-2课程信息表Course的表结构
Cno
课程代码
Cname
课程名称
Credit
Decimal
1
表2-3选课成绩表SC的表结构
Grade
表2-4操作员表Operator的表结构
Operator_id
Operator_name
Password
Permission
2.3数据库逻辑结构设计
2.3.1初始关系模式
Student(Sno,Sname,Sex,Sbirth,Sdept)
其中各项含义分别为:
学生(学号,姓名,性别,出生日期,所在系)
Course(Cno,Cname,Credit)
课程(课程代码,课程名称,学分)
SC(Sno,Cno,Grade)
选修(学号,课程代码,成绩)
Operator(Operator_id,Operator_name,Password,Permission)
操作员(操作员编号,操作员姓名,密码,权限)
2.3.2规范化处理
经过对初始关系模式的规范化处理以下关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。
(下划线代表主码,斜体外码)
2.4数据库物理结构设计
2.4.1基于SQLServer的数据表设计
用SQLSERVERMANAGEMENTSTUDIO建表,以学生表为例如下图所示:
图2.4学生表
用SQL语言建表代码如下:
createtableStudent(
Snochar(5)primarykey,
Snamechar(8)notnull,
Sexchar
(2)check(sexin('
男'
'
女'
)),
Sbirthsmalldatetime,
Sdeptchar(20)
);
go
createtableCourse(
Cnochar(3)primarykey,
Cnamechar(20)notnull,
CreditDecimal(3,1)
)
createtableSC(
Snochar(5)referencesStudent(Sno),
Cnochar(3)referencesCourse(Cno),
Gradedecimal(5,1),
constraintpkprimarykey(Sno,Cno)
createtableOperator(
Operator_idchar(4)primarykey,
Operator_namechar(12)notnull,
Passwordchar(10),
Permissionchar(20)default'
0'
2.4.2索引表
表2-5学生信息表Student的表索引表
索引
主
无
无
表2-6课程信息表Course的索引表
表2-7选课成绩表SC的索引表
表2-8操作员表Operator的索引表
2.4.3角色
建立了操作员角色
图2.5角色
2.4.4视图
用SQL管理工具建立常用的一个视图,即学生_成绩视图。
菜单栏中单击工具→向导→数据库→创建视图向导,选择你所要建的试图的对象,选择列名,按照提示,最后单击完成即可。
使用SQL语句建立视图的命令如下:
createview学生_成绩
as
selectsc.sno,sname,o,cname,grade
fromstudentjoinsconstudent.sno=sc.sno
joincourseono=o
图2.6学生_成绩视图预览
2.5数据库操作部分
2.5.1数据库的插入操作
INSERT
INTO<
表名>
[(<
属性列1>
[,<
属性列2>
…)]
VALUES(<
常量1>
[,<
常量2>
]);
例如:
在学生表中插入一个新同学的相关信息(注:
学号是主码,故不可以相同)
insert
intostudent
values('
04'
张伟'
1990-2-3,'
计算机'
2.5.2数据库的修改操作
UPDATE<
SET<
列名>
=<
表达式>
[WHERE<
条件>
];
在学生表中修改学号为’04’的所在系为’人文科学’。
updatestudent
setsdept='
人文科学'
wheresno='
2.5.3数据库的删除操作
DELETE
FROM<
[WHERE<
删除学号为’04’的相关信息
delete
fromstudent
2.5.4数据库的备份及还原操作
使用SQLServer模糊备份和还原操作:
◆将包含数据的扩展盘区写入备份集,而无需考虑使备份期间正由用户修改的页同步。
这显著减小了备份对当前用户的影响。
还使备份得以串行地复制页。
取消了所有随机读取,从而加快使用频繁的系统中的备份过程。
但这同时也意味着备份中的页以一种不一致的、无法恢复的状态存储。
◆将事务日志作为备份的一部分复制。
RESTORE语句:
RESTOREFILELISTONLY
FROMDISK='
D:
\info.bak'
RESTOREDATABASETestDB
WITHMOVE'
info'
TO'
\testdb.mdf'
MOVE'
info_log'
\testdb.ldf'
◆如果数据库不存在,则创建数据库,并初始化数据库中的扩展盘区。
如果RESTORE语句执行时数据库已存在,则可以跳过这一步。
◆复制备份集中的扩展盘区。
因为所有的扩展盘区都按串行顺序排列,所以这个过程较快。
将忽略未在备份集中找到的扩展盘区;
它们将不作为空的扩展盘区进行初始化。
◆使用事务日志恢复数据库。
将日志中记录的数据修改前滚到日志末尾,然后回滚任何未完成的事务。
这将使数据库返回到一致的已恢复状态,这种状态与数据库在BACKUP语句完成时的状态一致。
备份数据库
BACKUPDATABASEinfo
TODISK='
还原数据库
--返回由备份集内包含的数据库和日志文件列表组成的结果集
FROMDISK='
--还原由BACKUP备份的数据库
RESTOREDATABASEinfo
--指定还原后的数据库物理文件名称及路径
RESTOREDATABASETestDB
WITH
MOVE'
\test\testdb.mdf'
\test\testdb.ldf'
logical_file_name'
operating_system_file_name'
指定应将给定的logical_file_name移到operating_system_file_name。
默认情况下,logical_file_name将还原到其原始位置。
如果使用RESTORE
语句将数据库复制到相同或不同的服务器上,则可能需要使用MOVE选项重
新定位数据库文件以避免与现有文件冲突。
可以在不同的MOVE语句中指定
数据库内的每个逻辑文件。
--强制还原,加上REPLACE参数,则在现有数据库基础上强制还原。
WITHREPLACE,
2.5.5关系图
图2.7关系图
第三章系统界面设计部分
3.1应用程序与其菜单项规划
结合VisualBasic6.0进行数据库应用开发的特点,设计过程可按如下步骤进行:
●创建应用库及应用对象;
●创建全局变量;
●创建菜单;
●创建数据窗口;
●创建窗口并在窗口中放置所需控件。
系统的主菜单、各菜单项标题、名称:
⏹学生管理(m_student)
◆学生信息录入(m_student_input):
open(w_student_input)
◆学生信息查询(m_student_query):
open(w_student_query)
⏹课程管理(m_course)
◆课程设置(m_course_set):
open(w_course_set)
◆课程查询(m_course_query):
open(w_course_query)
⏹成绩管理(m_score)
◆成绩录入(m_score_input):
open(w_score_input)
◆成绩查询(m_score_query)
Ø
按学生查询(m_score_query_student):
open(w_score_query_student)
按课程查询(m_score_query_course):
open(w_score_query_course)
⏹系统管理(m_system)
◆口令更改(m_system_password):
open(w_changepassword)
◆重新登录(m_system_relogin):
open(w_login)
◆操作员管理(m_system_operator):
open(w_operator)
⏹退出系统(m_system_exit):
close(parentwindow)
其中方形为一级菜单、菱形为二级子菜单、箭头为三级子菜单。
3.2登录界面设计
打开程序后,首先进入欢迎与登录界面:
图3.1欢迎界面
图3.2登录界面
3.3主界面设计
本程序是一个MDI(MultipleDocumentInterface)的多窗体文档界面。
在一个主窗体下可以同时开启复数个子窗体,为此可实现一个同时的多点查询与操作。
图3.3MDI主窗体及其子窗体介绍
3.4子界面设计
下面将以学生信息录入为例来介绍子窗体的设计,其余子窗体也大致采用类似的设计方法。
首先点击菜单→学生管理→学生信息录入菜单项,弹出学生信息录入子窗体。
图3.4学生信息录入子窗体
当单击“添加”按钮时,将会弹出添加学生信息子窗体,确定后添加新纪录进入数据库。
图3.5学生信息录入子窗体
再次查看学生表,可发现新添加的记录:
图3.6学生信息录入成功
通过打开菜单→学生信息管理→学生信息查询菜单项,可以通过学号或姓名两种方式来查询学生信息。
以下以通过学号来查询学生的信息,通过输入学号“04”来查询:
图3.7学生信息查询成功
更多的信息操作功能与源代码的实现可查看本报告的附件VB程序与数据库文件。
第四章总结
经过这些天的设计和开发,学生选课信息管理系统基本开发完毕。
本系统基本能够完成学生、课程、选课等信息查询、插入、删除、修改等。
这次的课程设计是分组讨论和制作的。
在制作的过程中,我学到的不仅是知识,我还认识到许多事情。
这次设计对我们的综合能力是一次很好的锻炼,使我的编程水平提高了一大步,同时也使我充分的认识到合作的可贵。
在我们设计本次课题时,将书本上所学的知识尽可能地发挥到了实践中。
经过需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施及数据库运营与维护6大阶段,我们制作并运营成功了一个强大的以SQLSERVER数据库与后台、以VisualBasic6.0所制作的应用程序为前台
在我们所制作的学生选课信息管理系统中,涉及到数据库、VB等,前台是用VB制作的,其中包括主界面和一些按扭等,后台用到的是我们所学的数据库的知识,建立了基本表和视图、角色等,权限在前台已经制作,故在后台不在重复。
在后台中我们还简单的制作了数据库的备份与还原,用来防止数据库遭到破坏,可即时修改。
最后按照沈老师的要求编写成文档,从中也对WORD的运用提高了一步。
但是该系统还有许多不尽如人意的地方,比如用户界面与SQL语言的连接上并不是很完善,这是因为我们对VB不是很了解。
还有就是由于我们对数据库知识的掌握有限和不牢固,角色和视图的创建没有想象中的完美,备份和还原也只是初步的形成,以致学生选课管理系统只是达到了基本要求,有待进一步改善,希望老师给予批评。
最后,在这里我要衷心的感谢我们的指导老师沈学东老师,沈老师严谨的指导态度与深厚的理论知识都让我受益非浅,从他身上我学到了很多的东西,无论是理论还是实践都使我的知识有很大的提高我们才能在短时间内顺利的完成这次课程设计。
由于我们水平有限,因此在我们所设计的学生选课管理系统中还有许多不足之处,请老师批评指正,我会在以后的制作中不断改进,不断完善。
主要参考文献
[1]数据库系统概论作者:
王珊萨师煊第四版高等教育出版社2006年
[2]VisualBasic6.0数据库系统开发实例导航作者:
刘韬、骆娟、何旭洪
[3]数据库原理及应用实验指导作者:
钱雪忠陶向东北京邮电大学出版社2005
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库课程设计 学生选课信息管理系统 sql 数据库 课程设计 学生 选课 信息管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)