[英]When to store images in a database(mySQL) and when not? (Linking image to item in database)
對不起,如果這不是這里要問的問題類型,但我通過常見問題解答閱讀,似乎應該沒問題。
背景信息:作為一個畢業項目的一部分,我的團隊正在為一家餐廳創建一個網站,該網站將顯示一個菜單。 菜單將具有鼠標懸停功能,以在用戶鼠標懸停項目名稱時顯示食物圖像。 我最初的計划是不將菜單信息存儲在數據庫中,因為它不會經常更改。 有兩個不同的位置有不同的菜單項。 總而言之,將所有信息存儲在數據庫中並使用HTML顯示它似乎是一種浪費。 我們的教授不像15年前那樣精通技術,告訴我們他知道將這些信息存儲在數據庫中會更好。 對我來說,這似乎真的會讓很多東西混淆而沒有附加價值。 最初我還計划將鼠標懸停的圖像存儲在服務器上的一個簡單文件夾中,但如果所有菜單項都存儲在數據庫中,我就不知道如何將不同的圖像鏈接到數據庫中的不同項目將圖像存儲在數據庫中。 該網站將主要使用HTML,PHP,MySQL和一些JavaScript我們也將開發一個Android應用程序,只是基本上模仿網站上的內容,如果這改變的話。
問題 - 參考我計划使用它們的方式,這會更好地存儲在數據庫中嗎? 如果是這樣,有沒有辦法在不將圖像存儲在數據庫中並將它們保存在服務器上的文件夾中,反之亦然的情況下執行此操作。
我在其他論壇上在線閱讀了很多,解釋說你通常想避免將圖像存儲在數據庫中,但由於我的教授認為他說菜單必須存儲在數據庫中是正確的,我認為我必須存儲數據庫中的圖像也是如此,鼠標懸停功能將正常工作。 如果這是可能的,我只使用鼠標懸停功能與服務器上的圖像位置,而不是引用數據庫。 感謝您的幫助和見解。
在數據庫中存儲圖像/ blob的優點
缺點:
教授說“將菜單信息存儲在數據庫中”。 “菜單信息”顯然包括食品名稱,價格,描述,所有這些都是文字的。 他可能也可能沒有圖片。 這可能是通信問題的情況。 ...當預期信息經常變化時,使用數據庫; 它們需要輸出顯示子系統和輸入插入子系統。 如果您只打算寫一次,請務必將圖片放在目錄中。 但是,如果它將成為人們編輯和插入新條目的系統,那么您必須將圖片耦合到同一個DB表行中的菜單條目(更易於編寫),或者您必須編寫不同的子系統管理數據庫以及現在磁盤上的文件及其權限(更多移動部件)。
在數據庫中保存圖像通常是一個壞主意,我不知道,你被困在哪里。 只需保存每個菜單項的菜單圖像的路徑,你就可以了。
文件系統經過多年的微調,可以快速高效地傳輸文件。 不利用文件系統存儲圖像將忽略其最大的能力之一。
在我看來,數據庫和文件系統中存儲映像之間的完美合成是使用與時間戳結合的文件名將實際文件存儲在磁盤上,然后將該引用與其關聯的行存儲在數據庫中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.