2009-01-07 39 views
1

好的,所以我的網站以很多動態用戶輸入的圖像爲中心,針對不同的用戶定義對象。所以我有很多對象,而這些對象有圖像。設計問題 - 將圖像作爲對象存儲

由於「圖像名稱」和「圖像字節」列重複多次,是否像對象一樣處理圖像是一種很好的做法?或者僅僅爲每個對象在表格中包含這兩列是比較明智​​的。

我想我回答我的問題,同時打字......我創建一個額外的連接和一個額外的列(有會在每張桌子上」三個有姓名,身份證,以及圖像標識

然而,有幾個表,每個對象有多個圖像...所以我想這會更好????的意見?

回答

4

我通常有一個文件表,一般存儲文件,然後在其他表中,你可以有每個圖像(文件)的列只是文件表中的參考。

您的文件表將具有所有正常的東西比如ID,文件名,大小,類型等等。然後是的,你只需加入它即可獲得你所需要的任何查詢。

如果有任何疑問 - 我強烈建議您不要直接在數據庫中存儲文件。我不認爲這就是你的想法,但如果其他人得到這個想法 - 就不要這樣做!

0

問的問題是「我是否有多個對象具有相同的圖像。」如果是這樣,那麼你可能想考慮冗餘。另外,您使用的數據庫是否處理好「斑點」?或者最好是保留文件路徑並保存圖像>

0

直覺上,我會發現將圖像和對象作爲單獨的概念處理更容易。它只是感覺更靈活。

如果您需要將圖像以外的東西附加到特定的對象上,它就像將對象表條目與「其他事物」表項相關聯一樣簡單,但您可能必須以指定外鍵的方式。它還會讓您能夠在其他用戶對象中使用這些圖像,或允許用戶借用其他用戶的圖像。

這種方法的不足之處在於,如果需要將一個或多個表連接在一起,您會付出一定的性能損失。如果你的數據庫查詢分析器相當聰明,可能不是最大的交易。