题库管理系统文档格式.docx
- 文档编号:19449206
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:23
- 大小:241.58KB
题库管理系统文档格式.docx
《题库管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《题库管理系统文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
题量存放的是测验卷一共有多少题目。
课程习题
课程号,章节号,建立日期,难度,题号,答案
课程习题的详细内容存放在此表中。
课程代号存放的是课程科目的编码;
章节号存放的是对章节的编号;
建立日期存放的是习题的上传日期;
难度存放的是每一题的难度系数;
题号存放的是每一道题的题目编号;
课程代号,章节号,难度和题号的属性组设为主码。
选择
试卷号,课程号,题目内容
选择表存放的是测验卷和课程习题之间的联系。
试卷号和课程号是选择表的唯一标识,设为主码。
解答
课程号,试卷号,学号,记录号,成绩
解答表存放的是学生解答测验卷的相关信息。
课程号、试卷号和学号可以唯一标识解答信息,设为主码;
记录号存放学生解答测验卷的次数;
成绩存放每次学生测验的成绩。
题型
题名,题号,类别名
题型表存放的是学生所做的习题的相关信息。
题号可以作为唯一标识解答信息,设为主码。
3数据库概念设计
3.1、局部概念模式设计
在系统界定范围内,将静态数据对象或逻辑上具有独立意义的概念抽象为实体集,如学生、任课教师、课程负责人、测验卷、课程习题、课程等。
从数据字典的角度来看,可将数据源点和数据结构作为实体集,而把数据处理抽象为实体间的联系。
3.1.1实体集的属性:
3.1.2、E-R图表示数据库的概念结构
下图为课程责任人、任课教师、学生、课程、课程习题、测试卷实体集之间的关系E-R图
任课老师和测试卷的E-R图
任课老师和课程的E-R图
任课老师和学生的E-R图
测试卷和课程习题的E-R图
N
学生和测试卷的E-R图
1
任教老师和题型的E-R图
章和节的E-R图
3.2全局概念模式E-R图
四.数据库逻辑设计
4.1数据模型映射
4.1.1由E-R图导出一般关系模型的四条原则
原则1:
E-R图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。
原则2:
E-R图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主体关系的主码构成这个关系的属性。
如果“的”联系是1:
1的,则以主实体关系的主码(作为外来码)为这个关系的主码;
M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。
原则3:
1:
M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。
其中“1”实体主码为外来码。
原则4:
M:
M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。
将数据库概念模式映射为数据库逻辑模式,也就是把E-R模型转换为关系模型。
既分别将每个实体集转换为关系,再将每个联系集也转换为关系。
将实体集映射为关系:
学生(学号,学生姓名),学号是主码。
授课(课程号,职工号,,学号),(课程号,职工号,学号)是主码。
任课教师(职工号,姓名,性别),职工号是主码。
测验卷(试卷号,试卷名,课程号,题量,测试时间,难度),(试卷号,试卷名,课程号)是主码。
课程习题(课程号,章号,节号,建立日期,难度,题号,题目内容,答案),(课程代号,章号,节号,建立日期,难度,题号)是主码。
选择(试卷号,课程号,题目内容),(试卷号,课程号)是主码。
解答(课程号,试卷号,学号,记录号,成绩),(课程号,试卷号,学号,记录号)是主码。
题型(题名,题号,题类别),(题名,题号)是主码。
章(章号,章名,章内容),(章号)是主码。
节(节号,节名,节内容),(节号)是主码
包含(章号,节号),(章号,节号)是主码。
4.2建立数据库
题库管理系统的数据库表的结构说明
表名
学生信息(SB)
属性名
别名
类型
长度
是否为空
说明
学号
Sno
char
12
主码
姓名
Sname
10
性别
Sex
2
系别
Sdept
授课信息(SK)
课程号
Cno
职工号
Zgno
任课教师信息(RKJS)
Zname
课程习题信息(KCXT)
章节号
Zno
建立日期
Jr
datetime
难度
Nd
题号
Tno
题目内容
Tn
varchar
50
答案
Ans
选择信息(XD)
试卷号
Sjno
试卷内容
Snr
2000
解答信息(JD)
成绩
Grade
int
3
题型信息(TD)
题名
Tname
题类别
Tlb
6
测验卷信息(CYJ)
SJno
试卷名
SJname
题量
T1
测试时间
Ttime
题型信息(TX)
TXno
TXname
类别名
LBM
20
五.物理设计
5.1建立数据库
createdatabase题库管理
5.2建表
1.学生表
createtableSB
(Snochar(10)primarykey,
Snamechar(10),
Sexchar
(2),
Sdeptchar(10),
)
2.任课老师
createtableRKJS
(Tnochar(10)primarykey,
Tnamechar(10),
Sdeptchar(10)
)
3.课程表
createtableKc
(kcnochar(10),primarykey,
knamechar(10),
kzhangchar(10),
)
4.课程习题表
createtableKCXT
(Cnochar(10),
Znochar(10),
Jrdatetime,
Ndchar(10),
Tnointidentity(1,1),
Tnvarchar(50),
Answerchar(50),
primarykey(Cno,Zno,Nd,Jr,Tno),
foreignkey(KCno)referencesKC(KCno)
5测试卷表
createtableCYJ
(SJnochar(10),
Cnochar(10),
SJnamechar(10),
Tlchar
(2),
Ttimechar(10),
Ndchar(10),
primarykey(SJno,Cno,SJname),
6授课表
createtableSK
(kcnochar(10),
Tnochar(10),
Snochar(10),
primarykey(kcno,Tno,Sno),
foreignkey(kcno)referencesKC(kcno),
foreignkey(Tno)referencesRKJS(Tno),
foreignkey(Sno)referencesSB(Sno)
7.选择表
createtableXD
(
SJnochar(10),
Kcnochar(10),
Tmnrchar(20),
primarykey(SJno,Cno,),
foreignkey(Kcno)referencesKC(Kcno)
8.解答表
createtableJD
(Kcnochar(10),
Gradechar(4),
primarykey(Kcno,SJno,Sno,JLno),
foreignkey(Kcno)referencesKC(Kcno),
foreignkey(Sno)referencesSB(Sno)
9.题型
createtableTX
(TXnochar(10)primarykey,
TXnamevarchar(50),
LBMchar(20)
5.3建立索引和进行数据操作
createindexindex_SBonSB(Sno);
createindexindex_RKJSonRKJS(Zgno);
createindexuniqueindex_CYJonCYJ(SJno,Cno,SJname);
查询学生成绩:
selectGradefromJD
whereCno=1andSjno=0203040506andSno=201406070120andJlno=1
查询题目的答案:
selectAns
fromKCXT
whereCno=1andZno=第一章andZsddh=1andNd=简单andTno=1
查询测验卷:
select*
fromCYJ,KCXT
where
CYJ.Cno=KCXT.Cnoand
SJno=2009001and
Cno=1
and
SJname=第一次测卷andTtime=20090612
5.4定义存储过程
5.4.1查询指定课程各种题型
createprocedurefindType
@Tnochar(10)@Tnamechar(10)@Tlbchar(6)
as
select@Tno=Tno,@Tname=Tname,@Tlb=Tlb
fromTD
declare@Tno@Tname@Tlb
5.4.2查询各章节的习题数量
createprocedurefindNum
@Cnochar(10)@Znochar(10)
as
begin
if(selectcount(*)fromSKwhereCno=@Cno)>
if(selectcount(*)fromKCXTwhereCno=@Cno
andZno=@Zno)>
selectcount(Zno)fromSK,KCXTwhereCno=@CnoandZno=@Zno
andSK.Cno=KCXT.Cno
else
print'
章节号'
+@Zno'
不存在'
end
课程号'
+@Cno+'
5.5创建视图及查询
createviewtx
as
selectCno,Tno,Tname,Tlb
fromKCXT,TD
whereKCXT.Tno=TD.Tno
select*fromtx
whereCno=1
5.7每个习题都有习题的建立日期,其值为系统时间
习题增加建立日期
insertintoKCXT
values(03,01,GETDATE(),'
简单'
'
1+1'
2'
5.8触发器
可以自动抽题组成套题,习题每抽取一次,要使习题的抽取次数加1(用触发器实现);
抽题属于select操作,没有对应的触发器,所以可以建立一个表记录抽取的套题,利用这个表的insert触发器更新习题库表中习题被抽取的次数。
触发器:
所有的习题存放在表XTbank(num,XT)中,(num)为抽取的题号,XT为(num)抽取的题型,被抽取的习题存放在表newXTbank(nums)中
CreatetriggeraddXTbank
OnnewXTbank
Forinsert
As
Begintransaction//开始检查
UpdateXTbank
SetXT=XT+1
Wherenumin(selsetnums
Frominserted)
Committransaction//执行
Go
5.9参照完整性约束
5.9.1添加唯一值约束
altertableSB
addconstraintun_Snounique(Sno);
altertableRKJS
addconstraintun_Zgnounique(Zgno);
altertableKCXT
addconstraintun_Cnounique(Cno);
altertableCYJ
addconstraintun_Sjnounique(Sjno);
5.9.2添加主键约束
addconstraintpk_SBprimarykey(Sno)
altertableSK
addconstraintpk_SKprimarykey(Cno)
addconstraintpk_RKJSprimarykey(Sno,Cno)
addconstraintpk_KCXTprimarykey(Cno,Zno)
altertableTD
addconstraintpk_TDprimarykey(Tno)
addconstraintpk_CYJprimarykey(Sjno,Cno)
5.9.3添加外键约束
addconstraintfk_Snoforeignkey(Sno)referencesSB(Sno);
addconstraintfk_Cnoforeignkey(Cno)referencesKCXT(Cno);
addconstraintfk_Zgnoforeignkey(Zgno)referencesRKJS(Zgno);
altertableXD
addconstraintfk_Sjnoforeignkey(Sjno)referencesCYJ(Sjno);
altertableJD
addconstraintfk_CnoforeignkeyCno)referencesKCXT(Cno);
5.9.4为属性添加范围约束
addcconstraintck_Sexcheck(Sex=’男’);
addcconstraintck_Sdeptcheck(Sdept=’数学系’);
addcconstraintck_Ndcheck(Nd=’难’);
5.9.5为属性添加集合约束
addcconstraintck_Sexcheck(Sexin(‘男’,’女’));
addcconstraintck_Sdeptcheck(Sdeptin(’数学系’,’计算机系’,’物理系’));
addcconstraintck_Ndcheck(Ndin(’难’,’较难’,’简单’));
5.9.6为属性添加like约束
altertableSB
addconstraintck_Snamecheck(Snamelike‘%王’);
addconstraintck_Znamecheck(Znamelike‘%王’);
5.9.7为属性添加默认值
addconstraintck_Sex_defaultdefault(‘男’)forSex;
addconstraintck_Sdept_defaultdefault(‘计算机系’)forSdept;
六.心得体会
一星期半的数据库课程设计很快就过去了,虽然只有短短一星期半的时间但是自己学会了很多东西,特别复习了自己所学过的相关数据库知识,进一步了解了数据库的应用过程,增强了自己的动手能力。
当然也遇到了很多问题,到现在都还有些不清楚。
数据库设计主要讨论数据库设计的方法和步骤,每个设计阶段都有各自的目标、方法和应注意的事项。
王冲的负责部分主要为数据字典的编写,存储结构和参照完整性约束三部分,其中,数据字典是此次设计的基础,需要对课题进行分析,确认其实体和属性,存储过程也是按老师上课讲的,完整性约束则是参照老师给的文件进行编写,有的地方我也还是不清楚。
吕瑞负责的是E―R图和建表,触发器部分,根据数据字典分析之间的关系,做出E―R图,根据所创建的数据库表,创建数据库,由触发器实现去更加完善题库。
高飞宏负责的是创建数据库表,建立索引以及数据的操作,和视图的建立,以及题号从一自动排序和建立日期的实现。
总之,这次的课程设计让我们学到了很多有用的东西。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 题库 管理 系统