主键和外键

数据库设计
三范式: 列不可以拆分,唯一标识,引用主键
关系及存储: 1对1 , 1对多,多对多

主键:primary key
主键就是数据行的唯一标识。不会重复的列才会当主键
一个表中只能有一个主键.
当建立主键后,默认会建立索引,而实际数据在磁盘上存储的顺序和主键列的顺序是一致的。

主键选择策略:
1.业务主键:有业务意义的字段
2.逻辑主键:完全给程序看的,业余人员不会看的数据
推荐逻辑主键
组合主键:
选择单列作为主键(当通过多列共同唯一标识表中的一条记录的时候,此时可以选择多列来工作组成一个主键,这种主键叫做:组合主键、联合主键)一般不推荐使用。

尽量选择数字类型作为主键,不要选择字符串,或者数据类型比较大的列作为主键。

外键 ForeignKey

数据冗余的问题: 造成存储空间的浪费
更新异常、删除异常。
不希望数据冗余,该怎么解决?
把原来表中的数据拆分为多个表来存储。
当把表中的信息拆分成多个表来存储的时候会有一个问题:如何将这两张表中的数据关联起来?
使用主键和外键来进行关联。使用主外键就能将不同表中的数据关联起来。

外键: 把一张表中的主键添加到另一张表中,另一张表中的列就是数据的外键列,有外键列的表就叫做“外键表”,相对来说,主键被引用的那张表就叫做“主键表”。

学习永无止尽。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值