ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:237.85KB ,
资源ID:5539376      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5539376.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(题库管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

题库管理系统.docx

1、题库管理系统数据库课程设计题库管理系统1需求分析学校的题库管理系统实现课程、题型等基本信息的管理;能管理每一门课程的题型,每门课程的章节;实现习题信息的管理,能按题型或章节录入每门课程的习题;定义存储过程查询指定课程各种题型和各章节的习题数量;定义视图查询各门课程使用的题型;设每个习题有一个题号,题号由系统自动生成,要求从1开设编号;设每个习题都有习题的建立日期,其值为系统时间,请定义实现用默认实现;定义存储过程实现查询各门课程、各种题型的习题数量;可以自动抽题组成套题,习题每抽取一次,要使习题的抽取次数加1用触发器实现;建立数据库相关表之间的参照完整性约束。2任务概述2.1、数据字典数据结构

2、:学生组 成:学号,性别,系别说 明:学生表所存放的是学生的信息,学号为学生的用户名,是唯一的,设为主码。数据结构:任课老师组 成:职工号,性别,系别说 明:任课老师表所存放的是任课老师的信息,职工号为任课老师的用户名,是唯一的,设为主码。数据结构:课程组 成:课程名,课程号,章节号说 明:课程表存放课程的相关信息,课程号是课程的唯一标识,设为主码。数据结构:授课组 成:课程号,教师号,学号 说 明:授课表存放任课老师和学生之间的授课关系。课程号,教师号和学号属性组是授课表的唯一标识,设为主码。数据结构:测验卷组 成:试卷号,试卷名,课程号,题量,测试时间,难度说 明:测验卷的详细信息填入此表

3、中。试卷号存放的是对测验卷一个编号,课程号是课程科目的编码,试卷号和课程号的属性组被设为主码;试卷名存放的是测验卷的主题名;题目内容存放每一题内容,与习题库发生联系;题量存放的是测验卷一共有多少题目。数据结构:课程习题组 成:课程号,章节号,建立日期,难度,题号,答案说 明:课程习题的详细内容存放在此表中。课程代号存放的是课程科目的编码;章节号存放的是对章节的编号;建立日期存放的是习题的上传日期;难度存放的是每一题的难度系数;题号存放的是每一道题的题目编号;课程代号,章节号,难度和题号的属性组设为主码。数据结构:选择 组 成:试卷号,课程号,题目内容说 明:选择表存放的是测验卷和课程习题之间的

4、联系。试卷号和课程号是选择表的唯一标识,设为主码。数据结构:解答 组 成:课程号,试卷号,学号,记录号,成绩说 明:解答表存放的是学生解答测验卷的相关信息。课程号、试卷号和学号可以唯一标识解答信息,设为主码;记录号存放学生解答测验卷的次数;成绩存放每次学生测验的成绩。数据结构:题型组 成:题名,题号,类别名说 明:题型表存放的是学生所做的习题的相关信息。题号可以作为唯一标识解答信息,设为主码。3数据库概念设计3.1、局部概念模式设计 在系统界定范围内,将静态数据对象或逻辑上具有独立意义的概念抽象为实体集,如学生、任课教师、课程负责人、测验卷、课程习题、课程等。从数据字典的角度来看,可将数据源点

5、和数据结构作为实体集,而把数据处理抽象为实体间的联系。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:

6、E-R图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主体关系的主码构成这个关系的属性。如果“的”联系是1:1的,则以主实体关系的主码作为外来码为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。原则3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码。原则4:M:M联系转换成一个独立的关系,被联系实体关系的主码作为外来码和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。将数据库概念模式映射为数据库逻辑模

7、式,也就是把E-R模型转换为关系模型。既分别将每个实体集转换为关系,再将每个联系集也转换为关系。将实体集映射为关系:学生(学号,学生),学号是主码。授课(课程号,职工号,,学号),(课程号,职工号,学号)是主码。任课教师(职工号,性别),职工号是主码。测验卷(试卷号,试卷名,课程号,题量,测试时间,难度),试卷号,试卷名,课程号是主码。课程习题课程号,章号,节号,建立日期,难度,题号,题目内容,答案,课程代号,章号,节号,建立日期,难度,题号是主码。选择试卷号,课程号,题目内容,试卷号,课程号是主码。解答课程号,试卷号,学号,记录号,成绩,课程号,试卷号,学号,记录号是主码。题型题名,题号,题

8、类别,题名,题号是主码。章章号,章名,章内容,章号是主码。节节号,节名,节内容,节号是主码包含章号,节号,章号,节号是主码。4.2建立数据库题库管理系统的数据库表的结构说明表名学生信息(SB)属性名别名类型长度是否为空说明学号Snochar12主码Snamechar10性别Sexchar2系别Sdeptchar10表名授课信息(SK)属性名别名类型长度是否为空说明课程号Cnochar10主码职工号Zgnochar10学号Snochar10表名任课教师信息(RKJS)属性名别名类型长度是否为空说明职工号Zgnochar10主码Znamechar10性别Sexchar2系别Sdeptchar10表

9、名课程习题信息(KCXT)属性名别名类型长度是否为空说明课程号Cnochar10主码章节号Znochar10建立日期Jrdatetime难度Ndchar10题号Tnochar10题目内容Tnvarchar50答案Ansvarchar50表名选择信息XD)属性名别名类型长度是否为空说明试卷号Sjnochar10主码课程号Cnochar10试卷内容Snrvarchar2000表名解答信息(JD)属性名别名类型长度是否为空说明课程号Cnochar10主码试卷号Sjnochar10学号Snochar12成绩Gradeint3表名题型信息TD属性名别名类型长度是否为空说明题号Tnochar10主码题名T

10、namechar10题类别Tlbchar6表名测验卷信息(CYJ)属性名别名类型长度是否为空说明试卷号SJnochar10主码课程号Cnochar10试卷名SJnamechar2题量T1int2测试时间Ttimechar10难度Ndchar10表名题型信息TX属性名别名类型长度是否为空说明题号TXnochar10主码题名TXnamevarchar50类别名LBMchar20五物理设计5.1建立数据库 create database 题库管理5.2建表1.学生表create table SB (Sno char(10) primary key, Sname char(10), Sex char(

11、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

12、,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) ) 6授课表create

13、 table SK (kcno char(10), Tno char(10), Sno char(10), primary key(kcno,Tno,Sno), foreign key (kcno) references KC(kcno), foreign key (Tno) references RKJS(Tno) , foreign key (Sno) references SB(Sno) ) 7.选择表create table XD( SJno char(10), Kcno char(10), Tmnr char(20), primary key(SJno,Cno,), foreign

14、key (Kcno) references KC(Kcno) ) 8.解答表create table JD ( Kcno char(10), SJno char(10), Sno char(10), Grade char(4), primary key (Kcno,SJno,Sno,JLno), foreign key (Kcno) references KC(Kcno), foreign key (Sno) references SB(Sno) ) 9.题型create table TX(TXno char(10) primary key,TXname varchar(50),LBM cha

15、r(20)5.3建立索引和进行数据操作create index index_SB on SB(Sno); create index index_RKJS on RKJS(Zgno); create index unique index_CYJ on CYJ( SJno, Cno,SJname);查询学生成绩:select Grade from JD where Cno=1 and Sjno=0203040506 and Sno=201406070120 and Jlno=1 查询题目的答案:select Ans from KCXT where Cno=1 and Zno=第一章and Zsdd

16、h=1 and Nd=简单and Tno=1 查询测验卷:select * from CYJ,KCXT where CYJ.Cno=KCXT.Cno and SJno=2009001 and Cno=1 and SJname=第一次测卷and Ttime=200906125.4定义存储过程5.4.1查询指定课程各种题型create procedure findType Tno char(10) Tname char(10) Tlb char(6) as select Tno=Tno,Tname=Tname,Tlb=Tlb from TD declare Tno Tname Tlb5.4.2查询

17、各章节的习题数量create procedure findNum Cno char(10) Zno char(10) as begin if(select count(*) from SK where Cno=Cno)0 begin if(select count(*) from KCXT where Cno=Cno and Zno=Zno)0 select count(Zno) from SK,KCXT where Cno=Cno and Zno=Zno and SK.Cno=KCXT.Cno else print章节号+Zno不存在 end else print课程号+Cno+不存在 en

18、d5.5创建视图及查询 create view txasselect Cno,Tno,Tname,Tlbfrom KCXT,TDwhere KCXT.Tno=TD.Tnoselect*from txwhere Cno=15.7每个习题都有习题的建立日期,其值为系统时间习题增加建立日期insert into KCXTvalues(03,01,GETDATE(),简单,1+1,2)5.8触发器可以自动抽题组成套题,习题每抽取一次,要使习题的抽取次数加1用触发器实现;抽题属于select操作,没有对应的触发器,所以可以建立一个表记录抽取的套题,利用这个表的insert触发器更新习题库表中习题被抽取的

19、次数。触发器:所有的习题存放在表XTbank(num,XT)中,(num)为抽取的题号,XT为(num)抽取的题型,被抽取的习题存放在表new XTbank(nums)中Create trigger addXTbankOn newXTbankFor insertAs Begin transaction /开始检查Update XTbankSet XT=XT+1Where num in(selset nums From inserted)Commit transaction /执行Go 5.9参照完整性约束5.9.1添加唯一值约束alter table SBadd constraint un_S

20、no unique(Sno);alter table RKJSadd constraint un_Zgno unique(Zgno);alter table KCXTadd constraint un_Cno unique(Cno);alter table CYJadd constraint un_Sjno unique(Sjno);5.9.2添加主键约束alter table SBadd constraint pk_SB primary key(Sno)alter table SKadd constraint pk_SK primary key(Cno)alter table RKJSadd

21、 constraint pk_RKJS primary key(Sno,Cno)alter table KCXTadd constraint pk_KCXT primary key(Cno,Zno)alter table TDadd constraint pk_TD primary key(Tno)alter table CYJadd constraint pk_CYJ primary key(Sjno,Cno)5.9.3添加外键约束alter table SKadd constraint fk_Sno foreign key (Sno) references SB(Sno);alter ta

22、ble SKadd constraint fk_Cno foreign key (Cno) references KCXT(Cno);alter table SKadd constraint fk_Zgno foreign key (Zgno) referencesRKJS(Zgno);alter table XDadd constraint fk_Sjno foreign key (Sjno) references CYJ(Sjno);alter table XDadd constraint fk_Cno foreign key (Cno) references KCXT(Cno);alte

23、r table JDadd constraint fk_Cno foreign key Cno) references KCXT(Cno);alter table JDadd constraint fk_Sjno foreign key (Sjno) references CYJ(Sjno);alter table JDadd constraint fk_Sno foreign key (Sno) references SB(Sno);5.9.4为属性添加范围约束alter table SBadd cconstraint ck_Sex check(Sex=男);alter table RKJS

24、add cconstraint ck_Sdept check(Sdept=数学系);alter table KCXTadd cconstraint ck_Nd check(Nd=难);5.9.5为属性添加集合约束alter table SBadd cconstraint ck_Sex check(Sex in (男,女);alter table RKJSadd cconstraint ck_Sdept check(Sdept in(数学系,电脑系,物理系);alter table KCXTadd cconstraint ck_Nd check(Nd in(难,较难,简单);5.9.6为属性添加

25、like约束alter table SB add constraint ck_Sname check(Sname like %王);alter table RKJSadd constraint ck_Zname check(Zname like %王);5.9.7为属性添加默认值alter table SBadd constraint ck_Sex_default default (男) for Sex;alter table RKJSadd constraint ck_Sdept_default default (电脑系) for Sdept;六心得体会一星期半的数据库课程设计很快就过去了,

26、虽然只有短短一星期半的时间但是自己学会了很多东西,特别复习了自己所学过的相关数据库知识,进一步了解了数据库的应用过程,增强了自己的动手能力。当然也遇到了很多问题,到现在都还有些不清楚。数据库设计主要讨论数据库设计的方法和步骤,每个设计阶段都有各自的目标、方法和应注意的事项。王冲的负责部分主要为数据字典的编写,存储结构和参照完整性约束三部分,其中,数据字典是此次设计的基础,需要对课题进行分析,确认其实体和属性,存储过程也是按老师上课讲的,完整性约束则是参照老师给的文件进行编写,有的地方我也还是不清楚。吕瑞负责的是ER图和建表,触发器部分,根据数据字典分析之间的关系,做出ER图,根据所创建的数据库表,创建数据库,由触发器实现去更加完善题库。高飞宏负责的是创建数据库表,建立索引以及数据的操作,和视图的建立,以及题号从一自动排序和建立日期的实现。总之,这次的课程设计让我们学到了很多有用的东西。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1