我正在設計一個模式來在基於瀏覽器的遊戲中保存玩家數據。關係數據庫理論和密鑰
我有三個關係。其中兩個至少有兩個候選鍵,但是第三個只有三個屬性:{playerId,message,date}
這個關係不會保留唯一的行,因爲有1..1:0 .. *關係,這意味着每個玩家可以有任意數量的新聞元組。無論如何,我不需要能夠唯一地識別任何元組,也沒有任何屬性實際上可以成爲候選者。
我的問題是:我明白關係模型指出不能有重複的元組,每個關係都必須有一個關鍵字。我的上面的模式與這兩個約束相矛盾,但是適用於我的目的。我知道我可以簡單地添加一個索引屬性(如ID),這是唯一的,但似乎沒有必要。我錯過了什麼嗎?
謝謝你的時間。
是的,你說得對。我想過一個複合鍵,但是當沒有屬性是候選鍵時,這是不可能的。在這種情況下,是否有任何真正的優點,使每個元組唯一的ID主鍵? – Lee
主鍵的優點是能夠識別每個元組。如果你不需要能夠識別刪除或編輯的原因,那麼你不需要它來讓你的應用程序運行。但是我總是會定義一個主鍵來擁有一個「乾淨」的設計。 – steven
好的史蒂文,這很有道理。感謝您的輸入。 – Lee