Sesión04 - Diccionario de datos (Oracle)

XxkokoxX10 7,450 views 5 slides Dec 09, 2013
Slide 1
Slide 1 of 5
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5

About This Presentation

Este minitutorial tiene como objetivo captar todos los conceptos dictados en cada sesión en el curso de Base de Datos Avanzado II, así como brindar apoyo a los alumnos de la carrera técnica de Computación e Informática, que por algún motivo no hayan asistido a clases.


UNIDAD 2. Creación de...


Slide Content

/*
Sesión04 – Diccionario de Datos
Estudiante: José Luis Toro Alcarraz
Curso: Base de Datos Avanzado II
Correo:[email protected]
*/

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 CREATED Creation date of the change source
CHANGE_SOUR CES SOURCE_TYPE Capture mode of the change source
CHANGE_SOURCES SOURCE_DATABASE Global name of source database

31210 filas seleccionadas.

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 DATE
TIMESTAMP VARCHAR2(19)
STATUS VARCHAR2(7)
TEMPORARY VARCHAR2(1)
GENERATED VARCHAR2(1)
SECONDARY VARCHAR2(1)
NAMESPACE NUMBER
EDITION_NAME 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.