具有天数和相应价格的数据库

时间:2011-07-15 23:36:28

标签: database-design

我需要你们的建议。我想开发一个数据库,它将存储大约20个项目,有5个季节。每个季节约2-5周。每个季节对应特定的价格。 对于一年中的每一天,数据库将存储关于预订的信息(可用/预订/使用不足)并且应用程序将显示用户在特定日期选择的视觉信息。

id |_____name____|  01.01 |  01.02  |   01.03 | ................... | 12.31
_____________________________________________________________
1  |_____unit1___| 

如何设计我的数据库以存储全年的信息。此外,由于2月28日和29天的变化,我需要保持灵活性。

1 个答案:

答案 0 :(得分:2)

您不希望每年的每一天都有一列。相反,我可能会创建三个表:

items:
id
name

seasons:
id
name
start_date
end_date

prices:
item_id
season_id
price

如果您的季节每年都有所不同,那么您需要明确指定每年的每个季节(每年5行)。然后在价格表中输入价格,同时输入项目和季节的外键。然后获得给定项目的今天价格:

SELECT prices.price
FROM prices
JOIN items ON (items.id=prices.item_id)
JOIN seasons ON (seasons.id=prices.season_id)
WHERE item.name="unit1"
    AND seasons.start_date >= NOW() AND seasons.end_date <= NOW();