《数据库原理》课程设计报告 课程名称:
《数据库原理》课程设计 设计题目:
《教务管理系统》
指导教师:
班 级:
学 号:
学生姓名:
同组人员:
成 绩:
评 语:
计算机科学与工程学院 2016年X月 目 录 第1章 概述 2 1.1 选题的背景与意义 2 1.2相关技术分析 2 第2章 系统功能设计 3 2.1系统总体结构设计图 3 2.2 系统功能模块 3 1.2.1 模块 3 1.2.2 模块功能 3 第3章 数据库设计 5 3.1 需求分析 5 3.1.1流程图 5 3.1.2 数据字典 6 3.2 概念结构设计 9 3.2.1 E—R图 9 3.3 逻辑结构设计 11 3.3.2范式的判定(3NF)
11 3.3.3 子模式的设计(视图)
13 3.4 物理结构设计 15 3.4.1存储结构与存取方法 15 3.4.2数据的易变与稳定部分 16 3.4.3索引的建立 16 3.5数据库、表建立的代码 16 3.5.1建立视图 20 3.5.2建立存储过程 21 3.5.4建立触发器 22 3.6 数据库实施 24 3.6.1 数据表截图 24 3.6.2视图的截图 27 3.6.3存储过程的截图 29 3.6.4 触发器实现过程的截图 30 第4章 33 第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项 数据项列表 数据项编号 数据项名 别名 与其他数据项的关系 类型 DI-1 Xno 系号 char(10) DI-2 Xname 系名称 char(10) DI-3 Xdirector 系主任 char(10) DI-4 Cno 班级号 char(20) DI-5 Cname 班级名称 char(10) DI-6 Cdirector 班主任 char(10) DI-7 Sno 学号 char(20) DI-8 Sname 学生姓名 varchar(30) DI-9 Ssex 学生性别 char(4) DI-10 Saddr 家庭住址 char(30) DI-11 Sage 学生年龄 smallint DI-12 Smajor 专业 char(20) DI-13 Courceno 课程号 char(10) DI-14 Courcename 课程名称 char(10) DI-15 Credit 学分 smallint DI-16 Courcedirector 授课教师 同Tname char(10) DI-17 Grade 成绩 char(10) DI-18 Rno 教室号 char(10) DI-19 Rname 教室名称 char(10) DI-20 Raddr 教室地址 char(10) DI-21 Stime 上课时间 同Teachtime datetime DI-22 Usetime 占用学时 char(10) DI-23 Tno 教工号 char(10) DI-24 Tname 教师姓名 同Courcedirector char(10) DI-25 Tsex 教师性别 char(10) DI-26 Tpos 职称 char(10) DI-27 Tage 教师年龄 smallint DI-28 Tsal 工资 smallint DI-29 Teachtime 授课时间 同Stime datetime 数据结构 数据结构列表 数据结构编号 名称 描述 组成 DS-1 Department 系信息 Xno,Xname,Xdirector DS-2 Class 班级信息 Cno,Cname,Xno,Cdirector DS-3 Student 学生信息 Sno,Sname,Ssex,Saddr,Sage,Smajor,Cno DS-4 Cource 课程信息 Courceno,Courcename,Credit,Courcedirector DS-5 Elective 选课信息 Sno,Courceno,Grade DS-6 Classroom 教室信息 Rno,Rname,Raddr DS-7 Occupy 占用信息 Cno,Rno,Stime,Usetime DS-8 Teacher 教师信息 Tno,Tname,Tsex,Tpos,Tage,Tsal DS-9 Teaching 授课信息 Tno,Cno,Courceno,Teachtime 数据存储 数据存储结构列表 编号 存储名 流入数据流 流出数据流 组成 DS-1 系 系信息 系信息 系 DS-2 班级 班级信息 班级信息 班级 DS-3 学生 学生信息 学生信息 学生 DS-4 课程 课程信息 课程信息 课程 DS-5 选课 选课信息 选课信息 学生 课程 DS-6 教室 教室信息 教室信息 教室 DS-7 占用 班级 教室信息 班级 教室信息 班级 教室 DS-8 教师 教师信息 教师信息 教师 DS-9 授课 教师 班级信息 教师 班级信息 教师 班级 处理过程 存储过程列表 处理过程名 输入数据流 输出数据流 处理 系信息 系领导 系信息 系号不能缺省 班级信息 班级 班级信息 班级号唯一 学生信息 学生 学生信息 学生号唯一 课程信息 课程 课程信息 课程号唯一 选课信息 学生 课程 选课信息 学生及课程号与学生和课程信息相同 教室信息 教室 教室信息 教室号唯一 占用信息 教室 班级 占用信息 教室号和班级号唯一 教师信息 教师 教师信息 教师号唯一 授课信息 教师 课程 授课信息 教师号和课程号唯一 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读写速度。为了系统的安全性,一般将日志文件和重要的系统文件存放在多个磁盘上,互为备份。另外,数据库文件和日志文件的备份,由于数据量大,并且只在数据库恢复时使用,所以一般存储在磁带上。
系统配置 DBMS产品一般都提供大量的配置参数,供数据库设计人员和DBA进行数据库的物理结构设计和优化,如用户数,缓冲区,内存配置,物理块的大小等。一般建立数据库时,系统都提供了默认参数,但是默认参数不一定适用每一个应用环境,要做适当的调整。此外,在物理结构设计的参数,只是初步的,要在系统运行阶段根据实际情况进一步调整和优化。
存取方法的选择 索引是数据库表的一个附加表,存储了建立索引猎德值和对应的地址。查询数据时,先在索引中根据查询的条件值找到相关地址,然后在表中存取对应的记录,所以能加快查询速度。但索引本身占用存储空间,索引是系统自维护的。建立索引的一般原则是:
1.如果某属性或属性组经常出现在查询中,则考虑为该属性或属性组建立索引;
2.如果某个属性经常作为最大值和最小值等聚集函数的参数,则考虑建立索引;
3.如果某属性和属性组经常出现在连接操作的连接条件中,则考虑建立索引;
3.4.2数据的易变与稳定部分 1.由于基本表Teacher,Student的主码Tno,Sname经常在查询条件和连接条件中出现,且它们的值唯一,在两个属性上建立唯一性索引;
2.由于基本表Elective的属性Sno,Grade经常在查询条件中出现,在两个属性上建立唯一索引;
3.4.3索引的建立 create unique index snograde on Elective(Sno asc,Grade desc); create unique index teadno on Teacher(Tno); create unique index stusname on Student(Sname); 3.5数据库、表建立的代码 create database 教学信息管理系统 on primary (name='教学信息管理系统', filename='E:\教学信息管理系统\教学信息管理系统.mdf', size=10MB, maxsize=20mb, filegrowth=15%) log on (name='教学信息管理系统_log', filename='E:\教学信息管理系统\教学信息管理系统_log.ldf', size=5mb, maxsize=10mb, filegrowth=3MB) go 1.教师表基本信息的建立 create table Teacher( Tno char(10) primary key,--教工号 Tname char(10)not null,--姓名 Tsex char(10) not null check(Tsex in('男','女')),--性别 Tpos char(10) not null check(Tpos in('教师','主任','辅导员')),--职称 Tage smallint not null,--年龄 Tsal smallint not null,--工资 ) 2.院系基本信息表的建立:
Create table Department( Xno char(10) primary key not null,--系号 Xname char(10)not null,--系名称 Xdirector char(10),--系主任 foreign key(Xdirector) references Teacher(Tno) on delete cascade ) 3.班级基本信息表的建立:
Create table Class( Cno char(20)primary key,--班级号 Cname char(10)not null,--班级名称 Xno char(10),--所属系 Cdirector char(10),--班主任 foreign key(Xno) references Department(Xno), foreign key(Cdirector) references Teacher(Tno) on delete cascade ) 4.学生基本信息表的建立:
Create table Student( Sno char(20)primary key,--学号 Sname varchar(30) not null,--姓名 Ssex char(4)not null check(Ssex in('男','女')),--性别 Saddr char(30)not null,--家庭住址 Sage smallint not null,--年龄 Smajor char(20)not null,--专业 Cno char(20)--所属班级 foreign key(Cno) references Class(Cno) ) 5.课程基本信息表的建立:
Create table Cource( Courceno char(10)primary key,--课程号 Courcename char(10)not null,--课程名称 Credit smallint not null,--学分 Courcedirector char(10),--授课教师 foreign key(Courcedirector) references Teacher(Tno) on delete cascade, ) 6.学生所选课程基本信息表的建立:
Create table Elective( Sno char(20),--学号 Courceno char(10),--课程号 Grade float(10)not null,--成绩 primary key(Sno,Courceno), foreign key(Sno) references Student(Sno) on delete cascade, foreign key(Courceno) references Cource(Courceno), ) 7.教室基本信息表的建立:
create table Classroom( Rno char(10) primary key,--教室号 Rname char(10) not null,--教室名称 Raddr char(10) not null,--教室地址 ) 8.占用教室基本信息表的建立:
create table Occupy( Cno char(20),--班级号 Rno char(10),--教室号 Stime datetime,--上课时间 Usetime char(10),--占用学时 primary key(Cno,Rno,Stime), foreign key(Rno) references Classroom(Rno), foreign key(Cno) references Class(Cno), ) 9.授课基本信息表的建立:
create table Teaching( Tno char(10),--教工号 Cno char(20),--班级号 Courceno char(10),--课程号 Teachtime datetime not null,--授课时间 primary key(Tno,Cno,Courceno), foreign key(Tno) references Teacher(Tno) on delete cascade, foreign key(Cno) references Class(Cno), foreign key(Courceno) references Cource(Courceno), ) insert into Teacher values('023134','陈建华','男', '辅导员','25','3600') insert into Teacher values('052325','陈华','男' ,'主任','27','3600') insert into Teacher values('033226','张红','女', '教师','29','4000') insert into Teacher values('074354','王伟','男' ,'主任','31','4300') insert into Teacher values('051242','侯芳','女' ,'主任','43','3800') insert into Teacher values('022124','王建','男', '教师','32','4500') insert into Teacher values('087687','王志','男' ,'主任','34','3900') insert into Teacher values('011343','张国龙','男' ,'教师','34','4500') insert into Teacher values('068787','李薇','女' ,'主任','35','3700') insert into Teacher values('068962','史俊','男' ,'主任','27','4200') insert into Teacher values('042315','李芬','女' ,'辅导员','26','3600') insert into Teacher values('027778','高倩','女' ,'主任','29','3300') insert into Teacher values('045477','陈勇','男' ,'主任','30','4300') insert into Teacher values('043276','杨飞','男' ,'主任','29','4500') insert into Teacher values('054122','李刚','男' ,'辅导员','27','3600') insert into Teacher values('085426','李裕达','男' ,'主任','36','4400') insert into Department values ('01','土木学院','052325') insert into Department values ('02','交通学院','074354') insert into Department values ('03','计算机学院','051242') insert into Department values ('04','生科学院','087687') insert into Department values ('05','化工学院','068787') insert into Department values ('06','管理学院','068962') insert into Class values ('0313','软工-2','03','068787') insert into Class values ('0213','道桥-1','02','068962') insert into Class values ('0513','化学材料-3','05','027778') insert into Class values ('0613','工程造价-4','06','045477') insert into Class values ('0113','土木工程-1','01','043276') insert into Class values ('0413','制药-3','04','085426') insert into Student values('0113001','王洋','男','平顶山市新华区','20','土木工程','0113') insert into Student values('0413005','马思琪','女','平顶山市新华区','19','制药','0413') insert into Student values('0213001','师杰','男','平顶山市新华区','20','道桥','0213') insert into Student values('0613001','吴迪','男','平顶山市新华区','21','工程造价','0613') insert into Student values('0513001','李叶风','男','平顶山市新华区','20','化学材料','0513') insert into Cource values('01001','土木工程',4,'027778') insert into Cource values('02001','道桥',3,'045477') insert into Cource values('03001','软件工程',4,'043276') insert into Cource values('04001','制药',4,'085426') insert into Cource values('05001','制药',4,'085426') insert into Elective values('0113001','01001','86') insert into Elective values('0413005','02001','95') insert into Elective values('0213001','03001','96') insert into Elective values('0613001','04001','84') insert into Elective values('0513001','05001','76') insert into Classroom values('113','A-01','01001') insert into Classroom values('110','A-02','02011') insert into Classroom values('213','B-01','02006') insert into Classroom values('313','C-01','05013') insert into Classroom values('403','B-02','04015') insert into Classroom values('507','A-03','03003') insert into Occupy values('0113','113','2015-4-26',26) insert into Occupy values('0213','110','2015-5-05',31) insert into Occupy values('0613','213','2015-4-07',38) insert into Occupy values('0313','313','2015-4-15',29) insert into Occupy values('0513','507','2015-5-25',35) insert into Teaching values('023134','0213','01001','2015-4-07') insert into Teaching values('033226','0313','02001','2015-4-15') insert into Teaching values('022124','0213','03001','2015-5-05') insert into Teaching values('011343','0113','04001','2015-4-26') insert into Teaching values('054122','0513','05001','2015-5-25') 3.5.1建立视图 1.用于查询学生基本信息的视图定义如下:
create view StudentView as select * from Student 2.用于查询专业基本信息的视图定义如下:
create view MajorView as select Smajor,Xname from Class, Student, Department where Student.Cno= Class.Cno and Class.Xno= Department.Xno with check option 3.用于查询学生成绩的视图定义如下:
create view GradeView as select Sname, Cource.Courceno,Grade from Student, Cource, Elective where Student.Sno= Elective.Sno and Cource.Courceno= Elective.Courceno with check option 4.用于显示当前所选课程基本信息的视图定义如下:
create view ElectiveView as select Sname,Courcename,Courcedirector from Student, Cource,Elective where Student.Sno= Elective.Sno and Cource.Courceno= Elective.Courceno with check option 5.用于显示所开设课程基本信息的视图定义如下:
create view CourceView as select Courcename,Courcedirector from Cource 6.用于查询学生平均成绩的视图定义如下:
create view AverageView(Sno,AVG_Grade) AS SELECT Sno,AVG (Grade) FROM Elective group by Sno 3.5.2建立存储过程 1.为教师表建立一个存储过程 go create procedure Update_Tsal @tno char(10) as begin update Teacher set Tsal = '8000' where @tno=Tno end declare @tno1 char(10) set @tno1='011343' exec Update_Tsal @tno1 2.为系表建立一个存储过程 Create procedure Department_insert @Xno char(10), @Xname char(10), @Xdiredtor char(10) As Insert into Department values(@Xno,@Xname,@Xdiredtor); select * from Department exec Department_insert '07','市政学院','085426' select * from Department 3.5.4建立触发器 1.教师表 create trigger T1 On Teacher for update as if UPDATE(Tname) begin print'拒绝修改' rollback end update Teacher set Tname='吴迪' where Tno='022124' 2. 学生表 create trigger student_insert on Student for insert as print'有新同学加入' insert into Student values('0113002','周新','女','平顶山市新华',20,'软件工程' ,'0113') 3.选课表 create trigger 删除选课 on Elective for DELETE AS if((select Courceno from deleted) in (select Courceno from Elective)) begin print'删除选课成功' rollback end delete from Elective where Sno='0513001' and Courceno='05001' 4.院系 create trigger 添加院系 on Department for insert as print '添加新系' insert into Department values('0844131','考古系','周新新') 5 班级信息的更新 create trigger 班级信息 on Class for update as if update(Cdirector) begin select Inserted.Cno,Inserted.Cname,Inserted.Xno,deleted.Cdirector as 原班主任,Inserted.Cdirector as 新班主任 from Deleted,Inserted where Deleted.Cno=Inserted.Cno end update Class set Cdirector='023476' where Cno='0213' 6.课程 create trigger 添加课程 on Cource for insert as print '添加课程' insert into Cource values('00001','大学英语',4,'033226') 7.教室信息 create trigger 添加教室 on Classroom for insert as print'添加新的教室' insert into Classroom values('0834131','C-03','04004') 8.占用信息 create trigger 占用信息更改 on Occupy for update as if UPDATE(Usetime) begin select inserted.Cno,inserted.Rno,inserted.Stime,deleted.Usetime as 原课时, inserted.Usetime as 新课时 from deleted,inserted where deleted.Cno=inserted.Cno,deleted.Rno=inserted.Rno, deleted.Stime=inserted.Stime end update Occupy set Usetime=30 where Cno='0113',Rno='113',Stime='2015-04-26' 9.授课信息 create trigger 授课信息 on Teaching for insert as print'无法插入该信息' insert into Teaching values('0111111','022','02','2015-4-2') 3.6 数据库实施 3.6.1 数据表截图 1.Deartment表 图3-1 2.Teacher 表 图 3-2 3.Class 表 图 3-3 4.student 表 图3-4 5.Classroom 表 图 3-5 6.Occupy 表 图 3-6 7.Teaching表 图 3-7 8.Course 表 图3-8 9.Elective 表 图 3-9 3.6.2视图的截图 1.学生基本信息视图数据 图 3-10 2.看专业基本信息视图数据 图 3-11 3.查看学生成绩基本信息视图数据 图 3-12 4.学生所选课程基本信息视图 图 3-13 5.开设课程基本信息视图 图 3-14 6.平均分视图 图 3-15 3.6.3存储过程的截图 1.教师表存储过程的验证 图 3-16 2.系表的存储过程验证 图 3-17 3.6.4 触发器实现过程的截图 1. 教师表 修改教师信息 图 3-18 2. 学生表 加入新同学 图3-19 3.选课表 删除选课 图 3-20 4.添加院系 图 3-21 5.班级表 班级信息的更新 图 3-22 6.课程表 课程信息的添加 图 3-23 7.教室表 教室信息的添加 图 3-24 8.占用表 占用教室课时的改变 图 3-25 9.授课表 授课信息的添加 图 3-26 3.6.5备份还原策略 正确及时的进行数据库的备份能减少数据丢失后恢复数据库的大量工作,所以为了避免数据在灾难后无法恢复,必须对数据库进行备份。
在教学信息管理系统的数据库中,由于学生信息,教师信息等比较重要可以数据库建好之后选择对数据库进行备份,以免数据库遭到灾难导致数据丢失或损坏,找不到原始数据。对数据库进行备份后,选择数据库中的‘任务—〉还原—〉数据库’菜单项,就可以还原原始数据。
第4章 结束语 在这一星期的学习过程中,遇到了很多麻烦,一开始思路打不开总是颠三倒四。当有了头绪确定了大致模块后,在画流程图的时候又遇到了瓶颈。感觉怎么画都达不到一个很好地流向,直到最后也是匆匆的画了一下大致方向。后来的代码部分进行的还可以相当于对前面所学部分进行了一次测试和复习。在解决问题的时候大部分进行的百度,然后就是询问同学。课程设计也收获了好多,进行了操作之后才知道水浅水深,理论有时候真像白话。
参考文献 [1] 王珊, 萨师煊 数据库系统概论. 高等教育出版社, 2010. [2] 何宗耀,吴孝丽 数据库原理及应用.中国矿业大学出版社,2015 河南城建学院课程设计