【发布时间】:2014-12-27 03:27:08
【问题描述】:
我正在编写一个 web 应用程序,但不知道应该采用以下两种方式中的哪一种。
想象一下 5 个表:A、B、C、D 和 E。
选项 1:
使用 ids 作为外键,然后它看起来像这样:
tableA:id、field1、field2、...
tableB:tableA_id、field1、field2、...
tableC:tableB_id、field1、field2、...等...
选项 2:
创建将用作外键的新列,然后它看起来像这样:
tableA:id、field1、field2、...
tableB:id、tableA_id、field1、field2、...
tableC:id、tableB_id、field1、field2、...等...
我认为当我们调用实际上名为 tableA_id 的 tableB id 字段时,选项 1 可能有点令人困惑,但我可能错了,所以如果有人能启发我一点,我会很高兴。
另外,如果选项 2 是要走的路,那么在主键上加入表有什么意义?
编辑:我想要实现的目标是这样的:
帐户
...字符
......项目
......留言
......其他的东西
【问题讨论】:
-
您是否要为树建模?
-
我不这么认为。我只是想弄清楚哪种方式是正确的方式。在我的情况下,有一个帐户表恰好包含 1 个字符,例如项目表、消息等
标签: mysql database database-design relational-database