2011-08-18 115 views
0

可能重複:
What is the best way to store a series of images in MySQL?將MySQL用於圖像庫的最佳方式是什麼?

這是我的朋友幾個月前建立的第一個網站: http://www.jpsinghphotography.co.uk

我要重建它作爲我的第一個PHP/MySQL項目,但我有幾個關於如何構建數據庫的問題。

1)最好使用BLOB數據類型將實際圖像文件放入數據庫中;或存儲文件名稱並使用它們查找服務器上另一個文件夾中的圖像?

2)我是SQL新手,最初我想爲每個我想創建的庫創建一個單獨的表。一個表按類別分類更好的方式是什麼?

感謝您的任何和所有的意見

+0

嘗試搜索這個網站,有很多你的問題的答案。 – Jacco

+0

http://stackoverflow.com/questions/4774289/what-is-the-best-way-to-store-a-series-of-images-in-mysql/4774307#4774307 – NAVEED

+1

關於2):請有一個看看關係數據庫的設計和規範化,因爲每個畫廊的獨立表格絕對是錯誤的路要走。 – Jacob

回答

1

歡迎計算器。

  1. 你可以把圖像數據放在MySQL中,但通常最好把它們作爲文件。這使他們更容易緩存和縮略圖,否則你必須自己做。

  2. 按類別排序的一張表可以讓您在類別名稱中更加靈活,並且可以更輕鬆地在類別之間移動圖像以及從多個類別獲取信息,例如每個類別的圖像數量。

+0

這很好,謝謝。 –

0

我會堅持提供參考即。 MySQL表中的文件名。將圖像作爲BLOB放在桌面上意味着您現在保留了兩張你的照片。如果你的主要應用是存儲歷史,這是有道理的,但否則,對原始文件的簡單引用可能會更好。 第二個問題可能是存儲空間:如果你BLOB的圖片,你顯然會處理一些非常大的表。這可能也可能不是問題。 正如其他人發表的那樣,爲每個畫廊創建多個表格是一個明確的禁忌,違背了使用關係數據庫的整個理念。簡單地添加一列到圖片表中,該圖表包含圖庫ID並使其成爲唯一密鑰的一部分。你也可能想要一個單獨的畫廊表格,以使其更「正常化」。

+0

這是有道理的 - 最終可能會出現1000張強壯的圖像,這是我的擔憂 - 文件名稱就是這樣! –

相關問題