sesión04 - diccionario de datos (oracle)

6
/* 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

Upload: jose-toro

Post on 13-Jun-2015

2.692 views

Category:

Education


0 download

DESCRIPTION

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 estructuras de datos Logro de la Unidad de Aprendizaje Al término de la unidad, el alumno diseña e implementa modelos de datos que incorporen reglas o restricciones mediante la definición de objetos tales como tablas, secuencias y sinónimos. Temario 2.2 Tema 4: DICCIONARIO DE DATOS 2.2.1 Introducción al Diccionario de Datos 2.2.2 Estructura del Diccionario de Datos 2.2.3 Uso del Diccionario de Datos 2.2.4 Otras tablas en el Diccionario 2.2.5 La vista DBA_OBJECTS

TRANSCRIPT

Page 1: Sesión04 - Diccionario de datos (Oracle)

/* Sesión04 – Diccionario de DatosEstudiante: José Luis Toro AlcarrazCurso: Base de Datos Avanzado IICorreo:[email protected]*/

Objetivos de la sesiónUtilizar el diccionario de datos para visualizar información de las bases de datos creadas.

1) Tablas de usuario2) Diccionario de datos3) 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

Page 2: Sesión04 - Diccionario de datos (Oracle)

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_VPROBLEMSynonym for V_$DIAG_VPROBLEMV$DIAG_VPROBLEM1Synonym for V_$DIAG_VPROBLEM1V$DIAG_VPROBLEM2Synonym 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 sourceCHANGE_SOURCES SOURCE_TYPE Capture mode of the change sourceCHANGE_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.

Page 3: Sesión04 - Diccionario de datos (Oracle)

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_MEDIALOGMNR_INTEGRATED_SPILL$MGMT_POLICIESLOGMNR_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/tigerConectado.

SQL> SELECT TABLE_NAME FROM ALL_TABLES;

TABLE_NAME------------------------------DUALSYSTEM_PRIVILEGE_MAPTABLE_PRIVILEGE_MAPSTMT_AUDIT_OPTION_MAPAUDIT_ACTIONSWRR$_REPLAY_CALL_FILTERHS_BULKLOAD_VIEW_OBJHS$_PARALLEL_METADATAHS_PARTITION_COL_NAMEHS_PARTITION_COL_TYPEHELP…112 filas seleccionadas.

Ejemplo3: Muestre todas las tablas que pertenecen al usuario Scott.

SQL> SELECT TABLE_NAME FROM USER_TABLES;

TABLE_NAME------------------------------DEPTBONUS

Page 4: Sesión04 - Diccionario de datos (Oracle)

SALGRADEEMPCLIENTEVENDEDORCOMIDASFACTURADETALLE_FACTURACINESALADUMMYEJEMPLO

13 filas seleccionadas.

Ejemplo4: Ver tablespaces de la base de datos.

SQL> connect sys/cibertec as sysdbaConectado.

SQL> SELECT * FROM DBA_TABLESPACES ;

Ejemplo5: Ver objetos propiedad del usuario.

SQL> connect scott/tigerConectado.

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 sysdbaConectado.

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

Page 5: Sesión04 - Diccionario de datos (Oracle)

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 objetoObject_name: Nombre del ObjetoObject_type: Tipo del Objeto (tabla, índice, etc.)Created: Fecha y hora exacta de creación del objetoStatus: 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, ETCLa información del diccionario de datos esta en mayúscula.La información del negocio depende de la forma que trabajen.