数据库设计
三范式: 列不可以拆分,唯一标识,引用主键
关系及存储: 1对1 , 1对多,多对多
主键:primary key
主键就是数据行的唯一标识。不会重复的列才会当主键
一个表中只能有一个主键.
当建立主键后,默认会建立索引,而实际数据在磁盘上存储的顺序和主键列的顺序是一致的。
主键选择策略:
1.业务主键:有业务意义的字段
2.逻辑主键:完全给程序看的,业余人员不会看的数据
推荐逻辑主键
组合主键:
选择单列作为主键(当通过多列共同唯一标识表中的一条记录的时候,此时可以选择多列来工作组成一个主键,这种主键叫做:组合主键、联合主键)一般不推荐使用。
尽量选择数字类型作为主键,不要选择字符串,或者数据类型比较大的列作为主键。
外键 ForeignKey
数据冗余的问题: 造成存储空间的浪费
更新异常、删除异常。
不希望数据冗余,该怎么解决?
把原来表中的数据拆分为多个表来存储。
当把表中的信息拆分成多个表来存储的时候会有一个问题:如何将这两张表中的数据关联起来?
使用主键和外键来进行关联。使用主外键就能将不同表中的数据关联起来。
外键: 把一张表中的主键添加到另一张表中,另一张表中的列就是数据的外键列,有外键列的表就叫做“外键表”,相对来说,主键被引用的那张表就叫做“主键表”。
学习永无止尽。