数据库基础回顾——三大范式、索引、建表经验

SQL语句

0. 数据类型

1. 库

2. 表

2.1 单表

2.2 多表

3.索引

4.事务

一、三大范式

目的:解决数据的冗余问题

  1. 第一范式:
    (1)原子性:每一列不可再分(列不可分
  2. 第二范式:
    (1)前提:满足第一范式
    (2)单个表描述单件事,不存在传递依赖
  3. 第三范式
    (1)前提:满足第一范式、第二范式
    (2)表中每一列数据都和主键有直接关系,直接依赖于主键,而非间接

二、规范性与性能

  • 评价数据库设计好坏是以 性能 评判(降低成本,提高用户体验)

  • 要求:

    1 关联查询的表不得超过张。
    2 适当考虑规范性
    3 可以故意给某些表增加一些冗余的字段(从表查询变为表查询)
    4故意增加一些计算列(从大数据量降低为小数据量的查询:索引

三、索引

1.分类

  • 主键索引 (Primary Key)
    • 唯一标识,只能有一个列作为主键,主键不可重复。
  • 唯一索引 (Unique Key)
    • 避免重复的列出现,唯一索引可以重复,多个列都可标识为唯一索引。
  • 常规索引 (Key / Index)
    • 默认的,index 、key关键字来设置
  • 全文索引 (FullText)
    • 在特定的数据库(MyISAM)下才有
    • 快速定位数据

注意:一张表中,主键索引只能有一个,唯一索引可以有多个

2.设计

  1. 索引不是越多越好
  2. 不要对经常变动的数据增加索引
  3. 小数据量的表不需要加索引
  4. 索引一般加在常用来查询的字段上

四、建表经验

# 每个表最好都存在以下5个字段
id          # 主键
version     # 乐观锁
is_delete   # 伪删除
create_time # 创建时间
modify_time # 修改时间

欢迎大家评论,如果本文对您有帮助,请点个赞,您的点赞对我很重要!这次一定!感谢!!!
转发请注明出处呦!感谢!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.Letian

您的打赏是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值