SQL建模 - 提示+最佳实践

时间:2014-07-14 18:28:33

标签: sql database modeling

我正在为我的朋友开始一个小项目asp.net 4.5 + SQL 2008R2所以他可以停止管理是纸上用品; - )

他可以租用多个小木屋,他可以租用其他产品(电机,皮划艇,小船,钓鱼线......)

我首先为名为 小屋 的小屋创建了一个表格,并为可以租用的名为 产品的产品创建了一个表格即可。但是现在我在质疑自己是否应该只有一张桌子而且两张桌子都有?两者都会有价格历史变化,但 小屋 会有多个字段未被 产品 使用(例如:#of room,#bed,max person,water?,electicity?...)。产品基本上只是名称和描述。

这里有什么最好的实践?在什么时候我们合并或分割像我的例子中的东西?

感谢您的帮助

理查德

2 个答案:

答案 0 :(得分:0)

我怎么做的是让你的'产品'表带有'产品类型'列和扩展表'chalets',它们将与具有主要外键关系的products表(Chalet类型)绑定。

如果其他类型的“产品”也需要跟踪其他数据,则此模型允许您添加其他表格。

答案 1 :(得分:0)

这取决于性能和性能,没有什么可以决定它,但测试和基准测试。

最佳做法是normalize您的数据。

在您的情况下,您必须问自己:"小木屋是否可以租用其他产品?"或者某些产品属于某些小屋。

如果你同意第一个,那么合并定义会更有意义,如果你更倾向于使用altter,那么拆分表可能会更好。

无论哪种方式,使用少量数据(因为它听起来你正在处理[< 1M行])性能明智,它会变得非常重要,你可以选择对你最有意义的东西。