Database design 工作日和值的数据库表设计

Database design 工作日和值的数据库表设计,database-design,Database Design,我很想在这里谈谈你的想法。我正在创建一个表,用于存储员工每周的轮班时间 例如:Jon周一上午9:00至晚上9:00工作,周二上午10:00至下午5:00工作,等等 我该如何继续设计这张桌子?我想到了两个选择 (1) 对于每一张唱片,我可以在上午和下午有两行,在周一到周日有专栏 ID | ParentID | Type | Monday | Tuseday ......Sunday ----------------------------------------------------------

我很想在这里谈谈你的想法。我正在创建一个表,用于存储员工每周的轮班时间

例如:Jon周一上午9:00至晚上9:00工作,周二上午10:00至下午5:00工作,等等

我该如何继续设计这张桌子?我想到了两个选择

(1) 对于每一张唱片,我可以在上午和下午有两行,在周一到周日有专栏

ID | ParentID | Type | Monday | Tuseday ......Sunday
-----------------------------------------------------------------
1  | 1        | AM  | 9:00    | 9:00          12:00
2  | 1        | PM  | 9:00    | 5:00          02:00
3  | 2        | AM  | 10:00   | 
4  | 2        | PM  | 10:00   |
(2) 我可以将首选项以XML格式保存在一列中

ID | Info
-------------------------------------------------------------------
1  | |Hours|Monday|9:00 AM - 9:00PM|Monday|Tuseday........|Hours
还有更好的主意吗


感谢

通常,如果我要设计数据库,我会决定信息是纯粹存储在数据库中以供应用程序使用,还是会针对这些数据编写查询

我发现存储XML数据是存储应用程序将要使用的应用程序数据的好方法

当我知道将有查询写入这些字段时,使用XML会更麻烦,因此我宁愿使用普通的表结构


因此,这将取决于这些数据的用途,如果您打算编写查询,从这些字段创建报告。

您必须问问自己:轮班是否总是在一周的同一天发生?轮班有时会每10天重复一次吗…?这些是承包商,因此没有任何形式的gurentee…一周中的每一天都可能不同,或者根本没有不同。这将是每日日程安排,谢谢您的评论。此数据将从网站插入并查询。它后面会有一个入口。我想我对如何存储这种类型的数据有些困惑。我知道一周中的每一天都是连续的。只能是周一到周日。那么我应该在表中创建7列并相应地存储值吗?是的,因为它们是常量,所以可以这样做。对于可伸缩性(在本例中,我可能看不到的用法),您可以垂直而不是水平地创建它。创建一个DayType,它将是表中的外键,但正如您所说的,在您的情况下,它只会是Mon-Sun,所以请保持简单愚蠢的X-)