我正在为我的朋友开始一个小项目asp.net 4.5 + SQL 2008R2所以他可以停止管理是纸上用品; - )
他可以租用多个小木屋,他可以租用其他产品(电机,皮划艇,小船,钓鱼线......)
我首先为名为 小屋 的小屋创建了一个表格,并为可以租用的名为 产品的产品创建了一个表格即可。但是现在我在质疑自己是否应该只有一张桌子而且两张桌子都有?两者都会有价格历史变化,但 小屋 会有多个字段未被 产品 使用(例如:#of room,#bed,max person,water?,electicity?...)。产品基本上只是名称和描述。
这里有什么最好的实践?在什么时候我们合并或分割像我的例子中的东西?
感谢您的帮助
理查德
答案 0 :(得分:0)
我怎么做的是让你的'产品'表带有'产品类型'列和扩展表'chalets',它们将与具有主要外键关系的products表(Chalet类型)绑定。
如果其他类型的“产品”也需要跟踪其他数据,则此模型允许您添加其他表格。
答案 1 :(得分:0)
这取决于性能和性能,没有什么可以决定它,但测试和基准测试。
最佳做法是normalize您的数据。
在您的情况下,您必须问自己:"小木屋是否可以租用其他产品?"或者某些产品属于某些小屋。
如果你同意第一个,那么合并定义会更有意义,如果你更倾向于使用altter,那么拆分表可能会更好。
无论哪种方式,使用少量数据(因为它听起来你正在处理[< 1M行])性能明智,它会变得非常重要,你可以选择对你最有意义的东西。