1

Picasa や Shotwell に似た、画像ファイルのデータベースを管理、検索、および表示するためのアプリケーションを作成したいと考えていますが、データベースの経験はほとんどありません。Qt フレームワークを使用して SQLite を使用するつもりです。

50,000 ファイルと仮定しましょう。次のデータで検索するのに最適なデータベース テーブル構造はどれですか? ファイルの追加と削除は比較的まれですが、クエリと編集は非常に一般的です。

  1. 画像ファイルへのパス
  2. サムネイル ファイルへのパス (このフィールドは検索できません)
  3. さまざまなメタ データ (作成者、作成日、サイズ、評価、ファイル タイプなど)
  4. タグの配列

ユーザーの入力に応じて (Picasa や Shotwell と同様に) 検索を実行したい場合、1 秒あたり最大数回のクエリが必要になります。

  1. 起動時に一度データベースにクエリを実行し、データをメモリに保持しますか?
  2. 検索ボックスが更新されるたびにデータベースにクエリを実行しますか?
  3. 両方の混合?

私が理解していることから、外部キーを含む一般的に繰り返されるデータ (タグ、作成者、ファイルの種類) のテーブルを作成する必要があります。これは正しい仮定ですか?作成日やファイル名など、各ファイルに固有の可能性があるデータの場合、単純にファイル テーブル全体を検索する以外に方法はありますか?

アドバイスをいただければ幸いです。ありがとうございました。

4

0 に答える 0