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
La empresa sostenible: Principales Características, Barreras para su Avance y...
Sesión04 - Diccionario de datos (Oracle)
1. /*
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
2.
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.
3. 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
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 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.