MySQL中的假日数据库表

时间:2017-06-24 01:54:31

标签: mysql sql database database-design

我打算为假期设计一个数据库表。但直到现在,我都不知道这样做。

基本上我理想的数据库表包含:

+++++++++++++++++++++++++++++++++++
|Date   |Holiday Name |Location ID|

**我国的不同州会有各种类型的假期,因此位置ID起着重要作用。

我有所有这些属性,但我不能真正使用日期作为我的主键。我假设同一天会有两个或两个以上的假期或节日。我也不把假期作为主键,因为我想每年保留所有记录。

我不确定应该使用哪个或哪个主键来确定假期。

感谢您的帮助,非常感谢。

2 个答案:

答案 0 :(得分:1)

您有一个复合主键(date, holiday)

我建议把它作为表中的唯一键。然后,您可以将自动递增列作为主键。

假期重叠并不罕见。复活节和逾越节经常重叠。反过来,斋月在太阳年中循环,可以与任何其他(非穆斯林)假期重叠。

答案 1 :(得分:0)

您可以制作复合主键:

CREATE TABLE INFO (
  HolidayDate DATE,
  HolidayName VARCHAR(255),
  LocationID INT,
  PRIMARY KEY (HolidayDate , HolidayName, LocationID);
)

这意味着在同一地点和同一日期可能没有2个假期。