blob clob nclob bfile

Upload: danielle-brady

Post on 18-Oct-2015

62 views

Category:

Documents


0 download

TRANSCRIPT

  • Diseo de Base de Datos

    Ing. Erick lvarez

    TIPOS DE DATOS BLOB, CLOB, NCLOB Y BFILE

    Fredy Oswaldo Prez Prez..

    Octavo Ciclo Ingeniera 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

    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.

  • 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 informacin 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 informacin digitalizada (por ejemplo,

    imgenes, 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 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.

    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 tamao mximo de archivo,

    puede ser de hasta 4 GB (sistema operativo especfico). Desde el punto de vista de Oracle,

    BFILE son de slo lectura y no se pueden replicar en otro sistema.

    TODOS LOS TIPOS DE DATOS EN ORACLE

    TIPO CARACTERISTICAS OBSERVACIONES

    CHAR Cadena de caracteres (alfanumricos) de longitud fija

    Entre 1 y 2000 bytes como mximo. Aunque se introduzca un valor ms corto que el indicado en el tamao, se rellenar al tamao indicado. Es de longitud fija, siempre ocupar lo mismo, independientemente del valor que contenga

    VARCHAR2 Cadena de caracteres de longitud variable

    Entre 1 y 4000 bytes como mximo. El tamao del campo depender del valor que contenga, es de longitud variable.

    VARCHAR Cadena de caracteres de longitud variable

    En desuso, se utiliza VARCHAR2 en su lugar

  • NCHAR Cadena de caracteres de longitud fija que slo almacena caracteres Unicode

    Entre 1 y 2000 bytes como mximo. El juego de caracteres del tipo de datos (datatype) NCHAR slo puede ser AL16UTF16 UTF8. El juego de caracteres se especifica cuando se crea la base de datos Oracle

    NVARCHAR2 Cadena de caracteres de longitud variable que slo almacena caracteres Unicode

    Entre 1 y 4000 bytes como mximo. El juego de caracteres del tipo de datos (datatype) NCHAR slo puede ser AL16UTF16 UTF8. El juego de caracteres se especifica cuando se crea la base de datos Oracle

    LONG Cadena de caracteres de longitud variable

    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 alguno LOB si an se est utilizando.

    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.

    LONG RAW Almacenan cadenas binarias de ancho variable

    Hasta 2 GB.

    En desuso, se sustituye por los tipos LOB.

    RAW Almacenan cadenas binarias de ancho variable

    Hasta 32767 bytes.

    En desuso, se sustituye por los tipos LOB.

    LOB (BLOG, CLOB, NCLOB, BFILE)

    Permiten almacenar y manipular bloques grandes de datos no estructurados (tales como texto, imgenes, videos, sonidos, etc) en formato binario o del carcter

    Admiten hasta 8 terabytes (8000 GB).

    Una tabla puede contener varias columnas de tipo LOB.

    Soportan acceso aleatorio.

    Las tablas con columnas de tipo LOB no pueden ser replicadas.

    BLOB Permite almacenar datos binarios no estructurados

    Admiten hasta 8 terabytes

    CLOB Almacena datos de tipo carcter Admiten hasta 8 terabytes

    NCLOB Almacena datos de tipo carcter

    Admiten hasta 8 terabytes.

    Guarda los datos segn el juego de caracteres Unicode nacional.

    BFILE

    Almacena datos binarios no estructurados en archivos del sistema operativo, fuera de la base de datos. Una columna BFILE almacena un localizador del archivo a uno externo que contiene los datos

    Admiten hasta 8 terabytes.

    El administrador de la base de datos debe asegurarse de que exista el archivo en disco y de que los procesos de Oracle tengan permisos de lectura para el archivo .

    ROWID Almacenar la direccin nica de cada fila de la tabla de la base de datos

    ROWID fsico almacena la direccin de fila en las tablas, las tablas en clster, los ndices, excepto en las ndices-organizados (IOT).

    ROWID lgico almacena la direccin de fila en tablas de ndice-organizado (IOT).

    Un ejemplo del valor de un campo ROWID podra 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 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.

    NUMBER Almacena nmeros fijos y en punto flotante

    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):

    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

    DATE Almacena un punto en el tiempo (fecha y hora)

    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)

    TIMESTAMP Almacena datos de tipo hora, fraccionando los segundos

    TIMESTAMP WITH TIME ZONE

    Almacena datos de tipo hora incluyendo la zona horaria (explcita), fraccionando los segundos

    TIMESTAMP WITH LOCAL TIME ZONE

    Almacena datos de tipo hora incluyendo la zona horaria local (relativa), franccionando los segundos

    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

    XMLType Tipo de datos abstracto. En realidad se trata de un CLOB.

    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-en-

    ORACLE.aspx

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

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

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