我正在绘制一个非常小的数据库,并且有一些关于良好设计实践的设计问题。假设我有一张餐厅餐桌,一家餐厅有地址、营业时间和特殊日(MTuWThF)
一家餐厅只有一个地址。我很想将所有相关的地址字段(Street 1、Street 2、City、State、ZIP)放入Restaurant表中,但我认为将其分解为自己的表将允许我在我的域中创建一个Address类对象,并且,如果我想更改稍后完成地址的方式,它可能会更容易。我通常认为 1:1 表格是不好的做法......
营业时间是餐厅营业时间的 HH:MM 表示。我不需要完整的 DateTime 因为 Date 部分会被浪费。那么,varchar 是表示这一点的最佳方式吗?
有一个特殊的日子(星期一、星期二等)我也想存储在我的模式中。将这一天存储为 varchar 是否有意义,或者有人会建议使用周日(1)、周一(2)......等创建一个参考表(有点像枚举)。并使用 int 来存储特殊日是哪一天?
**DayOfWeek** Id (int) Day (varchar) **Service** Id (int) RestaurantId (int) DayOfWeekId (int) ...
多谢你们!