09-数据库设计

2019-10-30  本文已影响0人  七层茅草屋

六星教育 - java-mysql优化1909

一、数据存储与读取

1、insert:

会使用索引文件定位数据再磁盘中的位置,所以效率比查询要高

2、select:

因为查询特殊性,很难确定数据在磁盘中的位置,索引文件对查询没有作用吗?

3、索引文件:

用来记录一些特定数据在磁盘中的位置

4、主键是一个特殊索引:

主键可以保证记录的唯一和主键域非空,数据库管理系统对于主键自动生成唯一索引,所以主键也是一个特殊的索引。

5、MySQL优化:

1.减少磁盘的扫描大小
2.减少数据操作IO
3.减少数据的处理过程(结果处理)
4.操作的数据量和表的大小


二、三大范式

>1、第一范式

每个字段必须是原子性,也就是细分的不可再细分了

>2、第二范式

在第一范式基础上:表中所有的属性字段必须依赖与主键

>3、第三范式

在第二范式基础上,消除间接依赖。表中字段主意明确,直白


三、数据库设计案例

>1. 数据库设计过程

需求分析->基础模块,关系图(逻辑图)->基础ER图->综合ER图->建立实体

>2. 博客,用户登录发布

功能模块:
1.用户登录 --> 用户表
2.用户类型:游客,博主 --> 角色表
3.文章类型 --> 文章分类表
4.发布文章功能 --> 文章表
5.查询文章(文章类型查询,指定查询)

>3. 数据量增大时,100w,1亿

垂直切分:
1.冷热字段分开:用户表id,name,pwd都为热点字段。
2.单独提取较大字段:文章表context内容非常庞大需单独提取

上一篇下一篇

猜你喜欢

热点阅读