Beruflich Dokumente
Kultur Dokumente
Gestin de Objetos
con Vistas de Diccionario de Datos
Objetivos
En esta leccin, se presentarn las vistas del diccionario de datos. Aprender que las vistas de
diccionario se pueden utilizar para recuperar metadatos y crear informes sobre los objetos de
esquema.
Servidor de
Oracle
Diccionario de Datos
Las tablas de usuario son tablas creadas por el usuario y contienen datos de negocio, como
EMPLOYEES. Existe otra recopilacin de tablas y vistas en Oracle Database denominada diccionario
de datos. Esta recopilacin la crea y mantiene el servidor de Oracle y contiene informacin sobre la
base de datos. El diccionario de datos est estructurado en tablas y vistas, como otros objetos de la
base de datos. El diccionario de datos no slo es comn para todas las Oracle Database, sino que
adems es una herramienta importante para todos los usuarios, desde los usuarios finales a los
diseadores de aplicaciones y administradores de base de datos.
Puede utilizar sentencias SQL para acceder al diccionario de datos. Puesto que el diccionario de
datos es de slo lectura, slo puede emitir consultas en sus tablas y vistas.
Puede consultar las vistas del diccionario que se basan en las tablas del diccionario para buscar
informacin como:
Definiciones de todos los objetos de esquema de la base de datos (tablas, vistas, ndices,
sinnimos, secuencias, procedimientos, funciones, paquetes, disparadores, etc.)
Valores por defecto para columnas
Informacin sobre restricciones de integridad
Nombres de usuario de Oracle
Privilegios y roles otorgados a cada usuario
Informacin general de la base de datos adicional
Servidor de
Oracle
Consta de:
Tablas base
Vistas con acceso para usuarios
SELECT *
FROM dictionary
WHERE table_name = 'USER_OBJECTS';
USER_OBJECTS:
Consulte USER_OBJECTS para ver todos los objetos que
posee.
Mediante USER_OBJECTS, puede obtener una lista de
todos los nombres y tipos de objetos del esquema,
adems de la siguiente informacin:
Fecha de creacin
Fecha de la ltima modificacin
Estado (vlido o no vlido)
ALL_OBJECTS:
Consulte ALL_OBJECTS para ver todos los objetos a los
que tiene acceso.
Vista USER_OBJECTS
En el ejemplo se muestran los nombres, los tipos, las fechas de creacin y los estados de todos los
objetos propiedad de este usuario.
La columna OBJECT_TYPE contiene los valores de TABLE, VIEW, SEQUENCE, INDEX,
PROCEDURE, FUNCTION, PACKAGE o TRIGGER.
La columna STATUS contiene un valor deVALID, INVALID o N/A. Aunque las tablas son siempre
vlidas, las vistas, los procedimientos, las funciones, los paquetes y los disparadores pueden no ser
vlidos.
Vista CAT
Para obtener una consulta y salida simplificada, puede consultar la vista CAT. Esta vista slo
contiene dos columnas: TABLE_NAME y TABLE_TYPE. Proporciona los nombres de todos los
objetos INDEX, TABLE, CLUSTER, VIEW, SYNONYM, SEQUENCE o UNDEFINED.
Nota: CAT es un sinnimo para una vista USER_CATALOG que muestra las tablas, vistas, sinnimos
y secuencias que posee el usuario.
USER_TABLES:
DESCRIBE user_tables
SELECT table_name
FROM user_tables;
USER_TAB_COLUMNS:
DESCRIBE user_tab_columns
restricciones en la tabla.
USER_CONS_COLUMNS describe las columnas que posee y
que se han especificado en las restricciones.
DESCRIBE user_constraints
USER_CONSTRAINTS: Ejemplo
En el ejemplo mostrado, se consulta la vista USER_CONSTRAINTS para buscar los nombres, tipos,
condiciones de comprobacin, nombre de la restriccin nica a la que hace referencia la clave ajena,
regla de supresin de una clave ajena y estado de las restricciones de la tabla EMPLOYEES.
CONSTRAINT_TYPE puede ser:
C (restriccin de control en una tabla) o NOT NULL)
P (clave primaria)
U (clave nica)
R (integridad referencial)
V (con opcin de control, en una vista)
O (slo lectura, en una vista)
DELETE_RULE puede ser:
CASCADE: si se suprime el registro principal, se suprimen tambin los registros secundarios.
SET NULL: si se suprime el registro principal, cambia el registro secundario respectivo a nulo.
NO ACTION: un registro principal slo se puede suprimir si no existen registros secundarios.
STATUS puede ser:
ENABLED: la restriccin est activa.
DISABLED: no se ha activado la restriccin.
DESCRIBE user_cons_columns
Copyright 2010, Oracle. Todos los derechos reservados.
Consulta de USER_CONS_COLUMNS
Para buscar los nombres de las columnas a las que se aplica una restriccin, consulte la vista de
diccionario USER_CONS_COLUMNS. Esta vista indica el nombre del propietario de una restriccin,
el nombre de la restriccin, la tabla en la que se aplica la restriccin, los nombres de las columnas
con la restriccin y la posicin original de la columna o el atributo en la definicin del objeto.
Nota: una restriccin se puede aplicar a ms de una columna.
Tambin puede escribir una condicin de unin entre USER_CONSTRAINTS y
USER_CONS_COLUMNS para crear una salida personalizada de ambas tablas.
1 DESCRIBE user_views
DESCRIBE user_sequences
Confirmacin de Secuencias
Despus de crear la secuencia, se registra en el diccionario de datos. Puesto que una secuencia es un
objeto de base de datos, podr identificarla en la tabla de diccionario de datos USER_OBJECTS.
Tambin puede confirmar la configuracin de la secuencia mediante su seleccin en la vista de
diccionario de datos USER_SEQUENCES.
Visualizacin del Siguiente Valor de Secuencia Disponible sin Aumentarlo
Si la secuencia se ha creado con NOCACHE, es posible ver el siguiente valor de secuencia disponible
sin aumentarlo con la consulta de la tabla USER_SEQUENCES.
ndices.
USER_IND_COLUMNS describe las columnas que
comprenden los ndices y las columnas de los ndices de
las tablas.
DESCRIBE user_indexes
USER_INDEXES: Ejemplo
En el ejemplo de la diapositiva a, la vista USER_INDEXES se consulta para obtener el nombre del
ndice, el nombre de la tabla en la que se crea el ndice y si el ndice el nico.
En el ejemplo de la diapositiva b, observe que el servidor de Oracle proporciona un nombre genrico
al ndice creado para la columna PRIMARY KEY. La tabla EMP_LIB se crea mediante el siguiente
cdigo:
CREATE TABLE EMP_LIB
(book_id NUMBER(6)PRIMARY KEY ,
title VARCHAR2(25),
category VARCHAR2(20));
DESCRIBE user_ind_columns
Consulta USER_IND_COLUMNS
La vista de diccionario USER_IND_COLUMNS proporciona informacin, como el nombre del ndice,
nombre de la tabla con ndices, nombre de una columna del ndice y la posicin de la columna en el
ndice.
En el ejemplo de la diapositiva, la tablaemp_test y el ndice LNAME_IDX se crean mediante el
siguiente cdigo:
CREATE TABLE emp_test AS SELECT * FROM employees;
CREATE INDEX LNAME_IDX ON emp_test(Last_Name);
DESCRIBE user_synonyms
SELECT *
FROM user_synonyms;
Sintaxis
COMMENT ON {TABLE table | COLUMN table.column}
IS 'text';
En la sintaxis:
table es el nombre de la tabla
column es el nombre de la columna de una tabla
text es el texto de un comentario
Para borrar un comentario de la base de datos, defnalo en una cadena vaca (''):
COMMENT ON TABLE employees IS '';
Respuesta: 5
Resumen
En esta leccin, aprender acerca de algunas de las vistas de diccionario disponibles. Puede utilizar
estas vistas de diccionario para buscar informacin sobre las tablas, las restricciones, las vistas, las
secuencias y los sinnimos.