小白一個,設計了一個社交類的網站,其中例如用戶頭像圖片的表,和用戶相冊圖片的表,這兩個表我是應該分開建呢,還是合併成一張表(不同類型的圖片用type欄位區分),各有什麼好處呢?
理論上講是要兩張表分開的,首先一個用戶只有一個頭像,所以用戶ID和頭像照片是1:1的關係;而對於同一個用戶和他的相冊圖片,是1:n的關係,頭像的圖片和用戶相簿各有各的表邏輯上比較清晰,方便管理;兩張表都用userId與用戶關聯。 但實際上,從資料庫角度來講,放在一個表和分開放,沒什麼區別,(可能資料量大了以後,在查詢效率上有區別)你建立一個圖片表,圖片表中Type來標定他是頭像還是相簿照片,然後依然需要在圖片表中設定userId來標定它屬於誰。
理論上講是要兩張表分開的,首先一個用戶只有一個頭像,所以用戶ID和頭像照片是1:1的關係;
而對於同一個用戶和他的相冊圖片,是1:n的關係,頭像的圖片和用戶相簿各有各的表邏輯上比較清晰,方便管理;兩張表都用userId與用戶關聯。
但實際上,從資料庫角度來講,放在一個表和分開放,沒什麼區別,(可能資料量大了以後,在查詢效率上有區別)
你建立一個圖片表,圖片表中Type來標定他是頭像還是相簿照片,然後依然需要在圖片表中設定userId來標定它屬於誰。