当前位置:首页 > 开发 > 数据库 > 正文

数据库/数据结构设计时的横表纵表选择

发表于: 2015-02-04   作者:遐想英灵   来源:转载   浏览次数:
摘要: 最近在给项目做数据结构设计。 由于介入项目稍晚,原有数据结构已经大体定型,金融行业相关的项目,特别是钱相关的数据,有非常大的不确定性和扩展性要求,因此这几天一直为数据库采用横表纵表头痛。。。 --------------------------------------------------- 横表:     当前主流的/常见的建表模式,将一条数据横向
最近在给项目做数据结构设计。
由于介入项目稍晚,原有数据结构已经大体定型,金融行业相关的项目,特别是钱相关的数据,有非常大的不确定性和扩展性要求,因此这几天一直为数据库采用横表纵表头痛。。。

---------------------------------------------------

横表:
    当前主流的/常见的建表模式,将一条数据横向排列,通常是一条数据体现对象的各种属性。正常结构为主键、字段1、字段2、字段3……。

横表的优缺点:
    优点:一条对应一个对象(或对象中部分属性),一目了然,可读性高,符合面向对象思想,同时便于编码阶段使用,开发维护难度低。
    缺点:没有扩展性,当出现需求变更时,只能强硬的增加字段、修改表结构。

---------------------------------------------------

纵表:
    类似于Map,采用键值对的形式存储数据,对应一个实体对象每个属性为一条属性,用于记录每个属性的值。正常结构为主键、字段名、字段值。

纵表的优缺点:
    优点:扩展性优。对象增加属性时,仅增加一条数据即可,对金融行业这种不确定费用项的场合尤其适用。
    缺点:可读性低,可维护性低,不体现面向对象思想。进行查询或统计时编码较复杂,如果设计的不够合理甚至会导致开发瓶颈。

---------------------------------------------------

当前我个人的选择:
    采用横纵结合的形式,主体为横表,主体对象中的不确定部分采用纵表。将一些固定项用横表形式存储,即时变更的数据采用纵表形式存储。
    不过这种横纵结合的形式,有领导说不太好,会导致开发更加复杂,我个人暂时没发现复杂的地方,反而比纯纵表要便于开发很多。。。。。有待开发过程中进行验证。

数据库/数据结构设计时的横表纵表选择

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
前一段时间了解到的,今天有空写下,备忘~ 先来说说横表和纵坐表的概念,先来看看以下两图: 第一张
横表变纵表列子1 横表: 纵表: 中介表: with tb1 as (select '张三' fname, 'A张三' f1, 'B张三' f2
前一段时间了解到的,今天有空写下,备忘~ 先来说说横表和纵坐表的概念,先来看看以下两图: 第一张
前一段时间了解到的,今天有空写下,备忘~ 先来说说横表和纵坐表的概念,先来看看以下两图: 第一张
前一段时间了解到的,今天有空写下,备忘~ 先来说说横表和纵坐表的概念,先来看看以下两图: 第一张
1.需要更改为横表的纵表如下图所示横表要求结构为busi_code为表的各个信息显示字段名称: 2.更改横表
前一段时间了解到的,今天有空写下,备忘~ 先来说说横表和纵坐表的概念,先来看看以下两图: 第一张
SQL代码 /* 在实际使用sql工作中总会碰到将某一列的值放到标题中显示.就是总说的行列转换或者互换.
数据库中 将一张纵表转换为一张横表 数据库纵表数据 转换后 转换代码 select cardid, max(case t.pr
行列互换 /* 在实际使用sql工作中总会碰到将某一列的值放到标题中显示.就是总说的行列转换或者互换.
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号