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

来源:互联网 发布:tea解密汇编算法 编辑:程序博客网 时间:2024/04/30 17:37

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

1) 纵向摆放数据

2)横向摆放数据

 

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

 

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

 

Customer     IDCustomerCodeNameContactPersonAddress1Address21A001ACIT李小姐越秀区天河区

 

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

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

 

CustomerProperty
customer

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

 

 

2)什么情况下横向摆放

 

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原创粉丝点击