我正在建立一个简单的网站来保存我用日语学习的一切(个人爱好^^)。
我有几张桌子,说kanjis
(列出课程中的所有kanjis),grammars
,new_words
。等等。对于每种类型的列表,我希望每个项目都有一个或多个样本句子(每个汉字字母的例句,每个新的语法或新单词......)
所以我的问题是:我应该为上面的每种类型的项目分别使用example_sentences
个表格,还是我可以与所有example_sentences
,kanjis
分享1个new_grammars
, new_words
。等。
这里的另一个问题是:如果我想要1 sample_sentences
可以重复使用(例如,1个句子可以链接到1个以上的新单词,或1个新单词和1个语法单注.etc。)案例 - 具有多对多关系,我仍然只需要1个通用sample_sentences
,然后为join_table
,kanjis
,{new_words
,grammars
{ {1}} ...
我在这里为第二个问题画了一张图片(对不起,我用油漆画了。)
答案 0 :(得分:0)
为您的示例存储的“材料”将始终是一个句子,因此它是相同的材料,因此您只需要一个表。
在一对多关系中,你的第一个问题就是这么简单。
只有一个example
表,其中有一列可以知道它来自哪个原始表。
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
答案 1 :(得分:0)
一个例句是一个实体,应该有自己的表。例句可能会有多个“新词”以及多个“语法”因此你会想要一个例子句和语法之间的M-to-M关系,你会想要一个不同的M-to-M关系。新词。