prices
इन स्तंभों के साथ एक तालिका पर विचार करें :
id integer primary key
product_id integer -- foreign key
start_date date not null
end_date date not null
quantity integer
price numeric
मैं नियम को लागू करने के लिए डेटाबेस को पसंद करूंगा कि किसी उत्पाद की एक तिथि सीमा (के माध्यम से where <date> BETWEEN start_date AND end_date
) में एक विशिष्ट मात्रा में एक ही कीमत हो सकती है ।
क्या इस तरह की सीमा-आधारित बाधा उचित है?
daterange
यह बिल्कुल समान है क्योंकि यह विशेष रूप से निचली सीमा है, लेकिन इसे ठीक करना आसान है। क्या मुझे वास्तव में एकdaterange
कॉलम प्रकार का उपयोग करने के लिए अपने डेटा को माइग्रेट करना चाहिए (क्या यह एक अलग सवाल है कि अगर यह बेहतर है) या क्या यह दो-कॉलम उचित है?