Clasificación del diccionario de datos
El diccionario de datos es un espacio reservado, una base de datos, que se utiliza para almacenar información en la propia base de datos.
El diccionario de datos puede contener información como:
Datos de diseño de base de datos
Programas SQL almacenados
Permisos de usuario
Estadísticas de usuario
Información en los procesos de la base de datos
Estadísticas de crecimiento de la base de datos
Estadísticas de rendimiento de la base de datos
El diccionario de datos es una colección de descripciones de datos que es el resultado principal de la recopilación y el análisis de datos detallados.
Un diccionario de datos suele incluir cinco partes: elementos de datos, estructura de datos, flujo de datos, almacenamiento y procesamiento de datos.
El elemento de datos es la unidad de datos más pequeña. Varios elementos de datos pueden formar un diccionario de datos de estructura de datos para describir el contenido lógico del flujo de datos y el almacenamiento de datos mediante la definición de elementos de datos y estructuras de datos.
El diccionario de datos es una colección de información sobre los datos, es decir, una colección de definiciones de todos los elementos contenidos en el diagrama de flujo de datos.
El diccionario de datos también tiene otro significado. Es una herramienta utilizada en el diseño de bases de datos. Se utiliza para describir el diseño de tablas básicas en la base de datos. Incluye principalmente nombres de campos, tipos de datos, claves primarias y externas. claves, etc. que describen los atributos del contenido de la tabla.
Tome el diccionario de la base de datos Oracle como ejemplo: el diccionario de datos se divide en tablas del diccionario de datos y vistas del diccionario de datos.
Los diccionarios de bases de datos Oracle generalmente se crean al crear e instalar la base de datos. El diccionario de datos de Oracle es la base del sistema de base de datos Oracle. Sin el apoyo de un diccionario de datos, el sistema de base de datos Oracle no puede completar ningún trabajo. No se puede acceder directamente a las tablas del diccionario de datos, pero se puede acceder a las vistas del diccionario de datos.
Los datos de la tabla del diccionario de datos son datos del sistema almacenados en el sistema Oracle, mientras que las tablas ordinarias son datos del usuario. Para distinguir fácilmente estas tablas, los nombres de estas tablas terminan en $. Estas tablas pertenecen al usuario SYS.
La tabla del diccionario de datos se crea mediante el script $Oracle_home/RDBMS/admin/SQL.bsq, que llama a otros scripts para crear estas tablas del diccionario de datos. Cree SQL utilizando las tablas base en estos scripts de creación.
Descripción de Oracle de las tablas del diccionario de datos:
Estas tablas básicas almacenan información sobre la base de datos. Sólo la base de datos Oracle puede leer y escribir estas tablas. Los usuarios rara vez acceden directamente a las tablas base porque están normalizadas y la mayoría de los datos se almacenan en un formato cifrado.
Sólo Oracle puede leer y escribir estas tablas del diccionario de datos.
Estas tablas del diccionario de datos del usuario SYS se almacenan en el espacio de tablas del sistema y los nombres de las tablas terminan en $. Para facilitar a los usuarios la consulta de tablas del diccionario de datos, Oracle ha establecido vistas de usuario para estos diccionarios de datos, lo que facilita la memoria y oculta las relaciones entre las tablas del diccionario de datos. Para el alcance de estos objetos, Oracle nombra las vistas DBA_XXXX, ALL_XXXX y USER_XXXX respectivamente.
Las vistas del diccionario de datos se dividen en dos categorías: diccionario de datos estático (vista de rendimiento estático) y diccionario de datos dinámico (vista de rendimiento dinámico).
Las vistas en el diccionario de datos estáticos se dividen en tres categorías, que constan de tres prefijos: usuario_*, todos_* y dba_*.
Usuario_*: Esta vista almacena información sobre los objetos propiedad del usuario actual. (es decir, todos los objetos en este modo de usuario)
Todos_*: esto intenta almacenar información sobre los objetos a los que el usuario actual puede acceder, pero no almacena información sobre los objetos que pertenecen al usuario actual. (En comparación con user_*, all_* no necesita ser propietario del objeto, solo necesita tener derechos de acceso al objeto).
Dba_*: esta vista almacena información sobre todos los objetos en la base de datos. (La premisa es que el usuario actual tiene permiso para acceder a estas bases de datos. En términos generales, debe tener permisos de administrador).
Estas vistas las crea el usuario del sistema, por lo que es necesario agregar SYS para usarlas. . Para mayor comodidad, Oracle ha establecido un sinónimo público con el mismo nombre para el título de vista de cada tabla del diccionario de datos. Este sencillo proceso le ahorra la molestia de escribir SYS.
A excepción de las tres vistas del diccionario de datos estáticos, las otras vistas del diccionario son principalmente vistas V$, por lo que se llaman así porque todas comienzan con V$ o GV$. Estas vistas se actualizan constantemente y proporcionan información sobre el funcionamiento de la memoria y el disco, por lo que solo podemos tener acceso de lectura y no podemos modificarlas.
Durante toda la operación, Oracle Database mantiene un conjunto de tablas virtuales que registran la actividad actual de la base de datos. Estas vistas se denominan vistas de rendimiento dinámicas porque se actualizan continuamente mientras la base de datos está abierta y utilizada. Vista, a veces llamada vista dV$.
La vista V$ se basa en la vista virtual X$. La vista V$ es propiedad del usuario SYS. De forma predeterminada, solo el usuario SYS y los usuarios con privilegios del sistema DBA pueden ver todas las vistas. Los usuarios sin autoridad de DBA pueden ver las vistas USUARIO_ y TODAS_, pero no las vistas DBA_. A diferencia de la información orientada a la base de datos en las vistas DBA_, ALL y USER_, estas vistas brindan intuitivamente información orientada a instancias.
Las tablas de rendimiento dinámico se utilizan para registrar las actividades actuales de la base de datos y solo existen durante las operaciones de la base de datos. La información real se toma de la memoria y de los archivos de control. Los DBA pueden utilizar vistas dinámicas para monitorear y ajustar datos.