हां, मैं इसके साथ जाऊंगा, सिवाय किराए के समाप्त होने पर मैं रिकॉर्ड को नहीं हटाऊंगा - आपको आसानी से पता चल जाएगा कि किराए की अवधि समाप्त हो गई है, इसलिए आप स्वचालित रूप से किराए के इतिहास को भी रखते हैं।
आखिरकार, अनंत संख्या में उपलब्ध तिथियां हैं, इसलिए यदि आप दूसरी तरफ जाते हैं तो आपको तारीखों की समर्थित सीमा को कृत्रिम रूप से सीमित करना होगा (और मुफ्त तिथियों को संग्रहीत करना होगा)।
भविष्य में। और, कुछ अर्थों में, अतीत में भी।
साथ ही, मुझे लगता है कि अगर कोई सेवा किराए पर ली जाती है (उदाहरण के लिए किराएदार का नाम) तो आप कुछ अतिरिक्त जानकारी चाहते हैं और वहां कहीं भी स्टोर करने के लिए नहीं होगा यदि किराए पर लेने का प्रतिनिधित्व अस्तित्वहीन पंक्ति द्वारा किया जाता है!
चूंकि रेंटिंग की ग्रैन्युलैरिटी पूरे दिन की होती है, मुझे लगता है कि आप इस तरह के डेटाबेस स्ट्रक्चर को देख रहे हैं:
ध्यान दें कि RENTING_DAY PK स्वाभाविक रूप से ओवरलैप को कैसे रोकता है।
वैकल्पिक रूप से, आप RENTING_DAY को छोड़ सकते हैं और START_DATE और END_DATE को सीधे RENTING में ले सकते हैं, लेकिन इसके लिए स्पष्ट श्रेणी ओवरलैप की आवश्यकता होगी जाँच करता है , जो आदर्श रूप से स्केल नहीं हो सकता ।