版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学生成绩管理系统设计JIANGXIAGRICULTURALUNIVERSITY数据库课程设计报告题目:学生成绩管理系统数据库设计学院:姓名:学号:专业:班级:指导教师:目录TOC\o"1-3"\h\u一、需求分析 31.1需求概述 31.2功能简介 3二、数据库设计 32.1确定联系集及E-R图 32.2画出E-R图 42.3学生成绩管理系统总E-R图 5三、逻辑数据库设计阶段 63.1班级信息表(Class) 73.2学生信息表(Student) 73.3课程信息表(Course) 83.4成绩表(Score) 8四、建表 84.1创建数据库 84.2创建数据表 9五、数据库的运行和维护 105.1定义 105.1.1基本表的创建,建表语句 105.1.2基本表的删除 115.2数据操作 115.2.1单表查询: 115.2.2连接查询 115.2.3操作结果集查询 125.2.4嵌套查询 125.3数据库更新操作 135.3.1插入数据 135.3.2修改数据 135.3.3删除数据 135.4为数据库建立索引 145.4.1索引的建立 145.4.2索引的删除 145.5数据库的安全性 145.6数据库的完整性 155.6.1实体完整性定义 155.6.2参照完整性定义 15六、模式求精 15七、总结 16一、需求分析1.1需求概述针对江西农大的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。1.2功能简介能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。二、数据库设计 2.1确定联系集及E-R图根据前面对系统进行的分析,已经初步了解了学生成绩管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:①、标示实体集:班级,课程,学生,成绩四个关系。②、标示联系集:学生和班级:一个班由多个学生组成,一个学生只能归属于某个班;存在“归属”的关系:N:1学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修;存在“选修”的关系:N:M关系Score的主码是{studentNo,courseNo,term}显然同一个学生在同一个学期不允许修读同一门课程多次关系Course的priorCourse属性参照本关系的主码courseNo属性。这里假设一门课程最多只需要定义一门先修课程。③、标示属性集:班级(班级编号,班级名称,所属学院,年级,班级人数)课程(课程号,课程名,学分,课时数,先修课程)学生(学号,姓名,性别,出生日期,籍贯,所属班级)成绩(学号,课程号,开课学期,成绩)2.2画出E-R图班级信息图如下:ClassClassclasstudentNoclassNameInstituteclassNumgrade图2-2-1班级实体集的E-R图学生信息图如下:StudentStudentstudentNostudentNamesexclasstudentNonativebirthday图2-2-2学生实体集E-R图课程信息图如下:CoursecourseNoCoursecourseNocourseNamecreditHourpriorCoursecourseHour成绩信息图如下:ScorestudentNoScorestudentNocourseNoscoreterm2.3学生成绩管理系统总E-R图根据上面对实体联系的分析,可以画出E-R图如下:课程课程号课程名学时数学分先修课程选修归属学生成绩班级学号姓名性别班级人数数数年级所属学院班级名称班级编号成绩开课学期课程号学号出生日期籍贯N1NM1课程课程号课程名学时数学分先修课程选修归属学生成绩班级学号姓名性别班级人数数数年级所属学院班级名称班级编号成绩开课学期课程号学号出生日期籍贯N1NM1图2-2-5学生成绩管理系统总E-R图三、逻辑数据库设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:课程信息表Class:(班级编号,班级名称,所属学院,年级,班级人数)学生信息表Student:(学号,姓名,性别,出生日期,籍贯,所属班级)课程信息表Course:(课程号,课程名,学分,课时数,先修课程)成绩表Score:(学号,课程号,开课学期,成绩)设计出E-R图后,可将E-R图转换为数据库模式。本系统建立的数据库为“ScoreDB”,运行本系统时在库中所建立的表分别介绍如下:3.1班级信息表(Class)字段名描述数据类型字段限制classNo班级编号char(10)PrimarykeyclassName班级名称varchar(30)Notnullinstitute所属学院varchar(30)Notnullgrade年级smallintNotnullclassNum班级人数tinyintNotnull3.2学生信息表(Student)字段名描述数据类型字段权限studentNo学号char(10)PrimarykeystudentName姓名Varchar(30)Notnullsex性别char(2)Notnullbirthday出生日期datetimeNotnullnative民族varchar(30)NotnullclassNo所属班级varchar(30)Notnull3.3课程信息表(Course)字段名属性数据类型字段权限courseNo课程号char(10)PrimarykeycourseName课程名varchar(30)NotnullcreditHour学分numericNotnullcourseHour课时数tinyintNotnullpriorCourse先修课程varchar(30)Notnull3.4成绩表(Score)字段名属性数据类型字段权限studentNo学号char(10)PrimarykeycourseNo课程号char(10)Primarykeyterm开课学期char(10)Notnullscore成绩numericNotnull四、建表4.1创建数据库打开SQL工具“查询分析器”在查询窗口中键入下列SQL语句createdatabaseScoreDB执行上述SQL语句即可新建一名为ScoreDB的数据库。4.2创建数据表一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即班级信息表、学生信息表、课程信息表和成绩表。创建数据库后,为ScoreDB数据库添加数据表,步骤如下。新建查询窗口在查询窗口中键入下列SQL语句createtableClass(//创建班级信息表classtudentNochar(10)primarykey,//班级编号classtudentNamevarchar(30)notnull,//班级名称institutevarchar(30)Notnull//所属学院gradesmallint,Notnull//年级classNumtinyint,Notnull//班级人数)执行上述SQL语句即可创建课程信息表相关表格createtableStudent(//创建学生信息表studentNochar(10)primarykey,//学号studentNamevarchar(30)notnull,//姓名sexchar(2)notnull,//性别birthdaydatetimenotnull,//出生日期nativevarchar(30)notnull,//民族classtudentNoChar(10)notnull,//所属班级)执行上述SQL语句即可创建学生信息表相关表格createtableCourse(//创建教师信息表courseNochar(10)primarykey,//课程号courseNamevarchar(30)notnull,//课程名creditHournumericnotnull,//学分courseHourtinyintnotnull,//课时数priorCoursevarchar(30)notnull,//先修课程)执行上述SQL语句即可创建教师信息表相关表格createtableScore(//创建成绩表studentNochar(10)primarykey,//学号courseNochar(10)primarykey,//课程号termchar(10)notnull,//开课学期scorenumericnotnull,//成绩)执行上述SQL语句即可创建成绩表相关表格五、数据库的运行和维护5.1定义基本表的创建、修改及删除;索引的创建和删除。5.1.1基本表的创建,建表语句createtableStudent(//创建学生表studentNochar(10)notnull,studentNamevarchar(30)notnull,sexchar(2)notnull,birthdaydatetimenotnull,nativevarchar(20)notnull,classtudentNoChar(10)notnull,constraintstudentPKprimarykey(StudentNO),constraintstudentPK1foreignkey(classtudentNo)referencesclass(classtudentNo))5.1.2基本表的删除droptableStudent5.2数据操作5.2.1单表查询:查询学号为“0800006”生的姓名selectstudentNamefromStudentwherestudentNo='0800006'结果:5.2.2连接查询查询学生的学号、姓名,所选课程的课程号、课程名和成绩SelectStudent.studentNo,Student.studentName,Class.classNo,Class.className,Score.scorefromStudent,Class,Score,CourseWhereStudent.studentNo=Score.studentNoandStudent.classNo=Class.classNoandCourse.courseNo=Score.courseNo结果:5.2.3操作结果集查询查询0700003号同学和0800002号同学共同选修的课程SelectcourseNoFromScoreWherestudentNo='0700003'IntersectSelectcourseNoFromscoreWherestudentNo='0800002'查询结果:5.2.4嵌套查询查询选修了“CS0701”这门课的所有学生的学号、姓名、出生日期以及籍贯。SelectstudentNo,studentName,birthday,nativeFromStudentWherestudentNoin(selectstudentNoFromscoreWhereclassNo='CS0701')查询结果:5.3数据库更新操作5.3.1插入数据向Student表中添加一项记录:姓名:叶问,学号:0800016,性别:男,出生年月:1992-6-19,籍贯:南昌,班级编号:CP0802InsertIntoStudent(studentNo,studentName,sex,birthday,native,classNo)Values('0800016','叶问','男','1992-6-19','南昌','CP0802'结果:5.3.2修改数据修改吴敏的学号为0800019UpdateStudentSetStudentNo='0800019'WhereStudentName='吴敏’;5.3.3删除数据删除所有金融学院学生的记录DeletefromClassWhere(institute='金融学院');5.4为数据库建立索引5.4.1索引的建立createindexstudentNameSMonStudent(studentName)5.4.2索引的删除dropindexstudentNameSMonStudent(studentName)5.5数据库的安全性所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、可靠和正确有效。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进行验证,只有通过验证的用户方可对数据库进行操作。5.6数据库的完整性5.6.1实体完整性定义:在班级表Class中将classNo定义为主码。createtableClass(//创建class表classNochar(10)notnull,classNamevarchar(30)notnull,institutevarchar(30)Notnull,gradesmallintNotnull,classNumtinyintnull,constraintClassPKprimarykey(classNo))5.6.2参照完整性定义:在学生成绩表Score中将studentNo、courseNo定义为外码。createtableScore(studentNochar(10)notnull,courseNochar(10)notnull,termchar(10)notnull,scorenumeric(5,1)default0notnull,Check(Scorebetween0.0and100.0),ConstraintScorePKprimarykey(studentNo,courseNo),ConstraintScoreFK1foreignkey(studentNo)ReferencesStudent(studentNo),ConstraintScoreFK2foreignkey(courseNo)ReferencesCourse(courseNo)六、模式求精通常,如果能仔细分析用户的需求,并正确的识别出所有的实体集和联系集,有E-R图生成的数据库模式往往不需要太多的进一步模式求精。然而,如果一个实体集中的属性之间存在函数依赖(不包括主码的依赖关系),则需要根据函数依赖理论将其进行规范化。通过分析以上关系可知Course关系模式中存在一个对非主属性的函数依赖关系:courseName->priorCourse,由此导致的问题是数据冗余,即每一个相同等级会员都需要存放priorCourse信息。该模式不满足BCNF范式。因此,需要对Course进行分解。依据BCNF可分解为一下两个模式:NewCourse1(classNo,courseName,creditHour,courseHour)NewCourse2(courseName,priorCourse)七、总结本学生成绩查询系统主要参照课本,相对来说比较简单。但是由于主要以课本为依据,所以整个设计做下来基本掌握了课本上数据库的基础操作。设计过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很多。(1)在设计表时应注意使用正确的字段类型。(2)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义。随着学生成绩管理类型的不断增加和成绩管理要求的不断提高,管理方面的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情。在这样的情况下有一个实用学生成绩管理系统是有其必然性的,如果能做出一个完善的学生成绩管理系统就使管理方面的工作量减少很多。总的来说,通过这次的数据库课程设计锻炼了我们的操作能力和让我们从实际上去分析一件事比较全面和对数据库设计有了更深的了解。
社会实践报告系别:班级:学号:姓名:作为祖国未来的事业的继承人,我们这些大学生应该及早树立自己的历史责任感,提高自己的社会适应能力。假期的社会实践就是很好的锻炼自己的机会。当下,挣钱早已不是打工的唯一目的,更多的人将其视为参加社会实践、提高自身能力的机会。许多学校也积极鼓励大学生多接触社会、了解社会,一方面可以把学到的理论知识应用到实践中去,提高各方面的能力;另一方面可以积累工作经验对日后的就业大有裨益。进行社会实践,最理想的就是找到与本专业对口单位进行实习,从而提高自己的实战水平,同时可以将课本知识在实践中得到运用,从而更好的指导自己今后的学习。但是作为一名尚未毕业的大学生,由于本身具备的专业知识还十分的有限,所以我选择了打散工作为第一次社会实践的方式。目的在于熟悉社会。就职业本身而言,并无高低贵贱之分,存在即为合理。通过短短几天的打工经历可以让长期处于校园的我们对社会有一种更直观的认识。实践过程:自从走进了大学,就业问题就似乎总是围绕在我们的身边,成了说不完的话题。在现今社会,招聘会上的大字报都总写着“有经验者优先”,可还在校园里面的我们这班学子社会经验又会拥有多少呢?为了拓展自身的知识面,扩大与社会的接触面,增加个人在社会竞争中的经验,锻炼和提高自己的能力,以便在以后毕业后能真正真正走入社会,能够适应国内外的经济形势的变化,并且能够在生活和工作中很好地处理各方面的问题,我开始了我这个假期的社会实践-走进天源休闲餐厅。实践,就是把我们在学校所学的理论知识,运用到客观实际中去,使自己所学的理论知识有用武之地。只学不实践,那么所学的就等于零。理论应该与实践相结合。另一方面,实践可为以后找工作打基础。通过这段时间的实习,学到一些在学校里学不到的东西。因为环境的不同,接触的人与事不同,从中所学的东西自然就不一样了。要学会从实践中学习,从学习中实践。而且在中国的经济飞速发展,又加入了世贸,国内外经济日趋变化,每天都不断有新的东西涌现,在拥有了越来越多的机会的同时,也有了更多的挑战,前天才刚学到的知识可能在今天就已经被淘汰掉了,中国的经济越和外面接轨,对于人才的要求就会越来越高,我们不只要学好学校里所学到的知识,还要不断从生活中,实践中学其他知识,不断地从各方面武装自已,才能在竞争中突出自已,表现自已。在餐厅里,别人一眼就能把我人出是一名正在读书的学生,我问他们为什么,他们总说从我的脸上就能看出来,也许没有经历过社会的人都有我这种不知名遭遇吧!我并没有因为我在他们面前没有经验而退后,我相信我也能做的像他们一样好.我的工作是在那做传菜生,每天9点钟-下午2点再从下午的4点-晚上8:30分上班,虽然时间长了点但,热情而年轻的我并没有丝毫的感到过累,我觉得这是一种激励,明白了人生,感悟了生活,接触了社会,了解了未来.在餐厅里虽然我是以传菜为主,但我不时还要做一些工作以外的事情,有时要做一些清洁的工作,在学校里也许有老师分配说今天做些什么,明天做些什么,但在这里,不一定有人会告诉你这些,你必须自觉地去做,而且要尽自已的努力做到最好,一件工作的效率就会得到别人不同的评价。在学校,只有学习的氛围,毕竟学校是学习的场所,每一个学生都在为取得更高的成绩而努力。而这里是工作的场所,每个人都会为了获得更多的报酬而努力,无论是学习还是工作,都存在着竞争,在竞争中就要不断学习别人先进的地方,也要不断学习别人怎样做人,以提高自已的能力!记得老师曾经说过大学是一个小社会,但我总觉得校园里总少不了那份纯真,那份真诚,尽管是大学高校,学生还终归保持着学生的身份。而走进企业,接触各种各样的客户、同事、上司等等,关系复杂,但我得去面对我从未面对过的一切。记得在我校举行的招聘会上所反映出来的其中一个问题是,学生的实际操作能力与在校理论学习有一定的差距。在这次实践中,这一点我感受很深。在学校,理论的学习很多,而且是多方面的,几乎是面面俱到;而在实际工作中,可能会遇到书本上没学到的,又可能是书本上的知识一点都用不上的情况。或许工作中运用到的只是很简单的问题,只要套公式似的就能完成一项任务。有时候我会埋怨,实际操作这么简单,但为什么书本上的知识让人学得这么吃力呢?这是社会与学校脱轨了吗?也许老师是正确的,虽然大学生生活不像踏入社会,但是总算是社会的一个部分,这是不可否认的事实。但是有时也要感谢老师孜孜不倦地教导,有些问题有了有课堂上地认真消化,有平时作业作补充,我比一部人具有更高的起点,有了更多的知识层面去应付各种工作上的问题,作为一名大学生,应该懂得与社会上各方面的人交往,处理社会上所发生的各方面的事情,这就意味着
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年学校保安人员校园周边环境治理聘用合同3篇
- 物流分拣系统课程设计
- 2024学生入学与校园体育设施使用协议3篇
- 数字媒体水彩课程设计
- 2024年自动化生产线升级改造协议3篇
- 玉米食品的国内外标准对比与分析考核试卷
- 液压系统在消防喷淋系统中的应用考核试卷
- 电玩具高级项目管理工具应用考核试卷
- 涤纶纤维的基础知识考核试卷
- 2024年知识产权侵权赔偿协议模板3篇
- 培训中心商业计划书
- 2024版新能源汽车购置补贴及服务保障合同3篇
- 2025年上半年事业单位联考内蒙古自治区民政厅招聘3人准考重点基础提升(共500题)附带答案详解
- 2024年度云计算中心综合布线合同5篇
- 吉首大学《管理学》2023-2024学年第一学期期末试卷
- 《道路车辆 48V供电电压的电气及电子部件 电性能要求和试验方法》文本以及编制说明
- 《病理科(中心)建设与配置标准》
- 医药销售主管市场规划
- 测量应急管理方案
- 克雅氏病的护理
- 2024-2025学年深圳市初三适应性考试模拟试卷语文试卷
评论
0/150
提交评论