我如何以有效的方式存储例程或在数据库中安排。例如我有20个房间,在这个房间8-10,10-12,...这样的方式类举行。我如何存储这种类型的以有效的方式在数据库中安排?
答案 0 :(得分:2)
room
--------------
id INT PK<------------
[more data like] |
room INT/VARCHAR |
seats INT |
Foreign Key
room_schedule |
--------------- |
id INT PK |
room_id INT<----------
start DATETIME
end DATETIME
您现在可以轻松地将特定时间附加到特定房间。要使数据库特定格式的开始/结束允许您在其他时间显示中进行转换。
答案 1 :(得分:1)
这取决于你的需求,例如报告,leagal等。
有关此问题的介绍,请参阅Developing Time-Oriented Database Applications in SQL(Snodgrass)和Temporal patterns(Fowler)
这也可以使用图形数据库完成,请参阅neo4j示例Time-Based Versioned Graphs
答案 2 :(得分:0)
我会有两张桌子:Rooms和RoomSchedule。
RoomSchedule (ID int主键, RoomID int / 房间的外键 /, 来自int, 到int )
这样您就可以在以后轻松检查可用性和冲突,并生成报告。
答案 3 :(得分:0)
带有房产的房间的一张桌子 一张预订表及其属性。
简单规范化。