高职扩招教学管理系统中数据库的设计与实现

2021-06-16 09:36罗全珍李彩霞
电子技术与软件工程 2021年7期
关键词:主键数据表字段

罗全珍 李彩霞

(甘肃交通职业技术学院 甘肃省兰州市 730070)

1 前言

高职扩招是国家一项重大的教育改革工程,扩招生源在社会背景、年龄结构、实践阅历等方面具有多元化,文化基础和学习能力水平参差不齐,求学动机和接受教育教学方式差异比较明显。由于高职院校的扩招学生在日常管理和教育教学过程中,与普通在校生存在一定差距,所以这为职业院校带来了一定的挑战。高职院校在调整人才培养方案、实施线上线下混合教学、加强过程管控的同时,利用计算机应用技术和网络技术搭建了符合自己管理风格的扩招教学管理系统,服务于广大扩招师生,从而提高了学院的管理水平和效率,有效做到扩招人才培养要求的“标准不降、模式多元、学制灵活”。

高职扩招教学管理系统以扩招学生和教师为主要服务对象,以教育教学为主要内容。在实施系统开发之前,设计一个全面、准确、严谨、高效的数据库系统,可以极大地提高应用系统的有效性和健壮性。目前常见的数据库系统有Oracle、Microsoft SQL Server、MySQL、access 等。由于本项目开发的高职扩招教学管理系统采用PHP 语言,与MySQL 数据库衔接完美,且MySQL 具有体积小、速度快、成本低、代码开源等优点,因此本系统采用MySQL 数据库。

2 数据库设计

数据库的设计既要满足用户的需求,又要与给定的应用环境密切相关,因此需要通过系统化、规划化的方法进行设计。同时数据库的设计还具有反复性、试探性和分步进行的特点。通过用户需求分析,得到本系统,主要完成扩招学生的教学管理,包括学生的基本信息管理,每学期的教学计划管理、教师授课安排、课表生成、考试安排、成绩管理等内容。

2.1 系统E-R模型图设计

E-R 模型,全称为实体关系模型, 是数据库概念模型设计中最常见的描述工具,它提供了表示实体类型、属性和联系的方法。根据用户需求和系统功能,我们将本系统大致划分成以下几个模块,主要包括专业管理、班级管理、学生管理、教师管理、专业计划管理、教学任务管理、课表管理、考试管理、评价管理等,每个模块包含一个实体和若干属性。根据实体之间的联系得到本系统总的E-R 模型(如图1 所示)。

图1 中的矩形框表示实体,菱形框表示实体之间的联系。一般来说,两个实体之间的联系可以分为三种:对于一对一联系,要在两个实体连线方向各写1,比如教学任务和专业计划、教材之间就属于一对一的关系,一门课程只能被讲授学习一次,一门课程只对应一本教材;对于一对多联系,要在一的一方写1,多的一方写n,比如一个学院开设了多个专业,一个专业下面有多个班级,一个班级里有多名同学;对于多对多关系,则要在两个实体连线方向各写m 和n,比如一名学生可以选修了多门课程,一门课程可以被多名学生选修。

图1:本系统E-R 模型图

图2:数据表

2.2 E-R模型图转换为关系模型

根据以上分析,将E-R 模型图转换为关系模型。在关系模型中,标有下划线“_”的属性为主键,斜体字的属性为外键。以班级表为例,其关系模型如下:

班级(编号、班级代码、班级名称、所在系部、所属专业、招生年份、班级人数、班主任编号)。

3 数据库的实施与优化

基于以上数据库的设计,我们在MySQL 中进行数据库的实施,包括基本数据表的创建、索引表的建立、添加外键约束等。

3.1 数据表的创建

图3:创建专业计划表

图4:扩招学生表的基本结构

图5:添加外键约束

我们在MySQL 数据库中首先创建数据库,然后创建了12 个数据表。这些数据表按照字母顺序排序后,分别是:教材表、学院表、班级表、教学评价表、考试安排表、成绩表、学生表、教学任务表、课表、专业表、专业计划表、教师表(如图2 所示)。

以专业计划表为例,利用“create table”语句完成该表的创建,具体如图3 所示。语句中对每一个字段的字段名、数据类型、默认值、字段描述等都进行了明确的定义。

3.2 约束条件

数据库的约束条件就是指限制表中的数据,保证添加到数据表中的数据准确和可靠性,凡是不符合约束的数据,插入时就会失败。约束条件在创建表时可以使用,也可以修改表的时候添加约束条件。约束条件可分为:主键约束、外键约束、非空约束、默认约束、唯一约束等。下面以图4 所示的扩招学生表为例进行讨论:

主键约束(primary key)通常是一个表必须指定一个主键,这个主键也是唯一的、非空的,一般也是自动增加的。如本表中的id字段,其key 属性为“PRI”,Extra 属性为“auto_increment”。

外键约束(foreign key)用于限制两个表的关系,保证从表该字段的值来自于主表相关联的字段的值。如本表的id_grade(班级编号)字段来自于班级表,可以通过以下语句添加外键约束,如图5 所示。

非空约束(not null)是保证字段的值不能为空,如图4 中的id(序号)、stu_no(学号)、stu_name(姓名)、stu_IDnumber(身份证号)等字段都是非空约束。

默认约束(default)是保证字段总会有值,当没有插入值时自动为默认值,如图4 中的year_enroll(入学年份)字段默认为“2021”。

唯一约束(unique)是保证每一行数据的唯一性,防止用户输入重复数据。如图4 中的stu_no(学号)、stu_IDnumber(身份证号)两个字段不允许数据重复。

3.3 索引

为了提高数据表的访问速度,我们在数据表中添加了索引,索引是对数据表中一个或多个列的值进行排序的结构。索引又分为普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。

我们在每张表中都添加了自动增加的id 字段,作为该表的主键索引,当在查询中使用主键索引时,它可以实现对数据的快速访问。另外,在Web 应用系统对数据进行操作时,需要将学院表、专业表、教师表等按照日常工作约定的方式进行排序,因此这几个表中都增加了“排列序号”字段,并对将该字段设置为普通索引。

3.4 冗余数据

在数据库的设计中,根据第三范式规定,数据库表中不包含已在其它表中已包含的非主关键字信息。因此当严格按照第三范式设计时,教学任务(课程)表中只需包含课程编号、教师编号即可。但在Web 应用系统对数据处理时,经常需要在多个数据库之间共享或共同处理数据,比如在教学任务的处理中,每次都需要显示教师姓名和工号、课程名称和课程代码,偶尔也会要求查询该课程的学分、学时、教材等信息。因此,在实际的数据库实现过程中,也允许一些冗余数据的存在,从而在牺牲存储空间的情况下,提高了程序运行的时间和数据处理的效率。当需要同时调用其他数据表中的数据时,可以采用联合查询技术实现。

4 结束语

本文实现了高职扩招教学管理系统中数据库的设计,通过需求分析、概念结构设计、逻辑结构设计明确了系统需求,运用mysql实现了数据库的创建与优化。数据库设计是Web 应用系统开发的基础和骨架,良好的数据库结构为Web 应用系统的开发奠定坚实的基础。下一步将利用PHP 语言实现系统的功能实现和数据交互处理,比如通过用户交互和算法实现课表、考试安排、教学评价信息等。最后利用HTML+CSS+javascript 实现网页的显示和浏览,完成本系统的开发,并投入实用。高职扩招是顺应社会发展的教育策略,是国家的教育大计,此系统将根据高职扩招灵活学制的特点定制开发,并克服了学院现有教学管理系统使用上的不便,服务于学院扩招专业教学管理,使信息化建设和运用水平得到提高。

猜你喜欢
主键数据表字段
图书馆中文图书编目外包数据质量控制分析
基于列控工程数据表建立线路拓扑关系的研究
CNMARC304字段和314字段责任附注方式解析
图表
无正题名文献著录方法评述
基于VSL的动态数据表应用研究
关于CNMARC的3--字段改革的必要性与可行性研究
数据库主键设置探讨