教学管理系统课程设计

河南城建学院

《数据库原理及应用》课程设计报告

课程名称: 《数据库原理及应用》课程设计

设计题目: 教学管理系统 指导教师: 班 级: 学 号: 学生姓名:

计算机科学与工程学院

2015年12月

前 言

数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。

随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视.

利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。

在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述

目 录

第1章 概述 ................................................................................................................................... 1 1.1 选题的背景与意义 ............................................................................................................... 1 1.2主要功能模块 ....................................................................................................................... 1 第2章 系统功能设计 ................................................................................................................... 2 2.1系统总体结构设计图 ........................................................................................................... 2 2.2 系统功能模块 ....................................................................................................................... 2 2.2.1 教师模块 ....................................................................................................................... 2 2.2.2 学生模块 ....................................................................................................................... 2 2.2.3 教务模块 ....................................................................................................................... 2 第3章 数据库设计 ....................................................................................................................... 3 3.1 需求分析 ............................................................................................................................... 3 3.1.1 背景说明: ................................................................................................................... 3 3.1.2 各子系统的需求分析 ................................................................................................... 3 3.1.3 数据字典 ....................................................................................................................... 5 3.2 概念结构设计 ....................................................................................................................... 8 3.2.1 概念结构设计过程 ....................................................................................................... 8 3.2.2 视图集成 ....................................................................................................................... 9 3.3 逻辑结构设计 ..................................................................................................................... 12 3.3.1 E-R图像关系模式转换原则 ....................................................................................... 12 3.3.2 范式判定 .................................................................................................................. 12 3.3.3 子模式的视图 ............................................................................................................. 13 3.4 物理结构设计 ................................................................................................................. 15 3.4.1 数据存储结构 ............................................................................................................. 15 3.4.2 数据存取方法 ............................................................................................................. 16 3.4.3 系统功能模块 ............................................................................................................. 16 3.4.4 数据库实施阶段 ......................................................................................................... 17 3.5 数据库实施 ......................................................................................................................... 25 3.6 备份计划 ............................................................................................................................. 28 第4章 结束语 ............................................................................................................................. 29 参考文献 ....................................................................................................................................... 30

第1章 概述

1.1 选题的背景与意义

应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。

数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。

数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

通过对学校的教学管理工作进行详细调查,在熟悉了教学业务流程后,认为:教学管理是一个教学单位不可缺少的部分,教学管理的水平和质量至关重要,直接影响到学校的发展。但传统的手工管理方式效率低,容易出错,保密性差。此外,随着时间的推移,将产生大量的文件和数据,给查找、更新和维护都带来不少困难。使用计算机进行教学管理,优点是检索迅速、检查方便、可靠性高、存储量大、保密性好、减少错误发生扥,大大提高了教学管理的效率和质量。因此开发“教学管理系统”势在必行,同时从经济、技术、社会三方面分析也是可行的。

1.2主要功能模块

根据在学校的学习过程,要实现教学管理系统,将其分为三个功能模块,分别为学生功能模块、教师功能模块和教务管理模块,对学生功能模块又可以分为选课功能模块和学生信息管理功能,这几个功能模块共同实现了教学管理功能,可以实现对学生的信息查询、教师的信息查询、教授的信息查询、课程查询、选课、班级的管理以及一些突发情况的收取等。

对各个的功能模块经常反复推测才得出,每个功能模块实现的功能不一样,但是又不可分离,教学业务管理是对学校教学业务工作所进行的有计划、有组织的管理活动。教学业务管理是学校教学管理的重要组成部分,它决定着学校教学管理的水平。根据各个功能的协调得出此教学管理系统。

第2章 系统功能设计

2.1系统总体结构设计图

学籍管理模块

课程管理模块

教师模块

学生模块

教务模块

教学管理系统

2.2 系统功能模块

2.2.1 教师模块

教师模块是用来管理教师的信息,其中包含教授的管理信息,对管理教师的一些信息有作用,用来对教师进行记录和分配。在网上的信息查询中,教师的系统有着更多的功能,可以浏览学生的一些信息和成绩更正,对学生进行管理以及对学校的一些信息的浏览。

2.2.2 学生模块

学生模块是用来管理学生的信息,可以将其中分为两个模块,一个是学籍管理模块,一个是课程管理模块,这个模块可以对学生的成绩进行查询和对课程的查询,对学生进行统一的管理,在网上可以通过此模块对一些信息进行确定和接受一些的学校的信息,对此可以进行一些必要的操作。

2.2.3 教务模块

教务模块是用来管理一些教务系统的信息,其中包括一些对学生的课程分配和教室的分配,以及对教室的占用情况,在网上的信息查询中可以对各个所需的课程信息和地点信息进行必要的查询。

第3章 数据库设计

3.1 需求分析

3.1.1 背景说明:

需求分析的任务是通过详细调查,获取原有手工系统的工作过程和业务处理,明确用户的各种需求,确定新系统的功能。在用户需求分析分析中,除了充分考虑现有系统的需求外,还要充分考虑系统将来可能的扩充和修改,从开始就让系统具有扩展性。

教学管理是学校管理中的重要管理,教学管理是指管理者通过一定的管理手段,使教学活动达到学校既定的人才培养目标的过程,教学管理是正常教学秩序的保证。教学过程是根据一定的社会要求与教学目的和学生身心发展的特点,由教师的教和学生的学所组成的双边活动过程。这个过程是由教师、学生、教学内容和手段等要素构成。教师是教学过程的主导因素,学生是教学过程的主体因素,教学内容和手段是教学过程的客观因素。

这次的是对教学信息管理系统的设计,目前为止教学系统已经日趋完善,本教学系统主要由教师管理系统、教务管理系统和学生管理系统组成。由于我们已经对教学系统有了初步的了解,此次数据库设计只能在一些收集到的基本材料与个人直观认识的基础上,简单模仿中等规模的酒店设计管理系统,并将其抽象成一个由三部门组成的系统。

在调查各个系统的业务活动的时候,要充分了解系统的组成情况、各个系统的职能和职责等,并对现行系统的功能和所需信息有一个明确的认识。包括了解各个系统输入和使用什么数据,如何加工处理这些数据,输入什么数据,输出什么信息,输出的结果格式是什么等。

3.1.2 各子系统的需求分析

通过调查教学组织机构的总体状况,各个子系统已经日趋完善,且各个子系统相互联系,在调查各部门的业务活动情况时,对现行系统的功能和和所需信息有一个明确的认识。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输入什么信息,输出什么信息,输出到什么部门,输出的结果的格式是什么等。现将各个系统分为以下四个部分:学生管理子系统、教师管理子系统、教务管理子系统需求和各系需求。

根据各子系统的需求功能,初步抽象出子业务流程图:

1、学生管理子系统需求:

领导

教授 教师 学生

教学计划

课表

学工办教学处

调课

管理成绩

后勤管理

教务处

院系

学生会

团委

班级

教室管理

学校

活动

教学支出 学费

财务处

工资

党委

信息部

网上查询

对于这部分是组成教学信息的管理的重要组成部分,主要有交费功能和查询功能。 交费功能:

每年按规定的时间缴纳学费;如果接到学校的补缴费用通知应该补缴;注册:每年在规定的时间内向教务处注册。

查询功能:

查询考试成绩及班级排名;查询课程信息;查询教学培养计划;查询任课老师的信息;查询上课地点及上课时间;查询放假及开学通知。 2、教师管理子系统需求:

教师是学生学习的源头,主要的功能有工资领取、考核学生和查询功能。 工资领取:按规定的时间领取工资。 考核学生:

按照教学大纲的要求对学生考核;监督学生的学习进度 。 查询:

查询教学培养计划;询课程表;询学生的总体成绩;询学生所用的教材。 3、教务管理子系统需求:

教务主要涉及学生与教师的事务,主要包括学籍处理、学员统计、教师信息系统管理、教室设备的管理、制定教学计划和通知功能。 学籍处理:

新生入学档案的录入;毕业学生档案的处理;学生档案的处理包括插入,删除以及修改;学生基本信息的查询。 统计功能:

按专业,系以及班级统计人数;按专业,系以及班级统计学生的成绩以及排名;按专业,系以及班级统计统计提前毕业,获得毕业资格,及不能正常毕业的学生;按专业,系以及班级查询未注册学生的基本信息及人数。 教师信息系统的管理:

教师档案的录入;教师基本信息的查询;教师基本信息的更新包括修改,添加和修改。教室设备的管理:

教室基本信息的录入;教室基本信息的查询包括占用情况;教室基本信息的更新修改,添加和修改。 制定教学计划:

根据专业教学秘书提供和教师的任课信息表制定教学计划;把教学计划输入课程管理数据库和教师任课数据库 排课:根据教学计划为每个专业排课,每个专业的学生可以查询自己的课程,教务处可以根据教学计划修改课程表,将课程表分发给老师,学生,教室管理员和院系。 通知:

通知学生放假及开学时间;通知学生培养计划;通知教师教授课程及任课教材;发放学生的成绩单。 4、各系需求:

分班功能:按照男女生平衡的原则进行分班。

查询功能:按学生姓名,学号及班级查询;查询每个班级成绩最优及最差学生。

统计功能:按班级统计男、女生人数,各地区人数及总人数;按专业统计男、女生人数,总人数;统计各班各科的总成绩及总成绩。

3.1.3 数据字典

在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向 下的结构化分析方法(SA 方法)。首先,定义全局概念结构的框架,如下:

经分析之后,本系统要用到九个基本表:系表,班级表,学生表,课程表,选课表、教室表、占用表、教师表,教授表。

3.2 概念结构设计

3.2.1 概念结构设计过程

教学信息管理系统,经过可行性分析、详细调查以及多次讨论,确定了该系统由学生管理部门、教师管理部门、教务管理部门和各系需求管理部门四个子系统组成。 概念结构设计的方法与步骤: 1)概念结构设计的方法

设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。本系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶向上地进行需求分析然后再自底向上地进行概念设计。 2)概念结构设计的步骤

概念结构的设计可分为两步:第一步是抽象数据并设计局部视图。第二步是集成局部视图,得到全局的概念结构。

3)数据抽象与局部视图设计

根据院系与教室的关系,每个院系都是一个固定的地方,那么就会一定的分配好的教室供这个系使用,而且每个教室都是可以用来上课或被占用,则得到一个关于系、教室、班级和课程的局部E-R图。

根据院系与教师的关系,每个院系都是有许多老师组成的一个团体,他们有相同专业的知识,所以可以构成一个系的教学团体,而有时候一个老师不止带一个课程,所以得到一个关于系、教师、课程的局部E-R图。

根据教师的教学体系,一个老师要教很多学生,但是不止一个老师在教学,而且每个学生都是有一个班级的,一个班级对应很多学生,由此得到一个关于教师、学生和班级的局部E-R图。

根据学生与学院的关系,得出一个学院有很多学生,在这个学院的学生要学习很多这个学科的知识,所以可以得出一个关于学生、学院和课程的局部E-R图。

3.2.2 视图集成

在以上四个局部E-R图的基础上,采用逐步集成的方式,即一次将一个或几个局部E-R图综合从而作出全局E-R图。经过以下两个步骤:

(1)合并局部E-R图,消除冲突,生成初步E-R图。冲突的表现主要有以下三类:

属性冲突:即属性值的类型、取值范围或单位不同。由于本文设计系统比较简单,不存在这些冲突。

命名冲突:同名异义和异名同义。由于设计时已想到这种冲突,在命名的时候已经作出调整了。 结构冲突:同一对象在不同的局部E-R图中,有的作为实体,有的作为属性:本系统在需求分析阶段原本存在这种冲突,考虑到后期的简化合并,在设计各个分E-R图已经解决了这个问题,在分E-R图中作为实体出现全部作为实体;同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同:由于本系统较简单,所以并不存在这种冲突。

(2)重构E-R图,消除冗余生成基本E-R图。

由于本系统涵盖的内容比较少,基本不存在冗余的现象,所以初步E-R图就是基本E-R图,不必再进行调整。全局E-R图如下所示。

由E-R图各个实体具有不同的属性,现在列下所有实体,则E-R图各实体属性意义为: 学生(学号,姓名,性别,年龄,省份,专业,班级号);

班级号

学 生

性别

省份

专业

姓名

年 龄

学号

教师(教师号,姓名,职称,性别,工资,年龄);

性别

工资

教师号

年龄

教 师

姓名

职称

课程(课程号,课程名,学分,教师号);

学分 课 程

课程名

教师号

课程号

班级(班号,班名,班主任,系名);

系名

系院(系号,姓名,系主任);

班主任 班 级

班号

班名

系主任

系名

系号

院 系

教室(教室号,教室名,教室位置);

教室号

教 室

教室名

教室位置

3.3 逻辑结构设计

3.3.1 E-R图像关系模式转换原则

实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:

m:n联系的转换方法:在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。在学生跟课程之间中,可以将此关系模式改为学生表,课程表和选课表。

1:n联系的转换方法:a)一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;b)另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。

1:1联系的转换方法:a) 将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。b) 将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。在班级使用教室的时候,其关系为占用,可以将其实体跟关系设计成三个表,一个班级表,一个教室表和一个占用表。 关系模式转化后如下:

系表(系号,系名,系主任)主键:系号

班级表(班号,班名,班主任,系号)主键:班号 外键:系号

学生表(学号,姓名,性别,省份,专业,年龄,班级号)主键:学号 外键:班号 课程表(课程号,课程名,学分,教师号)主键:课程号 外键:教师号 选课表(学号,课程号,成绩)主键:学号 可称号 外键:学号 课程号 教室表(教室号,教室名,教室位置)主键:教室号

占用表(班级号,教室号,上课时间,占用学时)主键:班级号 教室号 教师表(教师号,姓名,职称,性别,年龄,工资)主键:教师号 教授表(教师号,班级号,课程号,教授时间)主键:教师号 班级号

3.3.2 范式判定

1.数据依赖

(1)系表的数据依赖 :{系号->系名,系号->系主任} 3NF

(2)班级表的数据依赖:{班号->班名,班号->班主任,班号->系号} 3NF

(3)学生表的数据依赖:{学号->姓名,学号->性别,学号->省份,学号->年龄,学号->班级号,学号->专业} 3NF

(4)课程表的数据依赖:{课程号->课程名,课程号->学分,课程号->任课教师号} 3NF (5)选课表的数据依赖:{(学号,课程号)->姓名} 3NF

(6)教室表的数据依赖:{教室号->教室名,教室号->教室位置} 3NF

(7)占用表的数据依赖:{(班级号,教室号)->上课时间,(班级号,教室号)->占用学时} 3NF

(8)教师表的数据依赖:{教师号->姓名,教师号->职称,教师号->性别,教师号->年龄,教师号->工资} 3NF

(9)教授表的数据依赖:{(教师,班级号)->授课时间,(班级号,教室号)->课程} 3NF 2.按照数据依赖的理论对关系模式逐一分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖的依赖集可知各个关系模式没有部分函数依赖和传递函数依赖所以所有的关系模式都是属于3NF。

3.3.3 子模式的视图

表3-1 系表(Subject)的结构

表3-2 班级表(Class)的结构

表3-3 学生表(Student)的结构

表3-4 课程表(Course)的结构

表3-5 选课表(Choice)的结构

表3-6 教室表(Classroom)的结构

表3-7 占用表(Occupy)的结构

表3-8 教师表(Teacher)的结构

表3-9 教授表(Professor)的结构

3.4 物理结构设计

3.4.1 数据存储结构

经过分析可知,对于本教学管理系统信息存储处理应根据情况将数据按照易变部分和稳定部分、经常存取部分和存取频率较低的部分分别在两个硬盘上存放。同时由于本系统是多用户的,需要按照一定的规划保存备份。

经常存取的部分:

学生表(学号,姓名,性别,省份,专业,年龄,班级号); 课程表(课程号,课程名,学分,教师号); 选课表(学号,课程号,成绩); 教室表(教室号,教室名, 教室位置);

占用表(班级号,教室号,上课时间,占用学时); 教师表(教师号,姓名,职称,性别,年龄,工资); 教授表(教师号,班级号,课程号,教授时间);

存取频率较低的部分: 系表(系号,系名,系主任); 班级表(班号,班名,班主任,系号);

在对数据进行查询的时候,对各个基表中的学号和课程号会多次用到,而且经常在查询条件和连接操作中出现,且他们的值唯一,可以建立唯一性索引,在上学期间,对课程的查询也会增多,对待学生的查询也随之增多,所以可以在这两个属性上面建立聚簇索引。

3.4.2 数据存取方法

对各个经常存取的地方可以建立B+树索引,则可以使平均查找次数降低到B+树的层数log2n+1。所以选择B+树作为索引,具体设计如下:

对以下经常查询中出现的关系的码建立索引: 学生表(学号,姓名,性别,年龄,省份,专业,班级号); 课程表(课程号,课程名,学分,教师号); 选课表(学号,课程号,成绩); 教室表(教室号,教室名, 教室位置);

占用表(班级号,教室号,上课时间,占用学时); 教师表(教师号,姓名,职称,性别,年龄,工资); 教授表(教师号,班级号,课程号,教授时间);

则对学生号、课程号、教室号、教师号建立索引,而其他几个关系模式的更新频率很高但是没有建立索引。

3.4.3 系统功能模块

(1)系表信息查询和更新模块

将实现对系部信息的查询和更新(修改、插入、删除)操作,方便于对系部基本信息的管理。 (2)班级表的查询和更新模块

将完成班级基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (3)学生表的查询和更新模块

将完成学生基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (4)课程表的查询和更新模块

将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (5)选课表的查询和更新模块

将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中

管理。

(6)教室表的查询和更新模块

将完成教室基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (7)占用表的查询和更新模块

将完成占用基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (8)教师表的查询和更新模块

将完成教师基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (9)教授表的查询和更新模块

将完成教授基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。

3.4.4 数据库实施阶段

1.建立数据库

Create database teaching On primary (

Name=’teaching’,

Filename=’F:\韩正亮\teaching.mdf’, Size=3MB, Maxsize=50MB, Filegrowth=1MB ) Log on (

Name=’teaching_log’,

Filename=’F:\韩正亮\teaching_log.ldf’, Size=5MB, Maxsize=20MB, Filegrowth=10% )

2.建立数据表

(1)系表基本信息的建立 Create table Subject(

Xno nvarchar(10) primary key not null, Xname nvarchar(10) not null, Xdirector nvarchar(10), )

(2) 班级表基本信息的建立 Create table Class(

Cno nvarchar(10) primary key, Cname nvarchar(10) not null, Xno nvarchar(10) , Cdirector nvarchar(10) , )

(3) 学生表基本信息的建立 Create table Student( Sno nvarchar(10) primary key, Sname nvarchar(10) not null, Ssex nvarchar(2) not null, Saddr nvarchar(10) not null, Sage smallint not null, Smajor nvarchar(10) not null, Cno nvarchar(10) , )

(4) 课程表基本信息的建立 Create table Course(

Courseno nvarchar(10) primary key, Coursename nvarchar(10) not null, Ccredit smallint not null, Coursedirector nvarchar(8),

(5) 选课表基本信息的建立 Create table Choice( Sno nvarchar(10), Courseno nvarchar(10), Grade nvarchar(10) not null, )

(6) 教室表基本信息的建立 Create table Classroom( Rno nvarchar(10) primary key, Rname nvarchar(10) not null, Raddr nvarchar(10) not null, )

(7) 占用表基本信息的建立 Create table Occupy( Cno nvarchar(10), Rno nvarchar(10), Stime datetime, Uestime nvarchar(10), )

(8) 教师表基本信息的建立 Create table Teacher( Tno nvarchar(10) primary key, Tname nvarchar(10) not null, Tsex nvarchar(10) not null, Tpos nvarchar(10) not null, Tage smallint not null, Tsal smallint not null,

(9)教授表基本信息的建立 Create table Professor( Tno nvarchar(10), Cno nvarchar(10), Courseno nvarchar(10), Teachtime datetime not null, )

3.建立索引

create clustered index Student_no on Choice(Sno); create clustered index Course_no on Professor(Courseno);

4.建立视图

(1) 查询系表的基本信息的视图定义如下: create view Subject_view(系号,系名,系主任) as select * from Subject with check option;

(2) 查询班级表的基本信息的视图定义如下:

create view Class_view(班级号,班级名称,系号,班主任) as select * from Class with check option;

(3) 查询学生表的基本信息的视图定义如下:

create view Student_view(学号,姓名,性别,省份,年龄,专业,班级号) as

select * from Student with check option;

(4) 查询课程表的基本信息的视图定义如下:

create view Course_view(课程号,课程名称,学分,教师号) as select * from Course with check option;

(5) 查询选课表的基本信息的视图定义如下: create view Choice_view(学号,课程名,成绩) as select * from Choice with check option;

(6) 查询教室表的基本信息的视图定义如下:

create view Classroom_view(教室号,教室名,教师位置) as select * from Classroom with check option;

(7) 查询占用表的基本信息的视图定义如下:

create view Occupy_view(班级号,教室号,上课时间,占用学时) as select * from Occupy with check option;

(8) 查询教师表的基本信息的视图定义如下:

create view Teacher_view(教师号,姓名,性别,职称,年龄,工资) as select * from Teacher

with check option;

(9) 查询教授表的基本信息的视图定义如下:

create view Professor_view(教师号,班级号,课程号,教授时间) as select * from Professor with check option; 5.存储过程定义 (1)系存表储过程如下

Create procedure Subject_insert @Xno nvarchar(10), @Xname nvarchar(10), @Xdiredtor nvarchar(10) As

Insert into Subject values(@Xno,@Xname,@Xdiredtor); (2)班级表存储过程如下 Create procedure Class_insert @Cno nvarchar(10), @Cname nvarchar(10), @Xno nvarchar(10), @Cdirector nvarchar(10) As

Insert into Class values(@Cno,@Cname,@Xno,@Cdirector); (3)学生表存储过程如下 Create procedure Student_insert @Sno nvarchar(10), @Sname nvarchar(10), @Ssex nvarchar(10), @Saddr nvarchar(10), @Sage smallint, @Smajor nvarchar(10), @Cno nvarchar(10)

As

Insert into Student values(@Sno,@Sname,@Ssex,@Saddr,@Sage,@Smajor,@Cno); (4)课程表存储过程如下 Create procedure Course_insert @Courceno nvarchar(10), @Courcename nvarchar(10), @Ccredit smallint,

@Courcedirector nvarchar(8) As

Insert into Course values(@Courceno,@Courcename,@Ccredit,@Courcedirector) (5)选课表存储过程如下

Create procedure Choice_insert @Sno nvarchar(10), @Courceno nvarchar(10), @Grade nvarchar(10) As

Insert into Choice values(@Sno,@Courceno,@Grade); (6)教室表存储过程如下

Create procedure Classrom_insert @Rno nvarchar(10), @Rname nvarchar(10), @Raddr nvarchar(10) As

Insert into Classroom values(@Rno,@Rname,@Raddr); (7)占用表存储过程如下 Create procedure Occupy_insert @Cno nvarchar(10), @Rno nvarchar(10), @Stime datetime, @UseTime nvarchar(10) As

Insert into Occupy values(@Cno,@Rno,@Stime,@Usetime);

(8)教师表存储过程如下 Create procedure Teacher_insert @Tno nvarchar(10), @Tname nvarchar(10), @Tsex nvarchar(10), @Tpos nvarchar(10), @Tage smallint, @Tsal smallint As

Insert into Teacher values(@Tno,@Tname,@Tsex,@Tpos,@Tage,@Tsal); (9)教授表存储过程如下

Create procedure Professor_insert @Tno nvarchar(10), @Cno nvarchar(10), @Courceno nvarchar(10), @Teachtime datetime As

Insert into Professor values(@Tno,@Cno,@Courceno,@Teachtime);

6.触发器的创建

此触发器是在删除信息的时候将其再显示确认一遍。 (1)学生删除触发器

create trigger delete_Student on Student for delete as begin

select * from deleted end

(2)课程删除触发器

create trigger delete_Course on Course for delete as

begin

select * from deleted end

(3)教师删除触发器

create trigger delete_Teacher on Teacher for delete as begin

select * from deleted end

(4)教授删除触发器

create trigger delete_Professor on Professor for delete as begin

select * from deleted end

7.约束条件的创建

对学生表和教师别中性别的约束: alter table Student

add constraint cons_sexs check((Ssex='女' or Ssex='男')) alter table Teacher

add constraint conssexs check((Tsex='女' or Tsex='男'))

3.5 数据库实施

1.数据库的建立

2.数据表的建立 (1)系表

(2)班级表

(3)学生表

(4)课程表

(5)选课表

(6)教室表

(7)占用表

(8)教师表

(9)教授表

3.视图的建立 (1)系表

(2)班级表

(3)学生表

(4)课程表

(5)选课表

(6)教室表

(7)占用表

(8)教师表

(9)教授表

4.索引的建立

5.触发器的建立

6.约束的建立

7.存储过程的建立

3.6 备份计划

1)每周星期日的2:00:00执行 数据库的完整备份;

2)每周一至周六每天的2:00:00执行数据库的差异备份;

3)每天在8:00:00到23:59:59之间每一小时执行数据库的日志备份;

4)每个月的最后一个星期日的1:00:00执行数据库的完整备份。

第4章 结束语

参考文献

[1] 何宗耀 吴孝丽 数据库原理及应用 中国矿业大学出版社 2014

河南城建学院

《数据库原理及应用》课程设计报告

课程名称: 《数据库原理及应用》课程设计

设计题目: 教学管理系统 指导教师: 班 级: 学 号: 学生姓名:

计算机科学与工程学院

2015年12月

前 言

数据库技术是计算机科学技术发展最快,应用最为广泛的技术之一。其在计算机设计,人工智能,电子商务,企业管理,科学计算等诸多领域均得到了广泛的应用,已经成为计算机信息系统和应用的核心技术和重要基础。

随着信息技术的飞速发展,信息化的大环境给各成人高校提出了实现校际互联,国际互联,实现静态资源共享,动态信息发布的要求; 信息化对学生个人提出了驾驭和掌握最新信息技术的素质要求;信息技术提供了对教学进行重大革新的新手段;信息化也为提高教学质量,提高管理水平,工作效率创造了有效途径. 校园网信息系统建设的重要性越来越为成人高校所重视.

利用计算机支持教学高效率,完成教学管理的日常事务,是适应现代教学制度要求、推动教学管理走向科学化、规范化的必要条件;而教学管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,不允许出错,如果实行手工操作,每月须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行教学管理工作,不仅能够保证各项准确无误、快速输出,而且还可以利用计算机对有关教学的各种信息进行统计,同时计算机具有手工管理所无法比拟的优点.

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高员工工资管理的效率,也是教学的科学化、正规化管理,与世界接轨的件。

在软件开发的过程中,随着面向对象程序设计和数据库系统的成熟,数计成为软件开发的核心,程序的设计要服从数据,因此教学管理系统的数据库设计尤其重要。本文主要介绍教学管理系统的数据库方面的设计,从需求分析到数据库的运行与维护都进行详细的叙述

目 录

第1章 概述 ................................................................................................................................... 1 1.1 选题的背景与意义 ............................................................................................................... 1 1.2主要功能模块 ....................................................................................................................... 1 第2章 系统功能设计 ................................................................................................................... 2 2.1系统总体结构设计图 ........................................................................................................... 2 2.2 系统功能模块 ....................................................................................................................... 2 2.2.1 教师模块 ....................................................................................................................... 2 2.2.2 学生模块 ....................................................................................................................... 2 2.2.3 教务模块 ....................................................................................................................... 2 第3章 数据库设计 ....................................................................................................................... 3 3.1 需求分析 ............................................................................................................................... 3 3.1.1 背景说明: ................................................................................................................... 3 3.1.2 各子系统的需求分析 ................................................................................................... 3 3.1.3 数据字典 ....................................................................................................................... 5 3.2 概念结构设计 ....................................................................................................................... 8 3.2.1 概念结构设计过程 ....................................................................................................... 8 3.2.2 视图集成 ....................................................................................................................... 9 3.3 逻辑结构设计 ..................................................................................................................... 12 3.3.1 E-R图像关系模式转换原则 ....................................................................................... 12 3.3.2 范式判定 .................................................................................................................. 12 3.3.3 子模式的视图 ............................................................................................................. 13 3.4 物理结构设计 ................................................................................................................. 15 3.4.1 数据存储结构 ............................................................................................................. 15 3.4.2 数据存取方法 ............................................................................................................. 16 3.4.3 系统功能模块 ............................................................................................................. 16 3.4.4 数据库实施阶段 ......................................................................................................... 17 3.5 数据库实施 ......................................................................................................................... 25 3.6 备份计划 ............................................................................................................................. 28 第4章 结束语 ............................................................................................................................. 29 参考文献 ....................................................................................................................................... 30

第1章 概述

1.1 选题的背景与意义

应用对数据库系统原理的理论学习,通过上机实践的方式将理论知识与实践更好的结合起来,巩固所学知识。

数据库应用课程实践:实践和巩固在课堂教学中学习有关知识,熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。

数据库原理软件设计实践:实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计打下基础。

通过对学校的教学管理工作进行详细调查,在熟悉了教学业务流程后,认为:教学管理是一个教学单位不可缺少的部分,教学管理的水平和质量至关重要,直接影响到学校的发展。但传统的手工管理方式效率低,容易出错,保密性差。此外,随着时间的推移,将产生大量的文件和数据,给查找、更新和维护都带来不少困难。使用计算机进行教学管理,优点是检索迅速、检查方便、可靠性高、存储量大、保密性好、减少错误发生扥,大大提高了教学管理的效率和质量。因此开发“教学管理系统”势在必行,同时从经济、技术、社会三方面分析也是可行的。

1.2主要功能模块

根据在学校的学习过程,要实现教学管理系统,将其分为三个功能模块,分别为学生功能模块、教师功能模块和教务管理模块,对学生功能模块又可以分为选课功能模块和学生信息管理功能,这几个功能模块共同实现了教学管理功能,可以实现对学生的信息查询、教师的信息查询、教授的信息查询、课程查询、选课、班级的管理以及一些突发情况的收取等。

对各个的功能模块经常反复推测才得出,每个功能模块实现的功能不一样,但是又不可分离,教学业务管理是对学校教学业务工作所进行的有计划、有组织的管理活动。教学业务管理是学校教学管理的重要组成部分,它决定着学校教学管理的水平。根据各个功能的协调得出此教学管理系统。

第2章 系统功能设计

2.1系统总体结构设计图

学籍管理模块

课程管理模块

教师模块

学生模块

教务模块

教学管理系统

2.2 系统功能模块

2.2.1 教师模块

教师模块是用来管理教师的信息,其中包含教授的管理信息,对管理教师的一些信息有作用,用来对教师进行记录和分配。在网上的信息查询中,教师的系统有着更多的功能,可以浏览学生的一些信息和成绩更正,对学生进行管理以及对学校的一些信息的浏览。

2.2.2 学生模块

学生模块是用来管理学生的信息,可以将其中分为两个模块,一个是学籍管理模块,一个是课程管理模块,这个模块可以对学生的成绩进行查询和对课程的查询,对学生进行统一的管理,在网上可以通过此模块对一些信息进行确定和接受一些的学校的信息,对此可以进行一些必要的操作。

2.2.3 教务模块

教务模块是用来管理一些教务系统的信息,其中包括一些对学生的课程分配和教室的分配,以及对教室的占用情况,在网上的信息查询中可以对各个所需的课程信息和地点信息进行必要的查询。

第3章 数据库设计

3.1 需求分析

3.1.1 背景说明:

需求分析的任务是通过详细调查,获取原有手工系统的工作过程和业务处理,明确用户的各种需求,确定新系统的功能。在用户需求分析分析中,除了充分考虑现有系统的需求外,还要充分考虑系统将来可能的扩充和修改,从开始就让系统具有扩展性。

教学管理是学校管理中的重要管理,教学管理是指管理者通过一定的管理手段,使教学活动达到学校既定的人才培养目标的过程,教学管理是正常教学秩序的保证。教学过程是根据一定的社会要求与教学目的和学生身心发展的特点,由教师的教和学生的学所组成的双边活动过程。这个过程是由教师、学生、教学内容和手段等要素构成。教师是教学过程的主导因素,学生是教学过程的主体因素,教学内容和手段是教学过程的客观因素。

这次的是对教学信息管理系统的设计,目前为止教学系统已经日趋完善,本教学系统主要由教师管理系统、教务管理系统和学生管理系统组成。由于我们已经对教学系统有了初步的了解,此次数据库设计只能在一些收集到的基本材料与个人直观认识的基础上,简单模仿中等规模的酒店设计管理系统,并将其抽象成一个由三部门组成的系统。

在调查各个系统的业务活动的时候,要充分了解系统的组成情况、各个系统的职能和职责等,并对现行系统的功能和所需信息有一个明确的认识。包括了解各个系统输入和使用什么数据,如何加工处理这些数据,输入什么数据,输出什么信息,输出的结果格式是什么等。

3.1.2 各子系统的需求分析

通过调查教学组织机构的总体状况,各个子系统已经日趋完善,且各个子系统相互联系,在调查各部门的业务活动情况时,对现行系统的功能和和所需信息有一个明确的认识。包括了解各个部门输入和使用什么数据,如何加工处理这些数据,输入什么信息,输出什么信息,输出到什么部门,输出的结果的格式是什么等。现将各个系统分为以下四个部分:学生管理子系统、教师管理子系统、教务管理子系统需求和各系需求。

根据各子系统的需求功能,初步抽象出子业务流程图:

1、学生管理子系统需求:

领导

教授 教师 学生

教学计划

课表

学工办教学处

调课

管理成绩

后勤管理

教务处

院系

学生会

团委

班级

教室管理

学校

活动

教学支出 学费

财务处

工资

党委

信息部

网上查询

对于这部分是组成教学信息的管理的重要组成部分,主要有交费功能和查询功能。 交费功能:

每年按规定的时间缴纳学费;如果接到学校的补缴费用通知应该补缴;注册:每年在规定的时间内向教务处注册。

查询功能:

查询考试成绩及班级排名;查询课程信息;查询教学培养计划;查询任课老师的信息;查询上课地点及上课时间;查询放假及开学通知。 2、教师管理子系统需求:

教师是学生学习的源头,主要的功能有工资领取、考核学生和查询功能。 工资领取:按规定的时间领取工资。 考核学生:

按照教学大纲的要求对学生考核;监督学生的学习进度 。 查询:

查询教学培养计划;询课程表;询学生的总体成绩;询学生所用的教材。 3、教务管理子系统需求:

教务主要涉及学生与教师的事务,主要包括学籍处理、学员统计、教师信息系统管理、教室设备的管理、制定教学计划和通知功能。 学籍处理:

新生入学档案的录入;毕业学生档案的处理;学生档案的处理包括插入,删除以及修改;学生基本信息的查询。 统计功能:

按专业,系以及班级统计人数;按专业,系以及班级统计学生的成绩以及排名;按专业,系以及班级统计统计提前毕业,获得毕业资格,及不能正常毕业的学生;按专业,系以及班级查询未注册学生的基本信息及人数。 教师信息系统的管理:

教师档案的录入;教师基本信息的查询;教师基本信息的更新包括修改,添加和修改。教室设备的管理:

教室基本信息的录入;教室基本信息的查询包括占用情况;教室基本信息的更新修改,添加和修改。 制定教学计划:

根据专业教学秘书提供和教师的任课信息表制定教学计划;把教学计划输入课程管理数据库和教师任课数据库 排课:根据教学计划为每个专业排课,每个专业的学生可以查询自己的课程,教务处可以根据教学计划修改课程表,将课程表分发给老师,学生,教室管理员和院系。 通知:

通知学生放假及开学时间;通知学生培养计划;通知教师教授课程及任课教材;发放学生的成绩单。 4、各系需求:

分班功能:按照男女生平衡的原则进行分班。

查询功能:按学生姓名,学号及班级查询;查询每个班级成绩最优及最差学生。

统计功能:按班级统计男、女生人数,各地区人数及总人数;按专业统计男、女生人数,总人数;统计各班各科的总成绩及总成绩。

3.1.3 数据字典

在调查完了用户需求之后,就要开始分析用户需求。在此,我们采用自顶向 下的结构化分析方法(SA 方法)。首先,定义全局概念结构的框架,如下:

经分析之后,本系统要用到九个基本表:系表,班级表,学生表,课程表,选课表、教室表、占用表、教师表,教授表。

3.2 概念结构设计

3.2.1 概念结构设计过程

教学信息管理系统,经过可行性分析、详细调查以及多次讨论,确定了该系统由学生管理部门、教师管理部门、教务管理部门和各系需求管理部门四个子系统组成。 概念结构设计的方法与步骤: 1)概念结构设计的方法

设计概念结构通常有四类方法:自顶向下,自底向上,逐渐扩张以及混合策略。本系统采用的是自底向上的方法。即首先定义全局的概念结构的框架,然后逐步细化。根据自顶向上地进行需求分析然后再自底向上地进行概念设计。 2)概念结构设计的步骤

概念结构的设计可分为两步:第一步是抽象数据并设计局部视图。第二步是集成局部视图,得到全局的概念结构。

3)数据抽象与局部视图设计

根据院系与教室的关系,每个院系都是一个固定的地方,那么就会一定的分配好的教室供这个系使用,而且每个教室都是可以用来上课或被占用,则得到一个关于系、教室、班级和课程的局部E-R图。

根据院系与教师的关系,每个院系都是有许多老师组成的一个团体,他们有相同专业的知识,所以可以构成一个系的教学团体,而有时候一个老师不止带一个课程,所以得到一个关于系、教师、课程的局部E-R图。

根据教师的教学体系,一个老师要教很多学生,但是不止一个老师在教学,而且每个学生都是有一个班级的,一个班级对应很多学生,由此得到一个关于教师、学生和班级的局部E-R图。

根据学生与学院的关系,得出一个学院有很多学生,在这个学院的学生要学习很多这个学科的知识,所以可以得出一个关于学生、学院和课程的局部E-R图。

3.2.2 视图集成

在以上四个局部E-R图的基础上,采用逐步集成的方式,即一次将一个或几个局部E-R图综合从而作出全局E-R图。经过以下两个步骤:

(1)合并局部E-R图,消除冲突,生成初步E-R图。冲突的表现主要有以下三类:

属性冲突:即属性值的类型、取值范围或单位不同。由于本文设计系统比较简单,不存在这些冲突。

命名冲突:同名异义和异名同义。由于设计时已想到这种冲突,在命名的时候已经作出调整了。 结构冲突:同一对象在不同的局部E-R图中,有的作为实体,有的作为属性:本系统在需求分析阶段原本存在这种冲突,考虑到后期的简化合并,在设计各个分E-R图已经解决了这个问题,在分E-R图中作为实体出现全部作为实体;同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同:由于本系统较简单,所以并不存在这种冲突。

(2)重构E-R图,消除冗余生成基本E-R图。

由于本系统涵盖的内容比较少,基本不存在冗余的现象,所以初步E-R图就是基本E-R图,不必再进行调整。全局E-R图如下所示。

由E-R图各个实体具有不同的属性,现在列下所有实体,则E-R图各实体属性意义为: 学生(学号,姓名,性别,年龄,省份,专业,班级号);

班级号

学 生

性别

省份

专业

姓名

年 龄

学号

教师(教师号,姓名,职称,性别,工资,年龄);

性别

工资

教师号

年龄

教 师

姓名

职称

课程(课程号,课程名,学分,教师号);

学分 课 程

课程名

教师号

课程号

班级(班号,班名,班主任,系名);

系名

系院(系号,姓名,系主任);

班主任 班 级

班号

班名

系主任

系名

系号

院 系

教室(教室号,教室名,教室位置);

教室号

教 室

教室名

教室位置

3.3 逻辑结构设计

3.3.1 E-R图像关系模式转换原则

实体型转换为关系模式。实体的属性就是关系的属性,实体的码就是关系的码。对于实体间的联系则有以下不同的情况:

m:n联系的转换方法:在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。在学生跟课程之间中,可以将此关系模式改为学生表,课程表和选课表。

1:n联系的转换方法:a)一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;b)另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。

1:1联系的转换方法:a) 将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。b) 将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。在班级使用教室的时候,其关系为占用,可以将其实体跟关系设计成三个表,一个班级表,一个教室表和一个占用表。 关系模式转化后如下:

系表(系号,系名,系主任)主键:系号

班级表(班号,班名,班主任,系号)主键:班号 外键:系号

学生表(学号,姓名,性别,省份,专业,年龄,班级号)主键:学号 外键:班号 课程表(课程号,课程名,学分,教师号)主键:课程号 外键:教师号 选课表(学号,课程号,成绩)主键:学号 可称号 外键:学号 课程号 教室表(教室号,教室名,教室位置)主键:教室号

占用表(班级号,教室号,上课时间,占用学时)主键:班级号 教室号 教师表(教师号,姓名,职称,性别,年龄,工资)主键:教师号 教授表(教师号,班级号,课程号,教授时间)主键:教师号 班级号

3.3.2 范式判定

1.数据依赖

(1)系表的数据依赖 :{系号->系名,系号->系主任} 3NF

(2)班级表的数据依赖:{班号->班名,班号->班主任,班号->系号} 3NF

(3)学生表的数据依赖:{学号->姓名,学号->性别,学号->省份,学号->年龄,学号->班级号,学号->专业} 3NF

(4)课程表的数据依赖:{课程号->课程名,课程号->学分,课程号->任课教师号} 3NF (5)选课表的数据依赖:{(学号,课程号)->姓名} 3NF

(6)教室表的数据依赖:{教室号->教室名,教室号->教室位置} 3NF

(7)占用表的数据依赖:{(班级号,教室号)->上课时间,(班级号,教室号)->占用学时} 3NF

(8)教师表的数据依赖:{教师号->姓名,教师号->职称,教师号->性别,教师号->年龄,教师号->工资} 3NF

(9)教授表的数据依赖:{(教师,班级号)->授课时间,(班级号,教室号)->课程} 3NF 2.按照数据依赖的理论对关系模式逐一分析,考察是否存在部分函数依赖,传递函数依赖,根据各个函数依赖的依赖集可知各个关系模式没有部分函数依赖和传递函数依赖所以所有的关系模式都是属于3NF。

3.3.3 子模式的视图

表3-1 系表(Subject)的结构

表3-2 班级表(Class)的结构

表3-3 学生表(Student)的结构

表3-4 课程表(Course)的结构

表3-5 选课表(Choice)的结构

表3-6 教室表(Classroom)的结构

表3-7 占用表(Occupy)的结构

表3-8 教师表(Teacher)的结构

表3-9 教授表(Professor)的结构

3.4 物理结构设计

3.4.1 数据存储结构

经过分析可知,对于本教学管理系统信息存储处理应根据情况将数据按照易变部分和稳定部分、经常存取部分和存取频率较低的部分分别在两个硬盘上存放。同时由于本系统是多用户的,需要按照一定的规划保存备份。

经常存取的部分:

学生表(学号,姓名,性别,省份,专业,年龄,班级号); 课程表(课程号,课程名,学分,教师号); 选课表(学号,课程号,成绩); 教室表(教室号,教室名, 教室位置);

占用表(班级号,教室号,上课时间,占用学时); 教师表(教师号,姓名,职称,性别,年龄,工资); 教授表(教师号,班级号,课程号,教授时间);

存取频率较低的部分: 系表(系号,系名,系主任); 班级表(班号,班名,班主任,系号);

在对数据进行查询的时候,对各个基表中的学号和课程号会多次用到,而且经常在查询条件和连接操作中出现,且他们的值唯一,可以建立唯一性索引,在上学期间,对课程的查询也会增多,对待学生的查询也随之增多,所以可以在这两个属性上面建立聚簇索引。

3.4.2 数据存取方法

对各个经常存取的地方可以建立B+树索引,则可以使平均查找次数降低到B+树的层数log2n+1。所以选择B+树作为索引,具体设计如下:

对以下经常查询中出现的关系的码建立索引: 学生表(学号,姓名,性别,年龄,省份,专业,班级号); 课程表(课程号,课程名,学分,教师号); 选课表(学号,课程号,成绩); 教室表(教室号,教室名, 教室位置);

占用表(班级号,教室号,上课时间,占用学时); 教师表(教师号,姓名,职称,性别,年龄,工资); 教授表(教师号,班级号,课程号,教授时间);

则对学生号、课程号、教室号、教师号建立索引,而其他几个关系模式的更新频率很高但是没有建立索引。

3.4.3 系统功能模块

(1)系表信息查询和更新模块

将实现对系部信息的查询和更新(修改、插入、删除)操作,方便于对系部基本信息的管理。 (2)班级表的查询和更新模块

将完成班级基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (3)学生表的查询和更新模块

将完成学生基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (4)课程表的查询和更新模块

将完成课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (5)选课表的查询和更新模块

将完成对所选课程基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中

管理。

(6)教室表的查询和更新模块

将完成教室基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (7)占用表的查询和更新模块

将完成占用基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (8)教师表的查询和更新模块

将完成教师基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。 (9)教授表的查询和更新模块

将完成教授基本信息的查询、更新(修改、插入、删除)操作,便于对学生信息的集中管理。

3.4.4 数据库实施阶段

1.建立数据库

Create database teaching On primary (

Name=’teaching’,

Filename=’F:\韩正亮\teaching.mdf’, Size=3MB, Maxsize=50MB, Filegrowth=1MB ) Log on (

Name=’teaching_log’,

Filename=’F:\韩正亮\teaching_log.ldf’, Size=5MB, Maxsize=20MB, Filegrowth=10% )

2.建立数据表

(1)系表基本信息的建立 Create table Subject(

Xno nvarchar(10) primary key not null, Xname nvarchar(10) not null, Xdirector nvarchar(10), )

(2) 班级表基本信息的建立 Create table Class(

Cno nvarchar(10) primary key, Cname nvarchar(10) not null, Xno nvarchar(10) , Cdirector nvarchar(10) , )

(3) 学生表基本信息的建立 Create table Student( Sno nvarchar(10) primary key, Sname nvarchar(10) not null, Ssex nvarchar(2) not null, Saddr nvarchar(10) not null, Sage smallint not null, Smajor nvarchar(10) not null, Cno nvarchar(10) , )

(4) 课程表基本信息的建立 Create table Course(

Courseno nvarchar(10) primary key, Coursename nvarchar(10) not null, Ccredit smallint not null, Coursedirector nvarchar(8),

(5) 选课表基本信息的建立 Create table Choice( Sno nvarchar(10), Courseno nvarchar(10), Grade nvarchar(10) not null, )

(6) 教室表基本信息的建立 Create table Classroom( Rno nvarchar(10) primary key, Rname nvarchar(10) not null, Raddr nvarchar(10) not null, )

(7) 占用表基本信息的建立 Create table Occupy( Cno nvarchar(10), Rno nvarchar(10), Stime datetime, Uestime nvarchar(10), )

(8) 教师表基本信息的建立 Create table Teacher( Tno nvarchar(10) primary key, Tname nvarchar(10) not null, Tsex nvarchar(10) not null, Tpos nvarchar(10) not null, Tage smallint not null, Tsal smallint not null,

(9)教授表基本信息的建立 Create table Professor( Tno nvarchar(10), Cno nvarchar(10), Courseno nvarchar(10), Teachtime datetime not null, )

3.建立索引

create clustered index Student_no on Choice(Sno); create clustered index Course_no on Professor(Courseno);

4.建立视图

(1) 查询系表的基本信息的视图定义如下: create view Subject_view(系号,系名,系主任) as select * from Subject with check option;

(2) 查询班级表的基本信息的视图定义如下:

create view Class_view(班级号,班级名称,系号,班主任) as select * from Class with check option;

(3) 查询学生表的基本信息的视图定义如下:

create view Student_view(学号,姓名,性别,省份,年龄,专业,班级号) as

select * from Student with check option;

(4) 查询课程表的基本信息的视图定义如下:

create view Course_view(课程号,课程名称,学分,教师号) as select * from Course with check option;

(5) 查询选课表的基本信息的视图定义如下: create view Choice_view(学号,课程名,成绩) as select * from Choice with check option;

(6) 查询教室表的基本信息的视图定义如下:

create view Classroom_view(教室号,教室名,教师位置) as select * from Classroom with check option;

(7) 查询占用表的基本信息的视图定义如下:

create view Occupy_view(班级号,教室号,上课时间,占用学时) as select * from Occupy with check option;

(8) 查询教师表的基本信息的视图定义如下:

create view Teacher_view(教师号,姓名,性别,职称,年龄,工资) as select * from Teacher

with check option;

(9) 查询教授表的基本信息的视图定义如下:

create view Professor_view(教师号,班级号,课程号,教授时间) as select * from Professor with check option; 5.存储过程定义 (1)系存表储过程如下

Create procedure Subject_insert @Xno nvarchar(10), @Xname nvarchar(10), @Xdiredtor nvarchar(10) As

Insert into Subject values(@Xno,@Xname,@Xdiredtor); (2)班级表存储过程如下 Create procedure Class_insert @Cno nvarchar(10), @Cname nvarchar(10), @Xno nvarchar(10), @Cdirector nvarchar(10) As

Insert into Class values(@Cno,@Cname,@Xno,@Cdirector); (3)学生表存储过程如下 Create procedure Student_insert @Sno nvarchar(10), @Sname nvarchar(10), @Ssex nvarchar(10), @Saddr nvarchar(10), @Sage smallint, @Smajor nvarchar(10), @Cno nvarchar(10)

As

Insert into Student values(@Sno,@Sname,@Ssex,@Saddr,@Sage,@Smajor,@Cno); (4)课程表存储过程如下 Create procedure Course_insert @Courceno nvarchar(10), @Courcename nvarchar(10), @Ccredit smallint,

@Courcedirector nvarchar(8) As

Insert into Course values(@Courceno,@Courcename,@Ccredit,@Courcedirector) (5)选课表存储过程如下

Create procedure Choice_insert @Sno nvarchar(10), @Courceno nvarchar(10), @Grade nvarchar(10) As

Insert into Choice values(@Sno,@Courceno,@Grade); (6)教室表存储过程如下

Create procedure Classrom_insert @Rno nvarchar(10), @Rname nvarchar(10), @Raddr nvarchar(10) As

Insert into Classroom values(@Rno,@Rname,@Raddr); (7)占用表存储过程如下 Create procedure Occupy_insert @Cno nvarchar(10), @Rno nvarchar(10), @Stime datetime, @UseTime nvarchar(10) As

Insert into Occupy values(@Cno,@Rno,@Stime,@Usetime);

(8)教师表存储过程如下 Create procedure Teacher_insert @Tno nvarchar(10), @Tname nvarchar(10), @Tsex nvarchar(10), @Tpos nvarchar(10), @Tage smallint, @Tsal smallint As

Insert into Teacher values(@Tno,@Tname,@Tsex,@Tpos,@Tage,@Tsal); (9)教授表存储过程如下

Create procedure Professor_insert @Tno nvarchar(10), @Cno nvarchar(10), @Courceno nvarchar(10), @Teachtime datetime As

Insert into Professor values(@Tno,@Cno,@Courceno,@Teachtime);

6.触发器的创建

此触发器是在删除信息的时候将其再显示确认一遍。 (1)学生删除触发器

create trigger delete_Student on Student for delete as begin

select * from deleted end

(2)课程删除触发器

create trigger delete_Course on Course for delete as

begin

select * from deleted end

(3)教师删除触发器

create trigger delete_Teacher on Teacher for delete as begin

select * from deleted end

(4)教授删除触发器

create trigger delete_Professor on Professor for delete as begin

select * from deleted end

7.约束条件的创建

对学生表和教师别中性别的约束: alter table Student

add constraint cons_sexs check((Ssex='女' or Ssex='男')) alter table Teacher

add constraint conssexs check((Tsex='女' or Tsex='男'))

3.5 数据库实施

1.数据库的建立

2.数据表的建立 (1)系表

(2)班级表

(3)学生表

(4)课程表

(5)选课表

(6)教室表

(7)占用表

(8)教师表

(9)教授表

3.视图的建立 (1)系表

(2)班级表

(3)学生表

(4)课程表

(5)选课表

(6)教室表

(7)占用表

(8)教师表

(9)教授表

4.索引的建立

5.触发器的建立

6.约束的建立

7.存储过程的建立

3.6 备份计划

1)每周星期日的2:00:00执行 数据库的完整备份;

2)每周一至周六每天的2:00:00执行数据库的差异备份;

3)每天在8:00:00到23:59:59之间每一小时执行数据库的日志备份;

4)每个月的最后一个星期日的1:00:00执行数据库的完整备份。

第4章 结束语

参考文献

[1] 何宗耀 吴孝丽 数据库原理及应用 中国矿业大学出版社 2014


相关内容

  • 小学数学教学研究课程教学设计方案
  • 小学数学教学研究课程教学设计方案 关键词:新课程小学数学课堂教学设计 一.课题的提出 1.新课程呼唤课堂教学设计的创新. 新课程是一场以教育价值观转换为特征的教育改革,其核心理念为:"以学生发展为本""师生在教育中共同成长".在课堂教学中,强调"三维 ...

  • 计算机程序设计课程群建设研究
  • 计算机程序设计课程群建设研究 谭定英,张洪来,赵文光,陈平平,刘慧玲 (广州中医药大学医学信息工程学院,广东广州510006) 针对学生程序设计及开发学习过程中,对课程间知识的相关性及延续性缺乏理解,实践动手能力有待提高等摘 要: 问题,分析程序设计课程教学的特点,理清课程之间的关系,提出依托程序设 ...

  • 设计教育中的教学设计
  • [内容摘要]当今,我国的工业设计教育还存在着诸多缺憾,设计教育没有体现出工业设计学科的特色.工业设计的学科特点是同时具有科学.技术.经济和艺术的多重属性,这些因素是一种交叉融合应用的系统关系,绝不是简单的叠加关系.工业设计的教学也应充分体现出这一融合特征,在课程编排和教学设计中,将对人的" ...

  • 教学设计课程教学设计方案
  • 教学设计课程教学设计方案 为保证"人才培养模式和开放教育试点"的顺利实施和本课程的教学质量,依据本专业实施的有关规定,特制定本课程的教学设计方案. 一.教学设计课程概况 1.本课程的性质和特点 教学设计是中央广播电视大学小学教育专业(专科起点本科)的一门限定选修课程,它的文字教材 ...

  • 河北大学学年论文
  • 河北大学学年论文(课程设计)管理办法(试行) 学年论文(课程设计)是人才培养方案的重要组成部分,是实现本科教学培养目标的重要实践环节.为了进一步加强和规范学年论文(课程设计)工作的管理,不断提高学年论文(课程设计)质量,特制定本办法. 一.学年论文(课程设计)的教学目的 本科学生撰写学年论文(课程设 ...

  • 环艺教研室活动计划
  • 2004-2005学年 第1学期 环境艺术设计教研室工作计划 环境艺术设计教研室主要负责艺术设计专业的环境艺术设计方向教学管理及研究工作. 本教研室负责各个专业的环艺课程如: 室内设计基础. 展示空间设计. 景观设计研究等 为了进一步规范教研室的教学与管理,本学期定期进行教研室活动,教研室活动要求如 ...

  • 服装效果图阶段性总结自评报告
  • 服装效果图阶段性总结自评报告 一.近两年本专业建设的基本情况 1.精品课程建设负责人和教学团队主要教师在教学.科研.教学改革等方面所作的主要工作 根据"服装效果图"课程的特点,我们在教学过程中紧紧围绕培养学生过硬的操作技能这个中心,灵活运用多种教学方法,收到了理想的教学效果. 1 ...

  • 教学过程设计的理论与实践
  • 教学设计课程学习网   www.hainnu.edu.cn/licb 学习论坛 返回主页 教学过程设计的理论与实践 李 龙 内蒙古师范大学教育研究所,呼和浩特 010022 [摘要] 教学设计是依据对学习需求的分析,提出解决问题的最佳方案,使教学效果达到优化的系统决策过程. 当前的教学设计将向三个方 ...

  • 教育技术学论文题目
  • 1 中-美高等教育中计算机音乐课程现状和比较研究 2 军队外语网络教学的课程构建和教学模式研究 3 教育信息环境下,面向学习过程的发展性评价的研究 4 基于网络的自适应学习系统研究 5 网络教学交互策略研究 6 信息技术学习环境中高中语文自我导向式阅读教学的实践与研究 7 基于自动测评技术的IT技能 ...

  • 教育技术学题目大全
  • 教育技术学题目大全 1 中-美高等教育中计算机音乐课程现状和比较研究 2 军队外语网络教学的课程构建和教学模式研究 3 教育信息环境下,面向学习过程的发展性评价的研究 4 基于网络的自适应学习系统研究 5 网络教学交互策略研究 6 信息技术学习环境中高中语文自我导向式阅读教学的实践与研究 7 基于自 ...