¿Qué son los flujos de datos y los diccionarios de datos?
El significado de los símbolos básicos del diagrama de flujo de datos:
1. El rectángulo representa la entidad externa de los datos.
2. representa la lógica de procesamiento de los datos convertidos;
3. Los menos rectángulos a la derecha representan el almacenamiento de datos;
4.
Hay varios elementos principales en el diagrama de flujo de datos:
→: flujo de datos. Un flujo de datos es el camino que recorren los datos a través de un sistema, por lo que consta de un conjunto fijo de datos. Por ejemplo, el formulario de reserva contiene elementos de datos como nombre del pasajero, edad, unidad, número de identificación, fecha y destino. Debido a que el flujo de datos es flujo de datos, debe haber una dirección de flujo. A excepción de los flujos de datos entre flujos de datos y almacenes de datos, deben denominarse con sustantivos o frases nominales.
□: Fuente de datos (punto final). Representa entidades fuera del sistema, que pueden ser personas, objetos u otros sistemas de software.
○: Tratamiento de datos. El procesamiento es la unidad de procesamiento de datos. Recibe datos específicos, los procesa y produce resultados.
〓: Almacenamiento de datos. Representa el almacenamiento estático de información, que puede representar un archivo, una parte de un archivo, un elemento de una base de datos, etc.
Al dibujar un diagrama de flujo de datos único, debemos prestar atención a los siguientes principios:
1. El flujo de datos de salida procesado no debe tener el mismo nombre que el flujo de datos de entrada. incluso si sus componentes son los mismos.
2. Mantener la conservación de los datos. Es decir, los datos de todos los flujos de datos de salida de un proceso deben obtenerse directamente del flujo de datos de entrada del proceso, o de los datos que puede generar el proceso.
3. Cada proceso debe tener un flujo de datos de entrada y un flujo de datos de salida.
4. Todo flujo de datos debe comenzar con un proceso o terminar con un proceso.
El diccionario de datos es donde Oracle almacena la información de la base de datos y su propósito es describir los datos. Por ejemplo, la información del creador de la tabla, la información del tiempo de creación, la información del espacio de la tabla, la información del permiso de acceso del usuario, etc. Cuando los usuarios encuentran dificultades para manipular datos en la base de datos, pueden acceder al diccionario de datos para ver información detallada.
Existen diccionarios de datos estáticos y dinámicos en Oracle. Los diccionarios de datos estáticos no cambiarán cuando los usuarios accedan al diccionario de datos, mientras que los diccionarios de datos dinámicos dependen del rendimiento de las operaciones de la base de datos y reflejan cierta información interna de las operaciones de la base de datos, por lo que a menudo no son estáticos al acceder a dichos diccionarios de datos. Los dos tipos de diccionarios de datos se analizan a continuación.
1. Diccionario de datos estático
Este tipo de diccionario de datos se compone principalmente de tablas y vistas. Cabe señalar que no puede acceder directamente a las tablas en el diccionario de datos, pero puede acceder a las vistas en el diccionario de datos. Las vistas en el diccionario de datos estáticos se dividen en tres categorías, que constan de tres prefijos: usuario_*, todos_* y dba_*.
Usuarios_*
Esta vista almacena información sobre los objetos que pertenecen al 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. (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 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).
Como se puede ver en la descripción anterior, los datos almacenados entre las tres inevitablemente se superpondrán. . De hecho, excepto por los diferentes alcances de acceso (debido a diferentes permisos, el alcance de los objetos de acceso también es diferente), los dos son consistentes. Específicamente, dado que las vistas del diccionario de datos son propiedad de SYS (usuario del sistema), para ahorrar tiempo, solo SYS y los usuarios con autoridad de sistema DBA pueden ver todas las vistas. Los usuarios sin autoridad de DBA solo pueden ver user_* y all_*. No pueden ver las vistas dba_* si no se les conceden los permisos SELECT pertinentes.
Debido a la similitud entre los tres, a continuación se utiliza user_ como ejemplo para presentar varias vistas estáticas de uso común:
Vista User_User
Descripción principal Información sobre el usuario actual, incluido el nombre de usuario actual, el ID de la cuenta, el estado de la cuenta, el nombre del espacio de tabla, la hora de creación, etc. Por ejemplo, puede devolver esta información ejecutando el siguiente comando.
select * from user_user
Vista User_tables
Describe principalmente la información de todas las tablas propiedad del usuario actual, incluidos los nombres de las tablas, los nombres de los espacios de tablas y el clúster. los nombres esperan. A través de esta vista, puede comprender claramente qué tablas puede operar el usuario actual. El comando de ejecución es: seleccione * de user_tables.
Vista de objetos de usuario
Describe principalmente información sobre todos los objetos propiedad del usuario actual, incluidas tablas, vistas, procedimientos almacenados, activadores, paquetes, índices, secuencias, etc. Esta vista es más completa que la vista user_tables. Por ejemplo, para obtener información sobre un tipo de objeto llamado "paquete1" y su estado, puede ejecutar el siguiente comando:
Seleccionar tipo de objeto, estado
Desde objeto de usuario
Donde nombre_objeto = superior(' paquete 1 ');
Preste atención al uso de superior aquí. Todos los objetos en el diccionario de datos están en mayúsculas, pero PL/SQL no distingue entre mayúsculas y minúsculas, por lo que debe prestar atención a la coincidencia de mayúsculas y minúsculas en las operaciones reales.
Vista de permisos de la pestaña Usuario
Esta vista almacena principalmente la información de permisos de todas las tablas del usuario actual. Por ejemplo, para conocer la información de permisos del usuario actual en la tabla 1, puede ejecutar el siguiente comando:
seleccione * de user_tab_privs donde table_name=upper('table1 ')
Para conocer la información de permisos del usuario actual en la tabla Con los permisos, puede saber claramente qué operaciones se pueden realizar y cuáles no.
Todas las vistas anteriores comienzan con usuario_. De hecho, todo_ es exactamente igual, excepto que la información enumerada son los objetos a los que el usuario actual puede acceder, no los objetos que posee el usuario actual. Para dba_ que requiere derechos de administrador, otros usos son exactamente iguales y no se repetirán aquí.
2. Diccionario de datos dinámico
Oracle contiene algunas tablas y vistas potenciales mantenidas por los administradores del sistema (como SYS). Debido a que se actualizan continuamente mientras la base de datos se ejecuta, se denominan diccionarios de datos dinámicos (o vistas de rendimiento dinámicas). Estas vistas proporcionan información sobre las operaciones de memoria y disco, por lo que solo podemos acceder a ellas en modo de solo lectura y no podemos modificarlas.
Estas vistas de rendimiento dinámico en Oracle son todas vistas que comienzan con v$, como v$access. A continuación se presentan varias vistas importantes del rendimiento dinámico.
v$Access
Esta vista muestra los objetos de base de datos bloqueados en la base de datos y los objetos de sesión (objetos de sesión) que acceden a estos objetos.
Ejecute el siguiente comando:
Seleccione * de v$access
Los resultados son los siguientes: (Debido a la gran cantidad de registros, solo una parte de los registros están extraídos aquí)
p>
(Igual que perturbación ionosférica repentina) Perturbación repentina en la ionosfera
Tipo de objeto propietario
27 DKH V $Acceso cursor
27 PUBLIC V$ACCESS Sinónimos
27Systems DBMS_Application_InformationPackage
27Systems GV $Access View
Sesiones de cinco dólares
Estas columnas de vista muestran los detalles de la sesión actual. Debido a que hay muchos campos en esta vista, los campos detallados no se enumeran aquí. Para obtener más información, puede escribir desc v$session directamente en la línea de comando sql*plus.
v $Instancia activa
Esta vista describe principalmente la información de las instancias activas en la base de datos actual. Aún puede utilizar declaraciones selectas para observar esta información.
5. Fondo
Esta vista enumera la información de atributos de la sesión actual.
Por ejemplo, espacio de nombres, valor de atributo, etc.
3. Resumen
Lo anterior es el contenido básico del Diccionario de datos de Oracle. Hay muchos puntos útiles que no se pueden explicar aquí por razones de espacio. Espero que todos le presten más atención en el uso diario. En resumen, un buen uso de la tecnología de diccionario de datos puede permitir a los desarrolladores de bases de datos comprender mejor la imagen general de la base de datos, lo que es de gran ayuda para la optimización y gestión de la base de datos.