09-数据库设计


六星教育 - 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内容非常庞大需单独提取

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容