工作日和价值观的数据库表设计

时间:2010-04-25 20:12:54

标签: database-design

我很乐意在此提出您的想法。我正在创建一个表格,用于存储员工的每周班次。

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

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

(1)对于每条记录,我可以有两行AM和PM,并且列周日至周日

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

有更好的想法吗?

由于

1 个答案:

答案 0 :(得分:2)

通常,如果我要设计数据库,我会决定将信息纯粹存储在数据库中以便在应用程序中使用,或者是否会针对此数据编写查询。

我发现存储XML数据是存储应用程序数据的一种很好的方式,应用程序将使用它。

当我知道会向这些字段写入查询时,使用XML会更麻烦,所以我宁愿使用普通的表结构。

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