数据库设计中数据摆放的方法

 数据库的设计主要是用来存储数据,业务层面的数据,要存储到数据库中,有多种实现方式,比较常用的两种实现方式

1) 纵向摆放数据

2)横向摆放数据

 

  1)什么情况下纵向摆放数据

 

例如:客户资料的存储,因为各个客户的资料千差万别,有些属性是别的客户所没有的属性,这样的话如果横向摆放的话,一个客户增加一个属性,那么这个客户表就要加多一列来存放变化的客户信息,为了一个客户信息的变化而增加一列,不是很好的解决方法,这样数据库的扩展性就大大受到了限制,程序方面也要做相应的变化。维护性,扩展性都不强。

 

Customer          
IDCustomerCodeNameContactPersonAddress1Address2
1A001ACIT李小姐越秀区天河区

 

例如上面的表是一个客户表,如果客户在有一个联系人的话就要在加多一个栏位。

所以这样数据摆放不是很好。这种情况就要横向摆放。

 

CustomerProperty
customer

IDName
IDCustomerPropertyID
Value
1公司名称
1公司名称ACIT
2公司代码
2公司代码A001
3联系人
3联系人李小姐
4地址1
4地址1 越秀区
5地址2
5地址2 天河区

 

 

2)什么情况下横向摆放

 

    当你判断当前的业务需求,在将来一段时间内固定不变的时候,可以考虑横向摆放。

例如 报价系统当两个供应商的价格进行比较的话。几个参数比较固定:金额差,绝对增幅,年度增幅。这种情况下就可以考虑横向摆放

也可以纵向摆放,看你怎么取舍,那一边站的比率比较大,就站在那边。毕竟纵向摆放有一个转换(要进行行列转化。数据库性能上有点损耗。)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值