Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Blob Clob Nclob Bfile
Blob Clob Nclob Bfile
Erick lvarez
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 CONCLUSIN ....................................................................................................................................... 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.
Por ej.si se agrega el registro en un procedimiento: New AttCode = 1 AttBlob = 'C:\images\Photo.jpg' Endnew
Si por el contrario la actualizacin se realiza en una transaccin, se digita en el atributo Blob el camino al archivo.
A la inversa, cuando se hace referencia a atributos de tipo Blob, la informacin 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 automticamente, 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 automticamente con el contenido almacenado en la base de datos.
CHAR
VARCHAR2 VARCHAR
Cadena de caracteres de longitud Entre 1 y 4000 bytes como mximo. El tamao del campo variable depender del valor que contenga, es de longitud variable. Cadena de caracteres de longitud En desuso, se utiliza VARCHAR2 en su lugar variable
NCHAR
Entre 1 y 2000 bytes como mximo. El juego de caracteres Cadena de caracteres de longitud del tipo de datos (datatype) NCHAR slo puede ser fija que slo 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 mximo. El juego de caracteres Cadena de caracteres de longitud del tipo de datos (datatype) NCHAR slo puede ser variable que slo almacena AL16UTF16 UTF8. El juego de caracteres se especifica caracteres Unicode cuando se crea la base de datos Oracle Como mximo admite hasta 2 GB (2000 MB). Los datos LONG debern 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 an se est utilizando. variable No se puede utilizar en clasulas WHERE, GROUP BY, ORDER BY, CONNECT BY ni DISTINCT Una tabla slo puede contener una columna de tipo LONG. Slo soporta acceso secuencial.
NVARCHAR2
LONG
LONG RAW
Almacenan cadenas binarias de ancho variable Almacenan cadenas binarias de ancho variable
Hasta 2 GB. En desuso, se sustituye por los tipos LOB. Hasta 32767 bytes. En desuso, se sustituye por los tipos LOB. Admiten hasta 8 terabytes (8000 GB).
RAW
Permiten almacenar y manipular bloques grandes de datos no estructurados (tales como texto, imgenes, videos, sonidos, etc) en formato binario o del carcter
Una tabla puede contener varias columnas de tipo LOB. Soportan acceso aleatorio. Las tablas con columnas de tipo LOB no pueden ser replicadas.
BLOB CLOB
Permite almacenar datos binarios Admiten hasta 8 terabytes no estructurados Almacena datos de tipo carcter Admiten hasta 8 terabytes Admiten hasta 8 terabytes.
NCLOB
BFILE
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 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 fsico almacena la direccin de fila en las tablas, las tablas en clster, los ndices, excepto en las ndicesorganizados (IOT). Almacenar la direccin nica de ROWID lgico almacena la direccin de fila en tablas de cada fila de la tabla de la base de ndice-organizado (IOT). datos Un ejemplo del valor de un campo ROWID podra ser: "AAAIugAAJAAC4AhAAI". El formato es el siguiente:
ROWID
Para "OOOOOOFFFBBBBBBRRR", donde: OOOOOO: segmento de la base de datos (AAAIug en el ejemplo). Todos los objetos que estn en el mismo esquema y en el mismo segmento tendrn el mismo valor. FFF: el nmero 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 nmero de bloque es relativo a su fichero de datos, no al tablespace. Por lo tanto, dos filas con nmeros de bloque iguales podran residir en diferentes datafiles del mismo tablespace. RRR: el nmero 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. Slo 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 cuntos ficheros de datos est alojada una tabla: SELECT COUNT(DISTINCT(SUBSTR(ROWID,7,3))) "Numero ficheros " FROM facturacion UROWID ROWID universal Admite ROWID a tablas que no sean de Oracle, tablas externas. Admite tanto ROWID lgicos como fsicos. Se admiten hasta 38 dgitos de precisin 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 precisin (nmero total de dgitos) y la escala (nmero de dgitos a la derecha de la coma, decimales, los coger de la precisin indicada): NUMBER Almacena nmeros fijos y en punto flotante nombre_columna NUMBER (precision, escala) Si no se indica la precisin se tomar en funcin del nmero a guardar, si no se indica la escala se tomar escala cero. Para no indicar la precisin y s la escala podemos utilizar: nombre_columna NUMBER (*, escala) Para introducir nmeros que no estn el el formato estndar de Oracle se puede utilizar la funcin
TO_NUMBER. FLOAT Almacena tipos de datos numricos en punto flotante Es un tipo NUMBER que slo almacena nmeros en punto flotante El tipo de datos DATE almacena el ao (incluyendo el siglo), el mes, el da, las horas, los minutos y los segundos (despus 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, ao, mes, da, hora, minuto, y al segundo. Para entrada/salida de fechas, Oracle utiliza por defecto el formato DD-MMM-AA. Para cambiar este formato de fecha por defecto se utiliza el parmetro NLS_DATE_FORMAT. Para insertar fechas que no estn en el mismo formato de fecha estndar de Oracle, se puede utilizar la funcin TO_DATE con una mscara del formato: TO_DATE (el 13 de noviembre de 1992, DD del MES, YYYY)
DATE
TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE XMLType
Almacena datos de tipo hora, fraccionando los segundos Almacena datos de tipo hora incluyendo la zona horaria (explcita), fraccionando los segundos Almacena datos de tipo hora incluyendo la zona horaria local (relativa), franccionando los segundos Tipo de datos abstracto. En realidad se trata de un CLOB. Cuando se usa un SELECT para mostrar los datos de este tipo, el valor de la hora ser ajustado a la zona horaria de la sesin actual Se asocia a un esquema XML para la definicin de su estructura.
CONCLUSIN
Aunque no son los tipos de datos ms comunes en una base de datos en la actualidad pueden ser de mucha utilidad sobre todo por la necesidad de guardar informacin digital ya sean imgenes o grandes cantidades de informacin en una base de datos para ello estos tipos de datos nos brindan el espacio necesario para poder almacenar esta informacin.
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-enORACLE.aspx http://www.orafaq.com/wiki/BFILE http://www.orafaq.com/wiki/CLOB http://www.orafaq.com/wiki/NCLOB