2011-08-18 22 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を初めて使いました。最初は、作成したいギャラリーごとに別々のテーブルを想像していました。どのようにして、1つのテーブルがカテゴリ別に整理されていますか?任意およびすべてのアドバイス

+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

ため

おかげでStackOverflowのへようこそ。

  1. イメージデータはMySQLに格納できますが、通常はファイルとして保存する方が良いでしょう。これにより、キャッシュやサムネイルが簡単になります。そうしないと、自分で処理する必要があります。

  2. カテゴリごとにソートされた1つのテーブルは、カテゴリ名の柔軟性を高め、カテゴリ間で画像を移動したり、各カテゴリの画像数などの複数のカテゴリから情報を取得しやすくします。

+0

これは素晴らしいです、ありがとうございます。 –

0

私は参照を提供することに固執します。 MySQLテーブルのファイル名BLOBとしてテーブルに画像を置くと、あなたはあなたの写真を2枚コピーしていることになります。主な用途は履歴を保存することですが、これは理にかなっていますが、それ以外の場合は、元のものへの簡単な参照がおそらく良いでしょう。 二次的な問題はストレージスペースである可能性があります。画像をBLOBすると、非常に大きなテーブルを扱うことになります。それは問題かもしれません。 他の人が投稿したように、ギャラリーごとに複数のテーブルを作成することは、確実にノー・ノーであり、リレーショナル・データベースを使用するという理念に反するものです。単純に、ギャラリーIDを保持するピクチャテーブルに列を追加し、それを一意のキーの一部にします。また、別のギャラリーテーブルが必要な場合もあります。

+0

これは意味をなさない - 潜在的に私の心配だった肉のイメージの1000年に終わる - それはファイル名です! –

関連する問題