河南城建学院Henan University of Urban Construction《数据库原理》课程设计报告课程名称:《数据库原理》课程设计设计题目:《教务管理系统》指导教师:何宗耀班级:0844141学号:084414144学生姓名:同组人员:成绩:评语:计算机科学与工程学院2016年6月目录第1章概述 (3)1.1选题的背景与意义 (3)1.2相关技术分析 (4)第2章系统功能设计 (4)2.1系统总体结构设计图 (4)2.2系统功能模块 (5)1.2.1 模块 (5)1.2.2 模块功能 (5)第3章数据库设计 (6)3.1需求分析 (6)3.1.1流程图 (6)3.1.2 数据字典 (8)3.2概念结构设计 (10)3.2.1 E—R图 (10)3.3逻辑结构设计 (12)3.3.2范式的判定(3NF) (12)3.3.3 子模式的设计(视图) (14)3.4物理结构设计 (18)3.4.1存储结构与存取方法 (18)3.4.2数据的易变与稳定部分 (20)3.4.3索引的建立 (20)3.5数据库、表建立的代码 (20)3.5.1建立视图 (24)3.5.2建立存储过程 (25)3.5.4建立触发器 (26)3.6数据库实施 (28)3.6.1 数据表截图 (28)3.6.2视图的截图 (32)3.6.3存储过程的截图 (34)3.6.4 触发器实现过程的截图 (35)第4章 (40)第1章概述1.1 选题的背景与意义现如今高等院校的招生人数越来越多,必然就会有大量的学生信息、教师信息及课程信息需要处理。
如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还有可能出现很多意想不到的错误,给管理这些数据带来了极大的不便,越来越不适合高校的发展需要。
教务管理系统是一个庞大而复杂的系统,它包括对教师信息的管理,对课程资料的管理,对学生信息的管理和对学生成绩的管理等主要功能。
教务管理系统是每所高校的一项必不可少的内容,但最基本的还是教务管理系统数据库的设计,它的好坏直接影响到学校的主要工作。
因此,本数据库设计的总体目标就是在教学管理中更方便的实现对信息系统化、自动化的管理,减少工作繁琐度,增加效率、方便性。
1.2相关技术分析SQL-Server 2008在Microsoft的数据平台上发布,帮助您的组织随时随地管理任何数据。
它可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。
它有一系列丰富的集成服务,可以对数据进行查询、搜索、同步、报告、和分析之类的操作。
数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,在使用中可以控制数据而不用管数据存储在哪里。
第2章系统功能设计2.1系统总体结构设计图合系统的需求,本系统的基本系统功能如图5-10所示2.2 系统功能模块1.2.1 模块模块一教师管理系统(主要完成教师的信息维护以及授课信息)模块二学生管理系统(主要完成学生信息的维护以及上课的管理)1.2.2 模块功能系表信息查询和更新模块将实现对系部信息的查询和更新(修改、插入、删除)操作,方便于对系部基本信息的管理教师管理系统(1)教师表实现了对教师信息的查询,更新(修改插入删除)操作(2)授课表实现了老师教学任务信息的维护学生管理系统(1)班级表的查询和更新模块将完成班级基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(2)学生表的查询和更新模块将完成学生基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(3)课程表的查询和更新模块将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(4)选课表的查询和更新模块将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(5)教室表的查询和更新模块将完成教室基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理(6)班主任在Student表中查询全部学生信息(7)在Student,Cource,Elective 表中,按学号查询学生成绩(8)学生在Student表中查询本人信息第3章数据库设计3.1 需求分析3.1.1流程图局部流程图:总的流程图:3.1.2 数据字典数据项:系统涉及的数据项有29项数据项列表数据结构数据结构列表数据存储数据存储结构列表处理过程存储过程列表3.2 概念结构设计3.2.1 E —R 图局部E-R 图:全局E-R图采用自底直地向上的设计方法,首先定义局部的概念结构,然后将局部概念概念结构集成全局的概念结构。
在进行局部E-R图的合并时先消除属性,命名及结构冲突。
然后消除冗余生成全局E-R图。
上述E-R图各实体的属性如下所示:院系:Deparement(Xno, Xname, Xdirector)学生:Student(Sno, Sname, Ssex, Saddr, Sage, Smajor,Cno)教师:Teacher(Tno, Tname, Tsex, Tpos, Tage, Tsal)课程:Course(Courseno, Coursename,Credit, Coursedirector)教室:Classroom(Rno, Rname, Raddr)班级:Class(Cno, Cname, Xno, Cdirector)各E-R图中联系的属性如下所示:选课信息:Elective(Sno, Courseno, Grade)占用教室信息:Occupy(Cno, Rno, Stime, Uestime)授课信息:Teaching(Tno, Cno, Courseno, Teachtime)3.3 逻辑结构设计3.3. 1 E-R图向关系模式转换原则1.一个实体转换为一个表,实体的属性转换为表的列,实体的码转换为表的主键。
2.实体间的联系根据联系的类型转换如下:1:1的联系两个实体分别转换为表后,只要在一个表中增加外键,一般在记录较少的表中增加属性,作为外键,该属性是另一个表的主键。
1:n的联系在n端的实体对应的表中增加属性,该属性是1端实体对应的主键。
m:n的联系通过引进一个新表来表达两个实体多对多的联系,新表的主键是由联系两端实体的主键组合而成,同时增加相关的联系属性。
3.3.2范式的判定(3NF)范式的判定院系:Deparement(Xno, Xname, Xdirector) 3NF学生:Student(Sno, Sname, Ssex, Saddr, Sage, Smajor ,Cno) 3NF教师:Teacher(Tno, Tname, Tsex, Tpos, Tage, Tsal) 3NF课程:Cource(Courceno, Courcename,Credit, Courcedirector) 3NF教室:Classroom(Rno, Rname, Raddr) 3NF班级:Class(Cno, Cname, Xno, Cdirector)3NF选课信息:Elective(Sno, Courceno, Grade) 3NF占用教室信息:Occupy(Cno, Rno, Stime, Uestime) 3NF授课信息:Teaching(Tno, Cno, Courceno, Teachtime) 3NF以上各表均满足第一范式属性是不可分割的基本数据象,第二范式关系属性集中的非主属性完全依赖于候选码,第三范式每个非主属性既不部分函数依赖于码,也不传递依赖于码。
具体的基本E-R图向关系模型的转化如下:院系:Department(Xno, Xname, Xdirector)学生:Student(Sno, Sname, Ssex, Saddr, Sage, Smajor, Cno)教师:Teacher(Tno, Tname, Tsex, Tpos, Tage, Tsal)课程:Course(Courceno, Coursename,Credit, Coursedirector)教室:Classroom(Rno, Rname, Raddr)班级:Class(Cno, Cname, Xno, Cdirector)选课信息:Elective(Sno, Courseno, Grade)占用教室信息:Occupy(Cno, Rno, Stime, Uestime)授课信息:Teaching(Tno, Cno, Courseno, Teachtime)(注:标有直线下划线的为主属性,标有波浪线下划线的为外键属性,主属性与外键属性一起构成主码)模型优化确定数据依赖。
分别写出每个关系内部属性的以及不同关系模式属性间的数据依赖。
根据需求分析可知:1.系表的数据依赖:{系号->系名,系号->系主任}2.班级表的数据依赖:{班号->班名,班号->班主任,班号->系号}3.学生表的数据依赖:{学生号->姓名,学生号->性别,学生号->省份,学生号->年龄,学生号->班级号,学生号->专业}4.课程表的数据依赖:{课程号->课程名,课程号->学分,课程号->任课教师号}5.教师表的数据依赖:{教师号->姓名,教师号->职称,教师号->性别,教师号->年龄,教师号->工资}6.教室表的数据依赖:{教室号->教室名,教室号->教室位置}7.选课表的数据依赖:{(学生号,课程号)->成绩}8.占用表的数据依赖:{(班级号,教室号,上课时间)->占用学时}9.授课表的数据依赖:教授表的数据依赖:{(教师,班级号,课程号)->授课时间} 3.3.3 子模式的设计(视图)1.院系信息表2 .班级信息表3. 学生信息表4. 课程信息表5. 选课信息表6. 教室信息表7. 占用信息表8. 教师信息表9. 授课信息表3.4 物理结构设计3.4.1存储结构与存取方法存储结构的确定确定数据库的存储结构,主要是数据库中数据的存放位置,合理设置系统参数。
数据库中的数据主要是指表、索引、聚促、日志、备份等数据。
存储结构选择的主要原则是:数据存取时间上的高效性、存储空间的利用率、存储数据的安全性。
存放位置在数据存放位置之前,要将数据中易变部分和稳定部分适当分离并分开存放;要将数据库管理系统文件和数据库文件分开。
如果系统采用多个磁盘和磁盘阵列,将表和索引存放在不同的磁盘上,查询时由于两个驱动器并行工作,可以提高I/O读写速度。
为了系统的安全性,一般将日志文件和重要的系统文件存放在多个磁盘上,互为备份。
另外,数据库文件和日志文件的备份,由于数据量大,并且只在数据库恢复时使用,所以一般存储在磁带上。