Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 数据库-奇数可选表关系?_Database_Database Design_Entity Relationship - Fatal编程技术网

Database 数据库-奇数可选表关系?

Database 数据库-奇数可选表关系?,database,database-design,entity-relationship,Database,Database Design,Entity Relationship,我正在设计一个简单的数据库,但不知道如何解决这个问题。它就像一个“连接”表。我认为最好用“普通”语言而不是“数据库”语言来描述它 我有两个元素:A和B。 我还有另外一个元素“C”,它把所有的“A”和“B”连接在一起 A、 B和C是数据库表 “C”可以与2个“A”、2个“B”或“A和B”有关系。“A”和“B”可以有多个“C”(如0..2到0..n基数) 表C有两个共谋:“leftElement”、“rightElement”。我不能让theese与foreing键串通,因为我不知道“leftEle

我正在设计一个简单的数据库,但不知道如何解决这个问题。它就像一个“连接”表。我认为最好用“普通”语言而不是“数据库”语言来描述它

我有两个元素:A和B。 我还有另外一个元素“C”,它把所有的“A”和“B”连接在一起

A、 B和C是数据库表

“C”可以与2个“A”、2个“B”或“A和B”有关系。“A”和“B”可以有多个“C”(如0..2到0..n基数)

表C有两个共谋:“leftElement”、“rightElement”。我不能让theese与foreing键串通,因为我不知道“leftElement”是“Table A”还是“Table B”。同样的道理也适用于“rightElement”

那么,如何以有效和清晰的方式对此进行建模

有人能帮我吗

提前谢谢。 []的 利维奥

更新: 这是一张(稍有错误的)ER图

事实是:我找不到更好的方法来解释这个。。。也许我应该在发布之前多考虑一下…:(

  • A可以有0..n个C
  • B可以有0..n个C
  • C为0..2 A或B

我认为你应该使用“数据库语言”,因为这个网站是为开发者和爱好者准备的;-)对第二句话失去了兴趣,你能简化一下吗?你描述它的方式就像表是基数的基础,而不是特定表上的行吗?a和B真的应该是分开的表吗?听起来好像A和B应该是一个单独的表,有一个链接表将AB连接到C,因为它们之间有一个多:多(实际上是2:多)的关系。A和B是真正不同的元素。。。A为路由器,B为拼接盒,C为电缆。