例子:
汽车销售商要求对销售车型的建立数据库进行统计
考虑这样几种设计方案
1)
轿车(ID,颜色,价格,车长,排量,最多乘坐人数,销量,有无顶窗)
卡车(ID,颜色,价格,车长,排量,最多乘坐人数,载重量,销量)
摩托车(ID,颜色,价格,车长,排量,踏板或档位车)
2)
车(ID,颜色,价格,车长,排量,最多乘坐人数,销量,有无顶窗,载重量,踏板或档位车)
3) OOD思想
车(ID,颜色,价格,车长,排量,销量,型号)
注:型号字段用于区分轿车,卡车或摩托车,不加入乘坐人数字段,是因为摩托车乘坐人数最多总是2个
轿车(ID,最多乘坐人数,有无顶窗)
卡车(ID,最多乘坐人数,载重量,销量)
摩托车(ID,踏板或档位车)
我觉得第3种方案比较合理
1 第二种设计 表中将产生大量null值,造成空间的浪费
2 如果需要对所有车型的销量进行统计,
第一种方案需要查询3个表使用union连接,而按照第三种只需查询总表就可,大大提高查询速度
汽车销售商要求对销售车型的建立数据库进行统计
考虑这样几种设计方案
1)
轿车(ID,颜色,价格,车长,排量,最多乘坐人数,销量,有无顶窗)
卡车(ID,颜色,价格,车长,排量,最多乘坐人数,载重量,销量)
摩托车(ID,颜色,价格,车长,排量,踏板或档位车)
2)
车(ID,颜色,价格,车长,排量,最多乘坐人数,销量,有无顶窗,载重量,踏板或档位车)
3) OOD思想
车(ID,颜色,价格,车长,排量,销量,型号)
注:型号字段用于区分轿车,卡车或摩托车,不加入乘坐人数字段,是因为摩托车乘坐人数最多总是2个
轿车(ID,最多乘坐人数,有无顶窗)
卡车(ID,最多乘坐人数,载重量,销量)
摩托车(ID,踏板或档位车)
我觉得第3种方案比较合理
1 第二种设计 表中将产生大量null值,造成空间的浪费
2 如果需要对所有车型的销量进行统计,
第一种方案需要查询3个表使用union连接,而按照第三种只需查询总表就可,大大提高查询速度
本文探讨了汽车销售商针对不同类型的车辆(轿车、卡车、摩托车)建立数据库的三种设计方案,并对比了这些方案的优点与不足之处。文章认为第三种采用面向对象思想的设计更为合理,能有效减少空值并提高查询效率。
1368

被折叠的 条评论
为什么被折叠?



