Oracle 的数据类型

      Oracle的内置数据类型可以分为3大类,即标量数据类型、几何数据类型和关系数据类型。下面分别介绍这些数据类型:

 

      1、表量数据类型

       标量数据类型是一般的数据类型,可以返回标量值。标量数据类型可以由字符数据类型、数字数据类型、日期数据类型、RAW数据类型、大对象数据类型和行数据类型组成。

      字符数据类型可以用来存储各种字符数据,这些字符数据既可以是定长度数据类型,也可以是变长度数据类型。定长度数据类型用来存储固定长度的字符。如果实际的字符长度小于指定的长度,则不足位数在前面添加空格补齐。例如,char和nchar都是定长数据类型。nchar数据类型可以存储国际语言。对应变长度的数据类型来说,实际存储字符长度依据字符数据的长度来定。这些数据类型包括varchar2和nvarchar2.

       数字数据类型总是变长类型的。这些数据类型包括number,他们可以用来存储各种数字数据类型,日期数据类型是Date,可以用来存储各种日期。raw数据类型用来存储字节比较小的二进制数据类型,其存储的最大字节数是2000.

     在oracle 9i系统中,提供了6中用来存储大对象(Large OBject ,LOB)的数据类型这些数据类型是:

     (1)CLOB和LONG数据类型用来存储固定长度的字符数据类型;

     (2)NCLOB用来存储固定长度的国际数据类型;

     (3)BLOG和LONG RAW数据类型用来存储非结构化的数据类型;

     (4)BFILE数据类型用来在操作系统中存储非结构化数据。

   

 对于LONG和LONG RAW数据类型来说,必须遵循下列一些规则:

     (1) 每个表只能有一个这种数据类型的列;

     (2)最大字节数是2GB;

     (3)可以使用select语句返回数据;

     (4)可以联机存储数据;

     (5)不支持对象类型;

     (6)串行访问数据。

 

  对于LOB数据类型,在使用过程中,必须遵循下列一些规则:

     (1)每个表可以有多个这种数据类型的列;

     (2)最大字节数是4GB;

     (3)使用select语句只能返回存储这种数据的位置;

     (4)既可以联机存储,也可以脱机存储;

     (5)支持对象类型;

     (6)随机访问数据。  

 

      行数据类型包括ROWID和UROWID。ROWID和UROWID是一种伪列,它可以与表中的其他列同时被访问。这种数据类型具有下列一些特征:

      (1)ROWID和UROWID是表中每一行数据的唯一标示符;

      (2)ROWID和UROWID不能作为一个列明确地存储;

      (3)虽然ROWID和UROWID不能作为某个行的物理位置,但是可以用来定位行的位置;

      (4)ROWID和UROWID提供了访问表中数据行的最快方式;

      (5)ROWID和UROWID存储在索引中。

2、集合数据类型

     集合数据类型用来存储存储了对象的对象。在oracle系统中,有两种集合数据类型,即变长数组(VARRAY)数据类型和嵌套表(TABLE)数据类型。

     VARRAY数据类型用来存储比较小的数组元素,如客户的电话号码。这种数据类型具有下面一些特征:

      (1)数组时有序的数据元素集;

      (2)数组中的所有元素都具有相同的数据类型;

      (3)每一个元素都有一个索引;

      (4)数据元素的数量就是数组的大小;

      (5)允许数组的大小是变长的。

     TABLE数据类型提供了定义表中一列的方式。这样,这种数据类型的列可以用来存储大量记录集。TABLE数据类型具有下列一些特征:

      (1)嵌套表是无序的记录集或行集;

      (2)嵌套表中的行具有相同的结构;

      (3)嵌套表中的数据行与父表分开存储,但是通过指针相对应;

      (4)嵌套表的存储特性可以由数据库管理员定义;

      (5)嵌套表没有预定义的大小

 

3、关系数据类型

     关系数据类型(REF)用作数据库中的指针。这些数据类型应用要求具有对象类型。例如,订单表中的没一项与产品表中的某一项必须对应。这种数据类型体现了oracle的对象关系特征。  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值