课 程 设 计
题 目 学 院 专 业 班 级 姓 名
指导教师
课程管理数据库设计
计算机科学与技术 计算机科学与技术
2012 年 7 月 6 日
课程设计任务书
学生姓名: 指导教师:
专业班级: 计算机科学与技术
工作单位: 计算机学院
题目:课程管理数据库设计 初始条件:
一个培训公司希望建立一个关于课程信息的数据库。公司发布一些培训课程。每门课程由一些员工在某个地点完成。费用随课程不同或公司委托的代表数量不同而不同。某项课程可能由几个代表参加。
要求完成的主要任务:
1. 根据上述的初始条件,进行调查分析并设计适当的属性。设计一个课程数据
库,DBMS 可选Ms SQL Server、Access 、VFP 等。
2. 完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求
分析,概念设计,逻辑设计,物理实现等。
3. 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计
语言(工具)任选。这一项是选作,不作硬性要求。
时间安排:
本学期第18周: 1. 消化资料、系统调查 2. 系统分析
3. 总体设计,实施计划 4. 撰写报告
1天 1天 2天 1天
指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日
目录
1概论„„„„„„„„„„„„„„„„„„„„„„„„3 2需求分析„„„„„„„„„„„„„„„„„„„„„„4 2.1 系统简要分析„„„„„„„„„„„„„„„„„„„4 2.2 应用需求分析„„„„„„„„„„„„„„„„„„„4 3 概要设计„„„„„„„„„„„„„„„„„„„„„„5 3.1 业务流分析„„„„„„„„„„„„„„„„„„„5 3.2 数据流分析„„„„„„„„„„„„„„„„„„„„6 3.3程序数据流程„„„„„„„„„„„„„„„„„„„7 4. 总体结构 „„„„„„„„„„„„„„„„„„„„„9 4.1 局部视图设计„„„„„„„„„„„„„„„„„„„9 4.2 逻辑设计 „„„„„„„„„„„„„„„„„„„„10 4.2.1结构图„„„„„„„„„„„„„„„„„„„„„10 4.2.2逻辑设计说明„„„„„„„„„„„„„„„„„„11 4.3 数据库结构„„„„„„„„„„„„„„„„„„„„11 4.3.1数据字典„„„„„„„„„„„„„„„„„„„„11 4.3.2 E-R图„„„„„„„„„„„„„„„„„„„„„12 5 总体实施方案„„„„„„„„„„„„„„„„„„„„14 6心的体会„„„„„„„„„„„„„„„„„„„„„„16 7 参考文献„„„„„„„„„„„„„„„„„„„„„„17
课程管理数据库设计
1. 概论
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好选课信息而设计的。培训公司的培训实践作为一种信息资源的集散地,学生和课程繁多,包含很多的信息数据的管理,现今,有很多的培训基地都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于选课情况的统计和查询等往往采用对课程的人工检查进行,对培训员工的选课权限、以及选课代号等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。数据处理手工操作,工作量大,出错率高,出错后不易更改。因此培训公司采取手工方式对员工选课情况进行人工管理,由于信息比较多,选课信息的管理工作混乱而又复杂;一般选课情况是记录在文件上,课程的数目和代号也记录在文件中,公司工作人员也只是当时对它比较清楚,时间长了,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的选课进行更改就更加困难了。
基于这些问题,我认为有必要建立一个选课系统,使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
该系统针对一个公司或企业来说,硬件、软件要求不高。而系统的大量的数据可以选用SQL Server 、Oracal 等数据库,其容量足以保存企业内必要的数据。但考虑经济问题,可选用SQL Server。而在选择高级语言进行界面的编辑时有VB 和VC 供我们选择。若选用VC 来进行开发,则可以用ODBC API 、MFC ODBC 类、DAO 或ADO 来进行数据库的访问。而若选用VB ,则可以运用ADO 来进行访
问数据库。
2需求分析
2.1 系统简要分析
职员使用管理员的身份可以通过特别用户身份登录, 对系统进行全面的管理, 对新用户的添加, 删除, 对信息进行管理,以及一些关于费用和培训人员的修改总之管理员可以对培训学生的一些信息进行管理。
培训的学生则使用普通用户的身份进入相应的界面,进行自己的操作。可以通过查询来选择培训过程中所开设课程,以及对相关的费用问题进行了解同样也可以对与自己选择相同课程的同学联系等。
2.2应用需求分析
课程管理系统需要满足来自一下两方面的需求,这两个方面分别是培训学生、和管理员。学生的需求是查询培训过程中开设的课程、学生选课情况及学生信息的修改;培训管理员的功能包括对学生、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。学生可以查看选课情况, 还可以根据本人学号和密码登录系统,还可以对相关课程的收费进行咨询和维护部分个人信息。一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码。
在系统中,培训公司的人员可以为学生加入选课或是登陆记录,并打印生成相应的报表给用户查看和确认功能的信息量大,数据安全性和保密性要求最高。本功能实现对选课信息、课程信息、总体选课情况信息的查询和统计、工作人员和管理人员信息查看及维护。公司管理员可以浏览、查询、修改、统计选课的基本信息;浏览、查询、统计和修改培训学生选课的基本信息,浏览、查询、统计培训学生信息,但不能添加删除和修改培训学生的信息,这部分功能应该由培训学生自己执行,但是在修改某条学生选课基本信息记录时,应实现对该学生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。这样做主要是为了维持数据库信息的稳定和安全。设计不同用户的操作权限和登陆方法对所有用户开放的培训学生选课查询和个人部分信息维护查看个人情况信息维护培训学生个人密码根据选课情况对数据库进行操作并生成报表根据
选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信息维护工作人员和管理员信息维护学生信息处理信息的完整性。
本系统主要实现学生信息管理、课程信息管理,其中课程信息管理中有培训教师姓名、教师工号、教师职称;学生信息管理有学生姓名、学生ID 号、年龄、出生日期,备注;培训课程信息管理有课程号、课程名称、费用、开课时间;
1、学生信息模块完成学生的登陆,然后根据各位同学自身情况,调用相应的选课模块。其中学生登录模块的功能是验证登录人员确实是本次培训的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。
2、课程信息管理包括课程和选修课程, 学生必需先登陆才能进行对课程的选课否则不能进入选课系统.
3 概要设计
3.1 业务流分析
管理系统的业务流程:首先由系统管理员即公司培训人员等有特殊权限的用户将各自权限范围内的信息进行录入,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除。所有用户均可以进行信息查询和统计,有权限用户还可以基于已有信息进行收费检查和学员调查,并且可以对最终结果用以报表的方式打印出来。用详细图示反映如下:
否
3.2 数据流分析
学生选课管理系统的数据流程:首先由系统管理员等有录入权限的用户将各自权限范围内的信息进行录入处理,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除处理。所有用户均可以进行信息查询和统计,结果可以报表打印。
而具体数据流图如下:
3.3程序数据流程
选修课选课系统主要分为两大模块:管理员模块和学员模块,管理员是培训公司工作人员,不过管理员必须承担一定的责任。
管理员模块又分为对培训人员的管理和对课程的管理,对用户的管理模块应有的功能是对新用户的添加,对无用用户的删除;选课管理模块应有的功能包括新开设选修课信息的添加,对原有课程信息的修改,对培训公司不再开设的课程进行删除,一轮培训结束以后对培训档案归零。
一般用户模块既学生应用模块是该系统最基本的功能模块,因为此模块应完成访客登录的身份验证,学生对课程选择的添加,以及公开课程信息的查询,对授课教师信息的查询,学生对自己已经选修哪些课程进行查询。所以,按照需要完成的要求又分成了各具体执行模块。
首先,无论是管理员还是普通用户都要从同一个登录页面,经过验证以后才能进入系统,使用该系统。不同权限的用户登录以后会进入具有不同权限的页面,获取相应的菜单进行进一步的操作。
管理员登录进入管理页面后,可以对上面框图中的菜单进行操作。菜单中的功能主要分成添加新记录到数据库和对数据库里的记录进行修改和删除操作。添
加新用户、新开设课程都属于数据添加动作,对课程的删除、修改都属于执行动作。学生可以查询自己选修过什么课,查询教师的信息,查询课程信息。学生登录时用户名是自己的学号,选课时进行选课操作时先要选择课程名,然后还得选择教师名,通过这两个关键字,确定一门课,如果选修了相同课程名和课程号的课程, 以前的记录将被新记录所替代。
4. 总体结构
4.1 局部视图设计
实体间的联系有1:1、1:n 、m:n 3种类型。
(1)“课程”与“学生”通过上课关系连接,而一门课程可以有许多学生来上课,而一个学生也能选择多个课程。因此课程和学生有着多对多的关系。如下图:
(2)“课程”与“地点”通过授课的关系联系起来,而一门课程仅仅只能对应一个地点,同时一个地点也只能为一门课程服务。因此课程与地点就形成了如下1:1的关系。具体图示如下:
4.2 逻辑设计
4.2.1结构图
4.2.2逻辑设计说明
选修课选课系统主要分为两大模块:管理员模块和一般学生模块,管理员作为公司的培训职员不仅有着管理普通用户的义务并且肩负着维护数据库完整和安全的任务。
管理员模块又分为对用户的管理和对选课的管理,对用户的管理模块应有的功能是对新用户的添加,对无用用户的删除;选课管理模块应有的功能包括新开设选修课信息的添加,对原有课程信息的修改,对学校不再开设的课程进行删除,一轮选课结束以后对所有培训人员信息及资料删除。
一般用户模块既学生应用模块是该系统最基本的功能模块,因为此模块应完成访客登录的身份验证,学生选修培训课程记录的添加,对课程信息及费用的查询,对教师信息的查询,学生对自己已经选修哪些课进行查询。所以,按照需要完成的要求又分成了各具体执行模块。
4.3 数据库结构
4.3.1数据字典
1其中“学号”数据项可以如下描述:
数据项:学号
含义说明:唯一标识每个培训学生 别名:学生编号 类型:字符型 长度:10
取值范围:0000000000至9999999999
取值含义:第1~2位表示学生出生年份,第3~4位表示学生出生月份,第5~6位表示学生出生的日期,第7位表示学生性别编号,第8~10位表示在学生在培训学员中的编号。
2“学生”是学生管理子系统中的一个重要数据结构,它可以如下描述: 数据结构:学生
含义说明:是学生选课子系统的不可缺少的数据结构,定义了一个学生的有关信息。
组成:学号、姓名、密码、年龄、出生日期、性别、备注。 3 数据流“收费查询表”可以如下描述: 数据流:学生对所选课程的收费进行查询。 说明:查询学生选课收费情况。 数据流来源:课程信息中收费栏。 数据流去向:课程最终评定。
组成:学号、记录号、课程号、收费。
4 数据存储“学生选课表”可以如下描述: 数据存储:学生选课表 说明:记录学生选课的基本情况
流入数据流:学号、所选课程号、收费。流出数据流:人数。 存取方式:随机存取
5“课程”是课程信息管理子系统中的一个重要的数据结构,它可以如下表示: 数据结构:课程
含义说明:是课程信息管理子系统中不可缺少的一个数据结构,定义了课程的相关信息。
组成:课程名、授课地点、课程编号、受课学生、收费、备注。
E-R 图
1.创建数据库的结构sql 语句及结果图片如下: CREATE DATABASE Education ON
(NAME=Education_data,
FILENAME=’G:\ClassMS\db_ClassMS.mdf’, SIZE=10MB,
MAXSIZE=50MB, FILEGROWTH=5MB) LOG ON
(NAME=Education_log,
FILENAME=’G:\ClassMS\db_ClassMS_log.ldf’, SIZE=5MB,
MAXSIZE=25MB, FILEGROWTH=5MB)
2. 创建基本表 sql语句及结果图片: CREATE TABLE Students( s_num int NOT NULL UNIQUE, s_name CHAR(20) NOT NULL, address CHAR(50), zip INT,
city char(20), state char(10), sex char(1))
CREATE TABLE Enrolls( c_num int, s_num int, sc_num int,
grade int)
CREATE TABLE Sections( sc_num int NOT NULL UNIQUE, t_num CHAR(20), c_num CHAR(20), num_s int)
CREATE TABLE Courses(
t_num int NOT NULL UNIQUE, c_name CHAR(20) NOT NULL, department CHAR(20), nurc_credits int)
3. 编制输入子系统 学生表
课程表
选课表 收费表
4表查询
select s_num from Students;
select c_num,grade from Enrolls;
select *
from Sections;
select *
from Course;
select s_num,s_name from Students,Courses where s_num=c_num;
5表插入 Insert
Into Students(s_num,s_name,sex,birthday,age) Values(‘[1**********]15’, ‘zf ’, ‘女’,‘19910124’,20) ; 6表修改
updata Enrolls
set grade=grade-10; 7表删除 delete
from Sections
where s_num=‘[1**********]01’;
6心的体会
在本次课设的过程中,我碰到了很多的问题,比如在管理员功能上的把握等相关方面,也因为没有能够很好的解决而苦恼,但是我相信付出总有回报、努力就一定有收获,通过认真的钻研终于让我解决,自信心也增长了不少。
本系统在设计之初仅仅在考虑了学生用户和管理员用户没有涉及到其他有关的用户,所以系统在以后的升级上将会有很多的工作需要进行。不仅在功能上
会有偏差而且在实现上也有一定的不足,例如在学生的查询功能上不能够很好的达到选择相同课程的学员进行交流,实在是很大的漏洞。
这次课程设计给了我机会实践数据库,让我对书本上的知识有了一个很现实的认识。通过自己这次的完成数据库的课程设计,使得本人的经验有多了很多,数据库应用系统的开发设计是一个规范化的过程,需要遵循以定的方式方法与开发设计步骤;开发一个数据库应用系统,通常要经过 调查分析、数据建模、功能设计、选择数据库系统、选择数据库访问技术等阶段;数据库关系模式的设计非常的重要,使整个系统的设计中心,其设计合理否,将全面影响整个系统的成功实现。这次课设,我查阅了很多资料,因为之前对数据库没有太多了解,书本知识不足以完成课设。总之,只要用心去做总能很好的完成任务,今后我也会多看一些专业书,提高各方面的知识。
7 参考文献
(1) 王珊, 萨师煊. 数据库系统概论(第四版) 北京:高等教育出版社,2006. (2) 罗朝盛 郑玲利 Visual Basic 6.0 程序设计实用教程 清华大学出版社
本科生课程设计成绩评定表
班级: 姓名: 学
及格(60-69分)、60分以下为不及格
指导教师签名:
2012 年 6月 日
课 程 设 计
题 目 学 院 专 业 班 级 姓 名
指导教师
课程管理数据库设计
计算机科学与技术 计算机科学与技术
2012 年 7 月 6 日
课程设计任务书
学生姓名: 指导教师:
专业班级: 计算机科学与技术
工作单位: 计算机学院
题目:课程管理数据库设计 初始条件:
一个培训公司希望建立一个关于课程信息的数据库。公司发布一些培训课程。每门课程由一些员工在某个地点完成。费用随课程不同或公司委托的代表数量不同而不同。某项课程可能由几个代表参加。
要求完成的主要任务:
1. 根据上述的初始条件,进行调查分析并设计适当的属性。设计一个课程数据
库,DBMS 可选Ms SQL Server、Access 、VFP 等。
2. 完成课程设计说明书,其格式遵守学校今年的新规定。主要内容包括:需求
分析,概念设计,逻辑设计,物理实现等。
3. 基于该数据库,最好实现一个或多个应用程序(自己确定功能),程序设计
语言(工具)任选。这一项是选作,不作硬性要求。
时间安排:
本学期第18周: 1. 消化资料、系统调查 2. 系统分析
3. 总体设计,实施计划 4. 撰写报告
1天 1天 2天 1天
指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日
目录
1概论„„„„„„„„„„„„„„„„„„„„„„„„3 2需求分析„„„„„„„„„„„„„„„„„„„„„„4 2.1 系统简要分析„„„„„„„„„„„„„„„„„„„4 2.2 应用需求分析„„„„„„„„„„„„„„„„„„„4 3 概要设计„„„„„„„„„„„„„„„„„„„„„„5 3.1 业务流分析„„„„„„„„„„„„„„„„„„„5 3.2 数据流分析„„„„„„„„„„„„„„„„„„„„6 3.3程序数据流程„„„„„„„„„„„„„„„„„„„7 4. 总体结构 „„„„„„„„„„„„„„„„„„„„„9 4.1 局部视图设计„„„„„„„„„„„„„„„„„„„9 4.2 逻辑设计 „„„„„„„„„„„„„„„„„„„„10 4.2.1结构图„„„„„„„„„„„„„„„„„„„„„10 4.2.2逻辑设计说明„„„„„„„„„„„„„„„„„„11 4.3 数据库结构„„„„„„„„„„„„„„„„„„„„11 4.3.1数据字典„„„„„„„„„„„„„„„„„„„„11 4.3.2 E-R图„„„„„„„„„„„„„„„„„„„„„12 5 总体实施方案„„„„„„„„„„„„„„„„„„„„14 6心的体会„„„„„„„„„„„„„„„„„„„„„„16 7 参考文献„„„„„„„„„„„„„„„„„„„„„„17
课程管理数据库设计
1. 概论
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好选课信息而设计的。培训公司的培训实践作为一种信息资源的集散地,学生和课程繁多,包含很多的信息数据的管理,现今,有很多的培训基地都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于选课情况的统计和查询等往往采用对课程的人工检查进行,对培训员工的选课权限、以及选课代号等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。数据处理手工操作,工作量大,出错率高,出错后不易更改。因此培训公司采取手工方式对员工选课情况进行人工管理,由于信息比较多,选课信息的管理工作混乱而又复杂;一般选课情况是记录在文件上,课程的数目和代号也记录在文件中,公司工作人员也只是当时对它比较清楚,时间长了,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的选课进行更改就更加困难了。
基于这些问题,我认为有必要建立一个选课系统,使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
该系统针对一个公司或企业来说,硬件、软件要求不高。而系统的大量的数据可以选用SQL Server 、Oracal 等数据库,其容量足以保存企业内必要的数据。但考虑经济问题,可选用SQL Server。而在选择高级语言进行界面的编辑时有VB 和VC 供我们选择。若选用VC 来进行开发,则可以用ODBC API 、MFC ODBC 类、DAO 或ADO 来进行数据库的访问。而若选用VB ,则可以运用ADO 来进行访
问数据库。
2需求分析
2.1 系统简要分析
职员使用管理员的身份可以通过特别用户身份登录, 对系统进行全面的管理, 对新用户的添加, 删除, 对信息进行管理,以及一些关于费用和培训人员的修改总之管理员可以对培训学生的一些信息进行管理。
培训的学生则使用普通用户的身份进入相应的界面,进行自己的操作。可以通过查询来选择培训过程中所开设课程,以及对相关的费用问题进行了解同样也可以对与自己选择相同课程的同学联系等。
2.2应用需求分析
课程管理系统需要满足来自一下两方面的需求,这两个方面分别是培训学生、和管理员。学生的需求是查询培训过程中开设的课程、学生选课情况及学生信息的修改;培训管理员的功能包括对学生、选课进行管理和统计,及系统状态的查看、维护并生成选课报表。学生可以查看选课情况, 还可以根据本人学号和密码登录系统,还可以对相关课程的收费进行咨询和维护部分个人信息。一般情况下,学生只应该查询和维护本人的选课情况和个人信息,若查询和维护其他学生的选课及成绩查询信息,就要知道其他学生的学号和密码。
在系统中,培训公司的人员可以为学生加入选课或是登陆记录,并打印生成相应的报表给用户查看和确认功能的信息量大,数据安全性和保密性要求最高。本功能实现对选课信息、课程信息、总体选课情况信息的查询和统计、工作人员和管理人员信息查看及维护。公司管理员可以浏览、查询、修改、统计选课的基本信息;浏览、查询、统计和修改培训学生选课的基本信息,浏览、查询、统计培训学生信息,但不能添加删除和修改培训学生的信息,这部分功能应该由培训学生自己执行,但是在修改某条学生选课基本信息记录时,应实现对该学生选课的级联删除。并且还应具有生成选课报表,并打印输出的功能。这样做主要是为了维持数据库信息的稳定和安全。设计不同用户的操作权限和登陆方法对所有用户开放的培训学生选课查询和个人部分信息维护查看个人情况信息维护培训学生个人密码根据选课情况对数据库进行操作并生成报表根据
选课情况对数据库进行操作并生成报表查询及统计各种信息维选课信息维护工作人员和管理员信息维护学生信息处理信息的完整性。
本系统主要实现学生信息管理、课程信息管理,其中课程信息管理中有培训教师姓名、教师工号、教师职称;学生信息管理有学生姓名、学生ID 号、年龄、出生日期,备注;培训课程信息管理有课程号、课程名称、费用、开课时间;
1、学生信息模块完成学生的登陆,然后根据各位同学自身情况,调用相应的选课模块。其中学生登录模块的功能是验证登录人员确实是本次培训的学生,学生启动本系统后,系统提示输入学生学号码和密码,验证后进入主控操作界面。
2、课程信息管理包括课程和选修课程, 学生必需先登陆才能进行对课程的选课否则不能进入选课系统.
3 概要设计
3.1 业务流分析
管理系统的业务流程:首先由系统管理员即公司培训人员等有特殊权限的用户将各自权限范围内的信息进行录入,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除。所有用户均可以进行信息查询和统计,有权限用户还可以基于已有信息进行收费检查和学员调查,并且可以对最终结果用以报表的方式打印出来。用详细图示反映如下:
否
3.2 数据流分析
学生选课管理系统的数据流程:首先由系统管理员等有录入权限的用户将各自权限范围内的信息进行录入处理,然后保存信息到数据库中。有权限的人可以对这些库信息进行修改和删除处理。所有用户均可以进行信息查询和统计,结果可以报表打印。
而具体数据流图如下:
3.3程序数据流程
选修课选课系统主要分为两大模块:管理员模块和学员模块,管理员是培训公司工作人员,不过管理员必须承担一定的责任。
管理员模块又分为对培训人员的管理和对课程的管理,对用户的管理模块应有的功能是对新用户的添加,对无用用户的删除;选课管理模块应有的功能包括新开设选修课信息的添加,对原有课程信息的修改,对培训公司不再开设的课程进行删除,一轮培训结束以后对培训档案归零。
一般用户模块既学生应用模块是该系统最基本的功能模块,因为此模块应完成访客登录的身份验证,学生对课程选择的添加,以及公开课程信息的查询,对授课教师信息的查询,学生对自己已经选修哪些课程进行查询。所以,按照需要完成的要求又分成了各具体执行模块。
首先,无论是管理员还是普通用户都要从同一个登录页面,经过验证以后才能进入系统,使用该系统。不同权限的用户登录以后会进入具有不同权限的页面,获取相应的菜单进行进一步的操作。
管理员登录进入管理页面后,可以对上面框图中的菜单进行操作。菜单中的功能主要分成添加新记录到数据库和对数据库里的记录进行修改和删除操作。添
加新用户、新开设课程都属于数据添加动作,对课程的删除、修改都属于执行动作。学生可以查询自己选修过什么课,查询教师的信息,查询课程信息。学生登录时用户名是自己的学号,选课时进行选课操作时先要选择课程名,然后还得选择教师名,通过这两个关键字,确定一门课,如果选修了相同课程名和课程号的课程, 以前的记录将被新记录所替代。
4. 总体结构
4.1 局部视图设计
实体间的联系有1:1、1:n 、m:n 3种类型。
(1)“课程”与“学生”通过上课关系连接,而一门课程可以有许多学生来上课,而一个学生也能选择多个课程。因此课程和学生有着多对多的关系。如下图:
(2)“课程”与“地点”通过授课的关系联系起来,而一门课程仅仅只能对应一个地点,同时一个地点也只能为一门课程服务。因此课程与地点就形成了如下1:1的关系。具体图示如下:
4.2 逻辑设计
4.2.1结构图
4.2.2逻辑设计说明
选修课选课系统主要分为两大模块:管理员模块和一般学生模块,管理员作为公司的培训职员不仅有着管理普通用户的义务并且肩负着维护数据库完整和安全的任务。
管理员模块又分为对用户的管理和对选课的管理,对用户的管理模块应有的功能是对新用户的添加,对无用用户的删除;选课管理模块应有的功能包括新开设选修课信息的添加,对原有课程信息的修改,对学校不再开设的课程进行删除,一轮选课结束以后对所有培训人员信息及资料删除。
一般用户模块既学生应用模块是该系统最基本的功能模块,因为此模块应完成访客登录的身份验证,学生选修培训课程记录的添加,对课程信息及费用的查询,对教师信息的查询,学生对自己已经选修哪些课进行查询。所以,按照需要完成的要求又分成了各具体执行模块。
4.3 数据库结构
4.3.1数据字典
1其中“学号”数据项可以如下描述:
数据项:学号
含义说明:唯一标识每个培训学生 别名:学生编号 类型:字符型 长度:10
取值范围:0000000000至9999999999
取值含义:第1~2位表示学生出生年份,第3~4位表示学生出生月份,第5~6位表示学生出生的日期,第7位表示学生性别编号,第8~10位表示在学生在培训学员中的编号。
2“学生”是学生管理子系统中的一个重要数据结构,它可以如下描述: 数据结构:学生
含义说明:是学生选课子系统的不可缺少的数据结构,定义了一个学生的有关信息。
组成:学号、姓名、密码、年龄、出生日期、性别、备注。 3 数据流“收费查询表”可以如下描述: 数据流:学生对所选课程的收费进行查询。 说明:查询学生选课收费情况。 数据流来源:课程信息中收费栏。 数据流去向:课程最终评定。
组成:学号、记录号、课程号、收费。
4 数据存储“学生选课表”可以如下描述: 数据存储:学生选课表 说明:记录学生选课的基本情况
流入数据流:学号、所选课程号、收费。流出数据流:人数。 存取方式:随机存取
5“课程”是课程信息管理子系统中的一个重要的数据结构,它可以如下表示: 数据结构:课程
含义说明:是课程信息管理子系统中不可缺少的一个数据结构,定义了课程的相关信息。
组成:课程名、授课地点、课程编号、受课学生、收费、备注。
E-R 图
1.创建数据库的结构sql 语句及结果图片如下: CREATE DATABASE Education ON
(NAME=Education_data,
FILENAME=’G:\ClassMS\db_ClassMS.mdf’, SIZE=10MB,
MAXSIZE=50MB, FILEGROWTH=5MB) LOG ON
(NAME=Education_log,
FILENAME=’G:\ClassMS\db_ClassMS_log.ldf’, SIZE=5MB,
MAXSIZE=25MB, FILEGROWTH=5MB)
2. 创建基本表 sql语句及结果图片: CREATE TABLE Students( s_num int NOT NULL UNIQUE, s_name CHAR(20) NOT NULL, address CHAR(50), zip INT,
city char(20), state char(10), sex char(1))
CREATE TABLE Enrolls( c_num int, s_num int, sc_num int,
grade int)
CREATE TABLE Sections( sc_num int NOT NULL UNIQUE, t_num CHAR(20), c_num CHAR(20), num_s int)
CREATE TABLE Courses(
t_num int NOT NULL UNIQUE, c_name CHAR(20) NOT NULL, department CHAR(20), nurc_credits int)
3. 编制输入子系统 学生表
课程表
选课表 收费表
4表查询
select s_num from Students;
select c_num,grade from Enrolls;
select *
from Sections;
select *
from Course;
select s_num,s_name from Students,Courses where s_num=c_num;
5表插入 Insert
Into Students(s_num,s_name,sex,birthday,age) Values(‘[1**********]15’, ‘zf ’, ‘女’,‘19910124’,20) ; 6表修改
updata Enrolls
set grade=grade-10; 7表删除 delete
from Sections
where s_num=‘[1**********]01’;
6心的体会
在本次课设的过程中,我碰到了很多的问题,比如在管理员功能上的把握等相关方面,也因为没有能够很好的解决而苦恼,但是我相信付出总有回报、努力就一定有收获,通过认真的钻研终于让我解决,自信心也增长了不少。
本系统在设计之初仅仅在考虑了学生用户和管理员用户没有涉及到其他有关的用户,所以系统在以后的升级上将会有很多的工作需要进行。不仅在功能上
会有偏差而且在实现上也有一定的不足,例如在学生的查询功能上不能够很好的达到选择相同课程的学员进行交流,实在是很大的漏洞。
这次课程设计给了我机会实践数据库,让我对书本上的知识有了一个很现实的认识。通过自己这次的完成数据库的课程设计,使得本人的经验有多了很多,数据库应用系统的开发设计是一个规范化的过程,需要遵循以定的方式方法与开发设计步骤;开发一个数据库应用系统,通常要经过 调查分析、数据建模、功能设计、选择数据库系统、选择数据库访问技术等阶段;数据库关系模式的设计非常的重要,使整个系统的设计中心,其设计合理否,将全面影响整个系统的成功实现。这次课设,我查阅了很多资料,因为之前对数据库没有太多了解,书本知识不足以完成课设。总之,只要用心去做总能很好的完成任务,今后我也会多看一些专业书,提高各方面的知识。
7 参考文献
(1) 王珊, 萨师煊. 数据库系统概论(第四版) 北京:高等教育出版社,2006. (2) 罗朝盛 郑玲利 Visual Basic 6.0 程序设计实用教程 清华大学出版社
本科生课程设计成绩评定表
班级: 姓名: 学
及格(60-69分)、60分以下为不及格
指导教师签名:
2012 年 6月 日