课程设计选修课程管理系统.docx
- 文档编号:10919033
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:25
- 大小:492.36KB
课程设计选修课程管理系统.docx
《课程设计选修课程管理系统.docx》由会员分享,可在线阅读,更多相关《课程设计选修课程管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
课程设计选修课程管理系统
成绩
09信计2011-2012
(一)
《数据库原理及应用》课程设计
设计题目 选修课程管理系统
设计时间 2013.12.29至2014.1.4
学生姓名
学生学号
所在班级
指导教师
目录
一、绪论……………………………………………………………………………………..3
二、需求分析…………………………………………………………………………..….3
三、概念模型设计………………………………………………………………….……4
3.1、用E-R图设计信息模型………………………………………………………………4
3.2、设计相应关系模型,确定数据库结构………………………………………………4
3.3、设计应用系统的系统结构图,确定系统结构………………………………………4
3.4、触发器,存储过程………………………………………………………………….…4
四、逻辑结构设计……………………………………………………………….………5
五、物理设计………………………………………………………………………………6
六、实验数据示例:
测试阶段………………………………………………………7
6.1、输入数据设计…………………………………………………………………………7
6.1.1、输入数据设计……………………………………………………………………7
6.1.2、插入教师信息……………………………………………………………………9
6.1.3、插入课程信息……………………………………………………………………10
6.1.4、插入选课信息……………………………………………………………………11
6.2、执行数据操作设计……………………………………………………………………12
6.2.1、基本select语言的使用……………………………………………………12
6.2.2、模糊查询like语句的使用…………………………………………………………………13
6.2.3、统计函数count的使用………………………………………………………………………13.
6.2.4、对数据库中的数据进行操作…………………………………………………………………14
6.2.5、触发器的设计,实现表间关联字段修改时的完整性问题…………………………………….16
6.2.6、存储过程的设计,根据需要可以创建带参数的存储过程,并用语句调用……………….17
七、总结………………………………………………………………………..……………19
选修课程管理系统
一、绪论
选修课是指学校各部门开设的面向全校学生选修的课程。
选修课的开设是基于社会对复合型人才的需求,旨在加强大学生人文素质和科学素质的养成和提高,培养全面发展的高素质人才。
要对学生的公共选修课进行管理,每学期由教务处依据教学计划列出所开设的选修课程,学生自主选课,教务处根据选课情况进行调整,最后确定选修各门课程的学生名单,并对选修课进行排课和对选修课成绩进行登记。
可设置学生可选修的课程范围以及选修的约束条件。
可指定范围
内的学分约束及课程门数约束,可指定选修课教师的开设班级的约束条件,开设班级的人数限制。
约束条件将作为学生在网上选课审核的标准。
应实时显示选
课冲突信息。
选修课管理系统是一个面向学校教务管理人员、教师和学生并为其提供服务的管理系统。
由于各个学校的管理体制不同,使得开发一个通用的选修课管理系统异常困难。
同时,当管理方式改变时,也要求管理软件做相应的改变。
尽管如此,选课管理中的业务仍然存在很多相似之处,具有一般的模式,可以找到一种通用的设计模型来辅助选修课管理系统的开发。
。
二、需求分析
需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
新系统必须充分考虑今后可能的扩充和改变,不能仅仅按当前应用需求来设计数据库。
本系统中学生包含学号,姓名等属性,通过登记系统保存学生成绩的信息。
学生通过分组程序分出个个选修课的学生名单。
课程包含课程号,名称等属性。
分组信息分出选修课教师,教师包含名称,教师编号属性。
用户通过SQLSERVER2000的查询分析器输入各种操作代码,管理员可以创建其他管理员权限,当然,系统管理员可以对所有表进行修改,删除,增加。
系统实现的主要功能有:
(1)全校选修计划课程管理;
(2)全校选修开课课程管理;
(3)全校学生选课管理;
(4)全校选修课成绩管理;
三、概念模型设计
数据库需要表述的信息有以下几种:
学生信息、课程信息、教师信息及三个实体之间的联系。
1.用E-R图设计信息模型:
11
m1
n
图3-1
2.设计相应关系模型,确定数据库结构:
设计关系模型如下:
下划线为关系的码
学生(学号,姓名,性别,专业)
教师(教师编号,姓名,电话,上课地点)
课程(课程号,课程名,系名,学分)
选课(学号,课程号,成绩)
3.设计应用系统的系统结构图,确定系统结构;
输入命令结果输入命令
数据输入输出结果删除命令
图3-2
4.触发器:
设计若干触发器,实现表间关联字段修改时的完整性约束问题。
存储过程:
设计若干多表查询的存储过程。
四、逻辑结构设计
通过E/R模型到关系模型的转化,可以得到如下关系模式:
1.学生基本表:
表4-1
属性名称
属性名
类型
长度
说明
学号
STU_NO
CHAR
5
学号为主码
姓名
STU_NAME
CHAR
8
性别
STU_SEX
CHAR
2
专业
STU_MAG
CHAR
20
2.课程基本表:
表4-2
属性名称
属性名
类型
长度
说明
课程号
C_NO
CHAR
5
课程号为主码
课程名
C_NAME
CHAR
20
系名
C_DEPT
CHAR
20
学分
C_POINT
CHAR
2
3.选课基本表:
表4-3
属性名称
属性名
类型
长度
说明
学号
STU_NO
CHAR
5
学号为外码
课程号
C_NO
CHAR
5
课程号为外码
成绩
POINT
SMALLINT
2
4.教师表:
表4-4
名称
字段名称
数据类型
主键
非空
教师编号
T_NO
Char(4)
Yes
Yes
姓名
T_NAME
Varchar2
No
Yes
电话
T_TEL
Bigint
No
No
上课地点
PLACE
Varchar2
No
No
每个关系模式都必须注明主键码。
同时,对于从联系导出的关系,登记和分组,使用与之相联系的实体集的主健码作为自己的键码,必须符合外键码约束。
五、物理设计
1.为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引。
以下是各表中建立索引的表项:
(1)学生(学号)
(2)教师(教师编号)
(3)课程(课程号)
(4)选课(学号,课程号)
2.用SQL实现设计
(1)建立“选修课程管理系统”数据库,代码及建库截图如下:
CREATEDATABASEcourse
ON
(NAME=选修课程管理系统_data,
FILENAME='E:
\数据库课程设计\选修课程管理系统_data.mdf',
SIZE=5MB,
FILEGROWTH=1MB)
LOGON
(NAME=选修课程管理系统_log,
FILENAME='E:
\数据库课程设计\选修课程管理系统_log.ldf',
SIZE=1MB,
FILEGROWTH=1MB)
图5-1
(2)建立“学生”表,代码如下:
CREATETABLESTUDENT(
STU_NOchar(5)NOTNULLPRIMARYKEY,
STU_NAMEchar(8),
STU_SEXchar
(2),
STU_MAGchar(20),)
(3)建立“教师”表,代码如下:
CREATETABLETEACHER(
T_NOchar(10)NOTNULLPRIMARYKEY,
T_NAMEvarchar(50),
T_TELbigint,
PLACEvarchar(50),)
(4)建立“课程”表,代码如下:
CREATETABLECOURSE(
C_NOchar(10)NOTNULLPRIMARYKEY,
C_NAMEchar(10),
C_DEPTchar(10),
C_POINTchar(10),)
(5)建立“选课”表,代码如下:
CREATETABLEC_COURSE(
STU_NOchar(5),
C_NOchar(10),
C_NAMEchar(10),
POINTsmallint,
ConstraintC_COURSE_1primarykey(STU_NO,C_NO))
六、实验数据示例:
测试阶段
1.输入数据设计
(1)插入学生信息:
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('123','沈悦璐','女','计算机')
图6-1-1
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('224','李超','男','机电')
图6-1-2
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('298','李瑾','女','英语')
图6-1-3
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('346','王尤佳','女','会计')
图6-1-4
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('347','宋丽娜',‘女’,'会计')
图6-1-5
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('361','苏二飞','男','土木')
图6-1-6
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('364','李云','男','材料')
图6-1-7
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('556','孙兵','男','人文')
图6-1-8
insertintostudent(STU_NO,STU_NAME,STU_SEX,STU_MAG)values('612','赵丽','女','物理')
图6-1-9
查询录入信息结果如下图:
图6-1-10
(2)插入教师信息:
insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('156','刘老师','88036721','s203')
图6-1-11
insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('253','董老师','88036853','n305')
图6-1-12
insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('192','赵老师','88036901','e303')
图6-1-13
insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('196','杨老师','88036612','wn203')
图6-1-14
insertintoteacher(T_NO,T_NAME,T_TEL,PLACE)values('110','张老师','88036154','w105')
图6-1-15
查询录入信息结果如下图:
图6-1-16
(3)插入课程信息:
insertintocourse(C_NO,C_NAME,C_DEPT,C_POINT)values('103','数据库','计算机','5')
图6-1-17
insertintocourse(C_NO,C_NAME,C_DEPT,C_POINT)values('107','运筹学','数学','3')
图6-1-18
nsertintocourse(C_NO,C_NAME,C_DEPT,C_POINT)values('203','数理方程','数学','5')
图6-1-19
insertintocourse(C_NO,C_NAME,C_DEPT,C_POINT)values('208','控制论','计算机','4')
图6-1-20
查询录入信息结果如下图:
图6-1-21
4)插入选课信息:
insertintoc_course(STU_NO,C_NO,C_NAME,POINT)values('123','103','数据库','90')
图6-1-22
insertintoc_course(STU_NO,C_NO,C_NAME,POINT)values('224','107','运筹学','67')
图6-1-23
insertintoc_course(STU_NO,C_NO,C_NAME,POINT)values('346','208','控制论','57')
图6-1-24
insertintoc_course(STU_NO,C_NO,C_NAME,POINT)values(‘612’,'203,'数理方程','72')
图6-1-25
查询录入信息结果如下图:
图6-1-26
2.执行数据操作设计:
(1)基本select语言的使用
查询course表中指定的数据,代码及结果如下图:
图6-2-1
(2)模糊查询like语句的使用
查询teacher中指定的数据,代码及结果如下图:
、
图6-2-2
(3)统计函数count的使用
查询选课门数不小于一门的学生学号及姓名
代码及结果如下图:
图6-2-3
(4)对数据库中的数据进行操作
删除学生表中指定的数据,代码及结果如下图:
图6-2-4
更新教师表中的数据,代码及结果如下图:
图6-2-5
(5)触发器的设计,实现表间关联字段修改时的完整性问题。
如果某同学已经毕业或退学了就可以在STUDENT表中删除其信息,同时该同学在COURSE表中的信息应该自动被删除,假设不存在参照完整关系。
实现该功能的触发器代码如下:
图6-2-6
禁止删除学生表中数据的触发器:
图6-2-7
6)存储过程的设计,根据需要可以创建带参数的存储过程,并用语句调用。
存储过程的使用可以加快SQL语句的执行速度,减少网络通信量,并在一定程度上保证系统的安全性。
本系统中设计的存储过程代码及结果如下图所示:
图6-2-8
数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行了。
但是,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,对数据库设计进行评价、调整、修改等维护工作是一个长期的任务。
七、总结
两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。
这个课程设计采用的是sql语句在数据库查询分析器里直接查询。
这次课程设计给了我机会实践对数据库的操作,让我对书本上的知识有了一个新的认识。
通过自己这次完成数据库的课程设计,使我对数据库有了更深一步的了解。
数据库应用系统的开发设计是一个规范化的过程,需要遵循以定的方式方法与开发设计步骤;开发一个数据库应用系统,通常要经过调查分析、数据建模、功能设计、选择数据库系统、选择数据库访问技术等阶段;数据库关系模式的设计非常的重要,使整个系统的设计中心,其设计合理否,将全面影响整个系统的成功实现。
课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程.”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义.我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础.
通过这次模具设计,本人在多方面都有所提高。
通过这次模具设计,综合运用本专业所学课程的理论和生产实际知识进行一次冷冲压模具设计工作的实际训练从而培养和提高学生独立工作能力,巩固与扩充了冷冲压模具设计等课程所学的内容,掌握冷冲压模具设计的方法和步骤,掌握冷冲压模具设计的基本的模具技能懂得了怎样分析语言,怎样确定语言,提高了计算能力,绘图能力,熟悉了规范和标准,同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。
在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
在此感谢我们的董老师老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次模具设计的每个实验细节和每个数据,都离不开老师您的细心指导。
而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。
由于本人所学知识的局限,设计能力的有限和设计时间的不足,在设计过程中难免出现错误,恳请老师批评与指正,谢谢。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 选修 课程 管理 系统