2013-03-05 151 views
0

例如,我有一个表格positions,我想在其中创建多个表格行之间的关系。如果需要“链接”在一起的行数是未知的,那么最好使用单独的表来链接ID?在多个表格行之间创建关系/链接

它是最好的......

  • 创建一个单独的表links包含多列(即:linked_id1 [...] linked_id [N]),其中linked_ids是每一行和每一的id links.id列是链接的ID。逻辑是我们可以创建比我们想象的更多的列。

OR

  • 具有两列,以及id其中linked_idslinked_idspositions分离的 “链接” 的行的阵列中的逗号创建一个单独的表links

OR

  • 执行上述替换使用JSON数据阵列。

每行只能链接到一个组,这有望简化一些事情。

+0

这些都不是3.读一点关于1NF和2NF和3NF,你会得到一个很好的方向。 – 2013-03-05 17:21:27

+0

@HankyPankyㇱ感谢您的建议。你是说我应该做数组选项,然后在数组上使用1NF,这样我在第三个表中有两列'link_id'和'row_id',其中'link_id'不是唯一的? – Tomanow 2013-03-05 17:42:23

回答

0

如果每行可以包含到多个链接组中,那么您可以创建LINKS表,其中包含两个字段:ID1,ID2,它将存储每个单独的链接。

如果每行只能在单个链接组中,那么您可以将GROUP_ID字段添加到positions表本身。

如果上述内容没有回答您的问题,请澄清您的要求。

+0

我编辑了我的OP以包含说明:每行只能链接到一个组中。尽管你没有回答这个问题,但也许我没有像我想的那样清楚地问。 – Tomanow 2013-03-05 17:36:28

+0

@Tomanow - 如果每一行只能属于一组链接的行(比如说,同一年级的同学,同一排的士兵),那么您不需要从* data modeling *透视图获得额外的表格。你只有两个标签[mysql]和[sql],这使我们相信你的问题是关于数据库而不是你的应用程序使用它。 – 2013-03-05 17:44:33

+0

如果这些行与您的同一年级示例中的学生有共同点,那将会非常简单,不幸的是,它们会通过复选框手动添加到链接组中。每个链接组都需要一个唯一的ID,所以我想最初将数据添加到一个AI PK单独的表中。那么我可以使用一个简单的触发器来更新每一行的链接id,如果我需要的话。阅读我对Hanky的评论,我认为这是我应该采取的方向。感谢您的建议,我很欣赏这些反馈。 – Tomanow 2013-03-05 17:57:28

相关问题