Oracle 数据库开发及SQL基础实战
一.数据库基础
主键(Primary Key):
1.某一列或某些列的组合,构成一个主键,在这张二维表里,主键必须不重复。用于在这些行之间进行唯一的区别。
2.主键列不能为null
3.主键列中的值不允许修改或更新
4.主键不能重复利用,如果这个主键作废了,它永远作废。
5.一般以id或uuid做为主键名
为什么叫关系型数据库,用外键(Foreign Key)来表达多个对象之间的关系
用来表达多个事物之间的关系,它不能随便写,一般情况下是需要参照,另外一个表的主键。
主键与外键的区别
主键不能重复且不能为null
外键可以重复且必须是来源列中的值或null,决不能是来源列没有的值,
数据库表之间的关系分为三类:
一对一: 外键之间不能重 垂直拆分 :明明可以把次合到主表里,但为什么不能合(数据库优化会讲到)
一对多: 双方向,以自己为1看对方 外键可以重
多对多: 把双方的主键拿到一个新表里,合起来做主键。
如何分类:
强调: 1.绝对不是看某一时刻的数字,而是看大方向.
2.一定要双方向看,而不是单向看
3.设计的优先性或者说是三种关系的兼容性,多对多兼容一对多,一对多兼容一对一.转换方法是在不可重复的列上加上unique.