我有一个网站,有许多不同的实体业务作为客户。
我需要一张表格,为每个商家保留“关闭”日期。
我最初的设计是将所有常见的美国联邦假期列在一张表格中,然后我通过密码日的主表格中的外键来引用。这使得在UI中放置复选框非常容易,因此他们可以轻松地检查联邦假期。
但我还需要支持自定义截止日期。
我的初步设计如下:
+-------------+
| close_dts | +-------------+ +--------------+
--------------+ | holidays | | holiday_tags |
| id | +-------------+ +--------------+
| holiday_id | --> | id | | id |
| custom_date | | holiday_tag | --> | tag |
+-------------+ | date | | name |
+-------------+ +--------------+
哪里
我在这里基本上要问的是如何处理我通常会遇到的情况 喜欢链接到另一个标准项目表,但偶尔也会定义一个自定义项 没有链接到任何东西的项目。
这是MySQL,如果重要的话。
谢谢。
答案 0 :(得分:1)
你的设计没问题。您可以添加约束,以便始终只填充holiday_id或custom_date。
但是,您可以使您的模型更简单:
+----------------+ | close_dts | +--------------+ -----------------+ | holiday_tags | | id | +--------------+ | holiday_tag_id | --> | id | | close_date | | tag | +----------------+ | name | +--------------+
假日_tag_id可以为空。