首页 > 数据库技术 > 详细

MySQL系列(三)--数据库结构优化

时间:2019-06-22 16:59:26      阅读:96      评论:0      收藏:0      [点我收藏+]

良好的数据库逻辑设计和物理设计是数据库高性能的基础,所以对于数据库结构优化是很有必要的

目的:

1、减少数据的冗余

2、尽量避免在数据插入、删除和更新异常

例如:有一张设计不得当的学生选课表

 

CREATE TABLE selectcourse(
	stu_no INT(11) NOT NULL COMMENT ‘学号‘,
	stu_name VARCHAR(10) NOT NULL COMMENT ‘学生姓名‘,
	birth_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘生日‘,
	course_name VARCHAR(10) NOT NULL COMMENT ‘课程名称‘,
	score INT(11) DEFAULT NULL COMMENT ‘成绩‘,
	course_point INT(11) NOT NULL COMMENT ‘学分‘,
	PRIMARY KEY(stu_no, course_name)
) ENGINE = INNODB DEFAULT CHARSET=utf8

 

查询结果:

1	sam	1994-06-22 16:19:39	数学		10
1	sam	2019-06-22 16:21:02	英语		9
2	jesen	1995-06-22 16:19:39	数学		10
2	jesen	1995-06-22 16:22:27	英语		9

 

插入异常:

  如果表中某个实体依赖另一个实体而存在,想添加一门语文课,但是依赖学生、学号等

更新异常:

  更新表中某个实体的单独属性时,需要对多行进行更新,如果把数学的学分进行更新,就需要更新多条数据

删除异常:

  删除表中某个实体,导致其他实体也被删除,想要删除英文这门课,但是也会被选择语文课的学生信息也删除

3、解决数据库存储空间

4、提高查询效率

设计步骤:

1、需求分析:存储需求、数据处理需求、安全性要求等

2、逻辑设计:

  1、设计数据的逻辑存储结构

  2、数据实体之间的逻辑关系,解决数据冗余和数据存储异常

 

MySQL系列(三)--数据库结构优化

原文:https://www.cnblogs.com/huigelaile/p/11069376.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!