2008-04-18-01-【Scrooge】データ構造 - 6 - project-enigma

2008-04-18-01-【Scrooge】データ構造 - 6

>> Site top >> weblog >> 月別アーカイブ >> 2008年04月のlog >> 2008-04-18-01-【Scrooge】データ構造 - 6

最終更新日付:2013/12/31 07:37:00


【Scrooge】データ構造 - 6

2008 年 04 月 18 日

ちょっと脱線するが、Palm OS データベースのレコードに固有な UniqueID をキーとして利用することの是非について心配ごとがあるので書いておこう。

通常、UniqueID というのはそのレコードが存在する限り不変である。たしか API を使用してデータベースから「引き剥がし」、別のデータベースにアタッチしても一意性は保証される仕様になっていた気がする。だからこそキーとして使用するのに最適だと判断したわけだ。

しかし、である。横着な行動も想定しなければならない。例えば FileZ などを使用して Scrooge のデータベースをまるごと別のデバイスにビームした場合、UniqueID の不変性は保証されるのだろうか? この点が怪しいのであれば、UniqueID を使ってレコードを関連付けることはできない。

そうなると、別の方法を持ってレコードを識別しなければならないが、それは途端に面倒でコスト高な作業になる。以前書いた理由でレコードのインデックス(データベース内で何番目に位置しているか)も使えない。実は次回書くつもりだったのだが、ShopDB やItemDB のレコード内に PriceDB レコードへの参照を埋込み、ShopDB や ItemDB をデータベース内で直接ソートしたりすることまで考えていたのだ。しかし、UniqueID が使えないとなるとそのあたりの目論見も全て考えて直さなければならない。

というわけで、検討はまだまだ続く。

 

コメント

このページにコメントする

 

このページのタグ

Page tag : Palm

 

 


Copyright(C) 2005-2017 project-enigma.
Generated by CL-PREFAB.