试题库管理系统Word文件下载.docx
《试题库管理系统Word文件下载.docx》由会员分享,可在线阅读,更多相关《试题库管理系统Word文件下载.docx(24页珍藏版)》请在冰豆网上搜索。
图2管理员实体E-R图
图3试题E-R图
图4试卷E-R图
图5试题类型E-R图
图6题库E-R图
图7使用记录E-R图
11
m
n
1m
图8总的E-R图
(2)逻辑设计
管理员表:
admin(管理员编号,管理员名,密码,性别,证件号码,注册时间)
主码为:
管理员编号
试题类型表:
stlxb(题型编号,试题类型,试题内容)
题型编号
试题表:
shitib(试题编号,试题类型,试题内容,难易,知识点,录入时间,试题答案)
试题编号
题库表:
tikub(题库编号,试题编号,题型编号,试题内容)
题库编号外码为:
试题编号
试卷库表:
sjkb(试卷编号,出卷人,出卷时间)
试卷编号
使用记录表:
syjlb(姓名,使用时间,分值,试题类型)
姓名
管理员表,题库表:
(管理员编号,题型编号)
管理员表,试题表:
(管理员编号,试题编号)
试题表,试卷库表:
(试题编号,试卷编号)
试卷库表,使用记录表:
(试卷编号,姓名)
试题表,试题类型表:
(试题编号,题型编号)
(3)物理设计
①根据总体结构图设计各表的结构
表1管理员表(admin)
表2试题类型表(stlxb)
表3试题表(shitib)
表4题库表(tkb)
表5试卷库表(sjkb)
表6使用记录表(syjlb)
②创建索引
为提高查询速度,分别为各表经常查询的列建立索引
为admin(管理员表)中的ano属性建立升序唯一索引anoasc
为stlxb(试题类型表)中的txbh属性建立升序唯一索引txbhasc
为shitib(试题表)中的stbh属性建立升序唯一索引stbhasc
为tikub(题库表)中的tkbh属性建立升序唯一索引tkbhasc
为sjkb(试卷库表)中的sjbh属性建立升序唯一索引sjbhasc
为syjlb(使用记录表)中的sxm属性建立唯一索引s_sxm
③创建视图
创建名称为v1的视图,其功能是查询所有使用时间为2011年的所有记录信息
创建视图v2其功能是查询题库编号为12的出卷时间
4.系统开发运行环境
(1)硬件:
内存:
2G,CPU:
2.10GHZ,硬盘:
250G
(2)软件:
操作系统:
WindowsXP
数据库管理系统:
MicrosoftSQLserver2005,
5.创建各类数据库对象
(1)数据库
createdatabaseSTKGLsysterm
onprimary
(size=3,
maxsize=300,
filegrowth=10%,
name='
STKGLsysterm'
filename='
d:
\s\STKGLsysterm.mdf'
)
logon
(size=3,
maxsize=100,
filegrowth=3,
name=STKGLsysterm_log,
\s\STKGLsysterm_log.ldf'
)
go
图9数据库
(2)创建表
创建管理员表
createtableadmin
(anointnotnullprimarykey,
anamevarchar(20)notnull,
amimavarchar(20)notnull,
asexchar
(2)notnull,
azjhmbigintnotnull,
azcsjdatetimenotnull)
图10管理员表
创建试题类型表
createtablestlxb
(txbhintnotnullprimarykey,
stlxvarchar(50)notnull,
btnrvarchar(500)notnull)
图11试题类型表
创建试题表
createtableshitib
(stbhintnotnullprimarykey,
stnrvarchar(500)notnull,
stdavarchar(500)notnull,
nyvarchar(50)notnull,
sjdvarchar(500)notnull,
lrsjdatetimenotnull)
图12试题表
创建题库表
createtabletikub
(tkbhintnotnullprimarykey,
stbhintnotnull,
txbhintnotnull,
stnrvarchar(500)notnull)
图13题库表
创建试卷库表
createtablesjkb
(sjbhintnotnullprimarykey,
cjrvarchar(20)notnull,
cjsjdatetimenotnull,
图14试卷表
创建使用记录表
createtablesyjlb
(sxmvarchar(20)notnullprimarykey,
sysjdatetimenotnull,
fzchar(10)notnull,
stlxvarchar(50)notnull)
图15使用记录表
(3)创建索引
CREATEUNIQUEINDEXanoascONadmin(anoASC)
CREATEUNIQUEINDEXtxbhascONstlxb(txbhASC)
CREATEUNIQUEINDEXstbhascONshitib(stbhASC)
CREATEUNIQUEINDEXtkbhascONtikub(tkbhASC)
CREATEUNIQUEINDEXsjbhascONsjkb(sjbhASC)
为syjlb(使用记录表)中的sxm属性建立唯一索引s_sxm
CREATEUNIQUEINDEXs_sxmONsyjlb(s_sxm)
(4)创建视图
①创建名称为v1的视图,其功能是查询所有使用时间为2011年的所有记录信息
alterviewv1
as
select*
fromsyjrb
whereyear(sysj)=2011
--
Select*fromv1
结果为:
图16视图v1结果
②创建视图v2其功能是查询题库编号为12的出卷时间
alterviewv2
as
selectcjsj
fromtikubjoinsjkbon(tikub.stnr=sjkb.stnr)
wheretkbh='
13'
select*fromv2
图17视图v2结果
6.录入数据
为管理员表录入数据
insertintoadmin
values('
01'
'
刘洋'
1111'
男'
123765199402231046'
2010-01-11'
02'
马红'
2222'
女'
145762345987098765'
2010-01-14'
03'
刘丽'
3333'
210124987003241098'
2010-02-10'
04'
赵亮'
4444'
210123187904243187'
2010-03-21'
select*fromadmin
图18管理员表录入数据
为试题表录入数据
insertintoshitib
1'
A'
11+3=?
'
14'
易'
算数'
2000-01-23'
2'
英语你好怎么说?
hello'
难'
翻译'
2000-02-27'
3'
B'
14-4=?
10'
2000-03-16'
4'
英语中国怎么说?
china'
2000-03-30'
select*fromshitib
图19试题表录入数据
为题库表录入数据
insertintotikub
)
11'
12'
delete*fromtikub
select*fromtikub
图20题库表录入数据
为试题类型录入数据
insertin