保存とクエリにはどのような方法が最適ですか3種類の異なるタイプの情報?例えば3種類のビットを格納する最も良い方法は?
:
YES/NO/NO COMMENT
iは整数としてこれらの件のデータを保存する必要がありますか? (1,2,3など)かどうか
私はローカルデータにsqliteを使用し、定期的にmssqlサーバーと同期させます。
保存とクエリにはどのような方法が最適ですか3種類の異なるタイプの情報?例えば3種類のビットを格納する最も良い方法は?
:
YES/NO/NO COMMENT
iは整数としてこれらの件のデータを保存する必要がありますか? (1,2,3など)かどうか
私はローカルデータにsqliteを使用し、定期的にmssqlサーバーと同期させます。
mssqlデータベースでは、ビットフィールドを使用でき、true/false/nullとしてyes/no/noコメントを持つことができますが、sqliteには特殊なブール値フィールドがなく、整数フィールドを使用する必要があります。私の提案は、sqliteで1/0/nullを使用することです。
+--------+----------------+
| id | name |
+--------+----------------+
| 0 | yes |
| 1 | no |
| 2 | no comment |
+--------+----------------+
、あなたがそれを必要とするが、外部キーとして、ID(おそらく整数)を使用する:あなたはこのような「回答」テーブルを持つ必要があります「の本による」それを行うために
。
このようにして、RDBMSは参照整合性を保持できます。
実際には、ほとんどの人が'Y'
,'N'
,'C'
のように1文字を使用しています。
また、「解決策」表のキーとして単一の文字を使用することはできませんが、私の経験ではこの解決法を選ぶことはほとんどありません。
null可能なビットタイプには、0、1、またはNULLの3つの値を指定できます。 – pmbAustin
"NULL"をデータとして使用するのは安全ですか?データを選択するときに便利ですか? – nadir
いいえ、 "null"はSQLで "不明"を意味します。 –