我想为英德词典制作一个数据库。
我不知道我会如何设计它。
如果每个单词都有一个含义,我将只有 2 个数据库 - 英语单词和德语单词 - 然后将它们链接在一起。
即使是一种方式的解决方案对我来说也可能就足够了。所以我可以查询德语作品并获得所有与之链接的英语单词(但一个英语单词仍然可以链接到多个德语单词)。
那么你会怎么做呢?我是不是想错了?
最佳答案
同时 paparazzo提供了一个非常明确的answer ,我只想添加一些关于您的数据库的详细信息。
你可以:
- 英语单词表
- 德语单词表
- 连接这些表的连接表
见下文:
+-----------------+
| TRANSLATION |
+-----------------+
+---------+ +-------| ENGLISH_ID (PK) | +---------+
| ENGLISH | | | DEUTSCH_ID (PK) |-------+ | DEUTSCH |
+---------+ | +-----------------+ | +---------+
| ID (PK) |<------+ +------>| ID (PK) |
| WORD | | WORD |
+---------+ +---------+
要查找英语单词的德语翻译,请使用以下查询:
SELECT
d.word
FROM deutsch d
JOIN translation t
ON d.id = t.deutsch_id
JOIN english e
ON e.id = t.english_id
WHERE e.word = :english_word
要查找德语单词的英文翻译,请使用以下查询:
SELECT
e.word
FROM english e
JOIN translation t
ON e.id = t.english_id
JOIN deutsch d
ON d.id = t.deutsch_id
WHERE d.word = :deutsch_word
关于database - 为字典设计数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37241593/