【发布时间】:2012-05-30 20:45:28
【问题描述】:
我正在绘制一个非常小的数据库,并且有一些关于良好设计实践的设计问题。假设我有一张 Restaurant 桌子,一家餐厅有一个 Address 和一个 Open Time 和一个 Special Day (MTuWThF)
餐厅只有一个地址。我很想把所有 相关的地址字段(Street 1、Street 2、City、State、ZIP) Restaurant 表,但我认为将其分解为 自己的表将允许我在我的 域对象,如果我想更改地址的完成方式 以后可能会更容易。我通常认为 1:1 表为 不好的做法...
营业时间是餐厅营业时间的 HH:MM 表示。我不需要完整的 DateTime 因为 Date 部分会被浪费。那么,varchar 是表示这一点的最佳方式吗?
-
还有一个特殊的日子(星期一、星期二等)我也想存储在我的架构中。将这一天存储为 varchar 是否有意义,或者有人会建议使用周日(1)、周一(2)......等创建一个参考表(有点像枚举)。并使用 int 来存储 Special Day 是哪一天?
**DayOfWeek** Id (int) Day (varchar) **Service** Id (int) RestaurantId (int) DayOfWeekId (int) ...
谢谢大家!
【问题讨论】:
-
澄清一下,我现在的目标是 MS SQL Server 数据库。
标签: c# sql sql-server database-design