イベントを繰り返すアプリケーションがあります。したがって、イベントは、日ごとに「n 日ごと」、週ごとに「月/火/水/その他の n 週間ごと」、月ごとに「1 日、2 日、3 日などに n か月ごと」に繰り返すことができます。
テーブル設計の観点からこれを処理する最良の方法は何ですか? 2つの方法を考えることができますが、どちらが優れているかはわかりません。
1) 上記の 5 つの列、日のケースに 1 つ、週と月にそれぞれ 2 つの列。使用されていないものは null になります。私のアプリケーションでは、null が表示され、それらを無視することを選択できました。
2) 2 番目のテーブル (events_dateinfo など) を作成し、クエリで JOIN します。
オプション 2 はおそらくより「正規化」されているようですが、そうでないこともありますが、そのような単純なことに対してやり過ぎだと思いますか? また、オプション 2 に行く場合、行を列に変換する方法はありますか?つまり、特定のイベントの 2 週間の属性を選択し、それらを列として扱う方法はありますか?