数据库课程设计教务管理系统Word格式文档下载.docx
- 文档编号:17481992
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:17
- 大小:336.22KB
数据库课程设计教务管理系统Word格式文档下载.docx
《数据库课程设计教务管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计教务管理系统Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
在教务管理系统相关的表之间,有较强的关联性,为了实现一致性的需求,我们在各个表之间建立起了一致性约束。
2.5完整性需求
根据教务管理系统的要求,为保持数据的完整性,采用了数据库的事务机制,防止出现操作故障。
3概要设计
3.1接口设计
3.1.1外部接口
通过一定的计算机硬件,建立服务器系统,管理员通过管理服务器系统,与用户进行交互,从而达到资源共享的目的,实现教务管理系统。
3.1.2内部接口
程序内部需要共同的数据定义和描述,此系统是智能办公化管理系统的一个子系统,必须和这个系统的其他子系统统一数据定义等,才能使该系统性能达到最好,并且要尽量消除和其他子系统模块之间存在的数据冗余,才能使整个智能办公系统做到高效方便。
3.2E—R图
3.2.1局部E-R图
图3-1班级信息图
图3-2籍贯代码图3-3民族代码图图3-4学籍代码图
图3-5政治面貌图
图3-6课程图
图3-7选课图
图3-8学生图
图3-9成绩图
图3-10课程信息图图3-11费用图
3.2.1全局E-R图
图3-12教务系统E—R图
4逻辑设计
4.1关系模式转换
班级信息表:
班级(班级编号,年级,班级名称,班级简称,人数,导员)
籍贯代码表:
籍贯代码表(籍贯编号,籍贯)
民族代码表:
民族代码表(民族编号,民族)
政治面貌代码表:
政治面貌代码表(政治面貌编号,政治面貌)
学籍代码表:
学籍代码表(学籍编号,学籍名称)
选课表:
选课(学号,课程编号,课序号)
学生表:
学生(学号,姓名,性别,年龄,所在系,班级编号,政治面貌编号,民族编号,籍贯编号,学籍编号)
成绩表:
成绩表(学号,课程编号,成绩,考试次数,是否补修,是否重考,是否已经确定考试成绩)
课程信息表:
课程信息(课程编号,课程名称,先修课,教师,系别,学分)
费用表:
费用(费用单号,学号,学费,住宿费,课本费,杂费,补考费)
课程表:
课程表(课序号,课程编号,上课时间天,上课时间节,上课地点)
4.2各实体及其属性表格
(1)成绩表
学号
varchar(14)
Primarykey
课程编号
varchar(8)
不允许空
成绩
smallint
考试次数
varchar
(2)
是否补修
是否重考
是否已经确定考试成绩
(2)班级表
班级编号
年级
varchar(4)
班级名称
varchar(30)
班级简称
varchar(16)
人数
numeric
导员
(3)学生表
姓名
性别
年龄
所在系
政治面貌编号
民族编号
籍贯编号
学籍编号
(4)费用表
费用单号
学费
money
住宿费
课本费
杂费
补考费
money
(5)学籍代码表
char
(2)
血迹名称
(6)政治面貌代码表
政治面貌
(7)民族代码表
民族
varchar(18)
(8)籍贯代码表
籍贯
(9)课程信息表
课程名称
先修课
教师
系别
学分
(10)课程表
课序号
上课时间天
int(4)
上课时间节
上课地点
varchar(20)
(11)选课表
5数据库实现
5.1创建数据库
打开SQLServer企业管理器,新建一个数据库,名称为“教务管理系统”,完成数据库的设计。
5.2创建数据表
(1)班级表
(2)成绩表
(3)费用表
(4)课程信息表
(5)学生表
5.3创建索引
学生表按学号升序建唯一索引
CREATEUNIQUEINDEX学生学号ON学生(学号)
课程信息表按课程编号升序建唯一索引
CREATEUNIQUEINDEX课程编号引ON课程信息(课程编号)
选课表按学号升序和课程编号按降序建唯一索引
CREATEUNIQUEINDEX选课引ON选课(学号ASC,课程编号DESC)
成绩表按成绩降序排列建立索引
CREATECLUSTERINDEX成绩降序ON成绩表(成绩DESC)
5.4创建视图
5.4.1定义视图
建立数理系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有该系的学生。
CREATEVIEWCS(SNO,SNAME,SSEX,AGE)
AS
SELECT学号,姓名,性别,年龄
FROM学生
WHERE所在系=’数理’
WITHCHECKOPTION
5.4.2查询视图
查询数理视图中学号为200903的学生的姓名、年龄及学号。
SELECTSNAME,AGE,SNO
FROMCS
WHERESNO=’200903’
5.5创建存储过程与触发器
5.5.1存储过程
在数据库中,创建一个名为IR的存储过程,该过程的功能是向学生表中插入一条记录,信记录由参数提供。
CREATEPROCEDUREIR
(@学号varchar(14),
@姓名varchar(8)
@性别varchar(8)
@年龄smallint
@所在系varchar(14)
@班级编号varchar
(2)
@政治面貌编号varchar
(2)
@民族编号varchar
(2)
@籍贯编号varchar
(2)
@学籍编号varchar
(2)
)
INSERTINTO学生VALUES(@学号,@姓名,@性别,@年龄,@所在系,@班级编号,@政治面貌编号,@民族编号,@籍贯编号,@学籍编号)
execIR
@学号='
200906'
@姓名='
张飞'
@性别='
女'
@年龄='
22'
@所在系='
计算机'
@班级编号='
1'
@政治面貌编号='
0'
@民族编号='
@籍贯编号='
@学籍编号='
5.5.2触发器
创建一个触发器,当向学生表中插入一条记录时,自动显示学生表中的记录。
CREATETRIGGERch
on学生
FORINSERT
SELECT*FROM学生
6系统测试
6.1数据查询
(1)查询学号为200903同学所缴纳的总费用
(2)查询选修02号课程且成绩在80分以上的学生
(3)查询学号为200901的同学的上课地点都在哪里
6.2数据更新
插入一条学生记录
INSERT
INTO学生
VALUES(‘200905’,’杨一涛’,’男’,’22’,’计算机’,’2’,’1’,’1’,’0’,’0’)
7课程设计总结
通过这次对数据库的课程设计,不仅仅让我对所学的知识有了更深一步的掌握及理解,同时也得到了很多有用的发现及认识,大体有一下几个方面。
首先,设计始终应带着面向对象的思想去设计,这是设计的基本原则。
对象的抽取应该符合真实性和抽象性,不能将对象强制抽取合并。
其次,在数据设计中,数据的使用率和冗余应该是设计考虑的通用标准。
对外键的认识不能停留在表面,它代表了一对多的关系,它在真实的实体之间也能体现这关系的。
最后,虽然目前我们的数据库设计模式能够满足开发要求,也节省了开发时间,但是这样的设计会对以后工程项目的维护、改版造成成本上的增加。
数据库表的字段在修改上将对主程序造成影响;
另外对于开发和维护人员来说,字段的编码也需要规范化,这样可以统一字段编码,让维护人员一看就懂,增添的字段对以后接手项目的人员来说则很容易上手。
参考文献
[1]望珊,萨师煊.数据库系统概论[M].北京:
高等教育出版社,
2006.5:
75-83
[2]范立南,刘天惠等.SQLServer2000实用教程[M].北京:
清华大学出版社,2004.02:
47-138
[3]ThomasM.Connolly,CarolynE.Begg.数据库设计教程[M].北京:
机械工业出版社,2005.1:
1-49
附录:
(1)创建“班级”数据表
CREATETABLE班级
(班级编号VARCHAR(14)NOTNULL,
年级VARCHAR(4),
班级名称VARCHAR(30),
班级简称VARCHAR(16),
人数NUMERIC(3,0),
导员VARCHAR(8))
(2)创建“学生”数据表
CREATETABLE学生
(学号VARCHAR(14)NOTNULL,
姓名VARCHAR(8),
性别VARCHAR
(2),
年龄SMALLINT,
所在系VARCHAR(20),
班级编号VARCHAR(14),
政治面貌编号VARCHAR
(2),
民族编号VARCHAR
(2),
籍贯编号VARCHAR
(2),
学籍编号VARCHAR
(2))
(3)创建“课程信息”数据表
CREATETABLE课程信息
(课程编号VARCHAR(8)NOTNULL,
课程名称VARCHAR(30)NOTNULL,
先修课VARCHAR(30),
教师VARCHAR(8),
系别VARCHAR(20),
学分SMALLINT)
(4)创建“课程表”数据表
CREATETABLE课程表
(课序号VARCHAR(14)NOTNULL,
课程编号VARCHAR(8)NOTNULL,
上课时间天INTNOTNULL,
上课时间节INTNOTNULL,
上课地点VARCHAR(20)NOTNULL)
(5)创建“成绩表”数据表
CREATETABLE成绩表
课程编号VARCHAR(8)NOTNULL,
成绩SMALLINT,
考试次数SMALLINT,
是否补修VARCHAR
(2),
是否重考VARCHAR
(2),
是否已经确定考试成绩VARCHAR
(2))
(6)创建“费用”数据表
CREATETABLE费用
(费用单号VARCHAR(14)NOTNULL,
学号VARCHAR(14)NOTNULL,
学费MONEY,
住宿费MONEY,
课本费MONEY,
杂费MONEY,
补考费MONEY)
(7)创建“选课”数据表
CREATETABLE选课
课序号VARCHAR(14)NOTNULL,)
(8)创建其他关键数据表
CREATETABLE政治面貌代码表
(政治面貌编号CHAR
(2)NOTNULL,
政治面貌VARCHAR(14))
GO
CREATETABLE民族代码表
(民族编号CHAR
(2)NOTNULL,
民族VARCHAR(18))
CREATETABLE学籍代码表
(学籍编号CHAR
(2)NOTNULL,
学籍名称VARCHAR(8))
CREATETABLE籍贯代码表
(籍贯编号CHAR
(2)NOTNULL,
籍贯VARCHAR(18))
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 教务 管理 系统