学生成绩管理系统数据库设计.pdf
《学生成绩管理系统数据库设计.pdf》由会员分享,可在线阅读,更多相关《学生成绩管理系统数据库设计.pdf(16页珍藏版)》请在咨信网上搜索。
JIANGXI AGRICULTURAL UNIVERSITY数据库课程设计报告数据库课程设计报告题目:学生成绩管理系统数据库设计学生成绩管理系统数据库设计 学学 院:院:姓姓 名:名:学学 号:号:专专 业:业:班班 级:级:指导教师:指导教师:二二 0 0 一二一二 年年 6 6 月月学生成绩管理系统设计2目录目录一、需求分析.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学生成绩管理系统设计3一、需求分析一、需求分析1.1 需求概述需求概述针对江西农大的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。1.2 功能简介功能简介能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。二、数据库设计二、数据库设计2.1 确定联系集及确定联系集及 E-R 图图根据前面对系统进行的分析,已经初步了解了学生成绩管理系统的数据处理流程,找出与系统有关的各个实体及其相互联系如下:、标示实体集:班级,课程,学生,成绩四个关系。、标示联系集:学生和班级:一个班由多个学生组成,一个学生只能归属于某个班;存在“归属”的关系:N:1学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修;存在“选修”的关系:N:M学生成绩管理系统设计4关系 Score 的主码是studentNo,courseNo,term显然同一个学生在同一个学期不允许修读同一门课程多次关系 Course 的 priorCourse 属性参照本关系的主码 courseNo 属性。这里假设一门课程最多只需要定义一门先修课程。、标示属性集:班级(班级编号,班级名称,所属学院,年级,班级人数)课程(课程号,课程名,学分,课时数,先修课程)学生(学号,姓名,性别,出生日期,籍贯,所属班级)成绩(学号,课程号,开课学期,成绩)2.2 画出画出 E-R 图图班级信息图如下:ClassclasstudentNoclassNameInstituteclassNumgrade图 2-2-1 班级实体集的 E-R 图学生信息图如下:StudentstudentNostudentNamesexclasstudentNonativebirthday图 2-2-2 学生实体集 E-R 图学生成绩管理系统设计5课程信息图如下:CoursecourseNocourseNamecreditHourpriorCoursecourseHour图 2-2-3 课程实体集 E-R 图成绩信息图如下:ScorestudentNocourseNoscoreterm图 2-2-4 成绩实体集 E-R2.3 学生成绩管理系统总学生成绩管理系统总 E-R 图图根据上面对实体联系的分析,可以画出 E-R 图如下:学生成绩管理系统设计6图 2-2-5 学生成绩管理系统总 E-R 图三、逻辑数据库设计阶段三、逻辑数据库设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本 E-R 图转化为宜选用的 DBMS 所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R 图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。课程课程号课程名学时数学分先修课程选修归属学生成绩班级学号姓名性别班级人数数数年级所属学院班级名称班级编号成绩开课学期课程号学号出生日期籍贯N1NM1学生成绩管理系统设计7设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系,其关系模式中对每个实体定义的属性如下:课程信息表Class:(班级编号,班级名称,所属学院,年级,班级人数)学生信息表Student:(学号,姓名,性别,出生日期,籍贯,所属班级)课程信息表Course:(课程号,课程名,学分,课时数,先修课程)成绩表Score:(学号,课程号,开课学期,成绩)设计出 E-R 图后,可将 E-R 图转换为数据库模式。本系统建立的数据库为“ScoreDB”,运行本系统时在库中所建立的表分别介绍如下:3.1 班级信息表班级信息表(Class)字段名描述数据类型字段限制classNo班级编号char(10)PrimarykeyclassName班级名称varchar(30)Not nullinstitute所属学院varchar(30)Not nullgrade年级smallintNot nullclassNum班级人数tinyintNot null3.2 学生信息表学生信息表(Student)字段名描述数据类型字段权限studentNo学号char(10)Primarykey studentName姓名Varchar(30)Not null sex性别char(2)Not nullbirthday出生日期datetimeNot null 学生成绩管理系统设计8native民族varchar(30)Not nullclassNo所属班级varchar(30)Not null3.3 课程信息表(课程信息表(Course)字段名属 性数据类型字段权限courseNo课程号char(10)PrimarykeycourseName课程名varchar(30)Not nullcreditHour学分numericNot nullcourseHour课时数tinyintNot nullpriorCourse先修课程varchar(30)Not null3.4 成绩表(成绩表(Score)字段名属 性数据类型字段权限studentNo学号char(10)PrimarykeycourseNo课程号char(10)Primarykeyterm开课学期char(10)Not nullscore成绩numericNot null四、建表四、建表4.1 创建数据库创建数据库打开 SQL 工具“查询分析器”在查询窗口中键入下列 SQL 语句create database ScoreDB执行上述 SQL 语句即可新建一名为 ScoreDB 的数据库。学生成绩管理系统设计94.2 创建数据表创建数据表 一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即班级信息表、学生信息表、课程信息表和成绩表。创建数据库后,为 ScoreDB 数据库添加数据表,步骤如下。新建查询窗口在查询窗口中键入下列 SQL 语句create table Class(/创建班级信息表 classtudentNo char(10)primary key,/班级编号 classtudentName varchar(30)not null,/班级名称 institute varchar(30)Not null /所属学院 grade smallint,Not null /年级 classNum tinyint,Not null /班级人数 )执行上述 SQL 语句即可创建课程信息表相关表格create table Student(/创建学生信息表 studentNo char(10)primary key,/学号 studentName varchar(30)not null,/姓名 sex char(2)not null,/性别 birthday datetime not null,/出生日期 native varchar(30)not null,/民族 classtudentNo Char(10)not null,/所属班级 )执行上述 SQL 语句即可创建学生信息表相关表格create table Course(/创建教师信息表 courseNo char(10)primary key,/课程号 courseName varchar(30)not null,/课程名学生成绩管理系统设计10 creditHour numeric not null,/学分 courseHour tinyint not null,/课时数 priorCourse varchar(30)not null,/先修课程 )执行上述 SQL 语句即可创建教师信息表相关表格create table Score(/创建成绩表 studentNo char(10)primary key,/学号 courseNo char(10)primary key,/课程号 term char(10)not null,/开课学期 score numeric not null,/成绩 )执行上述 SQL 语句即可创建成绩表相关表格五、数据库的运行和维护五、数据库的运行和维护5.1 定义定义基本表的创建、修改及删除;索引的创建和删除。5.1.1 基本表的创建,建表语句基本表的创建,建表语句 create table Student(/创建学生表 studentNo char(10)not null,studentName varchar(30)not null,sex char(2)not null,birthday datetime not null,native varchar(20)not null,classtudentNo Char(10)not null,constraint studentPK primary key(StudentNO),学生成绩管理系统设计11 constraint studentPK1 foreign key(classtudentNo)references class(classtudentNo)5.1.2 基本表的删除基本表的删除drop table Student5.2 数据操作数据操作5.2.1 单表查询:单表查询:查询学号为“0800006”生的姓名select studentNamefrom Studentwhere studentNo=0800006结果:5.2.2 连接查询连接查询查询学生的学号、姓名,所选课程的课程号、课程名和成绩Select Student.studentNo,Student.studentName,Class.classNo,Class.className,Score.scorefrom Student,Class,Score,CourseWhere Student.studentNo=Score.studentNo and Student.classNo=Class.classNo and Course.courseNo=Score.courseNo结果:学生成绩管理系统设计125.2.3 操作结果集查询操作结果集查询查询 0700003 号同学和 0800002 号同学共同选修的课程Select courseNoFrom ScoreWhere studentNo=0700003IntersectSelect courseNoFrom scoreWhere studentNo=0800002查询结果:5.2.4 嵌套查询嵌套查询 查询选修了“CS0701”这门课的所有学生的学号、姓名、出生日期以及籍贯。Select studentNo,studentName,birthday,nativeFrom StudentWhere studentNo in学生成绩管理系统设计13 (select studentNo From score Where classNo=CS0701)查询结果:5.3 数据库更新操作数据库更新操作5.3.1 插入数据插入数据向 Student 表中添加一项记录:姓名:叶问,学号:0800016,性别:男,出生年月:1992-6-19,籍贯:南昌,班级编号:CP0802InsertInto Student(studentNo,studentName,sex,birthday,native,classNo)Values(0800016,叶问,男,1992-6-19,南昌,CP0802结果:5.3.2 修改数据修改数据修改吴敏的学号为 0800019Update StudentSet StudentNo=0800019Where StudentName=吴敏;5.3.3 删除数据删除数据删除所有金融学院学生的记录学生成绩管理系统设计14Delete from ClassWhere(institute=金融学院);5.4 为数据库建立索引为数据库建立索引5.4.1 索引的建立索引的建立create index studentNameSM on Student(studentName)5.4.2 索引的删除索引的删除drop index studentNameSM on Student(studentName)5.5 数据库的安全性数据库的安全性所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、可靠和正确有效。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非法存取。主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进行验证,只有通过验证的用户方可对数据库进行操作。学生成绩管理系统设计155.6 数据库的完整性数据库的完整性5.6.1 实体完整性定义实体完整性定义:在班级表 Class 中将 classNo 定义为主码。create table Class(/创建class表 classNo char(10)not null,className varchar(30)not null,institute varchar(30)Not null,grade smallint Not null,classNum tinyint null ,constraint ClassPK primary key(classNo)5.6.2 参照完整性定义参照完整性定义:在学生成绩表 Score 中将 studentNo、courseNo 定义为外码。create table Score(studentNo char(10)not null,courseNo char(10)not null,term char(10)not null,score numeric(5,1)default 0 not null,Check(Score between 0.0 and 100.0),Constraint ScorePK primary key(studentNo,courseNo),Constraint ScoreFK1 foreign key(studentNo)References Student(studentNo),Constraint ScoreFK2 foreign key(courseNo)References Course(courseNo)六、模式求精六、模式求精 通常,如果能仔细分析用户的需求,并正确的识别出所有的实体集和联系集,有 E-R 图生成的数据库模式往往不需要太多的进一步模式求精。然而,如果一个实体集中的属性之间存在函数依赖(不包括主码的依赖关系),则需要根据函数依赖理论将其进行规范化。学生成绩管理系统设计16 通过分析以上关系可知 Course 关系模式中存在一个对非主属性的函数依赖关系:courseName-priorCourse,由此导致的问题是数据冗余,即每一个相同等级会员都需要存放 priorCourse 信息。该模式不满足 BCNF 范式。因此,需要对 Course 进行分解。依据 BCNF 可分解为一下两个模式:NewCourse1(classNo,courseName,creditHour,courseHour)NewCourse2(courseName,priorCourse)七、总结七、总结 本学生成绩查询系统主要参照课本,相对来说比较简单。但是由于主要以课本为依据,所以整个设计做下来基本掌握了课本上数据库的基础操作。设计过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很多。(1)在设计表时应注意使用正确的字段类型。(2)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义。随着学生成绩管理类型的不断增加和成绩管理要求的不断提高,管理方面的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情。在这样的情况下有一个实用学生成绩管理系统是有其必然性的,如果能做出一个完善的学生成绩管理系统就使管理方面的工作量减少很多。总的来说,通过这次的数据库课程设计锻炼了我们的操作能力和让我们从实际上去分析一件事比较全面和对数据库设计有了更深的了解。- 配套讲稿:
如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。
关于本文