我构建了一个数据库(sql-server)。 我有一张桌子"字样" (wordID的,一句话,翻译) 每个单词必须与至少一个类别相关联。 我有一个额外的表"类别" (的categoryId,类别名) 将每个单词与它所属的所有类别相关联的最佳方法是什么?
一个选项: 附加表" wordsCategories" (的wordID,的categoryId)
第二个选项: 在单词表中添加colomn 将存储该词所属的所有类别ID,类别ID将以逗号分隔。 表"单词" (wordID的,词,翻译,类别) 插入单词(wordId,单词,翻译,类别)值(7,"单词"," travail"," 9,12,23")
我愿意听到一个更好的选择。
答案 0 :(得分:0)
绝对不要存储逗号列表!创建一个链接字/类别ID的新表。此外,请确保两列都有唯一约束,以保持数据的良好性和安全性。干净。
(顺便说一句,我认为你会发现这个问题比你想象的更复杂,因为很多单词都有相同的拼写/不同的含义等。)
答案 1 :(得分:0)
我的数据库设计应该是
--category table
categoryid
categoryname
--language table
langid
languagename
--words table
wordid
word
langid
--translation table
id
categoryid
wordid
transwordid --- from words table but the translation of the word