次の表に対応する次のモデルがあります。
PriceAvailability
ID| PRODUCT_ID| VALID_FROM|VALID_TO|PRICE
基本的に、テーブルには特定の日付範囲の特定の製品の価格が格納されます。製品のように、2012年1月1日から2012年5月3日までは10ドル、5月3日から6月末までは12ドルなどです。次のような検証ツールを設定する必要があります。
- 各レコードに、その特定の製品の別の日付範囲と重複または競合しない日付範囲があることを確認します。つまり、2012年1月1日から2012年3月1日までと2012年2月1日から2012年4月1日までの日付範囲を持つ2つの行を含めることはできません。それぞれ製品ID1の場合。
バリデーターを設定し、開始日の単純なバリデーターを設定することも考えましたが、この種のチェックを実装することに固執しています。どうすればいいですか?