课程习题管理系统—数据库课程设计(共16页).doc

上传人:飞****2 文档编号:13584258 上传时间:2022-04-30 格式:DOC 页数:16 大小:1.17MB
返回 下载 相关 举报
课程习题管理系统—数据库课程设计(共16页).doc_第1页
第1页 / 共16页
课程习题管理系统—数据库课程设计(共16页).doc_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《课程习题管理系统—数据库课程设计(共16页).doc》由会员分享,可在线阅读,更多相关《课程习题管理系统—数据库课程设计(共16页).doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上数据库课程设计课程习题管理系统学生姓名: 学号: 系 别: 专 业: 指导教师: 专心-专注-专业 目录 一.需求分析此课程习题管理系统,主要具有身份验证管理、习题库管理和试卷管理两个方面的功能。身份验证管理主要是课程负责人分配使用该习题管理系统的用户及密码设置。习题库管理功能主要是课程负责人老师通过身份验证后可以按章节、知识点、难度进行习题的输入与维护(增加、删除、修改、查询),一个知识点可以有多道难度相同的习题。试卷管理功能主要是任课教师通过身份验证后可以按章节、知识点、难易程度等条件(一个或多个)设定习题数目,生成小测验,并且可以对小测验进行维护(如删除、查询操

2、作)。 综上所述,该课程习题管理系统应该具备一下几个方面的功能。 登陆:确认用户的身份和权限。 管理:对习题库和测验卷的维护:包括增加、删除和修改。 查询:能够方便灵活的查询到所要查询的习题和试卷信息。二.任务概述 2.1课程习题组织结构图课程习题管理是收藏本学校所有课程习题的系统。其主要业务包括习题的增加、删除、修改、浏览、查询和产生测验卷等这些业务能由相应的人员完成。起组织结构如图2-1所示:2.2导出数据流图在需求分析的基础上,为了更清楚、直观地表达系统对数据的需求,常采用数据流图。用数据流图表示围绕数据处理为中心环节,着重表达数据的流动(输入、输出)和处理的过程。根据以上“需求说明”通

3、过自顶向下、逐步求精的方法可得到数据流图。用数据流图表示数据处理的中心环节,表达数据的流动(输入和输出)和处理的过程。如图2-2所示的符号组织数据流图 数据的源点或终点 数据处理 数据存储 数据流2.2.1 图2-3给出课程习题库管理系统的顶层数据流图图2-3顶层数据流图2.2.2 图2-4给出课程习题库管理系统的一层数据流图 图2-4 一层数据流图2.3 数据字典数据字典主要是对数据结构(数据元素)、数据项、数据存储和数据处理进行处理更详尽的定义。数据结构:学生组 成:学号,姓名,性别,系别说 明:学生表所存放的是学生的信息,学号为学生的用户名,是唯一的,设为主码。数据结构:课程负责人组 成

4、:职工号,姓名,性别说 明:课程负责人表所存放的是课程负责人的信息,职工号为课程负责人的用户名,是唯一的,设为主码。数据结构:任课老师组 成:职工号,姓名,性别说 明:任课老师表所存放的是任课老师的信息,职工号为任课老师的用户名,是唯一的,设为主码。数据结构:课程组 成:课程号,课程名说 明:课程表存放课程有关信息,课程号是课程的唯一标识,设为主码。数据结构:测验卷组 成:试卷号,试卷名,课程号,题量,测试时间,难度说 明:测验卷的详细信息填入此表中。试卷号存放的是对测验卷一个编号,课程号是课程科目的编码,试卷号和课程号的属性组被设为主码;试卷名存放的是测验卷的主题名;题目内容存放每一题内容,

5、与习题库发生联系;题量存放的是测验卷一共有多少题目。数据结构:课程习题组 成:课程号,章节号,知识点代号,难度,题号,答案组 成:课程习题的详细内容存放在此表中。课程代号存放的是课程科目的编码;章节号存放的是对章节的编号;知识点代号存放的是对知识点的编号; 难度存放的是每一题的难度系数;题号存放的是每一知识点中的题目编号;课程代号,章节号,知识点代号,难度和题号的属性组设为主码。数据结构:授课组 成:课程号,教师号,学号说 明:授课表存放任课老师和学生之间的授课关系。课程号,教师号和学号属性组是授课表的唯一标识,设为主码。数据结构:选择组 成:试卷号,课程号,题目内容说 明:选择表存放的是测验

6、卷和课程习题之间的联系。试卷号和课程号是选择表的唯一标识,设为主码。数据结构:解答组 成:课程号,试卷号,学号,记录号,成绩说 明:解答表存放的是学生解答测验卷的相关信息。课程号、试卷号和学号可以唯一标识解答信息,设为主码;记录号存放学生解答测验卷的次数;成绩存放每次学生测验的成绩。三.数据库概念设计在这一阶段采用实体和联系表示数据库的概念结构,即用E-R图表示数据库的概念结构。由前面建立的需求分析,特别是由数据流图和数据字典的内容,将所涉及的数据元素归纳、抽象为一个个实体集,以及实体集与实体集间的联系。 在系统界定范围内,将静态数据对象或逻辑上具有独立意义的概念抽象为实体集,如学生、任课教师

7、、课程负责人、测验卷、课程习题、课程等。从数据流图和数据字典的角度来看,可将数据源点和数据结构作为实体集,而把数据处理抽象为实体间的联系。数据库概念设计分成两步:第一,局部概念模式设计,既将各部分的数据流图分别转化为局部E-R图。 第二,全局概念模式设计,既将各局部E-R图合并为一个整体。3.1 局部概念模式设计3.1.1 各个实体集的属性 3-1-1学生属性 3-1-2 任课教师属性 3-1-3课程负责人属性 3-1-4测验卷属性 3-1-5课程习题属性 3-1-6 课程属性3.1.2 下图为课程责任人、任课教师、学生、课程、课程习题、测验卷实体集之间的关系E-R图 3-1-7 任课教师和测

8、验卷E-R图 3-1-7 任课教师和测验卷E-R图 3-1-7 任课教师和测验卷E-R图 3-1-8 任课教师和课程习题E-R图 3-1-9 任课教师和学生E-R图 3-1-10 课程习题和测验卷E-R图 3.2 全局概念模式设计 将上述局部的概念模式设计的E-R图集成起来,既得到全局概念模式的E-R图。消除原先各图中存在的冲突和不一致的地方,进行 必要的合并和重构。下图3-2-1 为全局概念模式E-R图 3-2-1 为全局概念模式E-R图四. 数据库逻辑设计 数据库的逻辑结构与所采用的数据库管理系统(DBMS)有关,因此首先要面临DNMS的选择,然后是将一种概念模式映射为逻辑模式,最后是优化

9、。4.1 DBMS的选择DBMS的选择的从以下几个因素考虑:技术:本系统选择SQL server 2000 它能够胜任所要完成的工作。经济:考虑到本系统为小规模的试卷管理系统,对功能和性能的要求不太高,而且 经费要求不高。管理策略:因为SQL server 2000可以免费得到,功能和性能上能够胜任其管理,其开放性和安全性都不错,今年来获得广泛的运用,故用于试卷库管理系统是合适的。4.2数据模型映射4.2.1 由E-R图导出一般关系模型的四条原则原则1:E-R图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。原则2:E-R图中的从实体及相应的“的”联系变换为一个

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

11、既分别将每个实体集转换为关系,再将每个联系集也转换为关系。于是从图3-2-1 全局概念模式E-R图可得如下关系模式。将实体集映射为关系:学生(学号,学生姓名),学号是主码。授课(课程号,教师号,学号),(课程号,教师号,学号)是主码。任课教师(教师号,姓名,性别),教师号是主码。课程负责人(职工号,姓名,性别),职工号是主码。测验卷(试卷号,试卷名,课程号,题量,测试时间,难度),(试卷号,试卷名,课程号)是主码。课程习题(课程号,章节号,知识点代号,难度,题号,题目内容,答案),(课程代号,章节号,知识点代号,难度,题号)是主码。选择(试卷号,课程号,题目内容),(试卷号,课程号)是主码。解

12、答(课程号,试卷号,学号,记录号,成绩),(课程号,试卷号,学号,记录号)是主码。4.2.2表的合并由一对多或多对一的联系集映射来的表,其主码与代表“多”端实体集的表相同,故通常由一对多或多对一的联系集映射得来的表可以合并到代表“多”端实体集的表中去。对于本系统经过分析不需要在进行合并。共得到以下的六张表。4.2.3规范化检查上述的各个表的结构,都满足第二范式,故不需要再进行规范化。4.2.4完整性设计授课表中的“课程号”为外码,它参照课程表中的“课程号”属性;授课表中的“学号”为外码,它参照学生表中的“学号”属性;授课表中的“教师号”是外码,它参照任课教师表中的“教师号”属性。测验卷表中的“

13、课程号”为外码,它参照课程表中的“课程号”属性。课程习题表中的“课程号”为外码,它参照课程表中的“课程号”属性。选择表中的“课程号”为外码,它参照课程表中的“课程号”属性。解答表中的“课程号”为外码,它参照课程表中的“课程号”属性;解答表中的“学生号”为 外码,它参照学生表中的“学号”属性。 4.3 建立数据库表:表4-1 4-6列出试卷库管理系统的9个数据库表的结构说明。表4-1 课程表表名课程信息(KC)属性名别名类型长度是否为空说明课程号Cnochar10 主码课程名CnameChar10表4-2 课程负责人表表名课程负责人信息(KCFZ)属性名别名类型长度是否为空说明职工号Zgno c

14、har10主码姓名Knamechar10性别SexChar2口令Secretchar20表4-3 任课教师表表名任课教师信息(RKJS)属性名别名类型长度是否为空说明教师号Tnochar10主码姓名Tnamechar10性别Sexchar2口令Secretchar20表4-4 学生表表名学生信息(SB)属性名别名类型长度是否为空说明学号Snochar10主码姓名Snamechar10性别Sexchar2系别Sdeptchar10口令Secretchar20表 4-5授课表表名授课信息(SK)属性名别名类型长度是否为空说明课程号Cnochar10主码教师号Tnochar10学号Snochar10

15、表4-6测验卷表表名测验卷信息(CYJ)属性名别名类型长度是否为空说明试卷号SJnochar10主码课程号Cno char10试卷名SJnamechar10题量Tlint2测试时间Ttimechar10难度Ndchar10表4-7课程习题表表名课程习题信息(KCXT)属性名别名类型长度是否为空说明课程号Cnochar10主码章节号Zjhchar10知识点代号Zsddhchar10难度Ndchar10题号Thchar2题目内容TmnrChar100答案Answerchar100表4-8选择表表名选择信息(XZ)属性名别名类型长度是否为空说明试卷号SjhChar10主码课程号CnoChar10题目

16、内容Tmnrchar100表4-9 解答表表名解答(JD)属性名别名类型长度是否为空说明课程号Cnochar10主码试卷号Sjnochar10学号Snochar10记录号 JlnoChar10成绩Gradechar4五物理设计实现该设计的环境为: Microsoft SQL Server 关系型数据库的实现:不同的数据库产品所提供的物理环境,存取方法和存贮结构有很大的区别。能供设计人员使用的设计变量,参数范围也很不相同,因此没有通用的物理设计方法可遵循,只能给出一般的设计内容和原则SQL Server 就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。自定义窗体收集信息。数据表

17、示图提供了一种类似于 Excel 的电子表格,可以使数据库一目了然,还提供了排序功能。SQL Server也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。如上所述, SQL Server 作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。为此,首先要充分了解所用DBMS的内部特征,特别是系统提供的存取方法和存取结构。 5.1建立数据库 create database 袁智慧5.2 建表表一:学生表create table SB(Sno char(10) primary key, Sname c

18、har(10), Sex char(2), Sdept char(10), Secret char(20) 表二:课程负责人表create table KCFZ(Zgno char(10) primary key, Kname char(10), Sex char(2), Secret char(20)表三:任课教师表create table RKJS(Tno char(10) primary key, Tname char(10), Sex char(2), Secret char(20)表四:授课表create table SK(Cno char(10), Tno char(10), Sn

19、o char(10), primary key(Cno,Tno,Sno),foreign key (Cno) references KC(Cno),foreign key (Tno) references RKJS(Tno) ,foreign key (Sno) references SB(Sno)表五:测验卷表create table CYJ( SJno char(10), Cno char(10), SJname char(10), SJth char(4), Tl char(2), Ttime char(10), Nd char(10), primary key(SJno,Cno,SJn

20、ame), foreign key (Cno) references KC(Cno)表六:课程习题表create table KCXT( Cno char(10), Zjh char(10), Zsddh char(10), Nd char(10), Th char(2), Tmnr char(100), Answer char(100), primary key (Cno,Zjh,Zsddh,Nd,Th), foreign key(Cno) references KC(Cno)表七:选择表create table XZ( Sno char(10), Cno char(10), SJno ch

21、ar(10), SJth char(4), Tmnr char(100), primary key(SJno,Cno,SJth), foreign key (Cno) references KC(Cno)表八: 解答表create table JD( Cno char(10), SJno char(10), Sno char(10), JLno char(10), Grade char(4), primary key (Cno,SJno,Sno,JLno), foreign key (Cno) references KC(Cno), foreign key (Sno) references S

22、B(Sno)5.3建立索引和进行数据操作create index index_SB on SB(Sno);create index index_KCFZ on KCFZ(Zgno);create index index_RKJS on SJ(Tno);查询学生成绩:select Gradefrom JDwhere Cno=1 and Sjno= and Sno= and Jlno=1查询课程习题和答案:select Tmnr,Answerfrom KCXTwhere Cno=1 and Zjh=第一章 and Zsddh=1 and Nd=简单 and Th=1 and查询测验卷:select

23、 *from CYJ,KCXTwhere CYJ.Cno=KCXT.Cno and SJno= and Cno=1 and SJname=第一次测卷 and Ttime=添加课程习题:insertinto KCXTvalues(1,第一章,关系完整性,中,1,关系的三类完整性约束是什么?,实体完整性 参照完整性 用户定义完整性) 5.4建立存储过程 5.4.1 建立存储过程add课程负责人表用于添加课程负责人use袁智慧gocreate PROCEDURE add KCFZ登陆 Zgh char(10)asinsert into KCFZ values(Zgh)go5.4.2 建立存储过程ad

24、d学生表用于添加学生use袁智慧gocreate PROCEDURE add SB Sno char(10) Sname char(10), Sex char(2), Secret char(10),asinsert into SB values(Sno)go5.4.3建立存储过程add任课教师表用于添加任课教师use袁智慧gocreate PROCEDURE add RKJS Tno char(10) Tname char(10), Sex char(2), Secret char(10),asinsert into RKJS values(Tno)go5.4.4建立存储过程add课程表用于

25、添加课程use袁智慧gocreate PROCEDURE add KC Cno char(10) Cname char(10),asinsert into RKJS values(Cno)go5.4.5建立存储过程add课程习题表用于添加课程习题(若已存在这样的课程习题,则不添加并返回0;若没有这样的课程习题则添加并返回1):use袁智慧gocreate PROCEDURE add KCXT Cno char(10), ZJh char(10),Zsddh char(10),Nd char(10),Th char(4),Tmnr char(100),Answer char(100),asbeg

26、indeclare count int,out bitselect count=count(*)from KCXT where Tmnr=Tmnr if count0set out=0elsebeginset out=1insert into KCXT values( Cno , ZJh, Zsddh, Nd,Th, Tmnr, Answer)endendgo5.4.6建立存储过程add测验卷表用于添加测验卷(若已存在此测验卷则不加入,并返回0;若不存在则加入此问题并返回1):use袁智慧gocreate PROCEDURE add CYJSJno char(10), SJname char(

27、10), Cno char(10), Tl char(4), Ttime char(10), Nd char(10)asbegindeclare count int,out bitselect count=count(*)from CYJ where SJno = SJnoif count0set out=0elsebeginset out=1insert into CYJ values(SJno, SJname, Cno, Tl, Ttime, Nd)endendgo六心得体会一星期半的数据库课程设计很快就过去了,虽然只有短短一星期半的时间但是自己学会和很多东西,特别复习了自己所学过的相关数

28、据库知识,进一步了解了数据库的应用过程,增强了自己的动手能力。当然在学习过程中也遇到了不少困难,如题目审题不清,数据库有关知识理解不到位,经过老师和同学的帮助,克服了这些困难,顺利完成。数据库设计主要讨论数据库设计的方法和步骤,每个设计阶段都有各自的目标、方法和应注意的事项。我把主要精力放在了概念结构设计和逻辑结构设计两个方面。概念结构设计采用的是实体属性分析法。实体属性分析法是从总体的概念入手,从分析一个单位的事务活动开始,首先识别需求分析中所提供的实体及实体间的联系,建立一个初步的数据模型框架,然后在逐步的求精的方法加上必需的描述属性,形成一个完整的局部模型,称为用户视图,最后在加上这些视

29、图集成一个统一的数据模式,称为用户视图的集成,这种统一的数据模式(即全局信息结构)通常用E-R图表示。逻辑结构设计的任务是将概念结构设计的E-R图,转化为与选用的DBMS所支持的数据模型相符的逻辑结构,形成逻辑模型。通过仔细分析了课程习题管理系统,不难得出合理的E-R图和数结构,最后根据建立的数据库表创建数据库,建立各个表,进行各种数据操作,完成整个系统的设计。总之,这次的课程设计我学到了很多有用的东西,在这里感谢老师的帮助!七参考文献【1】何钦铭,陈根才,数据库课程设计,浙江大学出版社,2007年【2】王珊,萨师煊,数据库系统概论,高等教育出版社,2008年【3】史嘉权, 数据库系统概论习题、实验与考试辅导,北京清华大学出版社【4】徐国志,SQL-Server数据库开发案例精粹.,北京电子工业出版社【5】单建魁,数据库系统实验指导,北京清华大学出版社

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁