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

该博客详细介绍了学生成绩管理系统的数据库设计过程,包括需求分析、E-R图绘制、关系模式设计、SQL语句实现数据库创建、索引建立以及数据的增删改查操作,强调了数据的安全性和完整性要求。
摘要由CSDN通过智能技术生成

《数据库系统原理》大作业要求

对“学生成绩系统”需求进行分析,完成数据库设计,数据库设计应体现数据安全性和完整性要求
学生成绩管理系统需求 成绩管理系统的主要功能模块包括:
学生成绩管理、院系管理、课程信息管理和成绩 信息管理,具体功能描述如下:
院系信息(系号,系名,电话)管理:录入、修改、查询
班级信息(班级号,人数,班长学号)管理:录入、修改、查询
学生信息(学号,姓名,性别,地址,系号,班级号)管理:录入、修改、查询
课程信息(课程号,课程名,学时,学分)管理:录入、修改、查询
一个学生属于一个院系,一个院系包含多个学生;一个学生属于一个班级,一个班级 包含多个学生;一个学生可以选多门课程,一个课程可以包含多个学生。
1.设计过程中可视实际情况和需要,对系统功能做适当扩展和补充。
2. 根据上述需求绘制 E-R 图,并给出满足 3NF 的关系模式,完成数据库逻辑模型设计;
3. 在 SQL Server 中通过 SQL 语句实现系统的成绩鉴定系统数据库模型:创建表,合理设置 索引、约束等;
4. 通过 SQL 语句向各表中插入模拟数据
5. 通过 SQL 语句能够对各表实现数据的增、删、改、查和基本数据分析,例如求得平均分、 优秀率、不及格人数等


学生成绩管理系统

1 功能简介
成绩管理系统的主要功能模块包括学生信息管理、院系管理、班级管理、课程信息管理和成绩信息管理,具体功能描述如下:
对学生信息、院系信息、班级信息、课程信息和成绩信息进行管理,包含录入,修改,删除和查询。
安全性与完整性要求:一个学生属于一个院系,一个院系包含多个学生;一个学生属于一个班级,一个班级包含多个学生;一个学生可以选多门课程,一个课程可以包含多个学生。
2 数据库设计
2.1 数据库概念结构设计
根据本系统的数据分析,列出以下E-R图:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

学生成绩管理系统数据库设计 [提要] 一个好的数据库,不但可以提高数据查询效率,而且还可以保证数据的完整性和一致性 。所以,数据库在信息管理系统中有着非常重要的作用。本文介绍如何使用SQL Server 2005完成学生成绩管理系统数据库设计。 关键词:SQL Server;成绩管理系统;数据库设计 引入 因为各高校学生人数的增多以及学生成绩管理工作的复杂性,人工管理学生成绩信息 的效率越来越低。这种情况下,学生成绩管理系统就出现了。 一、需求分析 需求分析是整个数据库设计中重要的一步,在这个阶段要充分地与用户沟通交流,了 解与分析用户的需求。学生信息管理系统中涉及的主要人员有学生、教师、管理人员; 主要的部门有教务处、系部。在需求分析时可以通过问卷调查、谈话等方式,了解用户 的需求,最终绘制系统的数据流程图。 二、数据库表 关系数据库中所有的数据都存储在关系表中,通过需求分析,我们可以在学生成绩管 理系统中创建以下数据表(此处只列举主要的数据表)。(表1、表2、表3、表4、表5) 三、索引 索引是提高查询的主要方法,在图书管理系统中,因为图书数量的庞大,所以建立索 引是必不可少的。在为表中的主键建立索引以后,系统会自动地在主键上创建聚集索引 。除此之外,我们还可以为一些经常查询的字段上,创建非聚集索引。 索引创建以后会提高查询效率,但也会引起一些问题,如降低数据更新的速度、索引 建后需要维护。所以,在创建索引时,要综合考虑其优缺点。可以参考以下原则为表中 的列创建查询:(1)经常用于查询的列;(2)经常用于分组和排序的列;(3)在连接 中常用到的列。 按照以上原则,我们可以为以下列创建索引:Stu_Id、Stu_Name、Tea_Id、Tea_Nam e、speciality_Id、class_Id等。 四、存储过程 存储过程是T- SQL语句的集合,能够实现特定的功能。使用存储过程,可以大大减少网络传输流量,提 高应用程序性能,而且由于它只在第一次执行时被优化、编译。因此使用存储过程不仅 可以极大地降低应用程序的实现难度,而且还可以极大地提高系统的运行速度、效率。 SQL Server 2005中存储过程分为:系统存储过程、用户自定义存储过程、扩展存储过程三种。例如 :在该系统中,我们可以创建存储过程实现按照学生姓名查询成绩。实现代码如下: CREATE PROCEDURE grade_by_name @name char(10) AS BEGIN SELECT*FROM grade WHERE Stu_Id=(SELECT Stu_Id FROM STUDENT WHERE Stu_Name=@name) END 五、触发器 触发器是在执行操作语句时自动执行的一种存储过程。触发器可以侦测到数据库内数 据的操作,并自动地级联影响到整个数据库的操作,从而保证数据库数据的完整性和一 致性。例如:在某一个学生退学删除学生基本信息以后,那么该学生相应的成绩信息也 应该被删除。可以以下代码完成该功能: CREATE TRIGGER STUDENT_DELETE ON Student FOR Delete As BEGIN Delete from grade Where stu_id=(Select stu_id from deleted) END 主要参考文献: [1]黄存东.数据库原理及应用.中国水利水电出版社,2011.1. [2](美)Peter Rob,Carlos Coronel.张瑜,张继萍等译.数据库系统设计、实现与管理.清华大学出版社,2005. ----------------------- 学生成绩管理系统数据库设计全文共3页,当前为第1页。 学生成绩管理系统数据库设计全文共3页,当前为第2页。 学生成绩管理系统数据库设计全文共3页,当前为第3页。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值