Indexed Database APIによるデータベース (3/7)
作成:2011-09-19 09:22
更新:2011-09-19 09:33
更新:2011-09-19 09:33
■IDBObjectStoreの作成と削除
IDBDatabaseオブジェクトは、これ自体はデータベースにデータを保存したりはできません。ここから「オブジェクトストア」と呼ばれるオブジェクトを作成します。
このオブジェクトストアは「IDBObjectStore」というオブジェクトで、データベースへのデータの保存や検索など、基本的なデータ操作のための機能を提供するものです。これは保存するデータごとに作成することができます。つまり、1つのデータベースであっても、いくつかの種類のデータを保存する場合は、それぞれにIDBObjectStoreが用意されるわけです。
このIDBObjectStoreを用意する場合、注意しなければならないのは「既にIDBObjectStoreがあるかどうかによって処理が違う」という点でしょう。データベースはローカルボリュームに保存されますから、一度作成してしまえば、以後はブラウザを終了したりしてもデータベースは保管され続けられます。したがって、最初にデータベースを利用するときには「IDBObjectStoreを新たに作成する」ことになりますが、二回目以降は「既にあるIDBObjectStoreを取得する」ということになります。では、これもそれぞれの機能の使い方をざっと整理しておきましょう。
・IDBObjectStoreの作成
このオブジェクトストアは「IDBObjectStore」というオブジェクトで、データベースへのデータの保存や検索など、基本的なデータ操作のための機能を提供するものです。これは保存するデータごとに作成することができます。つまり、1つのデータベースであっても、いくつかの種類のデータを保存する場合は、それぞれにIDBObjectStoreが用意されるわけです。
このIDBObjectStoreを用意する場合、注意しなければならないのは「既にIDBObjectStoreがあるかどうかによって処理が違う」という点でしょう。データベースはローカルボリュームに保存されますから、一度作成してしまえば、以後はブラウザを終了したりしてもデータベースは保管され続けられます。したがって、最初にデータベースを利用するときには「IDBObjectStoreを新たに作成する」ことになりますが、二回目以降は「既にあるIDBObjectStoreを取得する」ということになります。では、これもそれぞれの機能の使い方をざっと整理しておきましょう。
・IDBObjectStoreの作成
変数 = 【IDBDatabase】.createObjectStore( 名前, 連想配列 );
・インデックスの作成
【IDBObjectStore】.createIndex(名前, キー名, 連想配列 );