Hãy xem xét một prices
bảng với các cột sau:
id integer primary key
product_id integer -- foreign key
start_date date not null
end_date date not null
quantity integer
price numeric
Tôi muốn cơ sở dữ liệu thực thi quy tắc rằng một sản phẩm chỉ có thể có một mức giá ở một số lượng cụ thể trong phạm vi ngày (thông qua where <date> BETWEEN start_date AND end_date
).
Là loại ràng buộc dựa trên phạm vi có thể thực hiện được?
daterange
là chính xác giống nhau vì nó là độc quyền ràng buộc thấp hơn, nhưng đó là dễ dàng để sửa chữa. Tôi có nên thực sự di chuyển dữ liệu của mình để sử dụngdaterange
loại cột (có thể đặt câu hỏi riêng nếu điều đó tốt hơn) hoặc điều này có hợp lý không?