カレンダーアプリケーションを書きたいです。DB スキーマの作業に支障をきたすのは、本当に繰り返し発生する項目です。これを整理する方法について、いくつかの意見をいただければ幸いです。
ユーザーがイベントを作成し、それが月曜日に全員に繰り返されることを入力した場合はどうなるでしょうか? それをすべてデータベースに保存するにはどうすればよいでしょうか。無限のイベントを作成することはできません。すべてのイベントがどこに行くのかを計算できるように、関連情報を保持するテーブルをそこに置くだけですか? もしそうなら、ユーザーがカレンダーの新しい部分を表示するたびにそれらを計算する必要があります。月ごとにページをめくっていても、定期的なアイテムが大量にある場合はどうなるでしょうか?
また、スキーマは、ユーザーがアイテムをクリックして、シーケンス内のすべてのアイテムではなく「シーケンス内のこのアイテムを編集してください」と言ったときに処理する必要があります。次に、シーケンスから 1 つの項目を分割しますか?
更新 1
私はiCalをまったく見ていません。明確にするために、定期的なアイテムを計算できる情報を保存し、シーケンスと異なるものを分割することは、それを転送できるように保存するための優れた方法だと思います. しかし、アプリケーションでは、これは遅すぎて、いたるところで日付計算を行うことができないと思います。