黄晋111001218修改至01 3.docx
《黄晋111001218修改至01 3.docx》由会员分享,可在线阅读,更多相关《黄晋111001218修改至01 3.docx(28页珍藏版)》请在冰豆网上搜索。
![黄晋111001218修改至01 3.docx](https://file1.bdocx.com/fileroot1/2022-11/23/b65f8749-6563-484d-bce8-4bc57792d551/b65f8749-6563-484d-bce8-4bc57792d5511.gif)
黄晋111001218修改至013
《数据库应用实训》
实训报告
设计题目:
考研辅导机构管理系统
学号:
________111001218____________
姓名:
黄晋
专业:
数理综合班
年级:
2010级
指导教师:
张华娣
2014年1月9日
目录
第1章实训概述2
1.1实训目的2
1.2实训要求2
第2章系统需求分析3
2.1问题背景及描述3
2.2功能分析3
2.2.1系统目标4
2.2.2系统功能图4
2.3业务流程设计4
2.3.1业务流程分析4
2.3.2业务流程图5
2.4数据流图设计5
2.5数据字典建立5
2.5.1数据流的描述6
2.5.2数据数据存储的描述7
2.5.3数据项的描述7
第3章概念和逻辑结构设计9
3.1概念结构设计9
3.2逻辑结构设计11
第4章系统数据库平台构建13
4.1数据库的设计13
4.2安全环境配置14
4.2.1控制文件的配置14
4.2.2重做日志文件的配置14
4.3存储空间和数据文件的设计15
第5章数据表及完整性设计17
5.1数据表的设计17
5.2数据完整性设计19
5.2.1索引设计19
5.2.2视图设计20
第6章心得体会22
第一章实训概述
1.1实训目的
通过本课程学习,培养综合运用理论知识分析和解决数据库创建与设计过程中所遇到的实际问题的能力,具备使用大型数据库系统管理和应用开发的能力,提高综合素质和专业技能,为今后从事相关的工作打下坚实的基础。
1.2实训要求
针对一个具体的实际问题进行需求分析,利用数据库建模工具完成数据库的概念、逻辑和物理设计。
基于大型数据库系统平台,对实际数据库进行构建,环境配置,存储空间和数据文件的创建并能有效管理。
数据表和完整性的设计,依据上述的需求分析,基于平台完成各类数据表的设计,并对数据的相关完整性进行设计。
数据库实现,作为能力拓展篇,有能力的学生可完成业务规则的建立,设计相应的存储过程和触发器;编写程序完成系统的开发设计,并能对数据库进行维护,如,安全性、备份等。
第二章系统需求分析
2.1问题背景及描述
进入二十一世纪后,信息化建设已经越来越普及,单纯的以纸本方式或电子表格Excel来管理一般考研机构辅导系统过程,已经力不从心。
本系统是一个关于考研辅导机构教学管理的信息系统,因此,从一开始就要以系统的可行性为最终的实现目标,由此,本系统最终要实现的目标的设计就非常重要。
根据可行性的分析得出,本系统应该分别对教师,会员,辅导机构管理人员三方提供输入,查询,修改,记录等功能。
归纳起来,本系统的功能应分为以下几块:
系统管理模块,会员管理模块,教师管理模块,课程管理模块,教室管理模块。
2.2功能分析
2.2.1系统目标
本系统的目标是最终实现无纸化办公,提高考研机构信息化程度,使得课程的管理、学生的选课能够在线上完成,提高沟通效率,使考研辅导的相关信息更加明朗。
2.2.2系统功能图
以下是整个系统的功能分析图:
2.3业务流程设计
2.3.1业务流程分析
考研辅导管理系统主要包含课程课程管理、会员选课、教室管理3个主要部分:
(1)课程管理:
考研辅导机构根据考试大纲及市场的需求,制定合理的教学计划,包括开几门课,由哪个老师负责等。
(2)会员选课:
学生根据自己的情况,配合考研辅导机构所给的教学计划,选择自己所需的课程。
(3)教室管理:
考研辅导机构根据教学计划,结合学生选课的结果,对教室进行合理的分配。
2.3.2业务流程图
以下是系统的业务流程图:
2.4数据流图设计
(1)系统整体的数据流程图:
(2)教学计划局部数据流程图:
(3)学生选课局部数据流程图:
(4)教室安排局部数据流程图:
2.5数据字典建立
2.5.1数据流的描述
(1)教学计划管理的数据流:
序号
数据流名
来源
流向
组成
说明
1
课程查信息查询
S3课程信息
P1.1
课程编号、课程内容
2
修改课程信息
P1.1
P1.2
课程编号、课程内容
对课程信息进行修改
3
教学计划信息
查询
S4教学计划信息
P1.3
课程编号、教师编号、教学计划时间
4
修改教学计划
P1.3
P1.4
课程编号、教师编号、教学计划时间
对教学计划进行修改
(2)学生选课管理的数据流:
序号
数据流名
来源
流向
组成
说明
1
查询教学计划请求
会员
P2.1
会员编号
2
教学计划数据
S4教学计划信息
P2.1
课程编号、教师编号、教学计划时间
3
选课信息查询
管理员
P2.3
管理员编号
4
确认选课
P2.3
P2.4
课程编号、教师编号、会员编号
(3)教室管理数据流:
序号
数据流名
来源
流向
组成
说明
1
查询选课
管理员
P3.1
课程编号、教师编号、会员编号
2
选课信息
S5选课信息
P3.1
课程编号、教师编号、教学计划时间
3
教室信息
S6教室信息
P3.2
教室编号
4
教室安排数据
P3.2
S7排课数据
教学计划编号、教室编号
2.5.2数据存储的描述
序号
数据文件
文件组成
关键标识
组织
1
S1会员档案
会员编号
全部
按会员编号排序
2
S2教师档案
教师编号
全部
按教师编号排序
3
S3课程信息
课程编号、课程名称、课程说明
课程编号
按课程编号排序
4
S4教学计划信息
课程编号、教师编号、开课时间安排
课程编号、教室编号
按课程编号、教师编号排序
5
S5会员选课信息
教学计划编号、会员编号
全部
按教学计划编号、会员编号排序
6
S6教室信息
教室编号
全部
按教室编号排序
7
S7排课信息
教学计划编号、教室编号
全部
按教学计划编号、教室编号排序
第三章概念和逻辑结构设计
3.1概念结构设计
本系统包括的实体主要有会员,教师,教室,课程。
学生实体和课程实体存在选修的联系,一个学生可以选修多门课程,而每门课也可以被多个学生选修,所以它们之间是多对多的联系(n:
m),如下图:
教师实体和课程实体存在讲授的联系,一名教师可以讲授多门课程,而每门课也可以被多个教师讲授,所以它们之间是多对多的联系(n:
m),如下图:
教师实体和会员实体存在教授的联系,一个会员选秀所选修的课程可能由多个教师教授,而每名教师也可以教授多个会员,所以教师和会员之间是多对多的联系(n:
m),如下图:
课程实体和教室实体之间存在上课地点的联系,每门课程只会在一个教室上课,而一个教室可为多门课程提供上课地点,所以课程实体和教室实体之间是一对多的联系(1:
n),如下图:
以下是经过整体优化的总ER图:
3.3逻辑结构设计
本系统包括以下数据表:
数据库表名
关系模式名称
备注
Teacher
教师
教师信息表
Member
会员
会员信息表
Course
课程
课程基本信息表
Class
教室
教室基本对照表
Schedule
教学计划
教学计划安排表
SchClass
上课地点
课程上课地点表
StuCourse
会员选课
选课-授课合成信息表
教师表:
字段名称
含义属性
类型
长度
备注
Teacher_num
编号
Varchar2
10
主键,也可以作为登录标识
Teacher_name
姓名
Varchar2
6
Notnull
Sex
性别
Varchar2
2
男、女(M/F)
Title
职称
Varchar2
8
教授、副教授…
phone
联系电话
Varchar2
15
Email
电子邮件
Varchar2
40
支持中文邮箱
birthady
出生年月
Date
pwd
密码
Varchar2
20
密码,可以是数字英文和符号等
会员表:
字段名称
含义属性
类型
长度
备注
Member_num
会员编号
Varchar2
10
主键,也可以作为登录标识
Member_name
学生姓名
Varchar2
6
Notnull
Major
专业
Varchar2
30
学生专业
sex
性别
Varchar2
2
男、女(M/F)
birthday
出生年月
Date
pwd
密码
varchar
20
密码,可以是数字英文和符号等
课程表:
字段名称
含义
类型
长度
备注
Course_num
课程编号
Varchar2
10
主键
Course_name
课程名称
Varchar2
20
Notnull
Description
课程说明
Varchar2
250
Period
课时
Number
3
教室表:
字段名称
含义
类型
长度
备注
Class_num
班级编号
Varchar2
6
主键
Class_name
班级名称
Varchar2
10
Notnull
Seat_count
可容纳学生数
Number
3
Notnull
Address
地址
Varchar2
250
教室地址
Desscription
班级说明
Varchar2
250
教学计划表:
字段名称
含义
类型
长度
备注
Schedule_num
计划编号
Varchar2
10
Course_num
课程编号
Varchar2
10
外建Course.Course.Cnum
Teacher_num
教师编号
Varchar2
6
外建Teacher.Teacher_number
Date_From
开课日期起
Date
例如:
2014/10/1
Date_To
开课日期讫
Date
例如:
2014/12/10
Description
说明
Varchar2
250
上课地点表:
字段名称
含义
类型
长度
备注
Schedule_num
计划编号
Varchar2
10
外建Schedule.Schedule_num
Class_num
班级编号
Varchar2
6
外建Course.Course_num
选课表:
字段名称
含义
类型
长度
备注
Member_num
会员编号
Varchar2
10
外建Member.Member_num
Schedule_num
计划编号
Varchar2
10
外建Schedule.Schedule_num
Auditor
选课审核者
Varchar2
10
直接取其姓名
第四章系统数据库平台搭建
4.1数据库的设计
4.2安全环境配置
Sql>altersystemsetcontrol_files=
‘D:
\oracle\product\10.2.0\oradata\orcl\control01.ctl’,
‘D:
\oracle\product\10.2.0\oradata\orcl\control02.ctl’,
‘D:
\oracle\product\10.2.0\oradata\orcl\control03.ctl’SCOPE=SPFILE;
4.3存储空间和数据文件的设计
第五章数据表及完整性设计
5.1数据表的设计
创建教师表:
createtableTeacher(
Teacher_numVarchar2(10)notnullprimarykey,
Teacher_nameVarchar2(6)notnull,
SexVarchar2
(2),
TitleVarchar2(8),
phoneVarchar2(15),
EmailVarchar2(40),
birthadyDate,
pwdVarchar2(20)
);
创建会员表:
createtableMember(
Member_numVarchar2(10)notnullprimarykey,
Member_nameVarchar2(6)Notnull,
MajorVarchar2(30),
sexVarchar2
(2),
birthdayDate,
pwdvarchar(20)
);
创建课程表:
createtablecourse(
Course_numVarchar2(10)notnullprimarykey,
Course_nameVarchar2(20)Notnull,
DescriptionVarchar2(250),
PeriodNumber(3)
);
创建教室表:
createtableclass(
Class_numVarchar2(6)notnullprimarykey,
Class_nameVarchar2(10)Notnull,
Seat_countNumber(3)Notnull,
AddressVarchar2(250),
DesscriptionVarchar2(250)
);
创建教学计划表:
createtableschedule(
Schedule_numVarchar2(10)notnullprimarykey,
Course_numVarchar2(10),
Teacher_numVarchar2(6),
Date_FromDate,
Date_ToDate,
DescriptionVarchar2(250)
);
创建上课地点表:
createtableSchClass(
Schedule_numVarchar2(10),
Class_numVarchar2(6)
);
创建会员选课表:
createtableStuCourse(
Member_numVarchar2(10),
Schedule_numVarchar2(10),
Auditorvarchar2(10)
);
5.2数据完整性设计
5.2.1创建索引
教师表索引
createindextech_num_idxonTeacher(
Teacher_name
);
会员表索引
createindexMember_idxonMember(
Member_name
);
课程表索引
createindexcourse_idxoncourse(
Course_name
);
教室表索引
createindexclass_idxonclass(
Class_name
);
教学计划表索引
createindexschedule_idxonschedule(
Course_num,Teacher_num
);
上课地点表索引
createindexSchClass_idxonSchClass(
Schedule_num,Class_num
);
选课表索引
createindexStuCourse_idxonStuCourse(
Member_num,Schedule_num
);
5.2.2创建视图
教学计划视图:
createviewschedule_v
as
select
sch.Schedule_num,
sch.Course_num,
cor.Course_name,
cor.Description,
cor.Period,
sch.Teacher_num,
tch.teacher_name,
tch.Title,
sch.Date_From,
sch.Date_To,
sch.Descriptionschedule_desc
fromschedulesch,
coursecor,
Teachertch
wheresch.course_num=cor.course_num
andsch.teacher_num=tch.teacher_num
;
上课地点视图:
createviewSchClass_v
asselect
sc.Schedule_num,
sc.Class_num,
schv.Course_num,
schv.Course_name,
schv.Description,
schv.Period,
schv.Teacher_num,
schv.teacher_name,
schv.Title,
schv.Date_From,
schv.Date_To,
schv.Descriptionschedule_desc,
cl.Class_name,
cl.Seat_count,
cl.Address
fromSchClasssc,
schedule_vschv,
classcl
wheresc.schedule_num=schv.schedule_num
andsc.class_num=cl.class_num;
选课表视图:
createviewStuCourse_v
asselect
sc.Member_num,
mem.member_name,
sc.Schedule_num,
schv.Course_num,
schv.Course_name,
schv.teacher_num,
schv.teacher_name,
sc.Auditor
fromStuCoursesc,
schedule_vschv,
membermem
wheresc.member_num=mem.member_num
andsc.schedule_num=schv.schedule_num;
第六章心得体会
这次数据库管理课的实训,让我收益匪浅,使我懂得了如何将课堂上所学的理论,所学的技术如何更好应用到实际中。
通过这次的实训,让我了解了如何从全局的角度去思考一个方案如何从最初想法的萌芽,到需求分析、系统设计、数据库设计等一系列过程后,最终产出详细的方案。
之前在课本中学习的理论知识,总是无法融会贯通,无法深刻去体会,总觉得自己好像了解了,好像理解了,但是缺乏实战的机会,心里不够踏实。
特别是在这次的实训中,我充分认识到了自己的不足,一开始手忙脚乱,无从下手。
后来在老师的悉心帮助下,以及通过阅读参考书及网上查询资料,渐渐让自己对数据库的设计有了感觉。
通过这次的实训,我也学到很多的知识,包括什么是需求分析、业务流程设计、数据流设计,以及如何运用它们,同时学会了如何使用Visio进行系统功能图,业务流程图,数据流图设计。
这次实训让我明白了之后应该更加努力学习课堂上的知识,积极开拓自己的视野,以便为将来的工作做好准备!