数据库设计中引入OOD思想

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值