Icono del sitio Blog de Programación y Desarrollo – Nube Colectiva

Tipos de Datos en Oracle Database – Parte 2

En la parte anterior llamada Tipos de Datos en Oracle Database – Parte 1, pudimos apreciar los diferentes tipos de datos que tiene Oracle en cuanto a sus tipos de datos integrados. Oracle es una base de datos con muchos años en el mercado y probablemente es una de las bases de datos con mas variedad de tipos que existen en el mercado. En esta segunda parte te compartiré otro grupo de Tipos de Datos en Oracle Database, vamos con ello.

Partes

Antes de continuar, te invito a escuchar el Podcast: “Herramientas Online Para el Trabajo en Equipo” y “5 Habilidades que Debe Tener un Desarrollador Backend” (Anchor Podcast): 

Spotify: Sound Cloud: Apple Podcasts Anchor Podcasts

Bien ahora continuemos con el Post: Tipos de Datos en Oracle Database – Parte 2. 

Tipos de datos ANSI, DB2 y SQL/DS

Las sentencias de SQL que crean tablas y clústeres también pueden utilizar tipos de datos ANSI y tipos de datos de los productos de IBM SQL/DS y DB2. Oracle reconoce el nombre del tipo de datos ANSI o IBM que difiere del nombre del tipo de datos de Oracle Database. Convierte el tipo de datos al tipo de datos de Oracle equivalente, registra el tipo de datos de Oracle como el nombre del tipo de datos de la columna y almacena los datos de la columna en el tipo de datos de Oracle en función de las conversiones que se muestran en las tablas siguientes.

Tipo de datos SQL ANSI Tipo de datos de Oracle
CHARACTER(n)

CHAR(n)

CHAR(n)
CHARACTER VARYING(n)

CHAR VARYING(n)

VARCHAR2(n)
NATIONAL CHARACTER(n)

NATIONAL CHAR(n)

NCHAR(n)

NCHAR(n)
NATIONAL CHARACTER VARYING(n)

NATIONAL CHAR VARYING(n)

NCHAR VARYING(n)

NVARCHAR2(n)
NUMERIC[(p,s)]

DECIMAL[(p,s)]

NUMBER(p,s)
INTEGER

INT

SMALLINT

NUMBER(p,0)
FLOAT

DOUBLE PRECISION

REAL

FLOAT(126)

FLOAT(126)

FLOAT(63)

La mayoria de los datos de la tabla anterior, han sido explicados en la Parte 1 de este post, pero es importante saber que:

No definir columnas con los siguientes tipos de datos de SQL/DS y DB2, porque no tienen ningún tipo de datos de Oracle correspondiente:

Ten en cuenta que los datos de tipo TIME también se pueden expresar como datos de fecha y hora de Oracle.

Veamos ahora los Tipos de datos de SQL/DS y DB2 convertidos a tipos de datos de Oracle:

Tipo de datos SQL/DS o DB2 Tipo de datos de Oracle
CHARACTER(n) CHAR(n)
VARCHAR(n) VARCHAR(n)
LONG VARCHAR LONG
DECIMAL(p,s) NUMBER(p,s)
INTEGER

SMALLINT

NUMBER(p,0)
FLOAT NUMBER

De la tabla anterior debemos saber que:

Tipos definidos por el usuario

Los tipos de datos definidos por el usuario utilizan tipos de datos integrados de Oracle y otros tipos de datos definidos por el usuario como bloques de construcción de tipos de objetos que modelan la estructura y el comportamiento de los datos en las aplicaciones. Las secciones siguientes describen las diversas categorías de tipos definidos por el usuario.

Tipos de Objetos

Los tipos de objetos son abstracciones de las entidades del mundo real, como las órdenes de compra, que manejan los programas de aplicación. Un tipo de objeto es un objeto de esquema con tres tipos de componentes:

Tipos de datos REF

Un identificador de objeto (representado por la palabra clave OID) identifica de forma exclusiva un objeto y le permite hacer referencia al objeto desde otros objetos o desde tablas relacionales. Una categoría de tipo de datos llamada REF representa dichas referencias. Un tipo de datos REF es un contenedor para un identificador de objeto. Los valores REF son punteros a objetos.

Cuando un valor REF apunta a un objeto inexistente, se dice que REF está “colgando”. Un colgante REF es diferente de un nulo REF. Para determinar si REF está colgando o no, usa la condición IS[ NOT] DANGLING. Por ejemplo, dada la vista de objeto oc_orders en el esquema de ejemplo oe, la columna customer_refes de tipo REF a tipo customer_typ, que tiene un atributo cust_email:

Varrays

Una array es un conjunto ordenado de elementos de datos. Todos los elementos de una array dada son del mismo tipo de datos. Cada elemento tiene un índice, que es un número que corresponde a la posición del elemento en la array. El número de elementos en una array es el tamaño de la array. Las array de Oracle son de tamaño variable, por lo que se denominan varrays. Debes especificar un tamaño máximo cuando declaras el varray.

Cuando declaras un varray, Oracle no asigna espacio. Define un tipo, que puedes usar como:

Oracle normalmente almacena un objeto de array en línea (como parte de los datos de la fila) o fuera de línea (en un LOB), según su tamaño. Sin embargo, si especificas características de almacenamiento separadas para un varray, Oracle lo almacena fuera de línea, independientemente de su tamaño. Consulta varray_col_properties de CREATE TABLE para obtener más información sobre el almacenamiento de varray.

Tablas Anidadas

Un tipo de tabla anidada modela un conjunto desordenado de elementos. Los elementos pueden ser tipos integrados o tipos definidos por el usuario. Puedes ver una tabla anidada como una tabla de una sola columna o, si la tabla anidada es un tipo de objeto, como una tabla de varias columnas, con una columna para cada atributo del tipo de objeto.

Una definición de tabla anidada no asigna espacio. Define un tipo, que puedes usar para declarar:

Cuando una tabla anidada aparece como el tipo de una columna en una tabla relacional o como un atributo del tipo de objeto subyacente de una tabla de objetos, Oracle almacena todos los datos de la tabla anidada en una sola tabla, que asocia con la tabla relacional o tabla de objetos.

Hasta aquí llegamos con esta segunda parte sobre los tipos de datos que existen en Oracle. No hemos visto como se verian estos datos dentro de una tabla, ello lo veremos cuando desarrollemos proyectos con esta genial base de datos, primero es importante conocer los detalles teóricos sobre ellos.

Ten Paciencia, lo que quiero es que conozcas bien los tipos de datos en Oracle Database y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje. 

Nota (s)

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.

Salir de la versión móvil