在我的數據庫中,我有一個表「用戶」,它具有用戶信息,如「id」,「user_name」,「email」和其他一些數據。我有另一張表「照片」,其中有「id」,「user_name」,「photo_id」。兩個表中的「id」是一個自動增量整數和主鍵。 我從照片表中選擇了一個特定的user_name,因此我認爲沒有必要在照片表中有「id」。這是對的嗎? 如果在照片表中沒有必要有「id」列,那麼主鍵應該是什麼?是我的數據庫表中所需的ID列?
0
A
回答
0
您是否考慮過如果您因某種原因更改了用戶名會發生什麼情況?將ID用於關鍵表意味着您可以根據需要更改內容,而無需重新指定事物(手動或通過更新觸發器)。
0
這是我的理念,你應該總是有一個表中的Id字段。你永遠不知道什麼時候你可能需要添加和引用該ID出於某種原因。
0
這裏的問題是,photo_id
和id
基本上是一樣的東西。眼見爲id
是自動遞增的整數(你應該有一組唯一太)擺脫photo_id
此外,你應該使用,而不是名義user_id
,否則具有相同的名稱將得到eachothers兩個用戶圖片。
0
一般來說,使用與業務對象無關的ID是一個好主意,這樣未來的對象可以改變,並且不會對數據庫的結構產生重大影響。
相關問題
- 1. 數據庫中所有表的列表
- 2. 我是否需要DataTable中的所有數據庫列用於SqlBulkCopy WriteToServer?
- 3. 我需要數據庫中最高的ID。我做對了嗎?
- 4. 爲什麼我們需要數據庫表中的審覈列?
- 5. 中繼是否需要數據庫中的id字段?
- 6. 我的數據庫表中是否需要外鍵?
- 7. 在我的sqlite數據庫中的表的ID已被重置
- 8. 幫我創建我的數據庫中所有Jefes的下拉列表!
- 9. 將列表框中的所有數據移動到數據庫中的表格
- 10. 防止數據庫中的重複數據庫,而不是ID列
- 11. 我是否需要將所有權限授予PostgreSQL 9.3數據庫中的表的所有者?
- 12. MySQL:獲取某個數據庫中的表中的所有列
- 13. 逗號分隔數據庫中所有列的列表(Tablename | Column_names ...)
- 14. 數據庫中所有表的列表以及每個表中的行數?
- 15. 如何使用最終的「附加」列出我的數據庫的所有數據庫和所有表,並列出SQL Server中每個表的總行數?
- 16. 我有我的數據在postgres數據庫。示例數據和所需的輸出應該如下所示
- 17. 數據庫中所有用戶定義函數的SQL列表
- 18. 使用Firebase數據庫中的隨機ID檢索列表形式的數據
- 19. ID是在我的數據庫中增加千乘以千計
- 20. 所需的數據庫設計建議
- 21. SQL從所有數據庫的所有表中獲取最大id值
- 22. 列在H2數據庫中所有表添加,而無需手動清單表
- 23. 從列表中獲取所需的數據
- 24. 在html表中顯示數據庫表中的所有數據
- 25. NHibernate:獲取所有數據庫表中的所有數據
- 26. SQL中特定數據庫中所有表的列名稱
- 27. 需要幫助提交我的表單數據到數據庫
- 28. 如何獲取我的數據庫中的審計表列表?
- 29. 我的SQL數據庫中的表名列表
- 30. 我需要爲我的數據庫每個表的類嗎?
不確定你想要做什麼,但通常設置是UserId,用戶名,電子郵件和UserId,PhotoId,如果你有什麼是交叉引用表。 – 2011-03-24 21:07:54