関連質問を持っているテーブルの上にSQLiteの1対多の関係:Android: SQLite one-to-many designアンドロイド:レコードを変更する受注頻繁
これは、ここに私の最初の投稿をされ、そしてそれはまた、データベースを扱う初めてです。何かの説明や修正がある場合は、私に知らせてください。
RSSフィードから収集したアイテムをよりよく格納するためにSQLiteデータベースを設定しようとしています。私は3つのテーブルをセットアップしようとしています。それは次のようになります。
表1:チャネル・テーブル(アイテムは一定の順序に滞在)
_id |フィードの場所|チャンネルタイトル|チャンネル説明| ...
表2:項目表
_id(アイテムがアクセスし、削除を容易にするために、時系列順に格納する必要があります)|アイテムタイトル| ... |チャンネルID | ...
ここで、チャネルIDには、項目が属するチャネルの行番号があります。
その部分はかなりシンプルですが、ここに私の問題があります。私はそれらに関連するカテゴリで項目を照会できるようにしたい。それらは解析されるXMLに含まれており、それらの値でソートするのは素晴らしいことです。だから、私は別のテーブルをセットアップし始め、上記の1対多の関係を実装しましたが、問題が発生しました。これらのアイテムのIDは、より多くのアイテムが解析されたときに変更される可能性が高いため、IDは静的ではなく、以前に行ったようにカテゴリをリンクすることはできません。また、私が見つけた別の課題は、アイテムが同じカテゴリに関連する可能性があったため、各カテゴリが多くの異なるアイテムを指すのに理想的かもしれないという事実でした。
それは私が立ち往生している場所です。
それのいくつかを利用することができる願っています。項目はいつでもデータベースに追加したり削除することができるため、カテゴリは変更される可能性があります。誰もRSSリーダーを見て、古いアイテムを見たくないので、古いアイテムを削除することにしました。私はその問題を解決するためにユニークなIDを実装するつもりです。ありがとう。 – scottmacwatters
ああ!したがって、カテゴリの実際のIDは実際には変更されません。ただし、カテゴリ自体は削除される可能性があるため、アイテムとカテゴリ間の「一対多の」関係が壊れる可能性があります。私は私の仮定でいくらか正しいですか? – dbm
遅い応答に申し訳ありませんが、はい。私はIDの "Item"のURL Linkを使用して終わるつもりだと思う。それを識別するのに十分なユニークさです。そして、同じURLに行く2つがあるべきではありません。 – scottmacwatters