欢迎光临散文网 会员登陆 & 注册

表之间的关系

2021-09-13 16:34 作者:海鸥之道  | 我要投稿

如何找出两张表的对应关系?

分析步骤:

1.先找出左表的角度去找

是否左表的多条记录可以对应右表的一条记录,如果是,则证明左表的一个字段foreign key 右表一个字段 (通常是id)

2.再站在右表的角度去找

是否右表的多条记录可以对应左表的一条记录,如果是,则证明右表的一个字段foreign key 左表一个字段(通常是id)

3.总结

多对一:

如果只有步骤1成立,则是左表多对一右表
如果只有步骤2成立,则是右表多对一左表

多对多:

如果步骤1和2同时成立,则证明这两张表时一个双向的多对一,即多对多,需要定义一个这两张表的关系表来专门存放二者的关系

一对一:

如果1和2都不成立,而是左表的一条记录唯一对应右表的一条记录,反之亦然。这种情况很简单,就是在左表foreign key右表的基础上,将左表的外键字段设置成unique即可

下面举例说明;

    1) 多对一或者一对多

       比如: 出版社  和 书 (foreign key(press_id) references press(id))

        多个出版社出一本书 ,多本书能被一个出版社出版

2) 多对多

比如: 作者和书

双向多对一,那就是多对多,书的表上节已经建好了。

创建表:

插入数据:

要实现:

ss:

九阳神功

九阴真经

九阴白骨爪

独孤九剑

降龙十八掌

葵花宝典

aa:

九阳神功

葵花宝典

yy:

独孤九剑

降龙十八掌

葵花宝典

ww:

九阳神功

3)一对一

比如说客户和学生:多个客户不能是一个学生,多个学生也不能是一个客户,所以是一对一的关系。

创建表:

插入数据:


表之间的关系的评论 (共 条)

分享到微博请遵守国家法律