Mysql 用于存储日租金的数据库结构

Mysql 用于存储日租金的数据库结构,mysql,database,database-design,Mysql,Database,Database Design,我当前的数据库结构 cars(id,name,created) rents(id,car_id,date,rent) 汽车租金每天都在变化 所以我在租金表中为每辆车放了366行 有没有更好的数据库结构来存储日租金经过研究,我找到了以下解决方案 在这个场景中,我按时间间隔插入租金,如果我想修改某个特定日期的租金,我也会插入该日期 在为某一特定日期获取租金时,我选择了最新的1 数据库 cars(id,name,created) 101,Rolls-Royce,2014-02-12 09:33:3

我当前的数据库结构

cars(id,name,created)

rents(id,car_id,date,rent)
汽车租金每天都在变化

所以我在租金表中为每辆车放了366行


有没有更好的数据库结构来存储日租金

经过研究,我找到了以下解决方案

在这个场景中,我按时间间隔插入租金,如果我想修改某个特定日期的租金,我也会插入该日期

在为某一特定日期获取租金时,我选择了最新的1

数据库

cars(id,name,created)
101,Rolls-Royce,2014-02-12 09:33:31
102,Rolls-Royce,2014-02-12 09:33:31

rents(id,car_id,start_date,end_date,rent,created)
11,101,2014-03-01,2014-03-31,2000,2014-02-12 10:33:31
12,101,2014-03-10,2014-03-10,2000,2014-02-12 11:35:36
质疑


您可以使用date_ini、date_end,如果可能的话,每隔一段时间进行一些租赁,如果范围为1月1日至1月31日,然后将租金更改为1月15日租金,如何执行该表租金:1月1日至1月14日,100欧元。以及1月15日至1月31日的200欧元(或9月2日,无论何时再次发生变化)。正如我所说的,如果可能的话,那么在1月5日获得租金的查询是什么
$id = 101
$date = 2014-03-10
SELECT rent FROM rents WHERE car_id='$id' and '$date' between start_date and end_date ORDER BY created DESC LIMIT 1