2012-06-26 219 views
1

我有一個用戶表,一個資產表(例如包含一個值等於favorite_movie的記錄)和一個user_to_asset表(包含userid,assetid和value,如'american history x 「)。Mysql多表關係結構

我在想,是否還有一個點也有一個類型ID,還有一個類型的表,例如一個類型可能是用戶的偏好或用戶的詳細信息....所以最終,user_to_asset表然後將包含一個用戶標識符,typeid,assetid和值(當然,我將不得不改變表名bc我們現在包括在user_to_asset表中的typeid)..也許它會優化我的代碼,因爲例如我可以查詢所有的偏好爲一個用戶只需通過typeid等於用戶首選項和user_id等於用戶查詢user_to_assets表。

您認爲如何?

回答

1

我想你想下表:

  • 用戶(USER_ID,USER_NAME,電子郵件,theme_id)
  • 資產(ASSET_ID,asset_type_id,ASSET_NAME等)
  • user_to_asset(USER_ID,ASSET_ID)
  • 主題(theme_id,themestuff)
  • ASSET_TYPE(asset_type_id,ASSET_TYPE)

這可以讓你說:

在向Jonathan的主題應用結果時,向我顯示用戶「Jonathan」類型爲「movie」的所有資產。

+0

類型是資產的類型,而不是用戶類型。例如,資產將是最喜歡的電影,並且此資產的類型將是用戶詳細信息。另一個例子是資產,資產類型是用戶偏好(注意用戶詳細信息和用戶偏好之間的差異,那些將是資產類型)這是否合理?我需要有一種資產嗎? – jkushner

+0

我想我不瞭解用戶的偏好是什麼。 – AllInOne

+0

用戶首選項將具有藍色主題,而用戶詳細信息將是主要電子郵件地址。我想我會擺脫這個資產類型領域,這似乎有點荒謬(除非你能看到一個資產類型分配給記錄的理由)。 – jkushner