题库管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库课程设计》
—题库管理系统1需求分析
学校的题库管理系统
●实现课程、题型等基本信息的管理;
●能管理每一门课程的题型,每门课程的章节;
●实现习题信息的管理,能按题型或章节录入每门课程的习题;
●定义存储过程查询指定课程各种题型和各章节的习题数量;
●定义视图查询各门课程使用的题型;
●设每个习题有一个题号,题号由系统自动生成,要求从1开设编号;
●设每个习题都有习题的建立日期,其值为系统时间,请定义实现(用默认实现)
;
●定义存储过程实现查询各门课程、各种题型的习题数量;
●可以自动抽题组成套题,习题每抽取一次,要使习题的抽取次数加1(用触发器
实现);
●建立数据库相关表之间的参照完整性约束。
2任务概述
2.1、数据字典
3
数据库概念设计
3.1、局部概念模式设计
在系统界定范围内,将静态数据对象或逻辑上具有独立意义的概念抽象为实体集,如学生、任课教师、课程负责人、测验卷、课程习题、课程等。从数据字典的角度来看,可将数据源点和数据结构作为实体集,而把数据处理抽象为实体间的联系。
3.1.1实体集的属性:
3.1.2、E-R图表示数据库的概念结构
下图为课程责任人、任课教师、学生、课程、课程习题、测试卷实体集之间的关系E-R图
任课老师和测试卷的E-R图
任课老师和课程的E-R图
任课老师和学生的E-R图
测试卷和课程习题的E-R图
学生和测试卷的E-R图
任教老师和题型的E-R图
章和节的E-R图
四. 数据库逻辑设计
4.1数据模型映射
4.1.1 由E-R图导出一般关系模型的四条原则
原则1:E-
R图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。
原则2:E-
R图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主体关系的主码构成这个关系的属性。如果“的”联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。
原则3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码。
原则4:M:M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。
将数据库概念模式映射为数据库逻辑模式,也就是把E-
R模型转换为关系模型。既分别将每个实体集转换为关系,再将每个联系集也转换为关系。
将实体集映射为关系:
学生(学号,学生姓名),学号是主码。
授课(课程号,职工号,,学号),(课程号,职工号,学号)是主码。
任课教师(职工号,姓名,性别),职工号是主码。
测验卷(试卷号,试卷名,课程号,题量,测试时间,难度),(试卷号,试卷名,课程号)是主码。
课程习题(课程号,章号,节号,建立日期,难度,题号,题目内容,答案),(课程代号,章号,节号,建立日期,难度,题号)是主码。
选择(试卷号,课程号,题目内容),(试卷号,课程号)是主码。
解答(课程号,试卷号,学号,记录号,成绩),(课程号,试卷号,学号,记录号)是主码。
题型(题名,题号,题类别),(题名,题号)是主码。
章(章号,章名,章内容),(章号)是主码。
节(节号,节名,节内容),(节号)是主码
包含(章号,节号),(章号,节号)是主码。
4.2建立数据库
题库管理系统的数据库表的结构说明
五.物理设计5.1建立数据库
create database 题库管理
5.2建表
1.学生表
create table SB
(Sno char(10)primary key,
Sname char(10),
Sex char(2),
Sdept char(10),
)
2.任课老师
create table RKJS
(Tno char(10)primary key,
Tname char(10),
Sex char(2),
Sdept char(10)
)
3.课程表
create table Kc
(kcno char(10),primary key, kname char(10),
kzhang char(10),
)
4.课程习题表
create table KCXT
( Cno char(10),
Zno char(10),
Jr datetime,
Nd char(10),
Tno int identity(1,1),
Tn varchar(50),
Answer char(50),
primary key(Cno,Zno,Nd,Jr,Tno),
foreign key(KCno) references KC(KCno) )
5测试卷表
create table CYJ
( SJno char(10),
Cno char(10),
SJname char(10),
Tl char(2),
Ttime char(10),
Nd char(10),
primary key(SJno,Cno,SJname),
foreign key(KCno) references KC(KCno) )