仕様変更について その2

補足説明

これまで、データベースについて説明したこと無かったので&コメントのお返事。
これまでのデータベースについて、細かい補足です。
それから、このDBは、ある時点でのタグと再生数・マイリスト数・コメント数のスナップショットを、履歴をたどれるように保存することを目的として作っています。

テーブルの使い方

固定的情報はvideoテーブルに、毎回変化する情報をget_video_infoテーブルに格納しています。動画の説明文はvideo_commentテーブルに格納しています。変化することもあるものですが、初回の追加以降、更新・追加されていません。
仕様変更案にある物は、これを変化があったときに追加して格納しようかどうか、です。ただ、説明文を「含める」となると、ファイルサイズが大きくなって扱いづらくなります。良い解決法が思い浮かんだら取得しますが、いまは保存しない方向です。
また、videoおよびget_video_infoテーブルは、文字列形のデータを直接格納するのを避けています。さすがにvideoからタイトルを外したりしませんでしたが、長くなりがちな動画の説明文は別テーブルです。理由はパフォーマンスに影響が出そうだからです。検証はしていない&SQLiteってみんな文字列で保存とか書いてあった気がする、ので根拠としては薄いのですが。

その他

video_idが二つある理由は、今となっては思い出せません。ちょうどよい機会なので整理します。

video.id=get_video_info.video_idというわかりにくいカラム名は、動画IDが一意だからvideoテーブルのキーでインデックスにしてしまったのが原因ですね。かといってvideoテーブルにidを新しく作るのもどうかと。idじゃなくてvideo_idにすればいいのかでしょうかね。なんとなくidって名前でカラム名を統一しているだけなので。

今日のところは以上です。

補足の補足

テーブルやカラム名は、APIに合わせて変える予定です。
構造は大きく変える予定はありません。