三日間RSSリーダークッキング その2 RSSの構造

はてなの配信しているRSSをみてじーっと考える。opera等のRSSリーダーをみていても、RSSから取得する情報は、

  • channel サイトの情報等
  • title
  • link
  • description
  • dc:date

の要素があれば十分だろう。
channel以外は、複数個のitem要素それぞれに付与されている。
RSSのエントリをメーラーのように扱いたいので、RSSを更新した際に重複したエントリを識別しないといけない。そこで、エントリのidにtitle+link+dateのハッシュを使うことにする。
えーと、ここでDBの設計するべきなんかな。

DB

urlテーブル
RSSのURLを指定。ここにchannelから得られる情報をいれる。titleとdescriptionくらいかな。
entryテーブル
RSSのitemに対応。フィールドは、title,link,desc,date,url,idの5つ。urlはどこのRSSに属すかの識別用。idはエントリ識別用。上記のとおりハッシュを使う。idがプライマリになるけど,SQLiteだとUNIQUEを指定するくらい?あーでもPRIMARY KEYを指定しておいてもいいのか。