SQL - 多个一对多关系

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL - 多个一对多关系相关的知识,希望对你有一定的参考价值。

有可能以某种方式在两个表之间进行多个一对多关系吗?喜欢:

表abc

  • abcID
  • defID
  • 信息

表定义

  • defID
  • abcID
  • 信息

如果是,我怎么能用实体框架创建一个新的abc条目?

答案

你只需要一个很多很多的关系。只需将QuestionId移出quiz_answers表,然后将AnswerId从quiz_questions表中移出:

Create Table quiz_questions
(
QuestionId ... Not Null Primary Key
, Question ...
, ...
)

Create Table quiz_answers
(
AnswerId ... Not Null Primary Key
, Answer ...
, ...
)

Create Table quiz_question_answers
(
QuestionId ... Not Null References quiz_questions ( QuestionId )
, AnswerId ... Not Null References quiz_answers ( AnswerId )
, Constraint PK_quiz_question_answers Primary Key ( QuestionId, AnswerId )
)
另一答案

是的,它是从abc到def的一对一连接,然后是从def到abc的另一个连接;所以abc在defID上加入def def,在abcID上加入def到abc。

以上是关于SQL - 多个一对多关系的主要内容,如果未能解决你的问题,请参考以下文章

一对多和递归关系 - 强制设置值

同一实体类型代码的多个一对多关系优先

MyBatis高级篇 - 关联查询(一对多)

使用SQL Server创建一对多关系

hibernate 一对多 多对一映射关系

一篇搞定SQL语句