数据库设计之学生成绩管理系统数据库设计

数据库设计概述

数据库设计的任务和特点

数据库设计的基本方法

数据库开发设计的步骤

数据库应用系统设计

系统需求分析

概念结构分析

逻辑结构设计

数据库行为设计

数据库实施

数据库运行和维护

数据库文档设计

数据库应用程序设计案例

下面设计基于CSDN博主若如初见kk

学生成绩管理系统数据库设计

目录

学生成绩管理系统数据库设计... 1

1. 概述... 1

1.1 项目背景... 1

1.2 需求分析... 1

需求分析... 2

概念结构设计... 2

逻辑结构设计... 2

物理设计和实施... 3

数据操作要求及实现... 3

设计总结... 3

主要参考文献。... 3

1. 概述

1.1 项目背景

为了深刻的理解数据库,使用一种规范设计方法新奥尔良法,它将数据库设计分为4个阶段:需求分析、概念设计、逻辑设计和物理设计,使用E-R模型来搭建概念设计,设计一个学生成绩信息管理数据库。

1.2 需求分析

1.2.1 信息需求

对学校而言,学生成绩管理是管理工作中重要的一环,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。同时也方便管理学生的成绩,以及方便了学生的查看数据,确认数据,构建一个学生成绩管理数据库既方便了学校管理学生成绩以方便学生查改,因此是很有必要的。

1.2.2 功能需求

能够进行数据库的数据定义DDL、数据操纵DML、数据控制DCL等处理功能。具体功能应包括:可提供课程安排、课程成绩数据的添加、插入、删除、更新、查询,学生及教职工基本信息查询的功能。管理员(1).添加教师名单;(2).查询教师名单;(3).修改教师信息;(4).删除教师名单;(5).添加学生名单;(6).查询学生名单;(7).修改学生信息;(8).删除学生名单;(9).统计生源地信息;(10).修改密码;教师(1).查看个人信息;(2).查看每门课程平均成绩统计;(3).输入学生成绩, 自动生成该学生已修总学分;(4).查看任课信息;(5).查看学生成绩名次;(6).修改密码;.学生(1).查看个人信息;(2).查看自己的课表;(3).查看不同班级的开课情况;(4).查询考试成绩;(5).修改密码;

1.2.3 安全性与完整性要求

安全性是保护学生成绩数据不受外界干扰,对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及学校及教务处知道数据,因此做好数据安全性是重中之重。完整性是要求所有在校学生的信息都要录入其中,并且要设计好个别情况。

数据流图:

1.2.4数据字典(数据流、数据流分量/基本数据项、数据存储文件、数据处理/加工)

数据库中包含4个表,即学生(students)、老师(teachers)、课程(courses)、成绩(scores)。

Students表:

学生(学号、姓名、班级、性别、专业、出生日期、学分);

Teacher表:

老师(教师编号、姓名、学院);

Course表

课程(课程编号、教师编号、课程名称、课程学分);

Score表

成绩(学号、课程编号、分数);

数据流名:忘记密码

来源:判断核对

去向:用户信息表

组成:{用户名+用户类型+用户信息+新密码}

备注:当用户忘记密码时可以通过验证信息修改掉旧密码。

数据流名:成绩单

来源:教师

去向:学生

组成:{学号+教师号+课程号+分数+学年}

备注:教师录入成绩后生成成绩单,学生可查询。

数据处理名:管理员查询

输入:查询条件

处理逻辑:根据输入的条件判断是否有对应记录,并提示结果

输出:信息显示

备注:用于查询和显示需要的信息

数据处理名:管理员修改

输入:要修改的信息

处理逻辑:判断输入的记录的主码是否存在,给出提示显示结果

输出:提示结果

备注:用于管理员修改需要的对应信息

数据处理名:管理员删除

输入:需要删除的记录的主码

处理逻辑:判断是否存在,给出提示

输出:提示结果

备注:用于管理员删除不需要的对应记录

数据处理名:修改密码

输入:用户名、旧密码、新密码

处理逻辑:判断输入的用户名旧密码是否有对应记录,并给出提示

输出:提示结果

备注:用于修改用户密码

数据处理名:成绩录入

输入:学号、教师号、课程号、成绩、学年

处理逻辑:判断输入的学号、教师号、课程号是否有对应记录,并给出提示输出:提示结果

备注:用于教师录入学生成绩

数据存储:学生成绩情况

说明:存放的是每个学生的成绩情况

输入数据流:各门功课的成绩情况

流出数据流:学生的成绩单

数据量:由学生的人数决定

存储方式:按学号先后顺序排列。

需求分析

{

信息要求

处理要求(功能需求)

安全性和完整性要求

数据字典

}

概念结构设计

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

根据学生成绩信息管理数据库设计需求抽象出学生、教师、课程、成绩四个实体,对四个实体做简化处理,默认一门课程仅被一位老师讲授。因简化后关系结构比较简单,故省略了局部E-R图。对4个实体之间的关系进行分析如下:

一位学生会被多位老师教导,一位老师会教导多位学生,所有学生与教师之间是多对多(m:n)的关系;

一位学生可能会选修多门课程,一门课程会被多位学生选修,所以学生与课程之间是多对多(m:n)的关系;

一位学生会有多项成绩(具体指某学生一门课程的分数),一项成绩仅被一位学生拥有,所以学生与成绩是一对多(1:n)的关系;

一位教师会讲授多门课程,一门课程会被一位教师讲授,所以教师与课程的关系是一对多(1:n)的关系;

一门课程拥有多项成绩,一项成绩仅被一门课程拥有,所以课程与成绩的关系是一对多(1:n)的关系;

2.1 抽象出系统实体(及E-R图)

学生(学号、姓名、班级、性别、专业、出生日期、学分);

老师(教师编号、姓名、学院);

课程(课程编号、教师编号、课程名称、课程学分)

成绩(学号、课程编号、分数);

全局E-R图如下

逻辑结构设计

E-R模式转换关系模式

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括学生(students)、老师(teachers)、课程(courses)、成绩(scores)四个实体,其关系模式中对每个实体定义属性如下:

students 表:学号(sid)、姓名(sname)、班级(sclass)、性别(ssex)、专业(smajor)、出生日期(sbirthday)、学分(credit_points),此为联系“students表”所对应的关系模式,学号为该关系的候选码,满足第三范式。

teachers表:教师编号(tid)、姓名(tname)、学院(tschool),此为联系“teachers表”所对应的关系模式,教师编号为该关系的候选码,满足第三范式。

courses表:课程编号(cid)、教师编号(tid)、课程名称(cname)、学分(credit_point),此为联系“courses表”所对应的关系模式,课程编号和教师编号为该关系的候选码,满足第三范式。

scores表:学号(sid)、课程编号(cid)、分数(score),此为联系“scores表”所对应的关系模式,学号和课程编号为该关系的候选码,满足第三范式。

{

关系模式(数据字典)

表结构

}

物理设计和实施

{

根据逻辑结构设计

数据库及表的创建

表数据增删改查

创建视图

创建函数

创建存储过程

创建触发器

}

数据操作要求及实现

设计总结

主要参考文献

侵权必删

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:深蓝海洋 设计师:CSDN官方博客 返回首页

打赏作者

程序员技术入门搬运工

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值