/*
Sesión04 – Diccionario de Datos
Estudiante: José Luis Toro Alcarraz
Curso: Base de Datos Avanzado II
Correo:i201010865@cibertec.edu.pe
*/
Objetivos de la sesión
Utilizar el diccionario de datos para visualizar información de las bases de datos creadas.
1) Tablas de usuario
2) Diccionario de datos
3) Vistas del Diccionario de Datos
1) Tablas de usuario
Son una recopilación de tablas creadas y mantenidas por el usuario. Contienen información de
usuario (Contiene las tablas del negocio).
2) Diccionario de datos
Es una recopilación de tablas creadas y mantenidas por Oracle Server (Oracle se encarga de
administrar el diccionario de datos). Contienen la información del sistema (Contiene las estructuras
lógicas y físicas de la Base de datos).







Es fundamental para cualquier base de datos.
Describe la base de datos y sus objetos.
Contiene tablas y vistas de sólo lectura.
Es propiedad del usuario SYS.
Lo mantiene Oracle Server.
Se accede a él con SELECT.

a) Información en diccionario de datos.







Estructuras lógicas y físicas de la base de datos
Usuarios registrados en la base de datos
Definiciones e integridad de todos los esquemas
Información de Auditoría
Información de espacio utilizado por los objetos
Roles y Privilegios

b) Estructura del diccionario de datos.
Tablas Base
 Almacena información de la base de datos
 Solo Oracle Server puede leer y escribir estas tablas.
 Se crean al momento de crear la base de datos
Vistas



Utilizadas para mostrar de forma resumida la información contenida en las tablas base.
Se acceden a ellas a través de sinónimos públicos

3) Vistas del Diccionario de Datos
a) Consultas del diccionario de datos.
Ver todas las vistas del diccionario de datos.
SQL> SELECT * FROM DICTIONARY;
TABLE_NAME
COMMENTS
------------------------------ -------------------------------V$DIAG_VPROBLEM
Synonym for V_$DIAG_VPROBLEM
V$DIAG_VPROBLEM1
Synonym for V_$DIAG_VPROBLEM1
V$DIAG_VPROBLEM2
Synonym for V_$DIAG_VPROBLEM2
…
2628 filas seleccionadas.
Ver las columnas de las vistas del diccionario de datos.
SQL> SELECT * FROM DICT_COLUMN;
TABLE_NAME
COLUMN_NAME
COMMENTS
------------------------------ ------------------------------ --------------------------------------------------------------Description of the change source
CHANGE_SOURCES
CHANGE_SOURCES
CHANGE_SOURCES
…
31210 filas seleccionadas.

CREATED
Creation date of the change source
SOURCE_TYPE
Capture mode of the change source
SOURCE_DATABASE Global name of source database

b) categorías de las vistas.
Se diferencia en la información que muestran.




DBA: Contiene información de todos los objetos que hay en todos los esquemas de la
base de datos. Ejemplo DBA.
ALL: Contiene información de todos los objetos a los que puede acceder el usuario.
Ejemplo: Programador.
USER: Contiene información de objetos de propiedad del usuario actual. Ejemplo:
Programador.
Ejemplo1: Muestre todas las tablas de de la base de datos.
SQL> connect sys/cibertec as sysdba;
Conectado.
SQL> SELECT TABLE_NAME FROM ALL_TABLES;
TABLE_NAME
-----------------------------LOGMNR_PROCESSED_LOG$
ONLINE_MEDIA
LOGMNR_INTEGRATED_SPILL$
MGMT_POLICIES
LOGMNR_SESSION_ACTIONS$
AQ$_STREAMS_QUEUE_TABLE_S
2833 filas seleccionadas.
Ejemplo2: Muestre todas las tablas a la que puede acceder el usuario Scott.
SQL> connect scott/tiger
Conectado.
SQL> SELECT TABLE_NAME FROM ALL_TABLES;
TABLE_NAME
-----------------------------DUAL
SYSTEM_PRIVILEGE_MAP
TABLE_PRIVILEGE_MAP
STMT_AUDIT_OPTION_MAP
AUDIT_ACTIONS
WRR$_REPLAY_CALL_FILTER
HS_BULKLOAD_VIEW_OBJ
HS$_PARALLEL_METADATA
HS_PARTITION_COL_NAME
HS_PARTITION_COL_TYPE
HELP
…
112 filas seleccionadas.
Ejemplo3: Muestre todas las tablas que pertenecen al usuario Scott.
SQL> SELECT TABLE_NAME FROM USER_TABLES;
TABLE_NAME
-----------------------------DEPT
BONUS
SALGRADE
EMP
CLIENTE
VENDEDOR
COMIDAS
FACTURA
DETALLE_FACTURA
CINE
SALA
DUMMY
EJEMPLO
13 filas seleccionadas.
Ejemplo4: Ver tablespaces de la base de datos.
SQL> connect sys/cibertec as sysdba
Conectado.
SQL> SELECT * FROM DBA_TABLESPACES ;
Ejemplo5: Ver objetos propiedad del usuario.
SQL> connect scott/tiger
Conectado.
SQL> SELECT * FROM USER_OBJECTS;
SQL> SELECT * FROM USER_TAB_COLUMNS;
c) Vista DBA_OBJECTS.
Esta vista contiene información de TODOS los objetos de la Base de Datos, tal como se observa
en el siguiente cuadro.
SQL> connect sys/cibertec as sysdba
Conectado.
SQL> DESC DBA_OBJECTS;
Nombre
┐Nulo? Tipo
----------------------------------------- -------- -------------------OWNER
VARCHAR2(30)
OBJECT_NAME
VARCHAR2(128)
SUBOBJECT_NAME
VARCHAR2(30)
OBJECT_ID
NUMBER
DATA_OBJECT_ID
NUMBER
OBJECT_TYPE
VARCHAR2(19)
CREATED
DATE
LAST_DDL_TIME
TIMESTAMP
STATUS
TEMPORARY
GENERATED
SECONDARY
NAMESPACE
EDITION_NAME

DATE
VARCHAR2(19)
VARCHAR2(7)
VARCHAR2(1)
VARCHAR2(1)
VARCHAR2(1)
NUMBER
VARCHAR2(30)

Entre los principales campos tenemos:
Owner: propietario del objeto
Object_name: Nombre del Objeto
Object_type: Tipo del Objeto (tabla, índice, etc.)
Created: Fecha y hora exacta de creación del objeto
Status: Estado del objeto. Por ejemplo, si un índice esta inválido, entonces es INVALID.
Todos los datos de los objetos se convierten a mayúsculas antes de ser almacenados en las tablas
del diccionario de datos. Por tanto, deben emplearse mayúsculas cuando se consulte el diccionario
de datos.
Nota:
El nombre de las vistas tienen la siguiente estructura, categoría de la vista (USER, ALL, DBA)
seguido de un guion abajo y el tipo de objeto en plural (TABLES, INDEXES, PROCEDURES,
CONSTRAINTS, ETC). CATEGORIA_TIPOOBJETOPLURAL.
Ejemplo: USER_TABLES, USER_PROCEDURES, USERS_CONSTRAINTS, ETC
La información del diccionario de datos esta en mayúscula.
La información del negocio depende de la forma que trabajen.

Sesión04 - Diccionario de datos (Oracle)

  • 1.
    /* Sesión04 – Diccionariode Datos Estudiante: José Luis Toro Alcarraz Curso: Base de Datos Avanzado II Correo:i201010865@cibertec.edu.pe */ Objetivos de la sesión Utilizar el diccionario de datos para visualizar información de las bases de datos creadas. 1) Tablas de usuario 2) Diccionario de datos 3) Vistas del Diccionario de Datos 1) Tablas de usuario Son una recopilación de tablas creadas y mantenidas por el usuario. Contienen información de usuario (Contiene las tablas del negocio). 2) Diccionario de datos Es una recopilación de tablas creadas y mantenidas por Oracle Server (Oracle se encarga de administrar el diccionario de datos). Contienen la información del sistema (Contiene las estructuras lógicas y físicas de la Base de datos).       Es fundamental para cualquier base de datos. Describe la base de datos y sus objetos. Contiene tablas y vistas de sólo lectura. Es propiedad del usuario SYS. Lo mantiene Oracle Server. Se accede a él con SELECT. a) Información en diccionario de datos.       Estructuras lógicas y físicas de la base de datos Usuarios registrados en la base de datos Definiciones e integridad de todos los esquemas Información de Auditoría Información de espacio utilizado por los objetos Roles y Privilegios b) Estructura del diccionario de datos. Tablas Base  Almacena información de la base de datos  Solo Oracle Server puede leer y escribir estas tablas.  Se crean al momento de crear la base de datos Vistas
  • 2.
      Utilizadas para mostrarde forma resumida la información contenida en las tablas base. Se acceden a ellas a través de sinónimos públicos 3) Vistas del Diccionario de Datos a) Consultas del diccionario de datos. Ver todas las vistas del diccionario de datos. SQL> SELECT * FROM DICTIONARY; TABLE_NAME COMMENTS ------------------------------ -------------------------------V$DIAG_VPROBLEM Synonym for V_$DIAG_VPROBLEM V$DIAG_VPROBLEM1 Synonym for V_$DIAG_VPROBLEM1 V$DIAG_VPROBLEM2 Synonym for V_$DIAG_VPROBLEM2 … 2628 filas seleccionadas. Ver las columnas de las vistas del diccionario de datos. SQL> SELECT * FROM DICT_COLUMN; TABLE_NAME COLUMN_NAME COMMENTS ------------------------------ ------------------------------ --------------------------------------------------------------Description of the change source CHANGE_SOURCES CHANGE_SOURCES CHANGE_SOURCES … 31210 filas seleccionadas. CREATED Creation date of the change source SOURCE_TYPE Capture mode of the change source SOURCE_DATABASE Global name of source database b) categorías de las vistas. Se diferencia en la información que muestran.    DBA: Contiene información de todos los objetos que hay en todos los esquemas de la base de datos. Ejemplo DBA. ALL: Contiene información de todos los objetos a los que puede acceder el usuario. Ejemplo: Programador. USER: Contiene información de objetos de propiedad del usuario actual. Ejemplo: Programador.
  • 3.
    Ejemplo1: Muestre todaslas tablas de de la base de datos. SQL> connect sys/cibertec as sysdba; Conectado. SQL> SELECT TABLE_NAME FROM ALL_TABLES; TABLE_NAME -----------------------------LOGMNR_PROCESSED_LOG$ ONLINE_MEDIA LOGMNR_INTEGRATED_SPILL$ MGMT_POLICIES LOGMNR_SESSION_ACTIONS$ AQ$_STREAMS_QUEUE_TABLE_S 2833 filas seleccionadas. Ejemplo2: Muestre todas las tablas a la que puede acceder el usuario Scott. SQL> connect scott/tiger Conectado. SQL> SELECT TABLE_NAME FROM ALL_TABLES; TABLE_NAME -----------------------------DUAL SYSTEM_PRIVILEGE_MAP TABLE_PRIVILEGE_MAP STMT_AUDIT_OPTION_MAP AUDIT_ACTIONS WRR$_REPLAY_CALL_FILTER HS_BULKLOAD_VIEW_OBJ HS$_PARALLEL_METADATA HS_PARTITION_COL_NAME HS_PARTITION_COL_TYPE HELP … 112 filas seleccionadas. Ejemplo3: Muestre todas las tablas que pertenecen al usuario Scott. SQL> SELECT TABLE_NAME FROM USER_TABLES; TABLE_NAME -----------------------------DEPT BONUS
  • 4.
    SALGRADE EMP CLIENTE VENDEDOR COMIDAS FACTURA DETALLE_FACTURA CINE SALA DUMMY EJEMPLO 13 filas seleccionadas. Ejemplo4:Ver tablespaces de la base de datos. SQL> connect sys/cibertec as sysdba Conectado. SQL> SELECT * FROM DBA_TABLESPACES ; Ejemplo5: Ver objetos propiedad del usuario. SQL> connect scott/tiger Conectado. SQL> SELECT * FROM USER_OBJECTS; SQL> SELECT * FROM USER_TAB_COLUMNS; c) Vista DBA_OBJECTS. Esta vista contiene información de TODOS los objetos de la Base de Datos, tal como se observa en el siguiente cuadro. SQL> connect sys/cibertec as sysdba Conectado. SQL> DESC DBA_OBJECTS; Nombre ┐Nulo? Tipo ----------------------------------------- -------- -------------------OWNER VARCHAR2(30) OBJECT_NAME VARCHAR2(128) SUBOBJECT_NAME VARCHAR2(30) OBJECT_ID NUMBER DATA_OBJECT_ID NUMBER OBJECT_TYPE VARCHAR2(19) CREATED DATE
  • 5.
    LAST_DDL_TIME TIMESTAMP STATUS TEMPORARY GENERATED SECONDARY NAMESPACE EDITION_NAME DATE VARCHAR2(19) VARCHAR2(7) VARCHAR2(1) VARCHAR2(1) VARCHAR2(1) NUMBER VARCHAR2(30) Entre los principalescampos tenemos: Owner: propietario del objeto Object_name: Nombre del Objeto Object_type: Tipo del Objeto (tabla, índice, etc.) Created: Fecha y hora exacta de creación del objeto Status: Estado del objeto. Por ejemplo, si un índice esta inválido, entonces es INVALID. Todos los datos de los objetos se convierten a mayúsculas antes de ser almacenados en las tablas del diccionario de datos. Por tanto, deben emplearse mayúsculas cuando se consulte el diccionario de datos. Nota: El nombre de las vistas tienen la siguiente estructura, categoría de la vista (USER, ALL, DBA) seguido de un guion abajo y el tipo de objeto en plural (TABLES, INDEXES, PROCEDURES, CONSTRAINTS, ETC). CATEGORIA_TIPOOBJETOPLURAL. Ejemplo: USER_TABLES, USER_PROCEDURES, USERS_CONSTRAINTS, ETC La información del diccionario de datos esta en mayúscula. La información del negocio depende de la forma que trabajen.