Consultas SQL de Oracle Database necesarias para obtener los campos ó columnas, tipos de datos, tamaño, las restricciones (constraint), los índices (indexes) y las reglas de integridad referencial de una tabla mediante las vistas: all_tab_columns, all_cons_columns y all_indexes.

Preparando el escenario de trabajo en Oracle Database

Para realizar las pruebas y obtener los datos necesitaremos un servidor con Oracle Database instalado, también necesitaremos un software para acceso a Oracle que nos permita ejecutar consultas SQL. Se puede utilizar SQL*Plus que incluye el propio Oracle (ejecutar consultas SQL en modo comando), utilizar la utilidad de ejecución de consultas SQL vía web (a partir de la versión 10g) o se puede utilizar cualquier otro software, como:

En primer lugar, para probar los resultados, crearemos un par de tablas ejecutando las consultas SQL de inserción siguientes:

Colocando «primary key» en un campo hacemos que sea clave primaria de la tabla y, por tanto, Oracle creará un índice para ese campo automáticamente. Nos servirá para probar los resultados.

Insertamos algún registro en las tablas de prueba:

Hemos de aclarar que para ejecutar algunas de estas consultas SQL y las que a continuación describiremos es necesario iniciar sesión en Oracle Database con un usuario con permisos de administrador. Normalmente deberá iniciar la sesión como usuario «system» o algún otro que tenga privilegios suficientes.

Obteniendo los datos de una tabla de Oracle Database

Obtener las columnas o campos de una tabla (nombre, tipo de datos, tamaño, permite nulos)

La siguiente consulta SQL mostrará las columnas de la tabla «PRUEBA» (nombre del campo, tipo de datos, tamaño, si permite nulos):

El resultado de la consulta anterior:

CampoTipo de datosTamaño Permite nulos
IDNUMBER 2222N
TEXTOVARCHAR22000Y

Obtener las restricciones de una tabla Oracle Database

La siguiente consulta SQL mostrará todas las restricciones de la tabla «PRUEBA2» (nombre de la restricción, nombre de la tabla, columnas a las que afecta):

El resultado de la ejecución de la consulta SQL anterior:

NombreTablaColumnas
SYS_C0083714PRUEBA2NUMERO
SYS_C0083715PRUEBA2ID

Obtener los índices de una tabla Oracle Database

Esta consulta SQL mostrará todos los índices de la tabla «PRUEBA» (nombre del índice, tipo de índice, nombre de la tabla, tablespace en el que se guarda, si es secundario):

El resultado de la ejecución de la consulta SQL anterior:

NombreTipoTablaTablespaceSecundario
SYS_C0083713NORMALPRUEBAUSERSN

Otra forma de mostrar los índices de una tabla Oracle Database, ésta muestra más datos que la anterior: posición, tipo de orden, etc.:

El resultado de la ejecución de la consulta SQL anterior:

NombreTipoUNICOCOLUMNAPOSICIONCOMPRESIONESTADO
SYS_C0083713NORMALUNIQUEID1DISABLEDVALID
SECUNDARIOGENERADOORDENPROPIETARIO_TABLA
NYASCALONSO
PROPIETARIO_INDICENOMBRE_TABLATABLESPACE
ALONSOPRUEBAUSERS