Ano, souhlasil bych s tím, až na to, že bych neodstranil záznam, když vyprší pronájem – snadno poznáte, že platnost pronájmu vypršela, protože je v minulosti, takže si automaticky uchováváte i historii pronájmu.
Koneckonců, dostupných dat je nekonečně mnoho, takže byste museli uměle omezovat podporovaný rozsah dat, pokud byste šli obráceně (a ukládali si volná data).
V budoucnu. A v jistém smyslu i v minulosti.
Hádám také, že chcete nějaké další informace pro případ, že je služba pronajatá (např. jméno pronajímatele) a nebylo by kam uložit, pokud by pronájem představoval neexistující řádek!
Vzhledem k tomu, že podrobnost pronájmu je celý den, myslím, že se díváte na strukturu databáze podobnou této:
Všimněte si, jak RENTING_DAY PK přirozeně zabraňuje překrývání.
Případně se můžete vzdát RENTING_DAY a mít START_DATE a END_DATE přímo v RENTING, ale to by vyžadovalo explicitní překrytí rozsahů kontroly , které nemusí být v ideálním měřítku .