首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Oracle频道
中国IT教育
Google
首页 入门基础 安装配置 体系架构 PLSQL 备份恢复 性能调优 开发技术 资讯动态 考试认证 下载 专题 讨论
您现在的位置: 中国IT实验室 >> Oracle >> 体系架构 >> 正文

Oracle的表结构:纵向和横向


  此外,要管理和操作纵向表很有难度。要找到并确定一个逻辑行,需要进行多次自连接操作。因此,很少有商业报表软件能够利用纵向表来生成任何有意义的报表。

  例如,以上面的表为例,要从横向表中获取所有男性雇员的记录,我们可以使用以下的select语句:

  Select * from HR where 性别 like '男'

  而要从纵向表中获取同样的数据,我们就需要进行自连接查询,先获取ID,然后获取数据:

  Select * from VR where id in
  (Select id from VR
  where key = '性别'
  and value = '男')

  很多开发人员会编写一些特别的函数或存储过程将纵向结构表转换为横向结构,只有这样做,他们才能做出报表,并能够更容易地使用这些数据。

  纵向表分组

  纵向数据存储的变体能够引入自定义算法把逻辑数据行聚类。这意味着可以使用两个或以上ID列来作为分组属性。例如: 

ID

分组

KEY

VALUE

123

1

姓名

李丽

123

1

电话

22221111

123

2

机器

HP 520

123

2

供应商

Verizon

234

1

姓名

马军

234

1

电话

33334444

234

1

电子邮件

m@mail.com

243

2

机器

IBM T61

  当生成自定义报表时,可以很容易地根据第二个“分组”列来将不同的内容分割到不同的页或不同的区域内。因此,上面的纵向表可以得到以下报表:

Report 1

 

 

Page 1

 

姓名

电话

 

李丽

22221111

 

Page 2

 

机器: HP 520

供应商: Verizon

 

Report 2

 

 

Page 1

 

姓名

电话

电子邮件

马军

33334444

m@mail.com

Page 2

 

机器: IBM T61

  总结

  本文为大家介绍了在数据库表存储数据的两种不同方式。虽然纵向数据布局的缺点往往会把它的优点覆盖掉,但某些情况下为了获得灵活性,这种纵向结构是设计数据组织结构的唯一出路。另一方面,横向表则是管理数据库管理系统中存储数据的传统模式,更易于实现数据规范化。对于软件和数据库架构师而言,要选择何种设计方式来长久保存数据取决于特定的应用需求。

上一页  [1] [2] 

【责编:Ken】

中国IT教育

相关文章
没有相关文章
相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
· 关于Oracle学习以及DBA工作机会
· Oracle初学者入门指南-什么是Metalink?
· Oracle10g新进程 MMON 和 MMNL
· ORA-00600: kmgs_pre_process_request_6
· 创建Oracle数据库 win 10g
· Oracle RAC环境对并行查询的支持
· Oracle 10g下asm安装:候选盘问题
· 如何使用exp以传输表空间的方式将其导出
· 个人经验总结:Oracle数据库SCN号详解
· 讲解往表中顺序插入N条记录的简易方法
 社区讨论
 博客论点
 频道精选
· 新版CCNA考试大纲 07年8月1日生效
· 新手学习宝典:Linux常用命令全集
· 知已知彼,深入了解系统安全知识
· 从入门到精通 java初学者实践系列教程
· 共同学习——Oracle入门基础专题
· ADO.net与PowerBuilder的综合比较
· 评论:中国互联网“钱”途何在?
· 中科院:龙芯要成"中国奔腾" 能卖1亿颗
 Oracle频道相关导航
技术导航:
 入门基础
 安装配置
 体系架构
 考试认证
 资讯动态
 PL/SQL
 备份与恢复
 性能调优
 Oracle开发
产品导航
 存储
 新品导购 | 评测 | 存储交换 | 磁盘存储
 数据备份 | 网络存储 | 光存储
 服务器
 行情 | 新闻 | 产品导购 | 评测