网络课程平台数据库的设计.docx
《网络课程平台数据库的设计.docx》由会员分享,可在线阅读,更多相关《网络课程平台数据库的设计.docx(29页珍藏版)》请在冰豆网上搜索。
网络课程平台数据库的设计
网络课程平台数据库设计(网络测试方面)
第一章系统需求分析
1.1需求概述
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机进行网络教学,有着传统教学所无法比拟的优点.例如:
使用方便、可靠性高、存储量大、保密性好、扩展性高、成本低等,并且突破传统教学的地域限制。
这些优点能够极大地提高学生学习的效率和老师的教学.因此,开发一套网络课程平台管理系统成为很有必要的。
学网络课程平台管理系统提供了强大的学生自主学习功能,同时也方便系统管理员对学生成绩等信息的添加、修改,打印等操作,同时一样的方便学生对自己各科成绩查询,学习的交流。
开发一个网络课程平台管理系统,采用计算机对学生成绩进行管理,进一步提高了办学效益和现代化水平。
为教师和学生提高工作效率,实现互联网教学管理工作流程的系统化,规范化和自动化。
在今天信息时代传统的教育方法必然会被计算机为基础的互联网教育系统所代替,一个高效的网络课程平台可以给予学生无空间,无时间限制的自主学习,可以使传统的教学的效率更加的提高,节约了传统的教育成本。
用户可以迅速查到所需信息,学生在能方便的查看自己的成绩和自己的学习目标。
网络课程平台数据库应具有以下功能
(1)能够实现学生自主选择网络课程,在完成必要公修课之后
学生可以在自己的课余时间里选择一些课程来充实自己,相当于学生的选课系统中的选课环节
(2)管理员能够可以平台的数据进行统一的管理和维护
此平台系统易于不同权限管理员管理,保证数据的安全性。
也将数据库工作均匀的分配,做到数据库的高效管理
(3)相关教师能够对自己所辖课程进行简单管理、查询、打印等工作
老师可以实时地观看所辖课程的情况,了解每位学生的学习和测试情况,并且可以将某些信息打印下了.
(4)能够对教学任务进行科学的管理
记录用户使用平台的日常情况,例如存储教师所需要的教学资料,学生在网络的学习记录,和其他用户的交流
1。
2需求描述
1.2。
1数据流图
图1-1网络课程平台的第一层数据流图
图
图1-2学生操作管理数据流图(第二层)
图1—3课程管理操作数据流图(第二层)
图1-4成绩管理操作数据流图(第二层)
、
图1—3教师操作管理数据流图(第二层)
1。
2.2数据字典
1。
2.2。
1数据结构
教师信息
编号
数据项
数据项别名
数据类型
数据项含义
1
教师号
Jnum
varchar(20)
主码
2
教师名
Jname
varchar(20)
3
院系
College
varchar(20)
学生信息
编号
数据项
数据项别名
数据类型
数据项含义
1
学生号
Snum
varchar(20)
主码
2
学生名
Sname
varchar(20)
3
院系
College
varchar(20)
4
专业班级
Class
varchar(20)
1
班级号
bnum
varchar(20)
外码
班级表
编号
数据项
数据项别名
数据类型
数据项含义
1
班级号
bnum
varchar(20)
主码
2
班级名
bname
varchar(20)
非空
3
班长
Moniter
varchar(20)
4
院号
Ynum
varchar(20)
外码
院表
编号
数据项
数据项别名
数据类型
数据项含义
1
院号
Ynum
varchar(20)
主码
2
院名
bname
varchar(20)
非空
3
院长
Moniter
varchar(20)
课程信息
编号
数据项
数据项别名
数据类型
数据项含义
1
课程号
Cnum
varchar(20)
主码
2
课程名
Cname
varchar(20)
非空
3
课程属性
Cattribute
varchar(100)
4
时间点
Time
date&time
5
教师号
Jname
varchar(20)
外码
课程内容
编号
数据项
数据项别名
数据类型
数据项含义
1
课程内容块号
Cinnum
varchar(20)
唯一标识
2
课程内容
Cin
varchar(100)
3
课程号
Cnum
varchar(20)
外码
选课信息
编号
数据项
数据项别名
数据类型
数据项含义
1
课程号
Cnum
varchar(20)
外码
2
学生号
Snum
varchar(20)
外码
3
时间生成点
Time
date&time
课程成绩信息
编号
数据项
数据项别名
数据类型
数据项含义
1
课程号
Cnum
varchar(20)
外码
2
学生号
Snum
varchar(20)
外码
3
成绩
Grade
varchar(20)
唯一标识
4
时间生成点
Time
date&time
第2章系统初步设计
2.1基于PowerDesigner的数据库设计
2.1.1概念数据模型
概念模型是现实世界到机器世界的一个中间层次。
概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还简单、清晰、易于用户理解。
信息世界涉及的概念主要有:
(1)、实体(Entity):
客观存在并相互区别的事物称为实体。
实体可以是具体的人、事、物,也可以是抽象的概念或联系。
(2)、属性(Attrbute):
实体所具有的某一特性称为属性。
一个实体可以有若干个属性.
(3)、码(Key):
唯一标识实体的属性集称为码。
(4)、域(Domain):
属性的取值范围称为该属性的域.
(5)、实体型(EntityType):
具有相同属性的实体必然具有共同的特性和性质。
用实体名及其属性名集合来抽象和刻画同类试题,称为实体型。
(6)、实体集(EntitySet):
同一类型实体的集合称为实体集.
(7)、联系(Relationship):
在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。
实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。
概念模型表示的方法很多,其中最为著名最常用的是P。
P。
S。
Chen于1976年提出的实体-联系方法(Entity—RelationshipApproach)。
该方法用E-R图(E-RDiagram)来描述现实世界的概念模型,E-R图方法也称为E—R模型。
E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
构成E—R图的基本要素是实体型、属性和联系。
2。
1。
1.1由界面设计E—R图
课程学习的E-R图
选择选修课的E-R图
查询课程成绩的E-R图
管理课程过程的E—R图
2。
1.3物理表结构设计
教师信息
编号
说明
字段名称
数据类型
1
教师号
Jnum
varchar(20)
2
教师名
Jname
varchar(20)
3
院系
College
varchar(20)
学生信息
编号
说明
字段名称
数据类型
1
学生号
Snum
varchar(20)
2
学生名
Sname
varchar(20)
3
院系
College
varchar(20)
4
专业班级
Class
varchar(20)
1
班级号
bnum
varchar(20)
班级表
编号
说明
字段名称
数据类型
1
班级号
bnum
varchar(20)
2
班级名
bname
varchar(20)
3
班长
Moniter
varchar(20)
4
院号
Ynum
varchar(20)
院表
编号
说明
字段名称
数据类型
1
院号
Ynum
varchar(20)
2
院名
bname
varchar(20)
3
院长
Moniter
varchar(20)
课程信息
编号
说明
字段名称
数据类型
1
课程号
Cnum
varchar(20)
2
课程名
Cname
varchar(20)
3
课程属性
Cattribute
varchar(100)
4
时间点
Time
date&time
5
教师号
Jname
varchar(20)
课程内容
编号
说明
字段名称
数据类型
1
课程内容块号
Cinnum
varchar(20)
2
课程内容
Cin
varchar(100)
3
课程号
Cnum
varchar(20)
选课信息
编号
说明
字段名称
数据类型
1
课程号
Cnum
varchar(20)
2
学生号
Snum
varchar(20)
3
时间生成点
Time
date&time
课程成绩信息
编号
说明
字段名称
数据类型
1
课程号
Cnum
varchar(20)
2
学生号
Snum
varchar(20)
3
总成绩
Grade
varchar(20)
4
时间生成点
Time
date&time
/*==============================================================*/
/*DBMSname:
SybaseSQLAnywhere11*/
/*Createdon:
2014/12/2221:
46:
59*/
/*==============================================================*/
ifexists(select1fromsys.sysforeignkeywhererole='FK_RELATION_RELATIONS_课程信息')then
altertableRelationship_4
deleteforeignkeyFK_RELATION_RELATIONS_课程信息
endif;
ifexists(select1fromsys。
sysforeignkeywhererole=’FK_RELATION_RELATIONS_学生信息')then
altertableRelationship_6
deleteforeignkeyFK_RELATION_RELATIONS_学生信息
endif;
ifexists(select1fromsys。
sysforeignkeywhererole=’FK_学生信息_RELATIONS_班级’)then
altertable学生信息
deleteforeignkeyFK_学生信息_RELATIONS_班级
endif;
ifexists(select1fromsys。
sysforeignkeywhererole='FK_班级_RELATIONS_院系')then
altertable班级
deleteforeignkeyFK_班级_RELATIONS_院系
endif;
ifexists(select1fromsys。
sysforeignkeywhererole=’FK_课程信息_RELATIONS_教师信息')then
altertable课程信息
deleteforeignkeyFK_课程信息_RELATIONS_教师信息
endif;
ifexists(select1fromsys.sysforeignkeywhererole='FK_课程内容_RELATIONS_课程信息')then
altertable课程内容
deleteforeignkeyFK_课程内容_RELATIONS_课程信息
endif;
ifexists(
select1fromsys。
systable
wheretable_name=’Relationship_4'
andtable_typein(’BASE’,’GBLTEMP’)
)then
droptableRelationship_4
endif;
ifexists(
select1fromsys。
systable
wheretable_name=’Relationship_6'
andtable_typein('BASE',’GBLTEMP')
)then
droptableRelationship_6
endif;
ifexists(
select1fromsys.systable
wheretable_name=’学生信息’
andtable_typein(’BASE',’GBLTEMP')
)then
droptable学生信息
endif;
ifexists(
select1fromsys。
systable
wheretable_name=’教师信息’
andtable_typein('BASE',’GBLTEMP')
)then
droptable教师信息
endif;
ifexists(
select1fromsys.systable
wheretable_name='班级'
andtable_typein('BASE’,'GBLTEMP’)
)then
droptable班级
endif;
ifexists(
select1fromsys.systable
wheretable_name=’课程信息'
andtable_typein('BASE',’GBLTEMP')
)then
droptable课程信息
endif;
ifexists(
select1fromsys。
systable
wheretable_name='课程内容’
andtable_typein(’BASE’,’GBLTEMP’)
)then
droptable课程内容
endif;
ifexists(
select1fromsys.systable
wheretable_name=’课程成绩信息’
andtable_typein(’BASE’,'GBLTEMP’)
)then
droptable课程成绩信息
endif;
ifexists(
select1fromsys。
systable
wheretable_name=’选课信息'
andtable_typein(’BASE','GBLTEMP')
)then
droptable选课信息
endif;
ifexists(
select1fromsys.systable
wheretable_name=’院系’
andtable_typein(’BASE',’GBLTEMP')
)then
droptable院系
endif;
/*==============================================================*/
/*Table:
Relationship_4*/
/*==============================================================*/
createtableRelationship_4
(
cnumchar(20)notnull,
constraintPK_RELATIONSHIP_4primarykey(cnum)
);
/*==============================================================*/
/*Table:
Relationship_6*/
/*==============================================================*/
createtableRelationship_6
(
snumchar(20)notnull,
constraintPK_RELATIONSHIP_6primarykey(snum)
);
/*==============================================================*/
/*Table:
学生信息*/
/*==============================================================*/
createtable学生信息
(
snumchar(20)notnull,
bnumchar(20)null,
snamechar(20)null,
collegechar(20)null,
classchar(20)null,
constraintPK_学生信息primarykey(snum)
);
/*==============================================================*/
/*Table:
教师信息*/
/*==============================================================*/
createtable教师信息
(
jnumchar(20)notnull,
jnamechar(20)null,
collegechar(20)null,
constraintPK_教师信息primarykey(jnum)
);
/*==============================================================*/
/*Table:
班级*/
/*==============================================================*/
createtable班级
(
bnumchar(20)notnull,
ynumchar(20)null,
ynamechar(20)null,
moniterchar(20)null,
constraintPK_班级primarykey(bnum)
);
/*==============================================================*/
/*Table:
课程信息*/
/*==============================================================*/
createtable课程信息
(
cnumchar(20)notnull,
jnumchar(20)null,
cnamechar(20)null,
cattributechar(100)null,
”time"timestampnull,
constraintPK_课程信息primarykey(cnum)
);
/*==============================================================*/
/*Table:
课程内容*/
/*==============================================================*/
createtable课程内容
(
cnumchar(20)null,
课程内容块号char(20)notnull,
课程内容char(20)null
);
/*==============================================================*/
/*Table:
课程成绩信息*/
/*==============================================================*/
createtable课程成绩信息
(
gradechar(20)null,
"time"timestampnull
);
/*==============================================================*/
/*Table:
选课信息*/
/*==============================================================*/
createtable选课信息
(
"time"timestampnull
);
/*==============================================================*/
/*Table:
院系*/
/*==============================================================*/
createtable院系
(
ynumchar(20)notnull,
ynamechar(20)null,
moniterchar(20)null,
constraintPK_院系primarykey(ynum)
);
altertableRelationship_4
addconstraintFK_RELATION_RELATIONS_课程信息foreignkey(cnum)
references课程信息(