Está en la página 1de 11

Diseño de Base de Datos

Ing. Erick Álvarez

TIPOS DE DATOS BLOB, CLOB, NCLOB Y BFILE

Fredy Oswaldo Pérez Pérez……..


Octavo Ciclo Ingeniería en Sistemas…

Carnet no. 0909-07-09368


ÍNDICE

Contenido
Índice ......................................................................................................................................................... 2
INTRODUCCION ................................................................................................................................. 3
TIPOS DE DATOS Oracle ................................................................................................................... 4
TIPO DE DATO CLOB................................................................................................................... 4
TIPO DE DATO BLOB ................................................................................................................... 4
TIPO DE DATO NCLOB ............................................................................................................... 5
TIPO DE DATO BFILE .................................................................................................................. 5
TODOS LOS TIPOS DE DATOS EN ORACLE ........................................................................... 5
CONCLUSIÓN ....................................................................................................................................... 9
RECOMENTACIONES ..................................................................................................................... 10
BIBLIOGRAFIA ................................................................................................................................... 11
INTRODUCCION

Los tipos de datos CLOB, BLOB, NCLOB Y BFILE son tipos de


datos de gran magnitud de almacenamiento todos tienen
aproximadamente un espacio para guardar de 4 GB , se diferencias en
que es lo que almacena cada uno de ellos, como cadenas de texto,
archivos binarios, etc.
TIPOS DE DATOS Oracle

TIPO DE DATO CLOB


Un CLOB (Objeto de caracteres grandes) es un tipo de datos de Oracle que puede almacenar
hasta 4 GB de datos. CLOB son útiles para almacenar texto

TIPO DE DATO BLOB


Los atributos de tipo Blob permiten almacenar información de tipo binario en la base de
datos.

Un BLOB (objeto binario grande) es un tipo de datos de Oracle que puede almacenar hasta
4 GB de datos. BLOB son útiles para almacenar información digitalizada (por ejemplo,
imágenes, audio, video)

Para actualizarlos, se deberá asignarles un string indicando donde está ubicado el archivo
que se desea almacenar. Al insertar o actualizar el registro, se transfiere el contenido de
dicho archivo a la base de datos.

Por ej.si se agrega el registro en un procedimiento:

New

AttCode = 1

AttBlob = 'C:\images\Photo.jpg'

Endnew

Esto hace que la imagen Photo.jpg ubicada en c:\images se almacene en el registro 1.

Si por el contrario la actualización se realiza en una transacción, se digita en el atributo


Blob el camino al archivo.
A la inversa, cuando se hace referencia a atributos de tipo Blob, la información de la base
de datos se almacena en archivos temporales en disco, cuyo camino y nombre completo se
devuelve a los atributos.

Luego, al hacer referencia al atributo Blob (por ejemplo, en un comando For each), se graba
el contenido en la base de datos en un archivo, cuyo nombre se genera automáticamente, y
es el contenido del atributo. Por ejemplo:

For each

where AttCode = 1

&Path = AttBlob

Endfor

La variable &Path (de tipo Char) contendrá el camino completo al archivo generado
automáticamente con el contenido almacenado en la base de datos.

TIPO DE DATO NCLOB


NCLOB (Nacional objetos grandes de caracteres) de Oracle es un tipo de datos que puede
almacenar hasta 4 GB de datos de caracteres. Es similar a un CLOB, pero los personajes son
almacenados en una NLS o nacional conjunto de caracteres multibyte.

TIPO DE DATO BFILE


Un BFILE es un tipo de datos utilizado para almacenar un localizador (enlace) a un archivo
externo binario (archivo almacenado fuera de la base de datos). El tamaño máximo de archivo,
puede ser de hasta 4 GB (sistema operativo específico). Desde el punto de vista de Oracle,
BFILE son de sólo lectura y no se pueden replicar en otro sistema.

TODOS LOS TIPOS DE DATOS EN ORACLE


TIPO CARACTERISTICAS OBSERVACIONES
Entre 1 y 2000 bytes como máximo. Aunque se introduzca
un valor más corto que el indicado en el tamaño, se
Cadena de caracteres
CHAR rellenará al tamaño indicado. Es de longitud fija, siempre
(alfanuméricos) de longitud fija
ocupará lo mismo, independientemente del valor que
contenga
Cadena de caracteres de longitud Entre 1 y 4000 bytes como máximo. El tamaño del campo
VARCHAR2
variable dependerá del valor que contenga, es de longitud variable.
Cadena de caracteres de longitud
VARCHAR En desuso, se utiliza VARCHAR2 en su lugar
variable
Entre 1 y 2000 bytes como máximo. El juego de caracteres
Cadena de caracteres de longitud
del tipo de datos (datatype) NCHAR sólo puede ser
NCHAR fija que sólo almacena caracteres
AL16UTF16 ó UTF8. El juego de caracteres se especifica
Unicode
cuando se crea la base de datos Oracle
Entre 1 y 4000 bytes como máximo. El juego de caracteres
Cadena de caracteres de longitud
del tipo de datos (datatype) NCHAR sólo puede ser
NVARCHAR2 variable que sólo almacena
AL16UTF16 ó UTF8. El juego de caracteres se especifica
caracteres Unicode
cuando se crea la base de datos Oracle
Como máximo admite hasta 2 GB (2000 MB). Los datos
LONG deberán ser convertidos apropiadamente al moverse
entre diversos sistemas.

Este tipo de datos está obsoleto (en desuso), en su lugar


se utilizan los datos de tipo LOB (CLOB,NCLOB). Oracle
recomienda que se convierta el tipo de datos LONG a
Cadena de caracteres de longitud alguno LOB si aún se está utilizando.
LONG
variable
No se puede utilizar en claúsulas WHERE, GROUP BY,
ORDER BY, CONNECT BY ni DISTINCT

Una tabla sólo puede contener una columna de tipo LONG.

Sólo soporta acceso secuencial.


Hasta 2 GB.
Almacenan cadenas binarias de
LONG RAW
ancho variable
En desuso, se sustituye por los tipos LOB.
Hasta 32767 bytes.
Almacenan cadenas binarias de
RAW
ancho variable
En desuso, se sustituye por los tipos LOB.
Admiten hasta 8 terabytes (8000 GB).

Permiten almacenar y manipular Una tabla puede contener varias columnas de tipo LOB.
LOB (BLOG,
bloques grandes de datos no
CLOB,
estructurados (tales como texto,
NCLOB, Soportan acceso aleatorio.
imágenes, videos, sonidos, etc)
BFILE)
en formato binario o del carácter
Las tablas con columnas de tipo LOB no pueden ser
replicadas.
Permite almacenar datos binarios
BLOB Admiten hasta 8 terabytes
no estructurados
CLOB Almacena datos de tipo carácter Admiten hasta 8 terabytes
Admiten hasta 8 terabytes.

NCLOB Almacena datos de tipo carácter


Guarda los datos según el juego de caracteres Unicode
nacional.
Admiten hasta 8 terabytes.
Almacena datos binarios no
estructurados en archivos del
sistema operativo, fuera de la El administrador de la base de datos debe asegurarse de
BFILE base de datos. Una columna que exista el archivo en disco y de que los procesos de
BFILE almacena un localizador del Oracle tengan permisos de lectura para el archivo .
archivo a uno externo que
contiene los datos

ROWID físico almacena la dirección de fila en las tablas, las


tablas en clúster, los índices, excepto en las índices-
organizados (IOT).

Almacenar la dirección única de ROWID lógico almacena la dirección de fila en tablas de


ROWID cada fila de la tabla de la base de índice-organizado (IOT).
datos

Un ejemplo del valor de un campo ROWID podría ser:


"AAAIugAAJAAC4AhAAI". El formato es el siguiente:
Para "OOOOOOFFFBBBBBBRRR", donde:

OOOOOO: segmento de la base de datos (AAAIug en el


ejemplo). Todos los objetos que estén en el mismo
esquema y en el mismo segmento tendrán el mismo valor.

FFF: el número de fichero del tablespace relativo que


contiene la fila (fichero AAJ en el ejemplo).

BBBBBB: el bloque de datos que contiene a la fila (bloque


AAC4Ah en el ejemplo). El número de bloque es relativo a
su fichero de datos, no al tablespace. Por lo tanto, dos filas
con números de bloque iguales podrían residir en
diferentes datafiles del mismo tablespace.

RRR: el número de fila en el bloque (fila AAI en el


ejemplo).

Este tipo de campo no aparece en los SELECT ni se puede


modificar en los UPDATE, ni en los INSERT. Tampoco se
puede utilizar en los CREATE. Es un tipo de datos utilizado
exclusivamente por Oracle. Sólo se puede ver su valor
utilizando la palabra reservada ROWID, por ejemplo:

select rowid, nombre, apellidos from clientes

Ejemplo 2:

SELECT ROWID, SUBSTR(ROWID,15,4) "Fichero",


SUBSTR(ROWID,1,8) "Bloque",
SUBSTR(ROWID,10,4) "Fila" FROM proveedores

Ejemplo 3: una forma de saber en cuántos ficheros de


datos está alojada una tabla:

SELECT COUNT(DISTINCT(SUBSTR(ROWID,7,3))) "Numero


ficheros " FROM facturacion
Admite ROWID a tablas que no sean de Oracle, tablas
UROWID ROWID universal
externas. Admite tanto ROWID lógicos como físicos.
Se admiten hasta 38 dígitos de precisión y son portables a
cualquier entre los diversos sistemas en que funcione
Oracle.

Para declarar un tipo de datos NUMBER en un CREATE ó


UPDATE es suficiente con:

nombre_columna NUMBER

opcionalmente se le puede indicar la precisión (número


total de dígitos) y la escala (número de dígitos a la derecha
de la coma, decimales, los cogerá de la precisión indicada):
Almacena números fijos y en
NUMBER
punto flotante
nombre_columna NUMBER (precision, escala)

Si no se indica la precisión se tomará en función del


número a guardar, si no se indica la escala se tomará
escala cero.

Para no indicar la precisión y sí la escala podemos utilizar:

nombre_columna NUMBER (*, escala)

Para introducir números que no estén el el formato


estándar de Oracle se puede utilizar la función
TO_NUMBER.
Almacena tipos de datos Es un tipo NUMBER que sólo almacena números en punto
FLOAT
numéricos en punto flotante flotante
El tipo de datos DATE almacena el año (incluyendo el
siglo), el mes, el día, las horas, los minutos y los segundos
(después de medianoche).

Oracle utiliza su propio formato interno para almacenar


fechas.

Los tipos de datos DATE se almacenan en campos de


longitud fija de siete octetos cada uno, correspondiendo al
siglo, año, mes, día, hora, minuto, y al segundo.

Para entrada/salida de fechas, Oracle utiliza por defecto el


Almacena un punto en el tiempo formato DD-MMM-AA. Para cambiar este formato de
DATE fecha por defecto se utiliza el
(fecha y hora)
parámetro NLS_DATE_FORMAT.

Para insertar fechas que no estén en el mismo formato de


fecha estándar de Oracle, se puede utilizar la
función TO_DATE con una máscara del formato: TO_DATE
(el “13 de noviembre de 1992”, “DD del MES, YYYY”)

Almacena datos de tipo hora,


TIMESTAMP
fraccionando los segundos
Almacena datos de tipo hora
TIMESTAMP
incluyendo la zona horaria
WITH TIME
(explícita), fraccionando los
ZONE
segundos
Almacena datos de tipo hora
TIMESTAMP Cuando se usa un SELECT para mostrar los datos de este
incluyendo la zona horaria local
WITH LOCAL tipo, el valor de la hora será ajustado a la zona horaria de
(relativa), franccionando los
TIME ZONE la sesión actual
segundos
Tipo de datos abstracto. En Se asocia a un esquema XML para la definición de su
XMLType
realidad se trata de un CLOB. estructura.
CONCLUSIÓN

Aunque no son los tipos de datos más comunes en una base de datos
en la actualidad pueden ser de mucha utilidad sobre todo por la
necesidad de guardar información digital ya sean imágenes o grandes
cantidades de información en una base de datos para ello estos tipos de
datos nos brindan el espacio necesario para poder almacenar esta
información.
RECOMENTACIONES

Crear algunas tablas de ejemplo en Oracle y utilizar los diferentes tipos


de datos de Oracle incluyendo los tipos de datos CLOB, BLOB,
NCLOB Y BFILE.
BIBLIOGRAFIA
http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=268

http://www.devjoker.com/contenidos/Articulos/83/Trabajar-con-datos-de-tipo-BLOB-en-
ORACLE.aspx

http://www.orafaq.com/wiki/BFILE

http://www.orafaq.com/wiki/CLOB

http://www.orafaq.com/wiki/NCLOB

También podría gustarte