ホーム › フォーラム › A5:SQL Mk-2掲示板 › 画像データの取り扱いについて
-
投稿者投稿
-
とどろきしのぶゲスト
はじめましてコッペパンと申します(SQL初学者、本日A5:SQL Mk-2利用1日目)
利用GUIクライアント:A5:SQL Mk-2 (ポタブル環境での利用;作者様有難うございます)
利用SQL:SQLiteを用いて画像入りのデータベースを作ろうと考えています。
たとえば、番号,名前,画像 のような列を構築したいのです。
※【重要】つらつらと名前と画像を眺めたいのです。画像については自分なりに調べ、
1.データベース入れる場合(フィールドにSQL画像のバイナリデータを入れるBLOB型?)
2.ファイルパスだけの場合(フィールドに別個フォルダにある画像のファイルパスを入れる)
等の扱いがあることを知りました。私の環境で試したところ、1.の方法ではネット上で画像1枚入りの.dbのサンプルを見つけたので
早速試したところデータタブには画像のところにFFOO…と表示されていましたので、
…部分を押して、BLOBエディタというのを起動して更にJpeg/GIF/PNG表示のタブを押して、
表示は確認できました。ですがこれでは上にある【重要】の項目は満たされません。
(画像自体がつらつら表示されないので)
2.の方法ではというとまだ未検証ですがファイルパスだけが表示される?と予測しておりまして
悩んで検索していたところ、フォーラムの存在を知りました。質問としましては、
問1;A5:SQL Mk-2の場合はどちらの方が無難なのでしょうか。
問2:A5:SQL Mk-2では1.と2.の両方とも可能なのでしょうか?どなたか可能であれば具体的なサンプルのファイル等含めご助言を頂きたく質問させていただきました。よろしくお願いいたします。
松原正和キーマスターとどろきしのぶさんこんにちは。
お返事が遅くなり申し訳ありません。画像をデータベースでどう扱うかということですが、A5:SQL Mk-2 がどうこうというより、アプリケーションで使用されるデータベースの要件自体になると思います。個人的には、データベースに直接 Blob データとして画像を入れる方がよいように思います。
理由としては、外部にファイルを置いてしまうと、データベースのバックアップと連動できなくなり、万一のバックアップのリストア時に、DBのバックアップとファイルのバックアップを取得した時間が異なると問題が起こったりするためです。また、アプリケーションからのトランザクションがロールバックした場合、書き換えたファイルや削除したファイルも戻さなければいけませんが、制御がかなり複雑になります。
逆にファイルを外部に保存した方がよい場合というのは、DBに保存したデータ量で課金されるようなサービスにおいて、データ量による料金の支払いが問題となるケースかと思います。
一方、A5:SQL Mk-2で一覧形式で見たいとのことですが、データベースへの負荷がかなり高くなってしまうため、あまり現実的ではありません。
実のところ、25年以上前に、ローカルPC上のデータベース(Paradox)でDB上の画像をそのままグリッド上のセルに(小さく)表示する機能を搭載しており、そのコードは現在も残っているのですが、実質的に現在は動作しません。ネットワーク上のOracleやPostgreSQL, MySQL のデータベースで同様の動作をした場合、かなり動作速度が問題となりそうな気がします。
-
投稿者投稿