《(最新整理)学生成绩管理系统数据库设计》由会员分享,可在线阅读,更多相关《(最新整理)学生成绩管理系统数据库设计(18页珍藏版)》请在人人文库网上搜索。

1、完整)学生成绩管理系统数据库设计(完整)学生成绩管理系统数据库设计编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)学生成绩管理系统数据库设计)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)学生成绩管理系统数据库设计的全部内容。18JIANGXI AGRICULTURAL UNIVERSITY数据库课程设计报。

2、告题目: 学生成绩管理系统数据库设计 学 院: 姓 名: 学 号: 专 业: 班 级: 指导教师: 二0一二 年 6 月目录一、需求分析31.1 需求概述31.2 功能简介3二、数据库设计32.1 确定联系集及E-R图32。2 画出E-R图42.3学生成绩管理系统总ER图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。

3、 数据操作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 需求概述针对江西农大的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了。

4、处理的准确性。学生成绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。1。2 功能简介能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应时间要短。具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能. 二、数据库设计2.1 确定联系集及E-R图根据前面对系统进行的分析,已经初步了解了学生成绩管理系统的数据处理流程,找出与。

5、系统有关的各个实体及其相互联系如下:、标示实体集:班级,课程,学生,成绩四个关系。、标示联系集:学生和班级:一个班由多个学生组成,一个学生只能归属于某个班;存在“归属的关系:N:1学生和课程:一个学生可以选修多门课程,一门课程提供给多个学生选修;存在“选修”的关系:N:M关系Score的主码是studentNo,courseNo,term显然同一个学生在同一个学期不允许修读同一门课程多次关系Course的priorCourse属性参照本关系的主码courseNo属性。这里假设一门课程最多只需要定义一门先修课程。、标示属性集:班级(班级编号,班级名称,所属学院,年级,班级人数)课程(课程号,课程。

6、名,学分,课时数,先修课程)学生(学号,姓名,性别,出生日期,籍贯,所属班级)成绩(学号,课程号,开课学期,成绩)2。2 画出E-R图班级信息图如下:ClassclasstudentNoclassNameInstituteclassNumgrade图2-2-1班级实体集的E-R图学生信息图如下:StudentstudentNostudentNamesexclasstudentNonativebirthday图222学生实体集ER图课程信息图如下:CoursecourseNocourseNamecreditHourpriorCoursecourseHour图2-2-3课程实体集ER图成绩信息图如。

7、下: ScorestudentNocourseNoscoreterm图224成绩实体集ER2.3学生成绩管理系统总E-R图根据上面对实体联系的分析,可以画出ER图如下:课程课程号课程名学时数学分先修课程选修归属学生成绩班级学号姓名性别班级人数数数年级所属学院班级名称班级编号成绩开课学期课程号学号出生日期籍贯N1NM1图225学生成绩管理系统总ER图三、逻辑数据库设计阶段逻辑结构是独立于任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本ER图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联。

8、系转化为关系模式,如何确定这些关系模式的属性和码。设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(班级编号,班级名称,所属学院,年级,班级人数)学生信息表Student: (学号,姓名,性别,出生日期,籍贯,所属班级)课程信息表Course: (课程号,课程名,学分,课时数,先修课程)成绩表Score:(学号,课程号,开课学期,成绩)设计出E-R图后,可将ER图转换为数据库模式。本系统建立的数据库为“ScoreDB”,运行本系统时在库中所建立的表分别介绍如下:3.1 班级信息表(Class)字段名描述数据类型字段限制c。

9、lassNo班级编号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 native民族varchar。

10、(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)P。

11、rimarykeyterm开课学期char(10)Not nullscore成绩numericNot null四、建表4.1 创建数据库打开SQL工具“查询分析器”在查询窗口中键入下列SQL语句create database ScoreDB执行上述SQL语句即可新建一名为ScoreDB的数据库。4。2 创建数据表一个完整的数据库不可缺少的就是数据表,若干个数据表的集合成一个数据库。数据表主要用来存放一定格式的记录,数据表中的行被称为记录,列被称为字段。创建数据表的过程其实就是定义字段的过程。在此学生成绩管理系统中需要创建四个表,即班级信息表、学生信息表、课程信息表和成绩表。创建数据库后,为Sc。

12、oreDB数据库添加数据表,步骤如下。新建查询窗口在查询窗口中键入下列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( /创建学生信。

13、息表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, /课程号courseNa。

14、me 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 n。

15、ull, /成绩)执行上述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。

16、 studentPK primary key(StudentNO),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,St。

17、udent.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结果:5.2.3 操作结果集查询查询0700003号同学和0800002号同学共同选修的课程Select courseNoFrom ScoreWhere studentNo=0700003Intersec。

18、tSelect courseNoFrom scoreWhere studentNo=0800002查询结果:5.2。4 嵌套查询查询选修了“CS0701”这门课的所有学生的学号、姓名、出生日期以及籍贯。Select studentNo,studentName,birthday,nativeFrom StudentWhere studentNo in(select studentNoFrom scoreWhere classNo=CS0701)查询结果:5.3 数据库更新操作5.3.1 插入数据向Student表中添加一项记录:姓名:叶问,学号:0800016,性别:男,出生年月:1992-6-。

19、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 删除数据删除所有金融学院学生的记录Delete from ClassWhere(institute=金融学院);5。4 为数据库建立索引5。4.1 索引。

20、的建立create index studentNameSM on Student(studentName) 5。4.2 索引的删除drop index studentNameSM on Student(studentName)5。5 数据库的安全性所谓计算机系统安全性,是指为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件,软件及数据,防止其偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。为防止因用户非法使用数据库造成数据泄露、更改或破坏,必须采取一些安全性控制措施以保证数据库中数据的安全、可靠和正确有效。安全性控制的防范对象是非法用户和非法操作,防止他们对数据库数据的非。

21、法存取.主要采用用户标识及鉴定,使用用户名或用户标识号来标明用户身份。用户想要对对数据库内容进行相关操作,必须申请一个用户名或用户标识号,每次登陆都必须输入该用户名以及相应正确的口令,然后系统对其进行验证,只有通过验证的用户方可对数据库进行操作.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。

22、 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 1。

23、00。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图生成的数据库模式往往不需要太多的进一步模式求精。然而,如果一个实体集中的属性之间存在函数依赖(不包括主码的依赖关系)。

24、,则需要根据函数依赖理论将其进行规范化。通过分析以上关系可知Course关系模式中存在一个对非主属性的函数依赖关系:courseName priorCourse,由此导致的问题是数据冗余,即每一个相同等级会员都需要存放priorCourse信息.该模式不满足BCNF范式。因此,需要对Course进行分解。依据BCNF可分解为一下两个模式:NewCourse1(classNo,courseName,creditHour,courseHour)NewCourse2 (courseName,priorCourse)七、总结本学生成绩查询系统主要参照课本,相对来说比较简单。但是由于主要以课本为依据,所。

25、以整个设计做下来基本掌握了课本上数据库的基础操作。设计过程中我也遇到了一些问题,再向其他同学请教的过程中我收获了很多.(1)在设计表时应注意使用正确的字段类型.(2)在建表语句中,如果这个表的主键是多个属性的组合主键,则必须作为表级完整性进行定义.随着学生成绩管理类型的不断增加和成绩管理要求的不断提高,管理方面的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情。在这样的情况下有一个实用学生成绩管理系统是有其必然性的,如果能做出一个完善的学生成绩管理系统就使管理方面的工作量减少很多.总的来说,通过这次的数据库课程设计锻炼了我们的操作能力和让我们从实际上去分析一件事比较全面和对数据库设计有了更深的了解。

学生成绩管理系统mysql数据库表,(最新整理)学生成绩管理系统数据库设计相关推荐

  1. 单元测试系列之八:Sonar 数据库表关系整理一(续)

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 简介:Sonar平台是目前较为流行的静态代码扫描平台,为了便于使用以及自己二次开发,有必要对它的数据库结构进行学习 ...

  2. labview mysql库下载,(最新整理)LabVIEW与数据库的链接-精选资料

    <(最新整理)LabVIEW与数据库的链接-精选资料>由会员分享,可在线阅读,更多相关<(最新整理)LabVIEW与数据库的链接-精选资料(8页珍藏版)>请在人人文库网上搜索. ...

  3. 学生选课在MYSQL创建表_学生选课数据库SQL语句练习题

    一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...

  4. metinfo mysql 数据表_《MetInfo网站管理系统》常见问题整理

    1.MetInfo安装过程中的数据库名称.密码等参数如何填写? 执行安装脚本的"第三步:数据库设置",请依据注释配置空间服务商提供的数据库服务器.用户名.密码及数据库名. 数据库参 ...

  5. eclipse给mysql修改表数据_Eclipse中java向数据库中添加数据,更新数据,删除数据...

    ASP.NET网页动态添加.更新或删除数据行 看过此篇 http://www.cnblogs.com/insus/p/3247935.html的网友,也许明白Insus.NET是怎样实现动态添加数据行 ...

  6. aws mysql 升级_AWS最新核心武器:升级主数据库转换工具

    [IT168 资讯]如今,AWS不仅在公有云市场中是领军地位,在数据库市场市场中,特别是Oracle商店中同样赢得客户认可.4月16日,AWS公共云提供商在这场战斗中有一个新的武器 :一个升级的主数据 ...

  7. mysql 数据库表被锁住了_mysql数据库锁的产生原因及解决办法

    数据库和操作系统一样,是一个多用户使用的共享资源.当多个用户并发地存取数据 时,在数据库中就会产生多个事务同时存取同一数据的情况.若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性 ...

  8. mysql的表导入pgsql用_postgresql 导入数据库表并重设自增属性的操作

    postgresql使用Navicat软件导出数据库表,在导入会数据库的操作. postgresql 的自增字段 是通过 序列 sequence来实现的. 1.先删除导出的数据库表中的自增属性 2.导 ...

  9. MySQL时间序列分表分区_干货丨时序数据库分区教程

    1.为什么对数据进行分区? 对数据库进行分区可以极大的降低系统响应延迟同时提高数据吞吐量.具体来说,分区有以下几个好处: 分区使得大型表更易于管理.对数据子集的维护操作也更加高效,因为这些操作只针对需 ...

  10. Java如何监控数据库表的变化,java监听数据库表变化

    南京理工大学泰州科技学院 实验报告书课程名称: <Java 面向对象程序设计> 实验题目: 实验七 输入输出流,数据库编程 班学姓级: 号: 名: 09 计算机(2) ...... 一.实 ...

最新文章

  1. Flask-RESTful 快速入门
  2. Arm开发板内核驱动模块--Helloworld及Makefile
  3. configure 查找依赖库_由浅入深:Python 中如何实现自动导入缺失的库?
  4. c#调用python脚本效率,C#调用Python脚本 C#调用Python脚本的简单示例
  5. 怎么提高文公写作水平?公文写作报告类模板
  6. 虚拟化技术和容器技术详解
  7. linux svn图形工具,linux 下svn图形客户端smartsvn 安装
  8. 尚学堂Java全套资料百度云,Java注解和反射
  9. 复杂系统理论解释了Covid为何粉碎世界
  10. 最近超火的公司前端面试题
  11. 《C#语言和数据库技术基础》单词必备
  12. 原生JavaScript获取某一段时间内的所有日期列表
  13. HttpClient 连接超时重试处理
  14. Pycharm 报错 Environment location directory is not empty 解决
  15. 孤陌山水间,时光莫追
  16. MarkDown文本首行怎么缩进?
  17. 物联网通信协议-MQTT及使用python实现
  18. 干活的累死累活,数据分析师最后还要会写PPT的5条原则
  19. stata三天写论文!截面工具变量空间计量模型实战
  20. Android P 连接tbox 后热点无法打开的问题

热门文章

  1. 优化问题---切线、切向量、切平面;法线,法向量,法平面
  2. jensen不等式(jensen不等式对于凹函数)
  3. 在Spring AOP切面中启用新事务
  4. 四大常用视频接口对比
  5. JavaScript——监听事件:点击鼠标,视频静音(原神官网)
  6. java表白我爱你代码_微信翻译代码我爱你怎么写 微信翻译表白代码大全
  7. PC端微信扫码关注公众号并登录
  8. SMing:2022年中青杯A题思路
  9. 问题:为什么在CAD中使用贱人工具箱中的递增命令会显示失败?
  10. 5节锂电池升压充电管理芯片