我正在逻辑层面上设计一个数据库,以便稍后将其传递给程序员来交付。我只是粗略地了解它们的工作原理,所以我很难简洁地表达我的问题。这是我的问题:
我有一个名为 MEANINGS 的表。
我有一个名为 WORDS 的表。
我有一个名为 M-to-W 的关系表。
我有一个名为 GRAMMAR 的表。
单词可以有多个含义,含义可以有多个单词。但我还想添加语法。我可以在 WORDS 中添加一行,但有时一个词的行为会因含义而异(比如过去时是“他上吊自杀”表示自杀,而“他在墙上挂了一幅画”表示放置)。因此,我在逻辑层面上看到了两个解决方案:
- GRAMMAR 可以将 M-to-W 关系表与另一个关系表联系起来,引用整个关系(某些单词的某些含义具有指定的形式)。
- GRAMMAR 项目可以在附加行中由 M-to-W 引用。
我只使用 Django/MariaDB 创建了关系数据库(几乎是自动的),所以我不知道这些数据库是否可以有超过两列。我不知道是否可以引用成对的属性。
这些解决方案是否可行,或者是否有更好的做法来处理此类结构性问题?使用复合键更容易吗?请假设将单词和含义放在单独的表格中是必要的。
最佳答案
在定义架构之前,确定您拥有哪些数据,以及如何将这些数据放入数据库。
并且决定您想要从数据库中获取什么。
向程序员提供该信息,而不是表格的规范。让他们找出构建架构的最佳方式。
如果他们都没有任何数据库背景,那么就会有一个学习曲线。本论坛的答案只会帮助您走出一个又一个的陷阱。请花时间接受至少一名程序员的培训。
关于数据库结构 : Relational table with more columns or relational table to a relational table?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46747382/