テーブルまたはインデックスのデータが格納される複数のデータベースページをそれぞれが有する複数のフラッシュメモリブロックを含むデータベースに対してデータの登録、更新、および削除の少なくとも何れかを行うデータ処理装置であって、前記登録、更新、および削除の内容に応じて、書き換えの対象となるデータベースページを特定する特定手段と、前記特定手段により特定されたデータベースページを有する既存のフラッシュメモリブロックに、前記登録、更新、および削除のためのデータの書き込みに必要な空き領域が存在するか否かを判断する判断手段と、前記判断手段により、既存のフラッシュメモリブロックに空き領域がないと判断されると、2つの未使用のフラッシュメモリブロックを確保する確保手段と、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起するか否かを判定する判定手段と、前記判定手段により、データの書き込みが共起すると判定されたデータベースページを、前記2つの未使用のフラッシュメモリブロックの一方に配置すると共に、前記判定手段により、データの書き込みが共起しないと判定されたデータベースページを、前記2つの未使用のフラッシュメモリブロックの他方に配置する再配置手段と、を有することを特徴とするデータ処理装置。前記既存のフラッシュメモリブロック内のデータベースページ同士でデータの書き込みが共起する関係にあるか否かを示す書き込み共起関係の情報を予め記憶する記憶手段を有し、前記判定手段は、前記記憶手段により記憶された情報に基づいて、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起するか否かを判定することを特徴とする請求項1に記載のデータ処理装置。前記記憶手段は、前記データベースを利用するデータ処理装置の機能と、前記テーブルおよび前記インデックスの少なくとも何れか一方とのそれぞれに応じた、データの書き込みが共起するか否かを示す2値のビットの情報を記憶することを特徴とする請求項2に記載のデータ処理装置。前記既存のフラッシュメモリブロック内のデータベースページ同士でデータの書き込みが共起するレベルを示す共起度の情報を予め記憶する記憶手段を有し、前記判定手段は、前記記憶手段により記憶された情報に基づいて、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起するか否かを判定することを特徴とする請求項1に記載のデータ処理装置。前記判定手段は、前記テーブルの同一のカラムに付与された、異なるインデックスを構成するデータベースページである場合に、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起すると判定することを特徴とする請求項1に記載のデータ処理装置。テーブルまたはインデックスのデータが格納される複数のデータベースページをそれぞれが有する複数のフラッシュメモリブロックを含むデータベースに対してデータの登録、更新、および削除の少なくとも何れかを行うデータ処理方法であって、前記登録、更新、および削除の内容に応じて、書き換えの対象となるデータベースページを特定する特定工程と、前記特定工程により特定されたデータベースページを有する既存のフラッシュメモリブロックに、前記登録、更新、および削除のためのデータの書き込みに必要な空き領域が存在するか否かを判断する判断工程と、前記判断工程により、既存のフラッシュメモリブロックに空き領域がないと判断されると、2つの未使用のフラッシュメモリブロックを確保する確保工程と、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起するか否かを判定する判定工程と、前記判定工程により、データの書き込みが共起すると判定されたデータベースページを、前記2つの未使用のフラッシュメモリブロックの一方に配置すると共に、前記判定工程により、データの書き込みが共起しないと判定されたデータベースページを、前記2つの未使用のフラッシュメモリブロックの他方に配置する再配置工程と、を有することを特徴とするデータ処理方法。前記既存のフラッシュメモリブロック内のデータベースページ同士でデータの書き込みが共起する関係にあるか否かを示す書き込み共起関係の情報を予め記憶する記憶工程を有し、前記判定工程は、前記記憶工程により記憶された情報に基づいて、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起するか否かを判定することを特徴とする請求項6に記載のデータ処理方法。前記記憶工程は、前記データベースを利用するデータ処理装置の機能と、前記テーブルおよび前記インデックスの少なくとも何れか一方とのそれぞれに応じた、データの書き込みが共起するか否かを示す2値のビットの情報を記憶することを特徴とする請求項7に記載のデータ処理方法。前記既存のフラッシュメモリブロック内のデータベースページ同士でデータの書き込みが共起するレベルを示す共起度の情報を予め記憶する記憶工程を有し、前記判定工程は、前記記憶工程により記憶された情報に基づいて、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起するか否かを判定することを特徴とする請求項6に記載のデータ処理方法。前記判定工程は、前記テーブルの同一のカラムに付与された、異なるインデックスを構成するデータベースページである場合に、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起すると判定することを特徴とする請求項6に記載のデータ処理方法。テーブルまたはインデックスのデータが格納される複数のデータベースページをそれぞれが有する複数のフラッシュメモリブロックを含むデータベースに対してデータの登録、更新、および削除の少なくとも何れかを行うことをコンピュータに実行させるためのコンピュータプログラムであって、前記登録、更新、および削除の内容に応じて、書き換えの対象となるデータベースページを特定する特定工程と、前記特定工程により特定されたデータベースページを有する既存のフラッシュメモリブロックに、前記登録、更新、および削除のためのデータの書き込みに必要な空き領域が存在するか否かを判断する判断工程と、前記判断工程により、既存のフラッシュメモリブロックに空き領域がないと判断されると、2つの未使用のフラッシュメモリブロックを確保する確保工程と、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起するか否かを判定する判定工程と、前記判定工程により、データの書き込みが共起すると判定されたデータベースページを、前記2つの未使用のフラッシュメモリブロックの一方に配置すると共に、前記判定工程により、データの書き込みが共起しないと判定されたデータベースページを、前記2つの未使用のフラッシュメモリブロックの他方に配置する再配置工程と、をコンピュータに実行させることを特徴とするコンピュータプログラム。非特許文献1に記載の技術は、フラッシュメモリ専用の高機能なファイルシステムを必要とするものである。非特許文献1に記載の技術では、ユーザのデータ書き換え履歴の情報を蓄積するためのメモリリソースと、蓄積した履歴の情報から統計情報を算出する等の演算処理とを要する。一方、デジタルカメラやデジタルビデオカメラに代表されるフラッシュメモリを搭載するデバイスは、SSD等を搭載することが可能なPCに比べて、CPUの性能と、RAMのサイズ資源に制限がある。そのため、前述したようなフラッシュメモリ専用の高機能なファイルシステムをデバイスに搭載すると、デバイスの負担が大きくなる。また、フラッシュメモリは、デバイスやPC等の複数の電子機器で、リムーバブルメディアとして使用されることが多い。デバイスやPC等の電子機器は、データの書き込み特性が互いに異なる。このため、直前に書き込みを行ったデバイスの特性に合わせて再配置されたフラッシュメモリを、データの書き込み特性が異なる他のデバイスで使用した場合、書き込みに与えるオーバーヘッドは大きい。本発明は、このような問題点に鑑みてなされたものであり、フラッシュメモリに配置したデータベースに対する書き込み処理を、特別なファイルシステムを用いることなく高速に実行できるようにすることを目的とする。本発明のデータ処理装置は、テーブルまたはインデックスのデータが格納される複数のデータベースページをそれぞれが有する複数のフラッシュメモリブロックを含むデータベースに対してデータの登録、更新、および削除の少なくとも何れかを行うデータ処理装置であって、前記登録、更新、および削除の内容に応じて、書き換えの対象となるデータベースページを特定する特定手段と、前記特定手段により特定されたデータベースページを有する既存のフラッシュメモリブロックに、前記登録、更新、および削除のためのデータの書き込みに必要な空き領域が存在するか否かを判断する判断手段と、前記判断手段により、既存のフラッシュメモリブロックに空き領域がないと判断されると、2つの未使用のフラッシュメモリブロックを確保する確保手段と、前記既存のフラッシュメモリブロックに含まれるデータベースページへのデータの書き込みと、当該既存のフラッシュメモリブロックに含まれる他のデータベースページへの書き込みとが互いに共起するか否かを判定する判定手段と、前記判定手段により、データの書き込みが共起すると判定されたデータベースページを、前記2つの未使用のフラッシュメモリブロックの一方に配置すると共に、前記判定手段により、データの書き込みが共起しないと判定されたデータベースページを、前記2つの未使用のフラッシュメモリブロックの他方に配置する再配置手段と、を有することを特徴とする。本発明によれば、データの書き込みが共起するページと、データの書き込みが共起しないページとを異なるブロックに再配置する。したがって、その後の書き込み処理において発生する不要なブロックの書き換えを、特別なファイルシステムを用いることなく軽減することができる。よって、フラッシュメモリに配置したデータベースに対する書き込み処理を、特別なファイルシステムを用いることなく高速に実行することができる。以下、本発明の一実施形態を、図面を参照しながら説明する。図1は、データ処理装置の全体構成の一例を示すブロック図である。図1では、データ処理装置が、画像撮影装置デジタルカメラ又はデジタルビデオカメラである場合を例に挙げて示している。図1において、CPU101は、マイクロプロセッサCPUである。CPU101は、データ登録処理、検索処理、表示処理、画面制御処理等のための演算論理判断等を行うことによって、後述のバスBUS107に接続された各デバイスの処理を制御する。バス107は、CPU101の制御対象である各デバイスを指示するアドレス信号と、コントロール信号とを転送する。ROM102は、読み出し専用の不揮発メモリである。ROM102は、CPU101の処理手順となる制御プログラムや各種データ等を記憶する。RAM103は、データの読み書きが可能なランダムアクセスメモリである。RAM103は、各デバイスから出力された各種データの一次記憶のために用いられる。RAM103には、ページキャッシュ112とブロックキャッシュ113とが記憶されている。ページキャッシュ112は、後述のコンテンツ情報管理データベース111の構成単位であるページに高速にアクセスする為のキャッシュデータである。ブロックキャッシュ113は、後述のリムーバブル記憶装置108の構成単位であるブロックに高速にアクセスする為のキャッシュデータである。ブロックキャッシュ113は、複数のページキャッシュ112によって構成される。入力部104は、ボタン、キーボード、及びタッチパネル等を備えている。オペレータは、入力部104を操作して、画像撮影装置に対して各種の指示を行う。出力部105は、液晶ディスプレイ等を備えている。通信部106は、ネットワークコントローラである。通信部106は、USB等の外部入出力機器や、モデム等の有線通信機器あるいはGPS等の無線通信機器を備えている。PCコンピュータ等の外部機器と画像撮影装置とのデータの交換は、通信部106を介して行われる。アダプタ114は、画像撮影装置が、後述のリムーバブル記憶装置108からデータを読み出したり、後述のリムーバブル記憶装置108にデータを書き込んだりするための接続端子である。CPU101は、このアダプタ114を経由してリムーバブル記憶装置108に対するデータの読み書きを実行する。リムーバブル記憶装置108は、SDカードやSSD等のフラッシュメディアフラッシュメモリである。リムーバブル記憶装置108は、ブロックの単位で、データを一括して消去することが可能な大容量の不揮発メモリである。リムーバブル記憶装置108は、大量のデータを変更可能に記憶する。リムーバブル記憶装置108には、画像データ映像データ等のコンテンツファイル群110と、それらのメタデータが格納されたコンテンツ情報管理データベース111とが格納されている。リムーバブル記憶装置108を、ハードディスク等で代用することもできる。また、アダプタ114を介さずとも、画像撮影装置デバイス内に内蔵されたフラッシュメモリにデータを直接格納してもよい。尚、CPU101により実行される制御プログラムを、ここに格納することも可能である。その場合、CPU101は、必要に応じて、制御プログラムを、RAM103主記憶装置にロードして、実行する。これによって、制御プログラムを途中で修正することが可能な柔軟なシステムを構成する事ができる。撮影部109は、カメラとしての機能を有する。撮影部109は、ユーザによる入力部104からの撮影命令を受けて、画像映像等を撮影する。撮影されたデータは、一旦RAM103に記憶される。その後、RAM103に記憶されたデータは、リムーバブル記憶装置108のコンテンツファイル群110に登録される。また、そのメタデータは、コンテンツ情報管理データベース111に登録される。以上の各デバイスからなる画像撮影装置は、入力部104等からの各種イベントに応じて作動する。入力部104等から、インタラプトが供給されると、インタラプト信号がCPU101に送られる。それに伴ってイベントが発生する。CPU101は、発生したイベントに応じて、ROM102またはRAM103内に記憶されている各種命令を読み出す。CPU101は、読み出した命令を実行することによって、各種の制御を行う。本実施形態の画像撮影装置のCPU101は、プログラムを実行する事で各種の手段として機能する。尚、CPU101と協調して動作するASIC等の制御回路がこれらの手段として機能しても良い。また、CPU101と制御回路との協調によってこれらの手段が実現されても良い。また、CPU101は、単一のものである必要はなく、複数であっても良い。この場合、複数のCPUは、分散して処理を実行する。尚、CPU101がソフトウェアを実行する事で実現される手段が、専用の回路によって実現されても良い。図2は、フラッシュメモリとして構成されるリムーバブル記憶装置108のコンテンツ情報管理データベース111の物理構造の一例を示す図である。フラッシュメモリブロックFlashBlock201は、フラッシュメモリを構成するデータの格納単位である。フラッシュメモリブロック201は、後述のフラッシュメモリページ202が複数個連結したものである。フラッシュメモリに記憶されるコンテンツ情報管理データベース111は、複数のフラッシュメモリブロック201が連結したものである。一般的に、フラッシュメモリのデータの書き込み消去は、このフラッシュメモリブロック単位で行われる。データの書き込み手順としては、まず、CPU101は、書き換え対象のデータが格納されているフラッシュメモリページ、もしくは新たにデータの格納先となるフラッシュメモリページを特定する。次に、CPU101は、特定したフラッシュメモリページと同一のフラッシュメモリブロックに存在する他のフラッシュメモリページを一旦RAM103等に退避する。次に、CPU101は、特定したフラッシュメモリページを含むフラッシュメモリブロックを消去する。最後に、CPU101は、特定したフラッシュメモリページの書き換えイメージと、退避しておいた他のフラッシュメモリページとを、別のフラッシュメモリブロックに書き込む。CPU101は、このような手順で、データの書き込みを行う。フラッシュメモリページFlashPage202は、フラッシュメモリを構成するデータの格納単位である。フラッシュメモリ内に格納されるファイルのデータ領域は、このフラッシュメモリページを単位として割り当てられる。尚、1つのファイルを構成する複数のフラッシュメモリページが、同一のフラッシュメモリブロックに格納される保証はない。データベースページDBPage203は、データベースファイルを構成するデータの格納単位である。データベースページ203の空き領域のサイズに応じて、後述のレコード204、インデックス205が、それぞれ異なるデータベースページ203に複数個格納される。レコードDBRecord204は、データベースのテーブルに格納されるレコードである。図2では、一つの四角が1件のレコードを意味する。1つのテーブルは、複数個のレコードをまとめたものになる。インデックスDBIndex205は、データベース内に作成されたインデックスデータである。図2では、一つの四角が個々のインデックスエントリを意味する。1つのインデックスは、複数個のインデックスエントリをまとめたものになる。図3は、コンテンツ情報管理データベース111の論理構造の一部の一例を示す図である。データベースを構成するテーブルとインデックスは、特定のキーによる順序性によって順序付けされた後述のデータベースページで構成されるBツリー構造301を持つ。データベースページ302は、データベースのページの論理構造を示したものである。データベースページ302は、一意のページ番号ページ内の空き領域のサイズ等の管理情報を格納するページヘッダ情報Headerを含む。データベースページ302は、ページ内に格納されたコンテンツ複数のレコードおよび複数のインデックスエントリの少なくとも何れか一方の領域ContentsAreaを含む。データベースページ302は、コンテンツにアクセスするためのポインタ情報ContentsListを含む。この他、データベースページ302は、空き領域FreeAreaを含む。また、ページヘッダ情報303は、データベースページ302の管理情報である。各ページヘッダ情報303には、それが格納されるテーブルまたはインデックスのオブジェクトIDObjIDとその他の情報Otherとが含まれる。図4は、書き込み共起ページ再配置処理が行われる前のデータベースファイルの一例を示す図である。具体的に、図4Aは、書き込み共起ページ再配置処理が行われる前のデータベースファイルの論理構造の一例を示す図である。図4Bは、書き込み共起ページ再配置処理が行われる前のデータベースファイルの物理構造の一例を示す図である。図4では、データベース内に、3つのテーブル401~403が存在する場合を例に挙げて示している。テーブル401~403は、データベースページDBPageNN=1~12によって構成されており、Bツリー構造を取る。また、テーブル401、402については、互いのデータベースページへの書き込みが共起関係にある。一方、テーブル403については、他のどのテーブル401、402ともデータベースページへの書き込みの共起関係はない。ここで、データベースページへの書き込みが共起するとは、あるデータベースページに対するデータの書き込みがあった場合、この書き込みと同時に、当該データベースページとは異なるデータベースページに対するデータの書き込みが行われるということを意味する。本実施形態では、このような事象の場合に、データベースページへの書き込みが互いに共起するものとして表現する。図4Bに示すように、1つのフラッシュメモリブロック404は、最大で12個のデータベースページ405を格納することが可能であるとする。図4Bでは、既に最大個数分のデータベースページ群が、フラッシュメモリブロック404に格納された状況であることを表している。図5は、書き込み共起ページ再配置処理が行われた後のデータベースファイルの一例を示す図である。具体的に、図5Aは、書き込み共起ページ再配置処理が行われた後のデータベースファイルの論理構造の一例を示す図である。図5Bは、書き込み共起ページ再配置処理が行われた後のデータベースファイルの物理構造の一例を示す図である。テーブル501~503は、それぞれ前述のテーブル401~403に対応する。図5Aに示すように、ここでは、テーブル502に新たにレコードが追加され、このレコードの追加によりBツリー構造の組み換え処理が発生し、新たにデータベースページDBPage13、DBPage14が追加されたとする。ここで、図5Bに示すフラッシュメモリブロック504、506は新たに確保された空きブロックである。CPU101は、データベースページDBPage13、DBPage14を、既存のフラッシュメモリブロック404に追加することを試みる。しかし、ここでは、既存のフラッシュメモリブロック404の空き領域の有無の判定によって、空き領域が不足すると判定されたために、新たに2つの空きブロックフラッシュメモリブロック504、506が確保されたとする。また、フラッシュメモリへの書き込み処理では、CPU101は、まず、前述のフラッシュメモリブロック404を消去する。その後、CPU101は、フラッシュメモリブロック504、506を書き込む。書き込み共起ページ再配置処理により、既存のフラッシュメモリブロックに格納されているデータベースページのうち、互いに書き込みが共起するデータベースページと、共起しないデータベースページとが、異なるフラッシュメモリブロックに再配置される。この処理は新たにフラッシュメモリブロックが追加されるタイミングで行われる。図4及び図5に示す例では、既存のフラッシュメモリブロックに格納されているデータベースページは、DBPageNN=1~12である。新たに追加されるデータベースページは、DBPage13、DBPage14である。具体的に、図5に示す例では、書き込み共起ページ再配置処理により、データベースページの書き込みが共起するデータベースページ群505は、フラッシュメモリブロック504に再配置される。一方、どのテーブルとも、書き込みが共起しないデータベースページ群507は、フラッシュメモリブロック506に再配置される。データベースページ群505は、テーブル501、502を構成するデータベースページ群である。データベースページ群507は、テーブル503を構成するデータベースページ群である。ここで、再配置される対象のデータベースページは、書き込みが共起関係にあるものと、ないものとが、異なるフラッシュメモリブロックに配置されていればよい。例えば、フラッシュメモリブロック504にデータベースページ群507を再配置すると共に、フラッシュメモリブロック506にデータベースページ群505を再配置してもよい。フラッシュメモリブロックのヘッダ領域に、書き込みが共起するデータベースページの数と、書き込みが共起しないデータベースページの数とを保持しておくことができる。このようにすれば、書き込みが共起するデータベースページ群505と書き込みが共起しないデータベースページ群507とのうち、新規のフラッシュメモリブロックへのデータベースページの移動量の少ない方を、新規のフラッシュメモリブロックに再配置できる。これにより、書き込み共起ページ再配置処理のオーバーヘッドを抑えることができる。図6は、本実施形態で想定するデータの1つである画像コンテンツのメタデータを格納するコンテンツ情報管理データベース111のスキーマ構成の一部の一例を示す図である。図6に示すテーブル、インデックスを構成するデータベースページは、1つのデータベースファイルに混在した形で格納される。画像情報テーブル601は、画像撮影装置等のデバイスで撮影された画像コンテンツ毎のメタデータを格納する。同行者情報テーブル602は、画像情報テーブル601に格納された画像コンテンツを撮影したイベントに同行した人物の情報を格納する。インデックス603~605は、画像情報テーブル601のカラムに付与されたインデックスである。インデックス606は、同行者情報テーブル602のカラムに付与されたインデックスである。画像コンテンツに付与されるメタデータのうち、撮影日時やGPSデータは、撮影時に画像撮影装置で自動的に付与される。一方、撮影場所、イベントID、イベント名、同行者は、PC等の外部機器に存在するスケジュール管理アプリケーション等との通信部106を介した連携によって、撮影とは非同期のタイミングで付与される。もちろんこれらのメタデータを付与するタイミングは、画像撮影装置等のデバイスに搭載された機能によって任意に変更することが可能である。例えば、GPS機能を搭載していない画像撮影装置で画像コンテンツが得られる場合、GPSデータの付与は、外部機器との連携によって実現する。また、例えば、GPSデータから変換することが可能な地名ランドマーク名といった地図情報を、画像撮影装置が搭載している場合、撮影場所の付与は、外部機器との連携をせずとも、画像撮影装置側で実現することが可能である。スキーマ管理テーブル607は、コンテンツ情報管理データベース111内のテーブルインデックス等のデータベースオブジェクトの定義情報オブジェクトID及びオブジェクト名と、書き込み共起情報とを含む情報を格納する。書き込み共起情報とは、テーブルインデックスを構成するデータベースページへの書き込みが共起するかどうかを定義した情報である。本実施形態では、データベースは、リムーバブルなメディアリムーバブル記憶装置108に格納され、異なる複数のデバイスから読み書きされることを想定する。そのため、デバイスの機能に応じて、書き込み共起事象には、いくつかのパターンが存在することになる。ここでは、このパターンのことを共起パターンと称する。この共起パターンを表現するために、本実施形態では、書き込み共起情報を複数のビットの情報とする。各ビットの組み合せが個別の共起パターンを示す。ここで、ビットの値が1であることは、書き込みが互いに共起関係にあることを示す。ビットの値が0であることは、書き込みが互いに共起関係にないことを示す。スキーマ管理テーブル607には、全部で14個の共起パターンを保持することができるようになっている。例えば、GPS機能を地名に変換する地名変換辞書が、画像撮影装置等のデバイスに搭載されているかどうかによって、共起パターンは2つ存在する。地名変換辞書を搭載したデバイスでは、撮影時に、撮影場所を持つレコードが画像情報テーブル601に登録される。したがって、これと同時に、撮影場所インデックス604も更新される。つまり、画像情報テーブル601への書き込みと、撮影場所インデックス604への書き込みとが共起する。これに対し、地名変換辞書を搭載していないデバイスでは、撮影時に、撮影場所を持つレコードを画像情報テーブル601に登録できない。このため、撮影場所インデックス604への書き込みは、他のテーブルへの書き込みと共起しない。これらの共起パターンを表現したものが共起パターンテーブル608である。この共起パターンテーブル608は、データベース利用環境毎の共起パターン共起パターンは一意の共起パターンIDで管理されると、その共起定義位置オフセット情報を持つ。共起位置オフセット情報とは、書き込み共起情報から、対応する定義情報を取りだすための先頭のビットからのオフセット位置を示す情報である。例えば、前述の地名変換辞書を搭載しないデバイスに付与される共起パターンIDはDSC_001であり、その書き込み共起情報における先頭のビットからのオフセット位置は0であるとする。また、地名変換辞書を搭載したデバイスに付与される共起パターンIDはDSC_002であり、その書き込み共起情報における先頭のビットからのオフセット位置は1である。ここで共起パターンIDPC_01は、PC用の共起パターンを定義したものである。図ではPC_01を他の画像撮影装置とは異なる設定としている。しかしながら、これ以外にも、例えば、高速で処理可能なPCと、処理性能としてはPCよりも劣る画像撮影装置との間で、同じリムーバブルメディアに記憶されたデータベースを読み書きする場合を想定して、共起パターンを設定することも考えられる。その場合、両者の共起パターンIDを処理性能の低い画像撮影装置のDSC_001に合わせる。こうすることでデータベースページの配置が書き込み処理性能の低いデバイスでの書込み共起パターンに最適な状況となる。これにより、その後の画像撮影装置での書き込みのオーバーヘッドを抑えることが可能となる。このような制御は、データの書き込み履歴に基づき、ページの再配置場所を決定する方式では困難である。図7は、本実施形態で想定するコンテンツ情報管理データベース111内の各テーブルに格納されたデータの一部の一例を示す図である。図7Aは、画像情報テーブル601の一部を示す図である。画像情報テーブル601は、画像ID、ファイル名、撮影日時、GPSデータ、撮影場所、及びイベントID等の情報によって構成される。画像情報テーブル601は、画像撮影装置で撮影時にデータを登録する場合や、画像撮影装置/PCで画像を編集する場合等、様々なタイミングで且つ様々なデバイスからアクセスされる。本実施形態で説明するテーブルには、登録済みの全コンテンツのデータが存在するが、図7では、便宜上説明に必要のないデータに関してはとして表現している。図7Bは、同行者情報テーブル602の一部を示す図である。同行者情報テーブル602は、ID、イベントID、イベント名、及び同行者等の情報によって構成される。ここで、イベントIDは、画像情報テーブル601のイベントIDに対応する。同行者情報テーブル602への書き込みは、ユーザによる画像撮影装置での撮影時には実施されず、外部機器であるPC等との連携時に、画像撮影装置にデータが取りこまれたタイミングで実施される。イベント情報は、撮影日時、撮影場所等の情報によって、PC等に搭載されているスケジュール管理アプリケーションによって関連付けられている。そのため、この同行者情報テーブル602への書き込みは、撮り貯められた画像データを保持する画像撮影装置本体、又はそのリムーバブルメディアであるリムーバブル記憶装置108を、ユーザがPC等に接続することによって行われる。図7Cは、スキーマ管理テーブル607の一部を示す図である。スキーマ管理テーブル607は、オブジェクトID、オブジェクト名、及び書込み共起情報等によって構成される。この他に、ROOTページ番号がスキーマ管理テーブル607に含まれていてもよい。オブジェクトID、オブジェクト名は、データベース内に存在する個々のテーブル、インデックスに割り当てられた一意に特定可能なIDとその名称である。前述したように、書き込み共起情報とは、特定のデータベース利用環境において決定されるテーブルインデックスを構成するデータベースページ同士の書き込み共起関係の有無をビットで表現した情報である。書き込み共起情報の桁数は、共起パターンの数だけ確保される。1は、書き込みが互いに共起関係にあることを示し、0は、書き込みが互いに共起関係にないことを示す。本実施形態では、画像撮影装置、PC等の操作デバイス毎に、テーブルインデックスの共起パターンが存在することを想定している。書き込み共起情報のビットの上位の桁から順に、図7Dに示す共起パターンIDが対応する。図7Dは、共起パターンテーブル608の一部を示す図である。共起パターンテーブル608は、データベース利用環境状況に応じてパターン化された書き込み共起情報を特定するための情報として、共起パターンIDと共起定義位置オフセット等を格納する。共起パターンIDとは、データベース利用環境に応じて異なるテーブルインデックスへの書き込み共起パターンのIDである。共起パターンIDは、データベースを使用するデジタルカメラやPC等のデバイス毎に用意される。共起定義位置オフセットとは、共起パターンIDに対応する値書き込みの共起の有無を示す1又は0が、14桁の書き込み共起情報の何桁目であるかを特定するためのオフセット情報である。図7C、Dに示す例では、書き込み共起情報の先頭のビットの値は、データベース利用環境がデジタルスチルカメラ共起パターンID=DSC_001に対応するデジタルスチルカメラである場合に、書き込みの共起が発生するかどうかを示す。図7Dにおいて、共起パターンID=DSC_001の共起定義位置オフセットの値は0である。このことは、共起パターンID=DSC_001に対応するデジタルスチルカメラにおいて書き込みの共起があるかどうかは、図7Cに示す書き込み共起情報の先頭のビットに示されていることを表す。図7Cにおいて、オブジェクトID=3の書き込み共起情報の先頭のビットの値と、オブジェクトID=5の書き込み共起情報の先頭のビットの値は、共に1である。これらのことから、DSC_001に対応するデジタルスチルカメラでは、オブジェクトID=3の画像情報テーブル601と、オブジェクトID=5の撮影日時インデックス603とに対して同時に書き込みが行われることが分かる。すなわち、DSC_001に対応するデジタルスチルカメラでは、画像情報テーブル601と、撮影日時インデックス603とが、互いにデータベースページへの書き込みが共起する関係となる。一方、DSC_001に対応するデジタルカメラには、同行者情報テーブル602の情報を得るための機能がない。このため、オブジェクトID=4の書き込み共起情報の先頭のビットの値は0となる。すなわち、DSC_001に対応するデジタルカメラでは、オブジェクトID=4の同行者情報テーブル602についての書き込みが行われない。よって、DSC_001に対応するデジタルカメラでは、同行者情報テーブル602のデータベースページへの書き込みは、他のテーブルへの書き込みと共起しない。図7Cに示すように、オブジェクトID=4の書き込み共起情報では、先頭のから4番目の桁の値だけが1である。よって、図7C、Dに示すように、データベース利用環境が共起パターンID=PC_01に対応するPCである場合にのみ、オブジェクトID=4の同行者情報テーブル602への書き込みが他のテーブルへの書き込みと共起する。図8は、本実施形態の画像撮影装置の動作の一例を説明するフローチャートである。このフローチャートは、CPU101が制御プログラムを実行することにより実現される。ステップS801において、CPU101は、システムの初期化処理を行う。この初期化処理では、オペレーティングシステムの起動や、システムメニュー画面の表示等が行われる。次に、ステップS802において、CPU101は、イベント待機処理を行う。このイベント待機処理では、入力部104から何らかのイベントが発生するのをCPU101が待機する。イベントが発生すると、ステップS803において、CPU101は、発生したイベントの種類を判別する。このイベントの種類に応じて、各種処理に処理が分岐する。ここでは、データベースへの画像メタデータの登録処理についての詳細な説明を行う。そこで、図8では、発生したイベントが、データ登録/更新/削除イベントである場合の処理と、データのコミットイベントである場合の処理とを分離して記載する。発生したイベントが、データ登録/更新/削除イベントである場合には、ステップS804に進む。ステップS804に進むと、CPU101は、画像メタデータの登録/更新/削除イベントに対応するイベント処理データ登録/更新/削除処理を行う。データ登録/更新/削除処理では、コンテンツ情報管理データベース111内の各種テーブルへのデータの登録/更新/削除が行われる。発生したイベントが、データのコミットイベントである場合には、ステップS805に進む。ステップS805に進むと、CPU101は、コミットイベント処理を行う。コミットイベント処理では、ステップS804で、登録/更新/削除されたデータをコミットするための処理が行われる。ステップS804での処理データベースページやフラッシュメモリブロックの書き換えの処理は、全てメモリRAM103での処理である。すなわち、ステップS804では、データベースファイルの書き換えは行わない。データベースファイルの書き換えは、ステップS805のコミットイベント処理で行われる。データのコミットイベントについては、入力部104から直接発生させる必要はなく、ステップS804の処理から副次的に発生させてもよい。発生したイベントが、データ登録/更新/削除イベントでも、データのコミットイベントでもなく、その他のイベントである場合には、ステップS806に進む。ステップS806に進むと、CPU101は、発生したイベントに対応した各種イベント処理を行う。各種イベント処理では、システム及びアプリケーションの停止や、アプリケーションの実行途中状態の表示等、ステップS804、S805以外の複数の処理が行われる。図9は、ステップS804のデータ登録/更新/削除処理の一例を詳細に説明するフローチャートである。まず、ステップS901において、CPU101は、データの登録、更新、及び削除の内容に応じて、データベースページの書き換えを行う。まず、CPU101は、データベースのBツリー構造301を辿ることによって、更新の対象となるデータベースページを特定する。次に、CPU101は、特定したデータベースページ内の該当領域にあるデータを書き換える。尚、データベースページの中に、データを格納できる空き領域が存在しない場合、CPU101は、データベースページを新たに確保し、確保したデータベースページにデータを格納する。ステップS902において、CPU101は、ステップS901でデータペースページを確保するためにフラッシュメモリブロックを新たに追加し、当該データページを格納するフラッシュメモリブロックを確保する必要があるか否かを判定する。ここでは、CPU101は、新たにデータベースページを確保することにより、全てのデータベースページの合計のサイズが既存のフラッシュメモリブロックのサイズに収まるかどうかを判定する。全てのデータベースページの合計のサイズが既存のフラッシュメモリブロックのサイズに収まりきらないと判定された場合には、フラッシュメモリブロックを新たに追加する必要がある。この場合には、ステップS903に進む。ステップS903に進むと、CPU101は、空の未使用のフラッシュメモリブロックを2つ確保する。ここで、ステップS903の処理で確保される2つの空のフラッシュメモリブロックを、第2、第3の空きフラッシュメモリブロックと称する。次に、ステップS904において、CPU101は、書き込み共起ページの再配置処理を実行する。そして、図8のフローチャートに戻る。ステップS902において、全てのデータベースページの合計のサイズが既存のフラッシュメモリブロックのサイズに収まると判定された場合には、フラッシュメモリブロックを新たに追加する必要はない。この場合には、ステップS905に進む。ステップS905に進むと、CPU101は、既存のフラッシュメモリブロックに、新規のデータベースページを格納して、既存のフラッシュメモリブロックを書き換える。そして、図8のフローチャートに戻る。図10は、ステップS904の書き込み共起ページの再配置処理の詳細の一例を説明するフローチャートである。まず、ステップS1001において、CPU101は、再配置対象のデータベースページを取得する。具体的に、CPU101は、前述のステップS902において、新たにデータベースページを確保するための空き領域がないと判定された既存のフラッシュメモリブロックに格納済みのデータベースページを1つ取得する。次に、ステップS1002において、CPU101は、データベースを利用するデバイスの環境に基づいて、共起定義位置オフセットを取得する。具体的に、CPU101は、共起パターンテーブル608より、データベース利用環境に応じて決まる共起パターンIDを検索キーとして共起定義位置オフセットを取得する。共起パターンIDは、データベースを利用するデジタルカメラ、PC等のデバイスデータ処理装置が保持する情報を元に導出することが可能なパターン情報である。例えば、同じデジタルカメラというデバイスの種類であっても、そのデジタルカメラがGPS機能を内蔵しているか、していないかによって異なる共起パターンIDが指定される。次に、ステップS1003において、CPU101は、以下の処理を行う。すなわち、CPU101は、ステップS1001で取得したデータベースページへの書き込みが、当該データベースページと同一のフラッシュメモリブロック内の他のテーブルインデックスのデータベースページへの書き込みと共起するか否かを判定する。この判定は、ステップS1002で取得した書き込み共起情報に基づいて行われる。具体的に、CPU101は、ステップS1001で取得したデータベースページが持つオブジェクトIDをキーとして、前述のスキーマ管理テーブル607に格納されているレコードから、当該データベースページに対するオブジェクトのレコードを特定する。そして、CPU101は、特定したレコードの書き込み共起情報を取得する。次に、CPU101は、取得した書き込み共起情報から、ステップS1002にて取得した共起定義位置オフセットに対応する桁の値を読み出す。前述したように、この値が1である場合には、ステップS1001で取得したデータベースページへの書き込みが、当該データベースページと同一のフラッシュメモリブロック内の他のデータベースページへの書き込みと共起する関係となる。一方、この値が0である場合には、ステップS1001で取得したデータベースページへの書き込みが、当該データベースページと同一のフラッシュメモリブロック内の他のデータベースページへの書き込みと共起する関係にはならない。ステップS1003の判定の結果、ステップS1001で取得したデータベースページへの書き込みが、他のテーブルインデックスのデータベースページへの書き込みと共起する場合には、ステップS1004に進む。ステップS1004に進むと、CPU101は、ステップS903にて確保した一方の未使用のフラッシュメモリブロック第2の空きフラッシュメモリブロックにステップS1001で取得した再配置対象のデータベースページを移動させる。ここでは、後でなるべく連続した空き領域を確保する為に、CPU101は、デフラグ処理を行っても良い。そして、ステップS1006に進む。一方、ステップS1003の判定の結果、ステップS1001で取得したデータベースページへの書き込みが、他のテーブルインデックスのデータベースページへの書き込みと共起しない場合には、ステップS1005に進む。ステップS1005に進むと、CPU101は、ステップS903にて確保した他方の未使用のフラッシュメモリブロック未使用の第3の空きフラッシュメモリブロックにステップS1001で取得した再配置対象のデータベースページを移動させる。そして、ステップS1006に進む。ステップS1006に進むと、CPU101は、再配置対象のデータベースページを含む既存のフラッシュメモリブロック内に未処理のデータベースページがまだ存在するか否かを判定する。この判定の結果、更新の対象となるデータベースページを含む既存のフラッシュメモリブロック内に未処理のデータベースページが存在する場合には、ステップS1001に進む。そして、未処理のデータベースページについてステップS1001以降の処理を行う。こうして、更新の対象となるデータベースページを含む既存のフラッシュメモリブロック内に未処理のデータベースページが存在しなくなると、図9のフローチャートに戻る。以上のように本実施形態では、データの登録/更新/削除を行うために新たにデータベースページを確保すると、データベースページが既存のフラッシュメモリブロックのサイズに収まらない場合、未使用の第2、第3の空きフラッシュメモリブロックを確保する。当該既存のフラッシュメモリブロック内のデータベースページのうち、他のテーブルインデックスのデータベースページへの書き込みと共起するデータベースページを第2の空きフラッシュメモリブロックに移動する。一方、当該既存のフラッシュメモリブロック内のデータベースページのうち、他のテーブルインデックスのデータベースページへの書き込みと共起しないデータベースページを第3の空きフラッシュメモリブロックに移動する。したがって、書き換えの対象となるデータが、単一のフラッシュメモリブロックに閉じて存在する可能性を高めることができる。これにより、その後のデータ書き込み処理において、書き換えの対象となるデータが存在する最小限のフラッシュメモリブロックのみに対して、消去書き込みを行うことが可能になるフラッシュメモリブロックの不要な書き換えを軽減することができる。結果的に、データベースへの書き込み処理を高速化することができる。更には書き込み回数に上限のあるフラッシュメモリの長寿命化やデバイスの電力消費量の低減にもつながる。このように、本実施形態では、フラッシュメモリに配置したデータベースに対する書き込み処理を、特別なファイルシステムを用いることなく高速に実行できる変形例本実施形態では、テーブルインデックス同士で、データベースページへの書き込みが共起する関係にあるかどうかを、データベースの利用環境デバイスの機能に応じて決定するようにした。しかしながら、互いに書き込みが共起する関係性を持つデータベースページを判別することができれば、必ずしもこのようにする必要はない。例えば、図7Aに示す画像情報テーブル601の撮影日時に付与されたインデックスと、撮影日時及び撮影場所を連結した複合インデックスとを作成する。これらは、互いに異なるインデックスとして存在する。しかしながら、これらは、画像情報テーブル601の同一の撮影場所カラムに付与されたインデックスである。そこで、これらのインデックスへのデータの書き込みは互いに共起する関係にあるとして定義しても良い。このような共起関係の有無は、テーブルのスキーマ情報から機械的に判定することが可能である。このため、アプリケーションの開発者が事前に共起関係を定義しておく作業負荷を軽減することができる。また、本実施形態では、書き込み共起判定手段を、共起関係の有無により定まる2値のビット書き込み共起情報及び共起定義位置オフセットで定義した。しかしながら、必ずしも、このような情報で書き込み共起判定手段を定義する必要はない。例えば、テーブルインデックスに格納されるデータ間の書き込みが共起するレベルをユーザの利用頻度を分析することで得られる数段階の数値で表現しても良い。こうして得たレベルを共起度とする書き込み共起判定手段を定義しても良い。これにより、例えば、画像のメタデータを書き込む際に、イベント情報と同行者情報との双方への書き込みが共起するが、同行者情報に関する書き込みの方が、イベント情報に関する書き込みよりも共起度が高いと推測することができる。これにより、柔軟な共起判定が可能となり、ユーザの用途に対して最適に高速化を行ったデータベースの書き込み処理を実現することができる。例えば、共起度の値が閾値より大きいである場合に、書き込みが共起すると判定し、共起度の値が閾値未満である場合に、書き込みが共起しないと判定することができる。また、共起度の値が大きいものから第2の空きフラッシュメモリブロックに優先的に移動させることもできる。尚、前述した実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。その他の実施例本発明は、以下の処理を実行することによっても実現される。即ち、まず、以上の実施形態の機能を実現するソフトウェアコンピュータプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ又はCPUやMPU等が当該コンピュータプログラムを読み出して実行する。