学生成绩综合管理系统数据库设计.doc
《学生成绩综合管理系统数据库设计.doc》由会员分享,可在线阅读,更多相关《学生成绩综合管理系统数据库设计.doc(18页珍藏版)》请在咨信网上搜索。
JIANGXI AGRICULTURAL UNIVERSITY 数据库课程设计汇报 题目: 学生成绩管理系统数据库设计 学 院: 姓 名: 学 号: 专 业: 班 级: 指导老师: 二0一二 年 6 月 目录 一、需求分析 3 1.1 需求概述 3 1.2 功效介绍 3 二、数据库设计 3 2.1 确定联络集及E-R图 3 2.2 画出E-R图 4 2.3学生成绩管理系统总E-R图 5 三、逻辑数据库设计阶段 6 3.1 班级信息表(Class) 7 3.2 学生信息表(Student) 7 3.3 课程信息表(Course) 8 3.4 成绩表(Score) 8 四、建表 8 4.1 创建数据库 8 4.2 创建数据表 9 五、数据库运行和维护 10 5.1 定义 10 5.1.1 基础表创建,建表语句 10 5.1.2 基础表删除 11 5.2 数据操作 11 5.2.1 单表查询: 11 5.2.2 连接查询 11 5.2.3 操作结果集查询 12 5.2.4 嵌套查询 12 5.3 数据库更新操作 13 5.3.1 插入数据 13 5.3.2 修改数据 13 5.3.3 删除数据 13 5.4 为数据库建立索引 14 5.4.1 索引建立 14 5.4.2 索引删除 14 5.5 数据库安全性 14 5.6 数据库完整性 15 5.6.1 实体完整性定义 15 5.6.2 参考完整性定义 15 六、模式求精 15 七、总结 16 一、需求分析 1.1 需求概述 针对江西农大成绩管理工作量大、繁杂,人工处理很困难。学生成绩管理系统借助于计算机强大处理能力,大大减轻了管理人员工作量,并提升了处理正确性。学生成绩管理系统开发利用,实现了学生成绩管理自动化,不仅把广大老师从繁重成绩管理工作中解脱出来、把学校从传统成绩管理模式中解放出来,而且对学生成绩判定和整理更合理、更公正,同时也给老师提供了一个正确、清楚、轻松成绩管理环境。 1.2 功效介绍 能够进行数据库数据定义、数据操纵、数据控制等处理功效,进行联机处理对应时间要短。 具体功效应包含:系统应该提供课程安排数据插入、删除、更新、查询;成绩添加、修改、删除、查询,学生及教职员基础信息查询功效。 二、数据库设计 2.1 确定联络集及E-R图 依据前面对系统进行分析,已经初步了解了学生成绩管理系统数据处理步骤,找出和系统相关各个实体及其相互联络以下: ①、标示实体集:班级,课程,学生,成绩四个关系。 ②、标示联络集: 学生和班级:一个班由多个学生组成,一个学生只能归属于某个班; 存在“归属”关系:N:1 学生和课程:一个学生能够选修多门课程,一门课程提供给多个学生选修; 存在“选修”关系:N:M 关系Score主码是{studentNo,courseNo,term}显然同一个学生在同一个学期不许可修读同一门课程数次 关系CoursepriorCourse属性参考本关系主码courseNo属性。这里假设一门课程最多只需要定义一门先修课程。 ③、标示属性集: 班级(班级编号,班级名称,所属学院,年级,班级人数) 课程(课程号,课程名,学分,课时数,先修课程) 学生(学号,姓名,性别,出生日期,籍贯,所属班级) 成绩(学号,课程号,开课学期,成绩) 2.2 画出E-R图 班级信息图以下: Class classtudentNo className Institute classNum grade 图2-2-1班级实体集E-R图 学生信息图以下: Student studentNo studentName sex classtudentNo native birthday 图2-2-2学生实体集E-R图 课程信息图以下: Course courseNo courseName creditHour priorCourse courseHour 图2-2-3课程实体集E-R图 成绩信息图以下: Score studentNo courseNo score term 图2-2-4成绩实体集E-R 2.3学生成绩管理系统总E-R图 依据上面对实体联络分析,能够画出E-R图以下: 课程 课程号 课程名 课时数 学分 先修课程 选修 归属 学生 成绩 班级 学号 姓名 性别 班级人数数数 年级 所属学院 班级名称 班级编号 成绩 开课学期 课程号 学号 出生日期 籍贯 N 1 N M 1 图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) Primarykey className 班级名称 varchar(30) Not null institute 所属学院 varchar(30) Not null grade 年级 smallint Not null classNum 班级人数 tinyint Not null 3.2 学生信息表(Student) 字段名 描述 数据类型 字段权限 studentNo 学号 char(10) Primarykey studentName 姓名 Varchar(30) Not null sex 性别 char(2) Not null birthday 出生日期 datetime Not null native 民族 varchar(30) Not null classNo 所属班级 varchar(30) Not null 3.3 课程信息表(Course) 字段名 属 性 数据类型 字段权限 courseNo 课程号 char(10) Primarykey courseName 课程名 varchar(30) Not null creditHour 学分 numeric Not null courseHour 课时数 tinyint Not null priorCourse 先修课程 varchar(30) Not null 3.4 成绩表(Score) 字段名 属 性 数据类型 字段权限 studentNo 学号 char(10) Primarykey courseNo 课程号 char(10) Primarykey term 开课学期 char(10) Not null score 成绩 numeric Not null 四、建表 4.1 创建数据库 打开SQL工具“查询分析器” 在查询窗口中键入下列SQL语句 create database ScoreDB 实施上述SQL语句即可新建一名为ScoreDB数据库。 4.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, //课程名 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), constraint studentPK1 foreign key(classtudentNo)references class(classtudentNo) ) 5.1.2 基础表删除 drop table Student 5.2 数据操作 5.2.1 单表查询: 查询学号为“0800006”生姓名 select studentName from Student where studentNo=' 0800006' 结果: 5.2.2 连接查询 查询学生学号、姓名,所选课程课程号、课程名和成绩 Select Student.studentNo,Student.studentName,Class.classNo,Class.className,Score.score from Student,Class,Score,Course Where Student.studentNo=Score.studentNo and Student.classNo=Class.classNo and Course.courseNo=Score.courseNo 结果: 5.2.3 操作结果集查询 查询0700003号同学和0800002号同学共同选修课程 Select courseNo From Score Where studentNo='0700003' Intersect Select courseNo From score Where studentNo='0800002' 查询结果: 5.2.4 嵌套查询 查询选修了“CS0701”这门课全部学生学号、姓名、出生日期和籍贯。 Select studentNo,studentName,birthday,native From Student Where studentNo in (select studentNo From score Where classNo='CS0701') 查询结果: 5.3 数据库更新操作 5.3.1 插入数据 向Student表中添加一项统计: 姓名:叶问,学号:0800016,性别:男,出生年月:1992-6-19,籍贯:南昌,班级编号:CP0802 Insert Into Student(studentNo,studentName, sex,birthday,native,classNo) Values ('0800016',' 叶问', '男','1992-6-19',' 南昌', 'CP0802' 结果: 5.3.2 修改数据 修改吴敏学号为0800019 Update Student Set StudentNo='0800019' Where StudentName='吴敏’; 5.3.3 删除数据 删除全部金融学院学生统计 Delete from Class Where(institute='金融学院'); 5.4 为数据库建立索引 5.4.1 索引建立 create index studentNameSM on Student(studentName) 5.4.2 索引删除 drop index studentNameSM on Student(studentName) 5.5 数据库安全性 所谓计算机系统安全性,是指为计算机系统建立和采取多种安全保护方法,以保护计算机系统中硬件,软件及数据,预防其偶然或恶意原因使系统遭到破坏,数据遭到更改或泄露等。为预防因用户非法使用数据库造成数据泄露、更改或破坏,必需采取部分安全性控制方法以确保数据库中数据安全、可靠和正确有效。安全性控制防范对象是非法用户和非法操作,预防她们对数据库数据非法存取。关键采取用户标识及判定,使用用户名或用户标识号来标明用户身份。 用户想要对对数据库内容进行相关操作,必需申请一个用户名或用户标识号,每次登陆全部必需输入该用户名和对应正确口令,然后系统对其进行验证,只有经过验证用户方可对数据库进行操作。 5.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图生成数据库模式往往不需要太多深入模式求精。然而,假如一个实体集中属性之间存在函数依靠(不包含主码依靠关系),则需要依据函数依靠理论将其进行规范化。 经过分析以上关系可知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文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文