Rozważ pricestabelę z tymi kolumnami:
id integer primary key
product_id integer -- foreign key
start_date date not null
end_date date not null
quantity integer
price numeric
Chciałbym, aby baza danych egzekwowała zasadę, że produkt może mieć tylko jedną cenę w określonej ilości w zakresie dat (via where <date> BETWEEN start_date AND end_date).
Czy tego rodzaju ograniczenie oparte na zakresie jest wykonalne?
daterangejest dokładnie tak samo, ponieważ ma wyłączną dolną granicę, ale łatwo to naprawić. Czy naprawdę powinienem migrować moje dane, aby użyćdaterangetypu kolumny (może to stanowić osobne pytanie, jeśli jest to lepsze), czy też jest to rozsądne?