比方說,我有一個應用程序,在這裏用戶可以寫在語言的故事。數據庫:一個或兩個表格,有什麼更好的方法?
當用戶選擇的語言,可以有兩種情況:
- 用戶選擇從保存在一個表中的支持/官方語言的語言。
- 語言用戶想選擇不在該表中。所以用戶創建一個自定義語言。
我的問題是:我在哪裏保存這些自定義的語言嗎?我應該用「支持的語言」將它們放在表格中嗎?還是創建一個單獨的表格?
我一直在思考以下參數:
獨立的表:
- 臨:由於定製的語言只適用於創建者和支持的可用語言給所有用戶,我搜索更經常用於支持的語言。如果只有支持語言的表格,那麼與支持和自定義語言只有一個表格相比,我需要的時間更少。
- 專業:可能有更多的自定義語言比支持的語言,因爲各種用戶可能會創建相同的自定義語言(這實際上是一個親參數?)
- Con:在其他表e。 G。故事表我需要保存語言,然後我需要兩列:一列使用語言ID,另一列告訴它是自定義語言還是支持語言。
一個表:
- 弊:我需要一個額外的列保存,如果該語言正式支持或定製
由於I'me很新的數據庫設計,我不能決定,所以我問你:有什麼更好的方法?
同桌,和指示字段的說,如果語言支持與否。語言實體在這兩種情況下都起到相同的作用。當你決定支持一種流行的語言時,從現在開始的兩年會發生什麼?你必須移動數據並調整連接。通過保持它在同一個實體中;你只是改變數據。 – xQbert
@xQbert謝謝,你能解釋一下嗎? :D – red1575
在關係數據庫設計中,包含相同實體信息的數據應該存儲在同一個表中。我們必須考慮該數據對其他數據的基數,以及它是否屬於相同類型的數據。如果是,那麼爲什麼你會想要在2個不同的表中有兩個具有相同含義的實體?你喜歡更難加入?更多的代碼?或者可能是一種不同的方法,涉及語言概要表和語言類型表,告訴我支持哪種語言,如果您知道語言可能需要多種屬性。 – xQbert