0

さまざまな処理時間を含むデータベースを構築しようとしています。したがって、メインテーブルには、プロセスの時間を入れたい列「時間」があります。時間は固定の時間の選択で、同じままです。 1日2回

または、ユーザーが決定した時間 (時間が関係する場合) にすることもできます (例: 09:00、10:30、11:00)。

私の質問は、それを sqlite データベースにどのように配置しますか? 固定時間は、メインテーブルの「時間」フィールドで個別のテーブルと外部キーを使用することができます。しかし、ユーザーが決定した部分をどのように持ち込む必要がありますか?

一方、すべての時間を独自の行に含む個別のテーブルを使用し、メインテーブルの外部キーを使用して対応するすべての時間を接続できます。しかし、それは決まった時間にはあまり適していません。

私の意見では、これらの解決策はどれも私を喜ばせません。

4

1 に答える 1

0

SQLite は、保存する値の大きさに応じて、整数データを 1、2、3、4、6、または 8 バイトで保存します。したがって、キー/値システムを使用したい場合は可能です。たとえば、次のように、任意の種類の時間オブジェクトを小さなバイトサイズの数値で表した時間のルックアップ テーブルを作成できます。

Time (table)
index time type
1     08:00  fixed
2     12:00  fixed
3     18:00  fixed
4     06:00  fixed
5     20:00  fixed
6     09:00  free
7     10:30  free

次に、処理時間 (表):

timeIndex  processTime
3           24
7           22543

プロセス時間テーブルの値は、異なる時間が 256 未満であると仮定すると、1 バイトとして格納され、インデックスが 255 を超える時間は 2 バイトとして格納されます。

SQlite の高速ルックアップ機能を使用すると、プロセッサ時間の値を抽出するときに時間の値を引き出すことができ、データベースが小さくなります。

于 2013-10-17T03:12:34.563 に答える