数据库结构:关系表中包含更多列或关系表的关系表?

时间:2017-10-14 17:29:17

标签: database database-design relational-database mariadb

我正在逻辑层面上设计一个数据库,以便稍后传递给程序员来交付。我只是表面上熟悉他们的工作方式,所以我很难勉强地说出我的问题。这是我的问题:

我有一张名为MEANINGS的表。

我有一张名为WORDS的表。

我有一个名为M-to-W的关系表。

我有一张名为GRAMMAR的表。

单词可以有多个含义含义可以有多个单词。但我也想添加语法。我可以在WORDS中添加一行,但有时候一个词的行为会有所不同,具体取决于含义(就像过去时为“他为了自己而自杀”而自杀和“他挂在墙上的照片”)。因此,我在逻辑层面上看到两个解决方案:

  1. GRAMMAR可以与M-to-W关系表与另一个关系表链接,引用整个关系(某些单词的某些含义具有指定的形式)。
  2. GRAMMAR项目可以在附加行中被M-to-W引用。
  3. 我只使用Django / MariaDB创建了关系数据库(非常自动),所以我不知道这些数据库是否可以有两列以上。我不知道是否可以引用属性对。

    这些解决方案是否可行,或者是否有更好的做法来处理这种结构问题?使用复合键更容易吗?请假设必须在单独的表格中保留单词和含义。

1 个答案:

答案 0 :(得分:2)

定义架构之前,确定您拥有哪些数据以及如何将其放入数据库。

决定你想从数据库中得到什么。

为程序员提供信息,表格的规格。让他们找出构建模式的最佳方法。

如果它们都没有任何数据库背景,那么就有一条学习曲线。来自这个论坛的答案只能帮助你摆脱一个接一个的陷阱。请花点时间让至少一名程序员接受培训。