Ja, daar zou ik mee instemmen, behalve dat ik het record niet zou verwijderen wanneer de huurperiode afloopt - je zult gemakkelijk weten dat een huurperiode is verlopen omdat deze in het verleden is, dus je houdt automatisch ook de geschiedenis van huren bij.
Er is tenslotte een oneindig aantal beschikbare datums, dus u zou het ondersteunde datumbereik kunstmatig moeten beperken als u de andere kant op zou gaan (en opgeslagen vrije datums).
In de toekomst. En in zekere zin ook in het verleden.
Ik vermoed ook dat je wat aanvullende informatie wilt voor het geval een dienst wordt gehuurd (bijvoorbeeld de naam van de huurder) en dat er geen plaats zou zijn om dat op te slaan als huren zou worden weergegeven door een niet-bestaande rij!
Aangezien de granulariteit van het huren een hele dag is, denk ik dat je naar een databasestructuur kijkt die lijkt op deze:
Merk op hoe RENTING_DAY PK op natuurlijke wijze overlappingen voorkomt.
U kunt ook de RENTING_DAY weggooien en START_DATE en END_DATE direct in RENTING hebben, maar hiervoor is expliciete bereikoverlap nodig cheques , die mogelijk niet ideaal schalen .