`

抽象数据类型,让Oracle数据库数据管理更加容易

 
阅读更多

抽象数据类型,让Oracle数据库数据管理更加容易

作者: Victor,  出处:IT专家网, 责任编辑: 包春林, 
2009-02-04 10:10
  姓名,其实包括两个部分,分别为姓与名。在没有抽象数据类型之前,在数据库设计的时候,往往需要利用两个字段来保存这个姓名内容,如First_name与Last_name等等。这主要是因为在很多时候,前台应用程序只需要用到姓即可,因为在称呼别人的时候,往往不会连名带姓的叫。如在CRM系统中,若利用CRM系统自带的邮件系统给客户发送邮件的时候,台头往往是李公、张公等等。而不会带来名字。为此,就需要把姓与名分开来保存。

  姓名,其实包括两个部分,分别为姓与名。在没有抽象数据类型之前,在数据库设计的时候,往往需要利用两个字段来保存这个姓名内容,如First_name与Last_name等等。这主要是因为在很多时候,前台应用程序只需要用到姓即可,因为在称呼别人的时候,往往不会连名带姓的叫。如在CRM系统中,若利用CRM系统自带的邮件系统给客户发送邮件的时候,台头往往是李公、张公等等。而不会带来名字。为此,就需要把姓与名分开来保存。

  此时,若没有抽象数据类型的话,则在数据库中就需要设立两个字段来处理。但是,在Oracle数据库8以后的版本,包括现在最新的数据库版本,都有一个抽象数据类型,专门来处理这些问题。简单的讲,抽象数据类型就是一些可以作为单独实体的小的基本数据类型的集合。或者说,抽象数据类型是用户自己做的一个箱子,里面有很多抽屉,而每个抽屉就是一个原始的数据类型,如INT或者Varchar数据类型。把几个基本的数据类型根据不同的需要,组合成一个新的抽象数据类型,这就让数据库管理员在处理数据的时候,更加的容易;而且容易控制,减少出错的几率。

  一、抽象数据类型的用途。

  抽象数据类型在实际工作中非常管用。因为自从面向对象的JAVA语言出现后,Oracle数据库设计者就开始意识到创建抽象数据类型的能力可以大大简化他们的Oracle数据库设计。为此,经过他们的努力,在Oracle数据库中,对SQL语句进行了扩展,实现了面向对象的抽象数据类型。具体的来说,抽象数据类型主要有以下几个优点。

  一是可以重复使用。抽象数据类型集成了普通数据结构的层次性,为此,用户定义的抽象数据类型可以在整个数据库范围内多次使用。如此的话,就可以减少编码的时间,并且确保了数据结构的统一性。如用户自定义的姓名抽象数据类型,其不仅可以在企业员工信息表中使用,也可以在业务伙伴联系人表中使用。数据库管理员不需要每次使用时都定义一次。

  二是灵活性。有了抽象数据类型就可以创建数据的真实世界表现形式的能力使得Oracle数据库对象设计者可以塑造一个真实世界的模型,并且创建可以统一应用于设计的强有力的数据类型。其实,这就是面向对象的编程语言的根本特性。

  三是可以实现对数据很好的封装。因为每一个抽象数据类型以一个完整的实体存在,它包括数据定义、默认值和取值范围。添加抽象数据类型可以确保整个Oracle数据库范围的统一性与一致性。一旦定义了某个抽象数据库类型,它就可以加入到很多其他的抽象数据类型中,因为无论这些数据类型在数据库中出现在何处,相同的逻辑数据类型总是具有相同的定义、默认值与取值范围。如在一个ERP系统的产品基本信息表中,有产品规格、尺寸、颜色、外处理方式等等。为此,无论在产品基本信息表中,还是在订单表中,都可以实现很好的一致性。而且,此时若在订单层面对这个数据进行更新的话,也不容易出错。

  二、抽象数据类型建立与引用。

  上面笔者谈到过,抽象数据类型就是一些基本数据类型的组合。下面笔者以地址为例,谈谈抽象数据类型的建立与引用。如现在某个地址,具有如下内容,分别为街道、城市、省份、邮编等。其中街道、城市、省份三个位字符型数据,而邮编则为整数型字段。为了数据的一致性与统一性,数据库管理员决定采用抽象数据类型来管理这些内容。

  1、 定义名为Adrees的抽象数据类型。

  我们可以利用Create Type语句来建立新的抽象数据类型。具体的语句如下:

  Create OR Replace Type Adress AS OBJECT

  (街道 Varchar2(100),

  城市 Varchar2(100),

  省份Varchar2(100),

  邮编 integer(6));

  OR Replace关键字跟在其他语句中具有相同的作用。它表示若有其他相同的抽象数据类型的话,则这个语句就会替换原有的抽象数据类型。另外,在建立抽象数据类型的时候,利用中文名字来定义仍然不是一个好的习惯。最好要利用统一命名规则来定义其内部的名字。笔者上面只是为了叙述方面的简便起见,才如此定义。所以,数据库管理员在这方面还是需要有一个清晰的认识

分享到:
评论

相关推荐

    oracle数据库管理系统教学大纲

    《Oracle数据库管理系统》是一门专为计算机及应用及相关专业学生设计的高级课程,旨在教授学生如何使用Oracle数据库管理系统,这是目前世界上广泛应用的大型跨平台数据库系统。课程的目的是让学生掌握Oracle数据库的...

    oracle数据库入门书

    SQL数据操作和查询是Oracle数据库操作的核心,包括了解Oracle数据类型、创建表和约束、数据操纵语言(DML)、操作符以及高级查询技术。掌握这些知识可以帮助用户高效地管理数据,并执行复杂的查询来提取所需信息。 ...

    Oracle数据库设计文档——帮助数据库初学者了解数据库设计

    Oracle数据库设计是构建高效、稳定、可扩展的数据库系统的基础,尤其对于初学者来说,理解这一过程至关重要。本文档将深入探讨Oracle数据库的设计原理和实践技巧,帮助新手逐步掌握数据库设计的基本概念和方法。 ...

    Oracle数据库维护培训

    Oracle数据库是一种广泛使用的大型关系型数据库管理系统,其维护和管理对于确保系统稳定性和性能至关重要。在Oracle数据库维护培训中,有几个关键概念和技术是重点学习的内容,主要包括基础表空间、数据文件、Undo和...

    oracle数据库教学ppt

    Oracle数据库是世界上最流行的关系型数据库管理系统之一,广泛应用于企业级数据存储和管理。在Oracle数据库教学中,了解和掌握SQL语言是至关重要的。SQL,全称为Structured Query Language,即结构化查询语言,它是...

    oracle数据库

    Oracle数据库是一种广泛应用于企业级数据管理的高性能关系型数据库系统,由甲骨文公司开发和维护。本资源包含了从基础到高级的Oracle数据库查询技术,结合视频教程与源码,旨在帮助用户深入理解和掌握Oracle数据库的...

    Oracle数据库的表格设计

    Oracle数据库是业界领先的数据库管理系统之一,广泛应用于企业级数据管理和分析领域。它由Oracle实例和Oracle数据库本身构成,两者相辅相成,共同支撑起强大的数据处理能力。 ##### 实例结构 - **系统全局区(SGA)*...

    Oracle数据库案例教程.pdf

    从给定的文件信息来看,这是一本关于Oracle...通过以上分析,可以看出这本书全面覆盖了Oracle数据库的基础知识和进阶技能,从安装配置到高级管理,从SQL语句到PL/SQL编程,旨在培养读者成为熟练的Oracle数据库管理员。

    Oracle 数据库语法总结

    Oracle数据库是一种广泛使用的大型关系型数据库管理系统,以其强大的功能和高度的灵活性著称。这篇文档“Oracle数据库语法总结”旨在为用户提供一个全面的参考指南,帮助理解和掌握Oracle SQL的使用。 1. **数据...

    基于Oracle Spatial的矢量空间数据管理机制.pdf

    对象关系模型可以存储和管理空间几何实体,抽象数据类型SDO_GEOMETRY可以存储矢量空间数据。 Oracle Spatial的数据组织结构是一个层次结构,包括空间图层、几何图形、元素。空间图层是由若干几何图形构成,几何...

    oracle数据库常见面试题

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级数据存储和管理中扮演着重要角色。面试中,Oracle相关的技术知识是考察候选人技能的关键部分。以下是一些Oracle数据库常见的面试题及其详解: 1....

    MAPGIS与Oracle数据库空间数据格式的转换

    - **SDO_GEOMETRY**:一种抽象数据类型,用于存储空间数据。它可以存储在数据库表的一列中。 - **对象-关系模型**:Oracle Spatial采用这种模型来组织空间数据,其中每个空间实体的空间信息通过特定的结构进行定义。...

    Oracle 数据库学习教程

    Oracle数据类型章节介绍了Oracle数据库中可用的数据类型,包括字符型、数字型、日期型等。了解数据类型有助于正确地设计表结构和高效地存储数据。 Oracle体系结构(DBA)章节涉及数据库管理的专业知识,讲解了Oracle...

    Excel导入Oracle数据库关键代码

    在IT行业中,数据管理是一项至关重要的任务,而Excel与Oracle数据库的交互是常见的数据操作场景。Excel作为一种便捷的数据处理工具,常用于数据整理和分析,而Oracle数据库则用于存储大量结构化数据,确保数据的安全...

    抽象工厂实现多类型数据库

    - **扩展性**:易于扩展到其他数据库类型,如Oracle、MySQL等。 6. **DiaryManage项目**: 压缩包中的`DiaryManage`可能是实现这个功能的项目名称,它可能包含数据库操作相关的类和接口,以及对抽象工厂模式的...

    IBM-ETP-Oracle04第四章 数据库对象管理

    在IBM ETP (Enterprise Training Program) 的Oracle04课程中,第四章主要聚焦于数据库对象管理,这是一个核心的Oracle数据库管理主题。Oracle数据库是全球广泛使用的数据库系统之一,其对象管理涉及众多方面,包括但...

    oracle数据库教程,学习oracle数据库的使用必不可少

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据重要地位。本教程将深入浅出地引导你了解并掌握Oracle数据库的使用,对于任何希望在IT行业中涉及数据库管理的人来说,都是不可或缺的...

Global site tag (gtag.js) - Google Analytics