Sie sind auf Seite 1von 30

Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Gestin de Objetos
con Vistas de Diccionario de Datos

Copyright 2010, Oracle. Todos los derechos reservados.


Objetivos
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Al finalizar esta leccin, debera estar capacitado para lo


siguiente:
Utilizar las vistas del diccionario de datos para buscar
datos en los objetos
Consultar varias vistas del diccionario de datos

Copyright 2010, Oracle. Todos los derechos reservados.

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.

Oracle Database: Conceptos Fundamentales de SQL II 3-2


Agenda
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Introduccin al diccionario de datos


Consulta de las vistas de diccionario para obtener lo siguiente:
Informacin sobre tablas
Informacin sobre columnas
Informacin sobre restricciones
Consulta de las vistas de diccionario para obtener lo siguiente:
Informacin sobre vistas
Informacin sobre secuencias
Informacin sobre sinnimos
Informacin sobre ndices
Adicin de un comentario a una tabla y consulta de las vistas de
diccionario para obtener informacin sobre comentarios

Copyright 2010, Oracle. Todos los derechos reservados.

Oracle Database: Conceptos Fundamentales de SQL II 3-3


Diccionario de Datos
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Servidor de
Oracle

Tablas que Vistas del


contienen datos diccionario de
de negocio: datos:
EMPLOYEES DICTIONARY
DEPARTMENTS USER_OBJECTS
LOCATIONS USER_TABLES
JOB_HISTORY USER_TAB_COLUMNS
... ...

Copyright 2010, Oracle. Todos los derechos reservados.

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

Oracle Database: Conceptos Fundamentales de SQL II 3-4


Estructura del Diccionario de Datos
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Servidor de
Oracle

Consta de:
Tablas base
Vistas con acceso para usuarios

Copyright 2010, Oracle. Todos los derechos reservados.

Estructura del Diccionario de Datos


Las tablas base subyacentes almacenan informacin sobre la base de datos asociada. Slo el servidor
de Oracle debe escribir y leer estas tablas. En raras ocasiones acceder a ellas directamente.
Existen varias vistas que resumen y muestran la informacin almacenada en las tablas base del
diccionario de datos. Estas vistas descodifican los datos de la tabla base en informacin til (como
nombres de usuarios o tablas) mediante uniones y clusulas WHERE para simplificar la unin.
A la mayora de los usuarios se le proporciona acceso a las vistas en lugar de tablas base.
El usuario de Oracle SYS posee todas las tablas base y las vistas con acceso para usuarios del
diccionario de datos. Ningn usuario de Oracle debe modificar nunca (UPDATE, DELETE, o
INSERT) objetos de esquema o filas que estn en el esquema SYS porque dicha actividad puede
comprometer la integridad de los datos.

Oracle Database: Conceptos Fundamentales de SQL II 3-5


Estructura del Diccionario de Datos
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Ver reglas de nomenclatura:

Prefijo de Vista Objetivo


USER Vista del usuario (contenido del esquema; propiedad
del usuario)
ALL Vista del usuario ampliada (contenido al que puede
acceder)
DBA Vista del administrador de la base de datos
(contenido de los esquemas de todos los usuarios)
V$ Datos relacionados con el rendimiento

Copyright 2010, Oracle. Todos los derechos reservados.

Estructura del Diccionario de Datos (continuacin)


El diccionario de datos consta de un juego de vistas. En muchos casos, un juego de vistas consta de
tres vistas que contienen informacin similar y que se distingue de las dems por el prefijo.
Por ejemplo, hay una vista denominada USER_OBJECTS, otra ALL_OBJECTS y una tercera
DBA_OBJECTS.
Estas tres vistas contienen informacin similar sobre los objetos de la base de datos, excepto en que
el mbito es diferente. USER_OBJECTS contiene informacin sobre los objetos que posee o que ha
creado. ALL_OBJECTS contiene informacin sobre todos los objetos a los que tiene acceso.
DBA_OBJECTScontiene informacin sobre todos los objetos que poseen todos los usuarios. Para las
vistas con el prefijo ALL o DBA, suele haber una columna adicional en la vista OWNER para
identificar al propietario del objeto.
Tambin hay un juego de vistas con el prefijo v$. Estas vistas son dinmicas por naturaleza y
contienen la informacin sobre el rendimiento. Las tablas de rendimiento dinmico no son autnticas
tablas y la mayora de los usuarios no pueden acceder a ellas. Sin embargo, los administradores de
base de datos pueden consultar y crear vistas en las tablas y otorgar acceso a dichas vistas a otros
usuarios. Este curso no profundiza en estas vistas.

Oracle Database: Conceptos Fundamentales de SQL II 3-6


Uso de las Vistas de Diccionario

Empezar en DICTIONARY. Contiene los nombres y las


Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

descripciones de las tablas y vistas del diccionario.


DESCRIBE DICTIONARY

SELECT *
FROM dictionary
WHERE table_name = 'USER_OBJECTS';

Copyright 2010, Oracle. Todos los derechos reservados.

Uso de las Vistas de Diccionario


Para familiarizarse con las vistas del diccionario, puede utilizar la vista denominada DICTIONARY.
Contiene el nombre y la descripcin breve de cada vista del diccionario a la que tiene acceso.
Puede escribir consultas para buscar informacin sobre un nombre de vista concreto o buscar en la
columna COMMENTS una palabra o un trmino. En el ejemplo mostrado, se describe la vista
DICTIONARY. Tiene dos columnas. La sentencia SELECT recupera informacin sobre la vista del
diccionario denominada USER_OBJECTS. La vista USER_OBJECTS contiene informacin sobre
todos los objetos que posee.
Puede escribir consultas para buscar en la columna COMMENTS una palabra o un trmino.
Por ejemplo, la siguiente consulta devuelve los nombres de todas las vistas a las que tiene acceso en
las que la columna COMMENTS contiene la palabra columnas:
SELECT table_name
FROM dictionary
WHERE LOWER(comments) LIKE '%columns%';
Nota: los nombres del diccionario de datos estn en maysculas.

Oracle Database: Conceptos Fundamentales de SQL II 3-7


Vistas USER_OBJECTS y ALL_OBJECTS
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

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.

Copyright 2010, Oracle. Todos los derechos reservados.

Vistas USER_OBJECTS y ALL_OBJECTS


Puede consultar la vista USER_OBJECTS para ver los nombres y tipos de todos los objetos del
esquema. Esta vista tiene varias columnas:
OBJECT_NAME: nombre del objeto
OBJECT_ID: nmero de objeto de diccionario del objeto
OBJECT_TYPE: tipo de objeto (como TABLE, VIEW, INDEX, SEQUENCE)
CREATED: registro de hora de creacin del objeto
LAST_DDL_TIME: registro de hora de la ltima modificacin del objeto resultante de un
comando de lenguaje de definicin de datos (DDL)
STATUS: estado del objeto (VALID, INVALID o N/A)
GENERATED: ha generado el sistema el nombre de este objeto? (S|N)
Nota: sta no es una lista completa de las columnas. Para obtener una lista completa, consulte
USER_OBJECTS en Oracle Database Reference (Referencia de Oracle Database).
Tambin puede consultar la vista ALL_OBJECTS para ver una lista de todos los objetos a los que
tiene acceso.

Oracle Database: Conceptos Fundamentales de SQL II 3-8


Vista USER_OBJECTS
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

SELECT object_name, object_type, created, status


FROM user_objects
ORDER BY object_type;

Copyright 2010, Oracle. Todos los derechos reservados.

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.

Oracle Database: Conceptos Fundamentales de SQL II 3-9


Agenda
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Introduccin al diccionario de datos


Consulta de las vistas de diccionario para obtener lo siguiente:
Informacin sobre tablas
Informacin sobre columnas
Informacin sobre restricciones
Consulta de las vistas de diccionario para obtener lo siguiente:
Informacin sobre vistas
Informacin sobre secuencias
Informacin sobre sinnimos
Informacin sobre ndices
Adicin de un comentario a una tabla y consulta de las vistas de
diccionario para obtener informacin sobre comentarios

Copyright 2010, Oracle. Todos los derechos reservados.

Oracle Database: Conceptos Fundamentales de SQL II 3-10


Informacin sobre Tablas
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

USER_TABLES:
DESCRIBE user_tables


SELECT table_name
FROM user_tables;

Copyright 2010, Oracle. Todos los derechos reservados.

Informacin sobre Tablas


Puede utilizar la vista USER_TABLES para obtener los nombres de todas las tablas. La vista
USER_TABLES contiene informacin sobre las tablas. Adems de proporcionar el nombre de la
tabla, contiene informacin detallada sobre el almacenamiento.
La vista TABS es un sinnimo de la vista USER_TABLES. Puede consultarla para ver una lista de las
tablas que posee:
SELECT table_name
FROM tabs;
Nota: para obtener una lista completa de las columnas de la vista USER_TABLES, consulte
USER_TABLES en Oracle Database Reference (Referencia de Oracle Database).
Tambin puede consultar la vista ALL_TABLES para ver una lista de todas las tablas a las que tiene
acceso.

Oracle Database: Conceptos Fundamentales de SQL II 3-11


Informacin sobre Columnas
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

USER_TAB_COLUMNS:
DESCRIBE user_tab_columns

Copyright 2010, Oracle. Todos los derechos reservados.

Informacin sobre Columnas


Puede consultar la vista USER_TAB_COLUMNS para obtener informacin sobre las columnas de las
tablas. Aunque la vista USER_TABLES proporciona informacin sobre los nombres de tabla y el
almacenamiento, en la vista USER_TAB_COLUMNS encontrar informacin de columna.
Esta vista contiene informacin como:
Nombres de columna
Tipos de dato de columna
Longitud de los tipos de dato
Precisin y escala para las columnas NUMBER
Si se permiten valores nulos (Hay alguna restriccin NOT NULL en la columna?)
Valor por defecto
Nota: para obtener una lista completa y descripcin de las columnas de la vista
USER_TAB_COLUMNS, consulte USER_TAB_COLUMNS en Oracle Database Reference
(Referencia de Oracle Database).

Oracle Database: Conceptos Fundamentales de SQL II 3-12


Informacin sobre Columnas
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

SELECT column_name, data_type, data_length,


data_precision, data_scale, nullable
FROM user_tab_columns
WHERE table_name = 'EMPLOYEES';

Copyright 2010, Oracle. Todos los derechos reservados.

Informacin sobre Columnas (continuacin)


Si consulta la tabla USER_TAB_COLUMNS, encontrar detalles sobre las columnas como los
nombres, los tipos de dato, las longitudes de tipos de dato, las restricciones nulas y los valores por
defecto de una columna.
En el ejemplo anterior se muestran las columnas, los tipos de dato, la longitud de datos y las
restricciones nulas de la tabla EMPLOYEES. Tenga en cuenta que esta informacin es similar a la
salida del comando DESCRIBE.
Para ver informacin sobre el juego de columnas como no utilizadas, puede utilizar la vista de
diccionario USER_UNUSED_COL_TABS.
Nota: los nombres de los objetos en el diccionario de datos estn en mayscula.

Oracle Database: Conceptos Fundamentales de SQL II 3-13


Informacin sobre Restricciones

USER_CONSTRAINTS describe las definiciones de


Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

restricciones en la tabla.
USER_CONS_COLUMNS describe las columnas que posee y
que se han especificado en las restricciones.
DESCRIBE user_constraints

Copyright 2010, Oracle. Todos los derechos reservados.

Informacin sobre Restricciones


Puede buscar los nombres de las restricciones, el tipo de restriccin, el nombre de la tabla a la que se
aplica la restriccin, la condicin de comprobacin de las restricciones, informacin de restricciones
de clave ajena, regla de supresin para las restricciones de clave ajena, el estado y otros muchos tipos
de informacin sobre las restricciones.
Nota: para obtener una lista completa y descripcin de las columnas de la vista
USER_CONSTRAINTS, consulte USER_CONSTRAINTS en Oracle Database Reference
(Referencia de Oracle Database).

Oracle Database: Conceptos Fundamentales de SQL II 3-14


USER_CONSTRAINTS: Ejemplo
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

SELECT constraint_name, constraint_type,


search_condition, r_constraint_name,
delete_rule, status
FROM user_constraints
WHERE table_name = 'EMPLOYEES';

Copyright 2010, Oracle. Todos los derechos reservados.

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.

Oracle Database: Conceptos Fundamentales de SQL II 3-15


Consulta de USER_CONS_COLUMNS
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

DESCRIBE user_cons_columns

SELECT constraint_name, column_name


FROM user_cons_columns
WHERE table_name = 'EMPLOYEES';


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.

Oracle Database: Conceptos Fundamentales de SQL II 3-16


Agenda
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Introduccin al diccionario de datos


Consulta de las vistas de diccionario para obtener los siguiente:
Informacin sobre tablas
Informacin sobre columnas
Informacin sobre restricciones
Consulta de las vistas de diccionario para obtener lo siguiente:
Informacin sobre vistas
Informacin sobre secuencias
Informacin sobre sinnimos
Informacin sobre ndices
Adicin de un comentario a una tabla y consulta de las vistas de
diccionario para obtener informacin sobre comentarios

Copyright 2010, Oracle. Todos los derechos reservados.

Oracle Database: Conceptos Fundamentales de SQL II 3-17


Informacin sobre Vistas
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

1 DESCRIBE user_views

2 SELECT view_name FROM user_views;

3 SELECT text FROM user_views


WHERE view_name = 'EMP_DETAILS_VIEW';

Copyright 2010, Oracle. Todos los derechos reservados.

Informacin sobre Vistas


Despus de crear la vista, puede consultar la vista del diccionario de datos denominada
USER_VIEWS para ver el nombre y la definicin de la vista. El texto de la sentencia SELECT que
constituye la vista se almacena en una columna LONG. La columna LENGTH es el nmero de
caracteres de la sentencia SELECT Por defecto, al realizar una seleccin en una columna LONG, slo
se muestran los primeros 80 caracteres del valor de la columna. Para ver ms de 80 caracteres en
SQL*Plus, utilice el comando SET LONG:
SET LONG 1000
En los ejemplos de la diapositiva:
1. Se muestran las columnas USER_VIEWS. Tenga en cuenta que sta es slo una lista parcial.
2. Se recuperan los nombres de las vistas.
3. Se muestra la sentencia SELECT para EMP_DETAILS_VIEW desde el diccionario.
Acceso a los Datos a travs de Vistas
Al acceder a los datos a travs de una vista, el servidor de Oracle realiza las siguientes operaciones:
Recupera la definicin de la vista de la tabla USER_VIEWS del diccionario de datos.
Comprueba los privilegios de acceso de la tabla base de la vista.
Convierte la consulta de la vista en una operacin equivalente en la tabla o tablas base
subyacentes. Es decir, se recuperan los datos o se realiza un actualizacin de las tablas base.

Oracle Database: Conceptos Fundamentales de SQL II 3-18


Informacin sobre Secuencias
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

DESCRIBE user_sequences

Copyright 2010, Oracle. Todos los derechos reservados.

Informacin sobre Secuencias


La vista USER_SEQUENCES describe todas las secuencias que posee. Al crear la secuencia, se
especifican los criterios almacenados en la vista USER_SEQUENCES. Las columnas de esta vista
son:
SEQUENCE_NAME: nombre de la secuencia.
MIN_VALUE: valor mnimo de la secuencia.
MAX_VALUE: valor mximo de la secuencia.
INCREMENT_BY: valor de incremento de la secuencia.
CYCLE_FLAG: est la secuencia a punto de alcanzar el lmite?.
ORDER_FLAG: se han generado los nmeros de secuencia en orden?.
CACHE_SIZE: nmero de nmeros de secuencia en cach.
LAST_NUMBER: ltimo nmero de secuencia escrito en el disco. Si una secuencia utiliza el
almacenamiento en cach, el nmero escrito en el disco es el ltimo nmero colocado en la
cach de secuencia. Es probable que este nmero sea mayor que el ltimo nmero de secuencia
utilizado.

Oracle Database: Conceptos Fundamentales de SQL II 3-19


Confirmacin de Secuencias
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Verificar los valores de secuencia en la tabla de


diccionario de datos USER_SEQUENCES.
SELECT sequence_name, min_value, max_value,
increment_by, last_number
FROM user_sequences;

La columna LAST_NUMBER muestra el siguiente nmero


de secuencia disponible si no se especifica NOCACHE.

Copyright 2010, Oracle. Todos los derechos reservados.

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.

Oracle Database: Conceptos Fundamentales de SQL II 3-20


Informacin sobre ndices

USER_INDEXES proporciona informacin sobre los


Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

ndices.
USER_IND_COLUMNS describe las columnas que
comprenden los ndices y las columnas de los ndices de
las tablas.

DESCRIBE user_indexes

Copyright 2010, Oracle. Todos los derechos reservados.

Informacin sobre ndices


Consulte la vista USER_INDEXES para obtener los nombres de los ndices, el nombre de tabla en la
que se crea el ndice y si el ndice es nico.
Nota: para obtener una lista completa y descripcin de las columnas de la vistaUSER_INDEXES,
consulte USER_INDEXES en Oracle Database Reference (Referencia de Oracle Database) para
10g u 11g.

Oracle Database: Conceptos Fundamentales de SQL II 3-21


USER_INDEXES: Ejemplos
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

a SELECT index_name, table_name,uniqueness


FROM user_indexes
WHERE table_name = 'EMPLOYEES';

b SELECT index_name, table_name


FROM user_indexes
WHERE table_name = 'emp_lib';

Copyright 2010, Oracle. Todos los derechos reservados.

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

Oracle Database: Conceptos Fundamentales de SQL II 3-22


Consulta USER_IND_COLUMNS
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

DESCRIBE user_ind_columns

SELECT index_name, column_name,table_name


FROM user_ind_columns
WHERE index_name = 'lname_idx';

Copyright 2010, Oracle. Todos los derechos reservados.

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

Oracle Database: Conceptos Fundamentales de SQL II 3-23


Informacin sobre Sinnimos
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

DESCRIBE user_synonyms

SELECT *
FROM user_synonyms;

Copyright 2010, Oracle. Todos los derechos reservados.

Informacin sobre Sinnimos


La vista USER_SYNONYMS del diccionario describe los sinnimos privados (sinnimos que slo
posee el usuario).
Puede consultar esta vista para buscar los sinnimos. Puede consultar ALL_SYNONYMS para buscar
el nombre de todos los sinnimos disponibles para el usuario y los objetos a los que se aplican estos
sinnimos.
Las columnas de esta vista son:
SYNONYM_NAME: nombre del sinnimo
TABLE_OWNER: propietario del objeto al que hace referencia el sinnimo
TABLE_NAME: nombre de la tabla o vista a la que hace referencia el sinnimo
DB_LINK: nombre de la referencia del enlace de base de datos (si lo hay)

Oracle Database: Conceptos Fundamentales de SQL II 3-24


Agenda
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Introduccin al diccionario de datos


Consulta de las vistas de diccionario para obtener los siguiente:
Informacin sobre tablas
Informacin sobre columnas
Informacin sobre restricciones
Consulta de las vistas de diccionario para obtener lo siguiente:
Informacin sobre vistas
Informacin sobre secuencias
Informacin sobre sinnimos
Informacin sobre ndices
Adicin de un comentario a una tabla y consulta de las vistas de
diccionario para obtener informacin sobre comentarios

Copyright 2010, Oracle. Todos los derechos reservados.

Oracle Database: Conceptos Fundamentales de SQL II 3-25


Adicin de Comentarios a una Tabla
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Puede agregar comentarios a una tabla o columna


mediante la sentencia COMMENT:

COMMENT ON TABLE employees


IS 'Employee Information';

COMMENT ON COLUMN employees.first_name


IS 'First name of the employee';

Los comentarios se pueden visualizar a travs de las


vistas del diccionario de datos:
ALL_COL_COMMENTS
USER_COL_COMMENTS
ALL_TAB_COMMENTS
USER_TAB_COMMENTS

Copyright 2010, Oracle. Todos los derechos reservados.

Adicin de Comentarios a una Tabla


Puede agregar un comentario de hasta 4.000 bytes sobre una columna, tabla, vista o instantnea
mediante la sentencia COMMENT. El comentario se almacena en el diccionario de datos y se puede
visualizar en una de las siguientes vistas del diccionario de datos en el columna COMMENTS:
ALL_COL_COMMENTS
USER_COL_COMMENTS
ALL_TAB_COMMENTS
USER_TAB_COMMENTS

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 '';

Oracle Database: Conceptos Fundamentales de SQL II 3-26


Prueba
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Las vistas de diccionario que se basan en tablas del diccionario


contienen informacin como:
1. Definiciones de todos los objetos de esquema en la base
de datos
2. Valores por defecto de las columnas
3. Informacin sobre restricciones de integridad
4. Privilegios y roles otorgados a cada usuario
5. Todo lo anterior

Copyright 2010, Oracle. Todos los derechos reservados.

Respuesta: 5

Oracle Database: Conceptos Fundamentales de SQL II 3-27


Resumen
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

En esta leccin, debe haber aprendido a buscar informacin sobre


los objetos a travs de las siguientes vistas de diccionario:
DICTIONARY
USER_OBJECTS
USER_TABLES
USER_TAB_COLUMNS
USER_CONSTRAINTS
USER_CONS_COLUMNS
USER_VIEWS
USER_SEQUENCES
USER_INDEXES
USER_SYNONYMS

Copyright 2010, Oracle. Todos los derechos reservados.

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.

Oracle Database: Conceptos Fundamentales de SQL II 3-28


Prctica 3: Visin General
Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

En esta prctica se abordan los siguientes temas:


Consulta de las vistas de diccionario para obtener informacin
sobre tablas y columnas
Consulta de las vistas de diccionario para obtener informacin
sobre restricciones
Consulta de las vistas de diccionario para obtener informacin
sobre vistas
Consulta de las vistas de diccionario para obtener informacin
sobre secuencias
Consulta de las vistas de diccionario para obtener informacin
sobre sinnimos
Consulta de las vistas de diccionario para obtener informacin
sobre ndices
Adicin de un comentario a una tabla y consulta de las vistas de
diccionario para obtener informacin sobre comentarios

Copyright 2010, Oracle. Todos los derechos reservados.

Prctica 3: Visin General


En esta prctica, consultar las vistas de diccionario para obtener informacin sobre el esquema.

Oracle Database: Conceptos Fundamentales de SQL II 3-29


Unauthorized reproduction or distribution prohibited Copyright 2016, Oracle and/or its affiliates

Das könnte Ihnen auch gefallen