实验选课系统数据库设计.doc
《实验选课系统数据库设计.doc》由会员分享,可在线阅读,更多相关《实验选课系统数据库设计.doc(10页珍藏版)》请在咨信网上搜索。
《数据库原理与应用》课程设计 题 目: 实验选课系统数据库设计 系 别: 专业(含班级): 学 号: 姓 名: 指导教师: 职称 填表日期: 年 月 日 一、选题依据和意义 实验选课系统作为教学过程中一个不可或缺的环节,是为了更好地管理实验选课信息而建立的。该系统可以让选课信息更加规范化、系统化、程序化,避免选课系统的随意性,提高信息处理的速度和准确性,能够及时、准确、高效的查询或修改实验选课信息。加上局域网的开放,更为学生选课带来很大的便捷,学生可通过校园网进行选课,增加选课的灵活性,提高了学校选课工作的效率,教务处的教师可以依据选课系统对选课信息进行合理的管理,为广大师生及相关工作人员节省了时间。 二、需求分析 1.需求调查与分析 随着信息技术的发展、局域网的应用和数据的逐渐增多,近年来,人们逐渐用网络信息管理系统代替人工对管理的信息。高校也逐渐用选课系统代替人工的选课已增加选课的系统化、规范化、灵活性,提高选课的效率和对选课信息的管理效率。 2.业务流程图: 从教师开课开始,经过教务处的审核之后,教务处结合实验室的相关信息整理出有效的课程提供给学生们进行选择。 图1:实验选课系统业务流程图 三、概念结构设计 概念结构设计的含义:将需求分析得到的用户需求抽象为信息结构即概念模型的过程。它是整个数据库设计的关键。 本设计由上面的实验选课系统业务流程图抽象(分类、聚集、概括)可得到实验选课系统的概念模型,用如下E-R图表示: 图2:实验选课系统E-R图 四、逻辑结构设计: 根据实验选课系统E-R图和以下转换规则可得选课系统的关系模式。 转换规则: 1、一个实体型转换为一个关系模式 2、实体型间的联系有以下几种: (1)1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并; (2)1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并; (3)m:n(3个或3个以上)联系转换为一个关系模式。与该联系相连的各实体的码及联系本身的属性均转换为关系的属性; (4)具有相同码的关系模式可合并。 1.实验选课系统关系模式: 如图2所示,按照上面的转换规则,可得实验选课系统的关系模式如下: (1)教师(教师号,姓名,密码,性别,年龄,系别,职称,电话); (2)课程(课程号,课程名,学时,学分,实验室编号); (3)学生(学号,姓名,密码,性别,年龄,系别,班级); (4)实验室(实验室编号,实验室名称,地点,电话); (5)开课(教师号,课程号,时间); (教师号,课程号)分开为外键 (6)选修(学号,课程号,成绩); (学号,课程号)分开为外键 2. 数据库关系图: 按照上面得出的实验选课系统关系模式,创建数据库syxk,并建立与关系模式对应的数据表,并建立各表之间的关系,可得实验选课系统的数据库关系图如下: 图3:实验选课系统关系图 3.视图设计 视图是从一个或几个基本表(或视图)导出的表(虚表),数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍放在原来的基本表中,所以,当基本表中的数据变化时,视图中的数据也会发生变化。也可把视图看做一个窗口,通过它可看到自己感兴趣的数据及其变化。 视图定义后也可以对其进行更新(增、删、改),也可在一个视图上再定义新的视图,但对视图的更新(增、删、改)有一定的限制。 视图的作用: 1、能够简化用户的操作。用户可将注意力集中在自己所关心的数据上; 2、使用户能以多种角度看待同一数据; 3、对重构数据库提供了一定程度的逻辑独立性; 4、能够对机密数据提供安全保护; 5、适当的利用视图可以更清晰的表达查询。 下面针对本设计,即实验选课系统定义了几个视图: (1)功能:建立信息系学生的视图,并要求进行修改和插入操作时仍需要保证该视图只有信息系的学生 代码: create view is_student as select sno,sname,age from student where dept='信息系' with check option (2)功能:建立student表中所有女生记录的视图 代码: create view F_student as select * from student where sex='女' 4.函数设计 定义函数并编译存在数据库的服务器中,使应用程序可以直接调用编译好的函数,提高计算机计算效率,节省时间。 (1)功能:按课程号查询选修该课程同学的平均成绩 代码: create function get_avg(@cno char(10)) returns int as begin declare @temp int select @temp=avg(degree) from sc where cno=@cno return @temp end 调用: select dbo.get_avg('c01') as 'c01课程的平均成绩' (2)功能:按教师号查询他所开的所有课程 代码: create function get_course(@tno char(10)) returns char(10) as begin declare @temp char(10) select @temp=cno from commence where tno=@tno return @temp end 调用: select dbo.get_course('t10001') as 't10001教师所授的所有课程' 5.存储过程设计 跟函数一样,存储过程也是预先编译好放在数据库服务器上等应用程序调用来提高效率的。 此外,存储过程针对的是复杂的,常用的工作,以提高运行效率。 存储过程的特点有: 1、因为存储过程是预先编译好的,所以运行效率高; 2、存储过程降低了客户机和服务器间的通信量。客户机上的应用程序主要通过网络向服务器发出存储过程的名字和参数,RDBMS就会执行多条SQL语句,并执行数据处理,最终只有结果才返回客户端; 3、方便实施企业规划。可把企业规则的运算程序写成存储过程放入数据库服务器有RDBMS管理,既有利于集中控制,又方便进行维护。 (1)功能:查询选修数据库的学生的学号和姓名、课程号、课程名及成绩 代码: create proc sc_search as begin select student.sno,sname,o,cname,degree from student,sc,course where student.sno=sc.sno and o=o and cname='数据库' end 调用: exec sc_search (2)功能:按课程号查询该课程的教师信息 (有参数) 代码: create proc t_search @course_number varchar(10) as begin select tname,sex,age,dept,title,tel from teacher,commence where cno= @course_number and commence.tno=teacher.tno end 调用: exec t_search 'c01' 6.触发器设计 触发器是用户定义在关系表上的一类由事件驱动的特殊的(存储)过程。只能在当前数据库中创建,只有表的拥有者才可以在表上创建或删除触发器。当该表插入(insert)、更新(update)、删除(delete)等事件发生时(一张表的update、insert、delete操作上可设置多个触发器),所设置的触发器即会自动执行,以进行维护数据的完整性,或其他的特殊的数据处理过程。此外,触发器还可通过数据库中的相关表进行层叠更改,但使用update语句可以一次对多行数据进行修改,而触发器只被触发一次。也可强制限制,这些限制比用 check 所定义的约束更复杂。 (1)功能:当对成绩表进行删除操作时,统计被删除记录的个数。 代码: create trigger sc_trigger on sc for delete as begin declare @count varchar(30) select @count=count(sno)from deleted @count=@count+'个记录被删除!' print @count end 如执行以下操作: delete from sc where degree=90 (2)功能:当在学生表中添加用户的同时在选修的成绩表中也添加的该用户。 代码: create trigger student_sc on student for insert as begin declare @number varchar(10) select @number=sno from inserted insert into sc(sno,cno) values (@number,'c06') end 如执行以下操作: insert into student values ( 's03005','tom','03005','男',23,'网工系',5) 五、数据库系统功能模块设计 实验选课系统的目的是为了利用局域网进行网络选课,提高工作效率。它的基本流程是从教师开课到教务处审核,学生选课,教务处排课一系列的操作。当然,根据权限的不同,每一级用户对数据库操作的权限也有所区别,管理员拥有最大权限,统筹全局,管理查看所有的用户信息;教师对自己所教授课程的相关信息拥有全部权限,可管理选修该门课同学的课程信息,如成绩录入等;学生是其中权限较小的一个角色,他只能对自己的信息进行查询和管理自己的选课信息,如选课、更改选课。 具体的实验选课系统功能模块如下图所示: 图4:实验选课系统功能模块图 课程设计小结 (收获、体会、建议) 转眼间,数据库系统概论的学习已接近尾声。这学期,我们真正走进了数据库的学习,虽然在之前的项目设计中我们有接触过oracle、mysql等数据库,但那些都是简单的应用,我们并没有从专业的角度去审视它。 经过一学期的努力,我们从什么是数据库开始到数据库的设计、编程,不得不说我们学习了很多。如何把现实问题抽象出来,最后用数据库系统的描述。一步一个脚印,理论课上老师认真详细的备课、讲解,帮助我们理解理论知识;实验课上老师手把手地教导我们,不仅给我们指引了方向,还给大家举例说明,在加快我们完成上机操作效率的同时,让我们印象更加深刻。在这里,我要也别感谢我们的陈秀琼老师,是她的耐心和细心帮助我们一路向前。 下面,我用几点谈谈本次课程设计的总结: 1.先谈谈本次设计的过程,我们运用数据库系统概论中的一系列知识。 首先,最基本的我们必须保证数据关系的完整性约束,如实体完整性、参照完整性(外键的定义等)、用户自定义的完整性。懂得数据库系统的三级结构模式,即外模式、模式、内模式之间的转换,才能将现实问题经过一次次的抽象和转换使其和数据库挂上钩,才能用数据库正确存储相应的信息并处理期间的关系。我们还必须保证数据库的安全性,通过授权、创建角色、定义约束,规则、等在保证数据库安全性的基础上进行有序的安全的操作以保证数据库中数据的安全。 其次,就是数据库的设计和应用开发。从需求分析开始,到业务流程图的绘制,经过几次的修改,终于比较契合的把现实问题抽象出来并体现在业务流程图上;接着是E-R图的设计,用分类、聚集、概括等方法实现业务流程图到E-R图的转换,再根据E-R图向关系模型转换的一系列规则完成关系模式的转换,紧接着根据关系模式建数据库并创建相应的表。到此,数据库的基本设计已经完成。 为了提高计算机的运行效率,更好的管理数据库中的数据和保证数据的完整性,我还用视图方便数据查询,定义函数、存储过程、触发器等简化一些复杂的运用,让一些常用的工作运行起来更快速、便捷。 2.接下来是本次课程设计中我的收获和体会。 本次课程设计中我综合了数据库系统概论的主要知识点,让理论充分结合了实际,加深了我对数据库系统的理解。设计过程中由于用到的知识点比较多,有的是刚学不久的,课程设计让我加深了理解,记忆更深刻,有的由于时间比较长有遗忘的,经过课程设计,让我重新巩固了知识并在原来的基础上有了新的理解。 只要努力了就会有收获,设计的过程虽然有时候会有困惑,会卡。但总的来说,设计的过程是快乐多于痛苦的,它让我巩固了知识,让我懂得如何将理论结合实践,懂得如何运用所学的知识,在加深理解,加深印象的基础上有新的感悟。 在设计过程中,我还帮同学解决了一些小问题,在帮助别人的同时也让我从多方面巩固知识,给一些自己没发现的小漏洞打了补丁。 3.最后,说说我的小建议。由于课程设计老师有提供几个选题,有些同学的选题是一样的,虽然这样可以让大家在一起讨论,说出自己的见解,然后总结出对问题更全面的考虑,但不排除有些同学抱着投机取巧的心理,所以我建议同学们自己多动手,这样才能加深对知识的理解,提高自己的能力。 前面说到人多见解也多,那么我们还可以利用网络资源多看看别人的见解,还可以请教专业人士或查阅一些相关的资料让我们在考虑问题的时候能更加全面。 本次课程设计结束了,再此,我要再次感谢老师的悉心教导和那些帮助过我的同学们。机会总是留给有帮助的人,让我们一起行动吧! - 10 - / 10- 10 -- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 选课 系统 数据库 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文