2011-03-24 30 views
0

在我的數據庫中,我有一個表「用戶」,它具有用戶信息,如「id」,「user_name」,「email」和其他一些數據。我有另一張表「照片」,其中有「id」,「user_name」,「photo_id」。兩個表中的「id」是一個自動增量整數和主鍵。 我從照片表中選擇了一個特定的user_name,因此我認爲沒有必要在照片表中有「id」。這是對的嗎? 如果在照片表中沒有必要有「id」列,那麼主鍵應該是什麼?是我的數據庫表中所需的ID列?

+0

不確定你想要做什麼,但通常設置是UserId,用戶名,電子郵件和UserId,PhotoId,如果你有什麼是交叉引用表。 – 2011-03-24 21:07:54

回答

0

您是否考慮過如果您因某種原因更改了用戶名會發生什麼情況?將ID用於關鍵表意味着您可以根據需要更改內容,而無需重新指定事物(手動或通過更新觸發器)。

0

這是我的理念,你應該總是有一個表中的Id字段。你永遠不知道什麼時候你可能需要添加和引用該ID出於某種原因。

0

這裏的問題是,photo_idid基本上是一樣的東西。眼見爲id是自動遞增的整數(你應該有一組唯一太)擺脫photo_id

此外,你應該使用,而不是名義user_id,否則具有相同的名稱將得到eachothers兩個用戶圖片。

0

一般來說,使用與業務對象無關的ID是一個好主意,這樣未來的對象可以改變,並且不會對數據庫的結構產生重大影響。

相關問題