我想为英语 - 德语字典创建一个数据库。
我不知道我将如何设计它。
如果每个单词都有一个含义,我就会有2个数据库 - 英文单词和Deutsch单词 - 然后将它们链接在一起。
即便是单向解决方案对我来说也足够了。所以我可以查询Deutsch的工作并获得与之相关的所有英语单词(但是一个英语单词仍然可以链接到多个Deutsch单词)。
那你怎么做?我是否以错误的方式思考这个问题?
答案 0 :(得分:2)
虽然Paparazzi提供了一个非常确定的answer,但我想补充一些关于数据库的详细信息。
你可以:
见下文:
+-----------------+
| TRANSLATION |
+-----------------+
+---------+ +-------| ENGLISH_ID (PK) | +---------+
| ENGLISH | | | DEUTSCH_ID (PK) |-------+ | DEUTSCH |
+---------+ | +-----------------+ | +---------+
| ID (PK) |<------+ +------>| ID (PK) |
| WORD | | WORD |
+---------+ +---------+
要查找英语单词的Deutsch翻译,请使用以下查询:
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
要查找Deutsch字词的英语翻译,请使用以下查询:
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
答案 1 :(得分:1)
只需要一个复合键为
的连接表EnglishID,DeutschID
你可以有1:0,0:1,1:多,多:1,或许多:很多