ef mysql 外键 一对一_数据库中,一对多的时候外键设置在多的那张表吗?如果一对一的时候,外键应该设置在哪里?多对多的时候...

首先你得题目和你的补充内容不一致,呵呵!

你题目的内容别人已经回答过了。

补充内容中的问题,是可以实现的,现在大多数数据库都支持列的类型为复合数据类型,这样可以在一列中存储一张表或者一个数组。比如:oracle支持对象类型、嵌套表、数组等复合数据类型。你问题中的表在oracle中可以这样设计:

1:定义一个学生的对象类型

2:教室表中的students字段的类型定义为学生对象类型就可以了

题主如果问的是一对多关系是否可以用外键表示,答案是肯定的,因为一般实体之间的关系有一对一,一对多,多对多,一对多的关系外键一般在多的一方便可维护它们之间的关系。

题主如果问的是一个外键是否可以被多张表引用,答案也是肯定的,不冲突。

其它网友回答:

首先,外键引用的那个列在主表中必须是主键列或者唯一列。

所以1:n的肯定把外键建立在n的那张表上。

1:1,一般要看谁是主表,谁是附属表,外键当然建立在附属表中。

n:m的情况,需要建立一个关系表,

两个原表和其关系分别是1:n,1

:m

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值