数据库常识介绍

数据库设计:名词提炼法;名词考虑表或字段,动词考虑关系。

  • 表结构
  • 字段类型、是否允许为null、是否有默认值
  • 索引设计
  • 数据库引擎的选择

1.关系型数据,长期存储

2.主键

  • 唯一标识、行号、不会重复
  • 不能以业务数据作为主键
  • 自增id,

3.纵向字段转成横向数据

  • 用户选择的频道可以是多个,如果用户表存储多个频道数据,容易造成空间浪费
  • 把纵向的字段转成横向的数据
  • 节约空间存储

4.json数据

  • mysql5.7版本后,json数据支持,类似于python字典,LONGTEXT
  • 数据相对固定,变化较小,建议使用json;
  • 如果是mysql5.7版本之前的,建议选择另创建一张表;

5.范式

  • 三范式
    • 1.字段不重复、原子性、不可以分割
    • 2.满足第1范式的基础上,必须要有主键依赖
    • 3.满足第1、2范式的基础上,非主字段之间没有依赖关系

6.反范式

  • 利用空间换时间

  • 利用表的字段来存储冗余数据,可以节省查询时间。

实名认证

活体认证、至少存储1张图片

7.字段类型

  • tinyint/bigint/int
  • int(10),int(20),int(50),tinyint(20)
  • 字段数据类型的大小,是由括号外的类型决定,括号里面表示显示的宽度。

8.字符串

  • char,mobile,查询效率较高,容易浪费空间。

  • varchar,mobile,查询效率较低,存储节约空间。

9.索引

  • 特殊的数据结构,作用是优化查询效率;主键、外键等;
  • 哪些字段适合建立索引:
    • 字段数据比较复杂,容易在查询语句中出现where后面的
    • 字段数据比较简单,
    • 索引越多,增删改效率越低;
    • 外键:确保数据的完整性,没有外键,不影响数据的查询;

10.引擎

不同的引擎决定数据的存储结构,和查询语句执行的方式。

  • MyISAM:不支持事务,插入和查询效率相对较高;安全性相对不高;
  • InnoDB:mysql默认的引擎,支持事务,查询效率相对较低;安全性较高;
  • 一个项目的数据库,不同表可以指定不同的数据库引擎。、
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值