在数据库中存储计划

时间:2010-07-09 07:25:02

标签: mysql database oracle database-design scheduling

我如何以有效的方式存储例程或在数据库中安排。例如我有20个房间,在这个房间8-10,10-12,...这样的方式类举行。我如何存储这种类型的以有效的方式在数据库中安排?

4 个答案:

答案 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)

带有房产的房间的一张桌子 一张预订表及其属性。

简单规范化。