学生管理系统数据库设计

2 篇文章 2 订阅
1 篇文章 0 订阅

引言

科学技术的进步和生产的发展使人类知识总量的增长不断加快,生产社会化趋势的扩大和社会对产品需求的多样性使得组织在营运活动中所涉及的内部和外部信息量迅速地膨胀起来。面对激烈的市场竞争,人们对这些信息进行收集、加工、传递等过程的时间性和准确性提出了更高的要求。这一切使得传统的手工作业为基础的信息系统陷入了机构日益庞大,效率日益降低的困境。电子计算机的出现为摆脱这种困境找到了出路。计算机用于管理信息处理的突出优点是迅速、准确、可靠、具有很大的存储能力,适应于管理信息量大、面宽的特点,适合于管理信息处理及时、准确的要求。
管理信息系统(MIS,Management Information System)是一个由人和计算机等组成的能够提供信息以支持一个组织机构内部的作业、管理、分析和决策职能的系统。管理信息系统利用计算机的硬件和软件,手工规程、分析、计划、控制和决策用的模型,以及数据库对信息进行收集、传输、加工、保存和使用。因此,管理信息系统是一个信息处理系统。
数据库作为存取数据并对数据进行操作的工具在系统中所起到的作用至关重要。数据库设计是指对于一个给定的应用环境,构造优化的数据库逻辑模式和物理模式结果,并据此建立数据库及其应用系统,使之能有效地存储和管理数据,满足应用需求,包括信息管理要求和数据操作。信息管理要求是指在数据库中应该存储和管理哪些数据对象;数据操作要求是指对数据对象进行哪些操作,如查询、增、删、改、统计等操作。数据库设计地目标是为用户提供一个高效的信息管理平台。高效率的运行环境包括:数据库数据的存取速率、数据库存储空间的利用率、数据库系统运行管理的效率等。
为了使数据库的应用系统开发设计合理、规范、有序、正确、高效进行,目前广泛采用工程化的6阶段开发设计过程与方法,它们是需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、物理结构设计阶段、数据库实施、数据库系统运行与维护阶段。我按照以上几点开发了学生选课管理系统数据库。

第一章 需求分析

进行数据库设计首先必须准确了解和分析用户需求(包括数据与处理)。需求分析是整个设计过程的基础,也是最困难,最耗时的一步。需求分析是否做得充分和准确,决定了在其上构建数据库大厦的速度与质量。需求分析做的不好,会导致整个数据库设计返工重做。
需求分析的任务,是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新的系统功能,新系统还得充分考虑今后可能的扩充与改变,不仅仅能够按当前应用需求来设计。
调查的重点是,数据与处理。达到信息要求,处理要求,安全性和完整性要求。
需求分析的方法,常用SA(Structured Analysis) 结构化分析方法,SA方法从最上层的系统组织结构入手,采用自顶向下,逐层分解的方式分析系统。
数据流图表达了数据和处理过程的关系,在SA方法中,处理过程的处理逻辑常常借助判定表或判定树来描述。在处理功能逐步分解的同时,系统中的数据也逐级分解,形成若干层次的数据流图。系统中的数据则借助数据字典(data dictionary,DD)来描述。数据字典是系统中各类数据描述的集合,数据字典通常包括数据项,数据结构,数据流,数据存储,和处理过程5个阶段。

1.1功能分析

本高校管理系统的应用对象定位在普通大学,因此在进行需求分析时主要考虑高等大学的具体需求,并将设计目标确定为普通大学提供基本的高校管理功能。
系统可基本实现课程信息和学生信息的录入、修改、删除等功能,扩充的功能包括与成绩相关的信息处理。同时,可根据学校教学管理制度,设定或自定义审核操作的规则。系统其他方面的需求有:安全保密性、可恢复性、可扩充性、可维护性等。系统功能主要分为以下几个模块。
1.1.1 学生管理:学生信息查询、插入、删除、修改等。
1.1.2教师管理:也是增删改查。
1.1.2. 课程管理:选课信息查询、插入、删除、修改等。
1.1.3. 成绩管理:成绩的查询。
1.1.4. 系统管理:如数据安全管理(含备份与恢复)、操作员管理、管理学生和老师的权限。

1.2数据流图

数据流图表达了数据与处理的关系,数据流图作为直观了解系统运行机理的手段,并没有具体描述个类数据的细节,只有通过数据字典进一步细化才能对系统的需求得到具体而确切的了解。
在这里插入图片描述

1.3功能模块图

功能模块图以模块化的形式表达整个数据库系统,可以从宏观上反应系统的功能。
在这里插入图片描述

接下来三章,本文会采用自顶向下思想设计学生选课管理系统的数据库,从高到低分别是概念结构设计(视图层)、逻辑结构设计(逻辑层)、物理结构设计(物理层)。

第二章概念结构设计

2.1 概念结构设计介绍

概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成了一个独立于具体DBMS的概念模型。通常用E-R图用于描述概念模型。
概念结构主要特点:
(1) 能真实、充分地反映现实世界事物的属性及行为,能满足用户对数据的处理要求。
(2) 易于理解,用户的积极参与是数据库设计成功的关键。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充;
(4)易于向关系、网状、层次等各种数据模型转换;
设计概念结构通常有四类方法:
自顶向下。即首先定义全局概念结构的框架,再逐步细化。
自底向上。即首先定义各局部应用的概念结构,然后再将他们集成起来,得到全局概念结构。
逐步扩张。首先定义最重要的核心概念结构,然后向外扩张,以滚雪球的方式逐步生成其他的概念结构,直至总体概念结构。
混合策略。即自顶向下和自底向上相结合。

2.2 局部E-R图

现在对所设计系统的需求作进一步的分析,产生概念结构设计的E-R模型。由于这个系统并不复杂,因此可采用自顶向下的设计方法。自顶向下设计的关键是确定系统的核心活动。所谓核心活动就是系统中的其他活动都要围绕这个活动展开,或与此活动密切相关。确定了核心活动之后,系统就有了可扩展的余地。
下面是本系统中各模块的E-R图。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 系统E-R图

系统E-R图通常是根据数据流图以及局部E-R图,整合的整个系统的设计架构图。

第三章 逻辑结构设计

该阶段的目的是将E-R图中的实体、属性和联系转换成为“关系模式”。通常的做法是实体转为表,属性转为作字段。联系转为表,相连实体的主键转为字段、联系自身的属性转为字段。比如,上面选课、考试这些联系可以转为表。如下是一些转换规律,可以参考。
1:1 根本不需要建立关系表,任何一个1的主键都可以作为另一个实体的外键。
1:n关系——独立建表,并入多表
可以独立建表,也可以与n端所对应的表合并。
m:n关系——独立成表,主键全收
关系只能独立成表,自身的属性也转换为字段,相连的实体的主键也转换为字段,并作为新表的联合主键。

3.1 关系模式

1个学生可以选多个课程,1个课程肯定有多个学生,一次它们之间是多对多的关系,需要有一章中间表,就是选课记录表。
1个学生可以有多场考试记录,但一条考试记录理论上只能记录一位学生的考试信息。因此它们之间是1对多的关系。如果我们抽象的不是考试记录,而是考试(比如期末考试,它肯定包括场地、时间、科目等信息),考试适合学生无关的,即使某位学生缺考,毫不影响考试本身的安排。此时学生与考试是多对多的关系,1名学生可以参加多门考试,1门考试可以有多名学生参加。这种情况下学生与考试之间需要建立一张中间表,还是考试记录表。教师与考试记录之间的关系与此类似。
事实上,学生和教师之间是多对多的关系,他们之间发生的数据交流必须要通过中间表记录,我们这里就是恰好把考试记录放在了这种中间表里。
1个课程只能有1位老师,1位老师可以教授多个课程,因此它们之间是1对多的关系。
在这里插入图片描述

Student(id,name,age,grade,sex,home);
Teacher(id,teacher_name,age,school);
test(id, time, course_id, student_id,teacher_id, score);
course(id, course_name, type, school, teacher_id, start_time, end_time);
Selected_course(id, student_id, course_id, create_time, progress);

第四章 物理结构设计

逻辑结构设计所得的E-R模型是对用户需求的一种抽象的表达形式,它独立于任何一种具体的数据模型,因而也不能为任何一个具体的DBMS所支持。
为了能够建立起最终的物理系统,还需要将概念结构进一步转化为某一DBMS所支持的数据模型,然后根据逻辑设计的准则、数据的语义约束、规范化理论等对数据模型进行适当的调整和优化,形成合理的全局逻辑结构。
简单解释——选择合适的数据库,并设计具体的表、字段、数据类型、索引等。
为了设计一个合适的物理结构,首先要对运行的事务详细分析,明确适合业务运行的数据库。其次,要充分了解所用的RDBMS的内部特征,特别是系统提供的存取方法和存储结构。常用的存取方法有三类:1.索引方法,目前主要是B+树索引方法。2.聚簇(Clustering)方法。3.HASH方法。

4.1 初始化表

根据表的字段及其属性,确定表字段的数据类型、宽度及备注信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 规范化处理

主要是根据数据库设计的三大范式优化表结构,验证我们的数据表是否满足三范式,以使数据库系统可以提供更优良的性能。
1NF:所谓的第一范式就是数据库中的每一列都是不可分割的基本数据项
2NF:第二范式是在第一范式的基础上建立起来的,即满足第二范式必须先满足第一范式,第二范式要求数据库的每个实例或行必须可以被唯一的区分,即表中要有一列属性可以将实体完全区分,这个属性就是主键。
3NF:满足第三范式必须先满足第二范式,第三范式就是属性不依赖与其他非主属性,也就是说,如果存在非主属性对于码的传递函数依赖,则不符合第三范式。
上述表中红色的是表的主键。经过对初始关系模式的规范化处理,可以看到上述关系模式中不存在部分函数依赖和传递函数依赖,已经达到3NF。

第五章 数据库实施阶段

在这一阶段,设计人员运用DBMS提供的数据库语言(如sql),根据逻辑设计和物理设计的结果建立数据库,编制和调试应用程序,组织数据入库,并进行试运行。
建立学生表

CREATE TABLE student(
id INT AUTO_INCREMENT PRIMARY KEY NOT NULL,
name VARCHAR(20),
age integer,
Grade VARCHAR(20),
sex VARCHAR(20),
home VARCHAR(20)
)engine = innodb;

其它表的建立脚本待补充。

第六章数据库的运行与维护

数据库应用系统经过试运行后,即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价,调整,修改。

参考文献

员工考勤管理系统数据库设计

  • 28
    点赞
  • 387
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
数据库课程设计--会展中心管理系统。 1 系统设计 1.1设计目标 在学习了数据库原理和SQL Server 2008数据库管理系统后,采用Java编程语言开发工具,设计并实现会展中心管理系统。 本课程的目的是培养学生数据库技术的综合应用能力,通过设计开发一个小型的数据库管理系统,将原理与应用相结合,锻炼学生实际问题的分析、设计与编程能力。 设计过程:采用设计总体框数据库结构和功能结构。 会展中心管理系统的设计,可以实现会展中心管理人员对会展中心的方便管理,以及会展信息的发布。客户可以通过系统来预定展馆,预定门票,展品采购,使操作更加集中,方便使用。该系统操作方便,适合大多数人操作使用。 1.2 需求分析 设计内容: (1)对“会展中心管理系统”进行需求调研,完成概念模型和逻辑结构设计; (2)建立“会展中心管理系统”数据库; (3)编程实现“会展中心管理系统”,主要包括客户管理员注册登录,会展信息管理,对展馆、展商、展品的增加删除查询;会展信息查询,展馆预约;门票预定;展品采购。 设计要求: (1) 采用形化界面; (2) 操作方便、界面友好; (3) 撰写课程设计说明书。 数据库安全性:数据库安全性指保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。对本系统中管理员和客户的账号和密码以及客户的身份证号进行加密,防止其他用户窃取。用户登录设置有两个客户端,即客户和管理员,身份不同,进入的系统不同,相应的操作数据库的权限也不同。 数据库完整性:数据库完整性包括实体完整性,参照完整性和用户定义完整性。对每一个表中都设置有相应的主码约束,检查主码是否唯一,如果不唯一则拒绝插入或修改。对表设置列值非空,列值唯一,检查列值是否满足一个条件表达式。在表级定义有外码约束,将两个表中的相应元组联系起来。 1.3开发和运行环境选择 开发工具: 前台开发语言为Java,后台数据库SQL Server2017 运行环境:windows10及更高的操作系统
sql学生成绩管理系统课程设计数据库 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 目 录 CHAP 1 需求分析 2 1.1需求分析 2 1.1。1 数据需求 2 1。1。2 功能描述 2 1.2数据字典 2 1.3数据流图 6 CHAP 2 概念模型设计 8 2.1 E-R模型 8 2.1.1 数据库的局部E-R 8 2。1.2 数据库完整E-R 9 CHAP 3 逻辑模型设计 10 3。1 E-R向关系模型的转换 10 3。2 数据模型的规范化 11 CHAP 4 数据库的物理设计 13 4.1系统结构设计 13 4.1。1系统功能模块 13 4。1。2管理员功能模块 13 4。1。3用户功能模块 15 CHAP 5 数据库的实施 16 5。1 创建数据库 16 5。1。1 创建表 16 5。1。2 创建索引 17 5.1。3 创建触发器 18 5.2组织数据入库 19 CHAP 6 数据库的运行于维护 21 设计心得 22 参考文献 23 学生成绩管理系统数据库 CHAP 1 需求分析 1.1需求分析 高校学生的成绩管理工作量大、繁杂,人工处理非常困难。学生成绩管理系统借助于 计算机强大的处理能力,大大减轻了管理人员的工作量,并提高了处理的准确性。学生成 绩管理系统的开发运用,实现了学生成绩管理的自动化,不仅把广大教师从繁重的成绩管 理工作中解脱出来、把学校从传统的成绩管理模式中解放出来,而且对学生成绩的判断 和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松的成绩管理环境。 1。1.1 数据需求 能够进行数据库的数据定义、数据操纵、数据控制等处理功能,进行联机处理的相应 时间要短。 1。1。2 功能描述 具体功能应包括:系统应该提供课程安排数据的插入、删除、更新、查询;成绩的添 加、修改、删除、查询,学生基本信息查询的功能。 1。2数据字典 1)课程信息(class information): |课程号(cno) char(10) primary key 定义为主键 |课程名cname) char(10) 非空 |教师号(teano) char(10) 非空 " 学分(credit) char(4) 非空 2学生信息(student information): |学号(sno) char(10) primary key 定义主键 "姓名(sname) char(10) 非空 "性别(ssex)char(2) 非空 |年龄(sage) char(2) 非空 |专业(major) char(10) 非空 |系别(depart) char(10) 非空 3)成绩信息(score information): |学号(sno) char(10) primary key 定义主键 |课程号(cno)char(10) 非空 |成绩(degree)char(10) 非空 |课程名( cname)char(10) 非空 1。3数据流图 顶层 管理员信息数据流图数据流图 CHAP 2 概念模型设计 2。1 E—R模型 2.1.1 数据库的局部E-R 概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽 象,形成一个独立于具体DBMS的概念模型. 设计教室管理数据库包括班级、教室、课程、三个关系。 E-R如下 课程信息 成绩 学生信息表 2。1。2 数据库完整E—R CHAP 3 逻辑模型设计 逻辑结构设计阶段 E- R向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何 确定这些关系模式的属性和码。 设计学生成绩管理数据库,包括课程、学生、教成绩三个关系, 其关系模式中对每个实体定义的属性如下: 课程信息表:(课程号,课程名,教师号,学分) 此为联系"课程信息表"所对应的关系模式。课程名为该关系的候选码。 学生信息表:(学号,姓名,性别,年龄,专业,系别) 此为联系"学生信息表"所对应的关系模式。学号为该关系的候选码。 成绩表:(学号,课程号,课程名,成绩) 此为联系"输入"所对应的关系模式.题目编号、管理号为该关系的候选码 数据库中包含3个表,即课程信息(class information),学生信息(student information),成绩信息(score information)。 3.2 数据模型的规范化 )课程信息 2。)学生信息 )学分信息 CHAP 4 数据库的物理设计 4.1系统结构设计 4.1。1系统功能模块 CHAP 5 数据库的实施 5.1 创建数据库 create database stuDB 5.1.1 创建表 在此学生成
学生信息管理系统数据库设计可以分为以下几个步骤: 1. 确定实体和属性:在学生信息管理系统中,主要的实体包括学生、教师、课程、成绩等。每个实体都有一些属性,例如学生实体的属性可能包括学号、姓名、性别、出生日期等。 2. 确定实体之间的关系:在学生信息管理系统中,不同实体之间有各种关系,例如学生和课程之间的关系是选修,学生和成绩之间的关系是有成绩。因此,需要确定不同实体之间的关系类型,例如一对一、一对多、多对多等。 3. 设计表结构:基于以上实体和关系的设计,可以设计数据库的表结构。每个实体对应一个表,每个属性对应一个字段,不同表之间的关系可以通过外键来表示。 4. 定义主键和索引:每个表必须有一个主键,用来唯一标识表中的每一行数据。在需要查询的字段上可以设置索引,以提高查询效率。 5. 设计触发器和存储过程:在学生信息管理系统中,可能需要一些额外的业务逻辑,例如当学生选修一门课程时,需要将成绩表中对应的记录插入。这些逻辑可以通过触发器和存储过程来实现。 6. 进行数据迁移和备份:设计数据库之后,需要将现有的数据迁移到新数据库中。同时,需要定期备份数据库,以防止数据丢失。 以上是学生信息管理系统数据库设计的基本步骤,具体的实现还需要根据具体的需求进行调整和优化。

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值