私はSqliteデータベースにデータを格納する必要があるiPhoneアプリケーションを設計しています。レコード内の1列が配列で、配列のサイズが固定されていない注意してくださいがSqliteデータベーステーブル:配列はレコードの1つの列になりますか?
@interface Record:NSObject {
NSInteger primaryKey;
NSString *name;
NSInteger priority;
NSMutableArray *items;
};
- テーブルの
1つのレコードは次のようになります。サイズはゼロまたは任意の正の整数にすることができます。
質問:私はSqliteテーブルを設計するとき、レコードの1列として配列を指定できますか?いいえの場合は、このテーブルをどのように設計すればよいですか?
更新:ありがとうございました。私の質問への答えはNOです。もしそうなら、それを実装するために他のアーカイブメソッド、例えばProperty ListやNSKeyedArchiverを使用できますか?
本当ですか?それが提出されてから3年後に下落した? – duffymo
多対多は、RDBMS内の配列のストレージを正規化するプロセスです。 1つのテーブルは、レコード行の主キーとそれぞれのテーブル内の配列値行の2つの列で構成されます。配列の要素がすべてある場合と同じ数の行があるため、どちらの列も一意にはできませんが、他の表の配列の値と同じように、一意の値を持つことができます。 (申し訳ありませんが、ダウンボトムは遅いですが、私は何か他のものを探している間に答えを見ました) – SilverbackNet
これは一つの方法ですが、単純な一対多の方法も同様です。 – duffymo