数据库 教务管理系统 综合实验报告
- 格式:doc
- 大小:823.00 KB
- 文档页数:20
华北科技学院计算机系综合性实验
实验报告
课程名称《数据库系统A》
实验学期2011 至2012 学年第 2 学期学生所在系部计算机学院
年级2010 专业班级网络B101班
学生姓名学号
任课教师
实验成绩
计算机系制
《数据库系统A》课程综合性实验报告
一、实验目的
利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。
二、设备与环境
(1) 硬件设备:PC机一台
(2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2008等。
三、实验内容
1.需求分析
首先,通过调查,教务管理系统中主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。对应这些用户,其处理要求的主要的功能就是进行一系列的查询和各类数据的管理及维护。其具体的处理要求如下:
1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销等功能。
2)教务管理:实现教务管理人员对系统的管理,包括课程安排,成绩审核,学生成绩管理,学生学籍管理等功能。
3)基本信息:实现显示学生和老师以及课程、班级、系别的基本信息(包括学生基本信息,教师基本信息,课程基本信息等)。
4)查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己的课程,课表,成绩等,老师查询包括查询自己的信息,自己所带班的学生,自己的课表以及学生成绩等。
5)教师对成绩的录入以及自己信息的查询与维护。
其次,该教务管理系统中,结合以上用户种类以及其具体的处理功能要求,教务管理系统要具备以下信息要求:
教务管理系统涉及的实体有:
教师——工作证号、姓名、电话、工资、邮箱;
学生——学号、姓名、性别、年龄、系代号等;
班级——班号、最低总学分等;
系——系代号、系名和系办公室电话等;
课程——课序号、课名、学分、最大人数等;
其中,这些实体之间的联系如下:
每个学生都属于一个班,每个班都属于一个系,每个教师也都属于一个系。
每个班的班主任都由一名教师担任
一名教师可以教多门课,一门课可以有几位主讲老师,但不同老师讲的同一
门课其课序号是不同的(课序号是唯一的)。
一名同学可以选多门课,一门课可被若干同学选中。 一名同学选中的课若已学完,应该记录有相应成绩。 本单位学生、教师都有重名,工作证号、学号唯一。
另外,对于教务管理系统需求分析的安全性及完整性要求,首先,安全性方面,系统应对不同用户设置不同的权限,例如,学生用户不能随意更改自己的成绩信息等,从而保障数据库数据的安全。其次,完整性方面,要求各种信息记录的完整性,关键信息记录内容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性等。
2.概念结构设计
在概念结构设计中,我采用自底向上设计概念结构的方法。即第一步抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。
该教务管理系统中的局部概念模型(E-R 图)如下: (1)、一个系内的关系模式图:
(2)、选课系统的关系模式图:
(3)、教师授课系统关系模型图:
教
班
属最低总学分 班
号 电话
邮箱
姓名 工作证号 系
系办公室电话
系名 系代号 属
工
学学
号 年龄 性别 姓
名 工资
学课
学号 年龄 性别
姓名 名额
学分
课名 课序号 授
教
电话
邮箱
姓名
工作证号
课
名额
学分
课
名
课序号
工资
系代号
系代
号
选
期中成绩
平时成绩 最后成绩
总评成绩
期末成绩
学生成绩查询视图:
教师基本信息查询视图:
另外,在创建表的同时还要注意有时需要创建两个表之间的级联,例如,此教务管理系统中SC表是参照学生表的学号和课程表的课号建立的,所以应该在SC表中建立其与Student表与Course表的级联;课程表又是参照教师表中的教师工作证号建立的,所以应该建立一个course表与教师teacher表的级联;班级表也是参照教师表中的教师工作证号建立的,所以也应该建立一个class表与教师teacher表的级联,这样当参照表发生改变时能同时在目标表中也发生相应改变,保证数据库中数据的正确有效性。
(2)创建用户
该教务管理系统的主要用户有学生用户,老师用户,教务管理员和系统管理员等四种,所以需要创建这四种类型的用户,并授予其相应的权限。
对于学生用户就只能授予其查询学生基本信息student表的权限,老师相关信息视图V-teacher表的权限,查询学生成绩视图V_student表的权限,以及查询教师授课分配图DTC 表的权限;
教师则具有查询学生基本信息Student表的权限,查询教师授课的视图DTC表的权限,还具有修改自己基本信息teacher表的权限,还有登记插入学生成绩信息即修改SC表的权限;
教务管理员具有修改本系一切相关信息的权力,包括查询、删除、增添、修改,而系统管理员具有创建各种表、视图、触发器及存储过程并对各个用户进行相应授权的权力。(3)使用触发器、存储过程等相关技术。
在教务管理数据库中,鉴于存在教师的退休及学生退学或毕业的情况,所以必然会有删除这些信息的操作,为了方便起见,所以有必要设计一个“删除教师信息”触发器以及“删除学生信息”触发器。同时教务管理系统的数据库必然涉及到学生选课退课的问题,所以还需要设计一个关于选课退课系统的“选课”触发器与“删除选课”触发器。
“删除教师信息”与“删除学生信息”触发器的过程大致相同,就“删除教师信息”触发器来说,当删除教师时如果该教师在course表中有其授课信息,则当删除该教师后必会引起course表不可用,所以创建的该触发器当所要删除的教师号存在于course表里时,系统就应该给出“course表里有该教师的课程,请先删除course表里的记录!”的提示信息;就“删除学生信息”触发器来说,如果该学生退学时在选课表里仍有其选课记录,则当删除该学生信息后,在SC表里的相关选课记录必然成为无效,所以在此设置了一个判断即将退学的学生是否能删除的触发器,当退学学生在SC表里有该学生的记录时应该给出“SC表里有该学生的选课课程,请先删除SC表里的记录!”的信息提示。
“删除教师信息”触发器操作演示如下所示: