好文档 - 专业文书写作范文服务资料分享网站

数据库-教务管理系统-综合实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

华北科技学院计算机系综合性实验

实 验 报 告

课程名称 《数据库原理及应用教程》 实验学期 2011 至 2012 学年 第 2 学期 学生所在系部 计算机学院 年级 专业班级 学生姓名 学号 任课教师 郭红 实验成绩

计算机系制

《数据库原理及应用教程》课程综合性实验报告

开课实验室:软件开发实验室(一) 2012年6月 6日 实验题目 一、实验目的 《教务成绩管理系统》数据库设计 利用一种DBMS作为设计平台,理解并应用课程中关于数据库设计的相关理论,能按照数据库设计步骤完成完整的数据库设计,包括需求分析、概念设计、逻辑设计、物理设计和实施。同时能够正确应用各个阶段的典型工具进行表示。 二、设备与环境 (1) 硬件设备:PC机一台 (2) 软件环境:安装Windows操作系统,安装数据库管理系统SQL Server2008等。 三、实验内容 1.需求分析 首先,通过调查,教务成绩管理系统中主要有四类用户,即学生用户,老师用户,教务管理员和系统管理员。对应这些用户,其处理要求的主要的功能就是进行一系列的查询和各类数据的管理及维护。其具体的处理要求如下: 1)系统管理:实现系统管理人员对系统的管理,包括添加删除用户,更改密码,数据备份,数据还原,注销功能。 2)教务管理:实现教务管理人员对系统的管理,包括课程安排,成绩审核,学生成绩管理功能。 3)基本信息:实现显示学生和老师以及课程、班级、系别的基本信息。 4)查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己所修的课程,成绩,老师查询包括查询自己的信息和自己的所授的课程。 5)教师对成绩的写入以及自己信息的查询与维护。 其次,该教务管理系统中,结合以上用户种类以及其具体的处理功能要求,教务成绩管理系统要具备以下信息要求: 教务管理系统涉及的实体有: ? 教师——教师号、姓名、性别、年龄、职称、系号; ? 学生——学号、姓名、性别、年龄、系号; ? 授课关系——教师号、课程号;选课关系——学号、课程号、成绩; ? 系——系号、系名、电话; ? 课程——课程号、课程名、学分。 其中,这些实体之间的联系如下: ? 一个系有若干名学生和老师,但一名学生或一名老师只能属于一个系。 ? 一名教师可以教多门课,一门课可以有几位老师讲授,但不同老师讲的同一门课其课程号是不同的,即对于授课教师或课程来说,课程号是唯一的。 ? 一名同学可以选多门课,一门课可被若干同学选中。 ? 本单位学生、教师可能有重名,所以教师号、学号才是唯一的。 另外,对于教务成绩管理系统需求分析的安全性及完整性要求,首先,安全性方面,系统应对不同用户设置不同的权限,例如,学生用户不能更改自己的成绩信息,从而保障数据库数据的安全。其次,完整性方面,要求各种信息记录的完整性,关键信息记录内容不能为空;各种数据间相互的联系的正确性;相同的数据在不同记录中的一致性等。 2.概念结构设计 在概念结构设计中,我采用自底向上设计概念结构的方法。即第一步抽象数据并设计局部视图,第二步是集成局部视图,得到全局的概念结构。 该教务管理系统中的局部概念模型(E-R图)如下: (1)、一个系内的关系模式图: 年龄学号性别学生姓名N教师号属于1性别年龄职称姓名教师N1系别系名年龄学号性别姓名学生M拥有系号电话 (2)、选课关系与授课关系模式图: 成绩选修N教师号教师MN姓名性别年龄职称课程课程号课程名授课学分 该教务管理系统中的全局概念模型为: 课程号N课程名N课程学分N教师号教授M性别年龄职称姓名选修年龄学号性别M教师N学生姓名属于1系别系号1拥有系名电话 3.逻辑结构设计 (1)关系模式的设计与优化 E-R图向关系模型的转换: a. “教师”实体对应的关系模式: 教师(教师号,姓名,性别,年龄,职称) 代码表示为:Teacher(Tno. Tname. Tsex. Tage. Prof) 其中,教师号为其主码,又因为教师与系别之间是n:1的工作关系,经过与系别关系模式的合并后,系别号Dno成为教师关系模式的外码,存在的关系依赖为Tno →( Tname,Tsex,Tage, Prof,Dno),不存在对候选码的部分依赖与传递依赖,所以满足BCNF。 b. “学生”实体对应的关系模式: 学生(学号,姓名,性别,年龄) 代码表示:Student ( Sno, Sname, Ssex, Sage) 其中,学号为其候选码,又因为学生与班级之间是n:1的属于关系,存在的关系依赖为Sno →(Sname,Ssex.Sage,Dno),不存在对候选码的传递依赖,所以满足BCNF. c. 系(系代号,系名,系办公室电话) 代码表示:Sdept ( Dno, Dname, Dphone ) 系代号为候选码,存在的函数依赖为Dno → (Dname,Dphone),且不存在部分依赖与传递依赖,所以满足BCNF。 d. “选修”联系对应的关系模式: 选课(学号,课程号,成绩) 代码表示:SC ( Sno, Cno,Grade.) 此为m:n联系“选修”所对应的关系模式。Sno和Cno均为外码。存在的函数依赖为完全函数依赖(Sno,Cno) → grade,且不存在部分依赖与传递依赖,所以满足BCNF。 e. “课程”实体对应的关系模式: 课程(课程号,课名,学时) 代码表示:Course ( Cno, Cname, Credit ) f. “授课”联系对应的关系模式: 授课(课程号,教师号) 代码表示:TC ( Tno, Cno.) 此为m:n联系“授课”所对应的关系模式。Tno和Cno均为外码。 (2)设计合适的视图 在将E-R图向关系模型转换后,还应根据局部应用的需求,对不同级别的用户定义不同的视图,这样不仅可以在视图中重新定义某些属性名,使用户使用更方便,而且还可以通过视图保证系统的安全性。 在本次的教务成绩管理系统数据库中,我针对使用该数据库最频繁的学生和教师用户建立了相关视图,其中包括对系别、教师、课程的分配视图;对学生学号、成绩、等相关信息的查询,教师基信息的查询两个视图,这样,对这些经常使用的查询,用户就可以通过视图来查询,大大简化了用户的使用。 创建的三个视图的截图如下: 教师基信息与学生成绩查询视图: 4.物理设计 该数据库中每一个关系模式的主码分别为系统自动设置的索引,如学生关系模式中的学号,教师关系模式中的教师号,系别中的系号等,同时,通过对实际操作的思考,为了查询某系的老师的方便,我们还需要在Teacher表中建立一个“系号”Dno的索引;又因为查询操作很多都通过学生姓名查找的,所以还需要在Student表姓名列sname上建立一个索引等,这样大大简化查询操作。 5.数据库的实现 (1)创建库、表 在该教务成绩管理系统中包括了学生表、教师表、选课表、系别表、授课表、课程表六个表。在此,我以学生表为例进行说明表的创建。 一个完整的表必须包括对实体完整性、参照完整性、用户定义完整性的三种完整性的定义。 在学生表中,首先考虑表的实体完整性要求,在该学生表中学号被设为主码,用PRIMARY KEY定义,且该表含有多个属性,所以学号就是表级约束条件,从而完成了学生表的实体完整性的定义。 其次,对于学生表的参照完整性,系号(Dno)是该学生表的外码,同时它还是班级系别Sdept表的主码,所以对其用FOREING KEY短语进行定义,并用REFERENCES短语指明该外码是参照那些表的主码,从而完成对表的参照完整性的定义。 最后,是表的用户定义完整性,在该学生表中,结合实际情况我们不难想到应该定义一个姓名Sname为非空的约束条件和性别Ssex只能为“男”或“女”二者选其一的约束条件,其中姓名的非空用NOT NULL定义即可,而性别用CHECK语句定义即可。 创建学生表的代码为: CREATE TABLE student (Sno CHAR(10) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) CHECK(Ssex IN ('男','女')), Sage SMALLINT, Dno CHAR(10), FOREIGN KEY (Dno) REFERENCES Sdept(Dno) ); 创建的学生表截图如下:

数据库-教务管理系统-综合实验报告

华北科技学院计算机系综合性实验实验报告课程名称《数据库原理及应用教程》实验学期2011至2012学年第2学期学生所在系部计算机学院年级专业班级
推荐度:
点击下载文档文档为doc格式
1bsig8f2ze35m4y31ezc5v45r56fh1008y0
领取福利

微信扫码领取福利

微信扫码分享