多张桌子与同一张桌子有关系
我正在建立一个简单的网站来保存我在日语中学习的所有东西(个人爱好^^)。多张桌子与同一张桌子有关系
我有几个表,说kanjis
(其中列出所有的汉字课),grammars
,new_words
。等等。对于每种类型的列表,我希望每个项目都有一个或多个示例句子(每个汉字信函的例句,每个新语法或新单词...)
所以我的问题在于:我应该有单独的example_sentences
表上面的每个类型的项目,或者我可以共享1 example_sentences
与所有kanjis
,new_grammars
,new_words
。等等。
这里的另一个问题是:如果我想要1 sample_sentences
可以重复使用(比如说,1个句子可以连接到1个以上的新单词,或者1个新单词和1个语法注释等)。一个多到多 - 的关系,我仍然只需要1通用sample_sentences
,然后为每个类型的kanjis
,new_words
,grammars
一个join_table
...
我画的图像对于这里的第二个问题(不好意思,我用油漆画出来。)
为您的示例存储的“材料”将始终是一个句子,因此它是相同的材料,因此您只需要一个表格。
在一对多的关系中,你的第一个问题,那很简单。 只有一个example
表与列以知道它来自哪个orig表。
ID | Orig | OrigID | Sentence
----------------------------------------------
1 | Kanji | 1 | whatever
2 | grammars | 1 | whatever
3 | Kanji | 2 | whatever
4 | Kanji | 3 | whatever
5 | grammars | 2 | whatever
6 | new_words| 1 | whatever
在许多一对多的关系,你的第二个问题,这是一个比较复杂一点
的example
表将是:
ID | Sentence
--------------------------
1 | whatever
2 | whatever
3 | whatever
4 | whatever
5 | whatever
6 | whatever
而且Many-to-Many
表将是:
ID | ExampleID| OrigID| Orig |
----------------------------------
1 | 1 | 1 | Kanji |
2 | 1 | 1 | grammars |
3 | 2 | 2 | Kanji |
4 | 3 | 3 | Kanji |
5 | 2 | 2 | grammars |
6 | 6 | 1 | new_words|
而且您需要大多数时间查询此表的所有时间:Orig + OrigID
例句是一个实体,应该有它自己的表。例句可能会有多个“新单词”以及多个“语法”因此,您希望例句和语法之间存在M到M的关系,并且您希望例句和例子之间存在不同的M到M关系新词。
在办公室里,看不到图像。我编辑了我的答案,添加了一个多对多的提案,并检查它是否可行 –