版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上数据库课程设计题库管理系统1 需求分析学校的题库管理系统l 实现课程、题型等基本信息的管理;l 能管理每一门课程的题型,每门课程的章节;l 实现习题信息的管理,能按题型或章节录入每门课程的习题;l 定义存储过程查询指定课程各种题型和各章节的习题数量;l 定义视图查询各门课程使用的题型;l 设每个习题有一个题号,题号由系统自动生成,要求从1开设编号;l 设每个习题都有习题的建立日期,其值为系统时间,请定义实现(用默认实现);l 定义存储过程实现查询各门课程、各种题型的习题数量;l 可以自动抽题组成套题,习题每抽取一次,要使习题的抽取次数加1(用触发器实现);l 建立数据
2、库相关表之间的参照完整性约束。2 任务概述2.1、数据字典数据结构:学生组 成:学号,姓名,性别,系别说 明:学生表所存放的是学生的信息,学号为学生的用户名,是唯一的,设为主码。数据结构:任课老师组 成:职工号,姓名,性别,系别说 明:任课老师表所存放的是任课老师的信息,职工号为任课老师的用户名,是唯一的,设为主码。数据结构:课程组 成:课程名,课程号,章节号说 明:课程表存放课程的相关信息,课程号是课程的唯一标识,设为主码。数据结构:授课组 成:课程号,教师号,学号 说 明:授课表存放任课老师和学生之间的授课关系。课程号,教师号和学号属性组是授课表的唯一标识,设为主码。数据结构:测验卷组 成
3、:试卷号,试卷名,课程号,题量,测试时间,难度说 明:测验卷的详细信息填入此表中。试卷号存放的是对测验卷一个编号,课程号是课程科目的编码,试卷号和课程号的属性组被设为主码;试卷名存放的是测验卷的主题名;题目内容存放每一题内容,与习题库发生联系;题量存放的是测验卷一共有多少题目。数据结构:课程习题组 成:课程号,章节号,建立日期,难度,题号,答案说 明:课程习题的详细内容存放在此表中。课程代号存放的是课程科目的编码;章节号存放的是对章节的编号;建立日期存放的是习题的上传日期;难度存放的是每一题的难度系数;题号存放的是每一道题的题目编号;课程代号,章节号,难度和题号的属性组设为主码。数据结构:选择
4、 组 成:试卷号,课程号,题目内容说 明:选择表存放的是测验卷和课程习题之间的联系。试卷号和课程号是选择表的唯一标识,设为主码。数据结构:解答 组 成:课程号,试卷号,学号,记录号,成绩说 明:解答表存放的是学生解答测验卷的相关信息。课程号、试卷号和学号可以唯一标识解答信息,设为主码;记录号存放学生解答测验卷的次数;成绩存放每次学生测验的成绩。数据结构:题型组 成:题名,题号,类别名说 明:题型表存放的是学生所做的习题的相关信息。题号可以作为唯一标识解答信息,设为主码。专心-专注-专业3 数据库概念设计3.1、局部概念模式设计 在系统界定范围内,将静态数据对象或逻辑上具有独立意义的概念抽象为实
5、体集,如学生、任课教师、课程负责人、测验卷、课程习题、课程等。从数据字典的角度来看,可将数据源点和数据结构作为实体集,而把数据处理抽象为实体间的联系。3.1.1实体集的属性:任课教师性别姓名学号系别学生 性别系别姓名职工号号课程时间难度测验时间题量试卷名试卷号 测验卷 课程习题答案题号难度知识点章号课程号节号节号课程名章号课程号课程3.1.2、E-R图表示数据库的概念结构下图为课程责任人、任课教师、学生、课程、课程习题、测试卷实体集之间的关系E-R图M职工号姓名性别系别任课老师设定测试卷试卷号课程名试卷名题量测试时间难度1 任课老师和测试卷的E-R图节号姓名性别系别任课老师教授课程课程号章号职
6、工号课程名1M 任课老师和课程的E-R图M职工号性别姓名系别任课教师教授学生学号姓名性别系别N 任课老师和学生的E-R图节号课程号试卷名题量测试时间难度试卷号测试卷选择课程习题课程号章号建立日期难度题号答案MN 测试卷和课程习题的E-R图题 量难 度测试时间课程号题量试卷号试卷名学号姓名系别姓名 解答 测试卷NM 学生 学生和测试卷的E-R图1职工号姓名性别系别任教老师设定题型题名题号类别名M 任教老师和题型的E-R图章内容章名章号 章1 包含M节内容节名节号 节 章和节的E-R图3.2全局概念模式E-R图节号题目内容系别性别姓名学号难度测试时间题量课程号试卷号试卷名课程习题课程号章号建立日期
7、难度题号答案选择测试卷设定成绩解答学生任教老师教授课程职工号姓名性别系别课程号课程名设定题型题类别题号题名授课NMNMNMM1M1M1四. 数据库逻辑设计4.1数据模型映射4.1.1 由E-R图导出一般关系模型的四条原则原则1:E-R图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。原则2:E-R图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主体关系的主码构成这个关系的属性。如果“的”联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区
8、分的属性组,组成该关系的主码。原则3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。其中“1”实体主码为外来码。原则4:M:M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。将数据库概念模式映射为数据库逻辑模式,也就是把E-R模型转换为关系模型。既分别将每个实体集转换为关系,再将每个联系集也转换为关系。将实体集映射为关系:学生(学号,学生姓名),学号是主码。授课(课程号,职工号,,学号),(课程号,职工号,学号)是主码。任课教师(职工号,姓名,性别),职工号是主码。测验卷
9、(试卷号,试卷名,课程号,题量,测试时间,难度),(试卷号,试卷名,课程号)是主码。课程习题(课程号,章号,节号,建立日期,难度,题号,题目内容,答案),(课程代号,章号,节号,建立日期,难度,题号)是主码。选择(试卷号,课程号,题目内容),(试卷号,课程号)是主码。解答(课程号,试卷号,学号,记录号,成绩),(课程号,试卷号,学号,记录号)是主码。题型(题名,题号,题类别),(题名,题号)是主码。章(章号,章名,章内容),(章号)是主码。节(节号,节名,节内容),(节号)是主码包含(章号,节号),(章号,节号)是主码。4.2建立数据库题库管理系统的数据库表的结构说明表名学生信息(SB)属性名
10、别名类型长度是否为空说明学号Snochar12主码姓名Snamechar10性别Sexchar2系别Sdeptchar10表名授课信息(SK)属性名别名类型长度是否为空说明课程号Cnochar10主码职工号Zgnochar10学号Snochar10表名任课教师信息(RKJS)属性名别名类型长度是否为空说明职工号Zgnochar10主码姓名Znamechar10性别Sexchar2系别Sdeptchar10表名课程习题信息(KCXT)属性名别名类型长度是否为空说明课程号Cnochar10主码章节号Znochar10建立日期Jrdatetime难度Ndchar10题号Tnochar10题目内容Tn
11、varchar50答案Ansvarchar50表名选择信息(XD)属性名别名类型长度是否为空说明试卷号Sjnochar10主码课程号Cnochar10试卷内容Snrvarchar2000表名解答信息(JD)属性名别名类型长度是否为空说明课程号Cnochar10主码试卷号Sjnochar10学号Snochar12成绩Gradeint3表名题型信息(TD)属性名别名类型长度是否为空说明题号Tnochar10主码题名Tnamechar10题类别Tlbchar6表名测验卷信息(CYJ)属性名别名类型长度是否为空说明试卷号SJnochar10主码课程号Cnochar10试卷名SJnamechar2题量T
12、1int2测试时间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(2), Sdept char(10), ) 2.任课老师create table RKJS (Tno char(10) primary key, Tname char(10), S
13、ex 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) ref
14、erences 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 table SK (kcno char(10), Tno char(10), Sno char(10), primary key(kcno,Tno,Sno), foreign k
15、ey (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 key (Kcno) references KC(Kcno) ) 8.解答表create table JD ( Kcno char(10), SJno char(10), Sno
16、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 char(20)5.3建立索引和进行数据操作create index index_SB on SB(Sno); create index index_RKJS on RKJS(Zgno)
17、; create index unique index_CYJ on CYJ( SJno, Cno,SJname);查询学生成绩:select Grade from JD where Cno=1 and Sjno= and Sno=0 and Jlno=1 查询题目的答案:select Ans from KCXT where Cno=1 and Zno=第一章and Zsddh=1 and Nd=简单and Tno=1 查询测验卷:select * from CYJ,KCXT where CYJ.Cno=KCXT.Cno and SJno= and Cno=1 and SJname=第一次测卷
18、and Ttime=5.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查询各章节的习题数量create procedure findNum Cno char(10) Zno char(10) as begin if(select count(*) from SK where Cno=Cno)>0 begin if(se
19、lect 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+'不存在' end5.5创建视图及查询 create view txasselect Cno,Tno,Tname,Tlbfrom KCXT,TDwhere KCXT.Tno
20、=TD.Tnoselect*from txwhere Cno=15.7每个习题都有习题的建立日期,其值为系统时间习题增加建立日期insert into KCXTvalues(03,01,GETDATE(),'简单','1+1','2')5.8触发器可以自动抽题组成套题,习题每抽取一次,要使习题的抽取次数加1(用触发器实现);抽题属于select操作,没有对应的触发器,所以可以建立一个表记录抽取的套题,利用这个表的insert触发器更新习题库表中习题被抽取的次数。触发器:所有的习题存放在表XTbank(num,XT)中,(num)为抽取的题号,XT
21、为(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_Sno unique(Sno);alter table RKJSadd constraint
22、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 constraint pk_RKJS primary key(Sno,Cno)alter
23、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 table SKadd constraint fk_Cno foreign key (Cno)
24、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);alter table JDadd constraint fk_Cno foreign key Cn
25、o) 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 RKJSadd 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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《蔬菜品质与安全》课件
- 2025年萍乡货运从业资格证考试内容
- 《FX基础课程》课件
- 2025年安庆考从业资格证货运试题
- 金融服务学徒管理办法
- 惠州市工具租赁合同
- 美甲师岗位聘用协议书
- 生态修复区转让
- 珠宝店暖气管道维修施工合同
- 咨询公司业务技能培训
- 安徽工程大学《自然语言处理及应用》2022-2023学年第一学期期末试卷
- 2024年室内设计协议书
- 中储粮西安分公司招聘真题
- 大学人工智能期末考试题库
- 2024土方开挖工程合同范本
- 建筑幕墙工程检测知识考试题库500题(含答案)
- 企业绿色供应链管理咨询服务合同
- 食品安全事故专项应急预案演练记录6篇汇编(表格式)
- 2025年会计基础知识考试题库附答案
- 《资治通鉴》导读学习通超星期末考试答案章节答案2024年
- 2024年统编版新教材语文小学一年级上册全册单元测试题及答案(共8单元)
评论
0/150
提交评论