设计数据库的原因
当数据库比较复杂的时候,需要设计
作用:
-节省内存空间
-保证数据库的完整性
-方便系统开发
设计数据库
1、分析需求:分析业务和需要处理的数据库需求
2、概要设计:设计关系E-R图
设计数据库步骤(博客):
1、收集信息,分析需求
用户表(用户登录注销,用户的个人信息,博客分类)
分类表(文章分类,由谁创建)
文章表(文章的信息)
评论表(评论内容)
友情链接表(友情链接)
自定义表
说说表
2、标识 实体
3、标识实体间的关系
写博客:User--》blog
创建分类:user--》category
关注:user--》user
友链:links
评论:user-user-blog
三大范式
数据规范化意义:
-使信息不重复
-减少异常(更新、插入、删除)
不规范的后果:
插入异常:
无法正常显示信息
删除异常:
丢失有效的信息
三大范式:(规范数据库的设计)
第一范式
要求数据库中的每一列都是不可分割的原子数据项(原子性)
第二范式
前提:满足第一范式
每张表只描述一件事情
第三范式
前提:满足第一第二范式
确保数据表中的每一列数据都和主键直接相关,而不能间接相关
规范性 和 性能的问题
关联查询的表不应超过三张
1、考虑商业化的需求和目标,数据库性能更为重要
2、在规范性能的问题的时候,需要适当的考虑规范性
3、故意给某些表增加一些字段(多表查询---》单表查询)
4、在数据量很大的情况下会增加一些计算列(从大数据量降为小数据量的查询: 索引)