2012-04-17 39 views
1

有一堆需要翻譯的項目,我有三張桌子。 LanguagesFruitsFruitNames多語言表 - 是複合鍵的路要走嗎?

這是代碼,我會用(在MS SQL)

CREATE TABLE [FruitNames] (
    [LanguageId] INT NOT NULL , 
    [FruitId] INT NOT NULL , 
    [name] NVARCHAR(100) NOT NULL , 
    FOREIGN KEY (LanguageId) REFERENCES Languages(id), 
    FOREIGN KEY (FruitId) REFERENCES Fruits(id), 
    PRIMARY KEY ([LanguageId],[FruitId]) 
) 

假設我絕不會要求相同的語言,一個項目的兩個名字,是否有優勢,使用一個複合鍵?

+0

可能有一個水果描述,好吧,只要只有一個,我會把它放在同一張桌子上。 – Daniel 2012-04-17 03:30:34

+0

一個水果類別(多對多)(該類別將被類似翻譯) – Daniel 2012-04-17 03:31:48

回答

1

對我來說這似乎是一個非常不錯的候選人。我不能說整體可擴展性,但如果你翻譯的只是水果的名字,這應該沒問題。

+0

我錯過了它。爲什麼這不是一個足夠好的候選人,又會是一個完美的候選人? – Daniel 2012-04-17 03:33:21

+0

@climbage:哦,我錯過了。我多次閱讀表格說明,但沒有看到。 *去了眼鏡 – zerkms 2012-04-17 03:35:16

+0

@zerkms哈哈phew。你讓我質疑我的理智 – climbage 2012-04-17 03:36:44