在之前三年开发工作中,单纯是为了工作而去编写功能进行开发,最近一年查漏补缺完善基础知识。
首先来说键,常用的有主键,联合主键,外键,唯一键,键只是一个逻辑概念,主键是一个表唯一非空的列,他自动会创建主键索引,外键是两个表对应关系的体现,为了维护主表和子表的数据完整性,联合主键就是当一个表中一个主键列不足以保证一条记录的唯一性的时候,这么会出现多个主键,来组成联合主键,唯一键的话列可以为空但数据不能重复。
索引,他是提高检索效率的一种手段,是一个存储物理磁盘的,他会增加添加和修改的效率,所以在索引太多也不是什么好事,只有在经常查询的列增加索引,索引相当于书的一个目录。
约束,是为了保证数据的安全性,相当于对表做操作的时候,会有一道安全锁,比如非空约束,如果插入或者修改给列赋值为null,那么会操作失败,约束一般是主键约束,非空约束,唯一约束。