Macro DA# (4): Función macro DA# (3) -Reversa
Echemos un vistazo a la función Macro Reverse DA#.
Esta es una continuación del artículo anterior.
Macro DA# (3): Función de macro DA# (2) - Obtener/Establecer atributo
2.4. DA# Función de inversión de macros
2.4.1. Razones para crear la función Macro Reverse DA#
La función inversa de la herramienta de modelado de datos es una función que crea un modelo de datos de tipo ERD a partir de la base de datos utilizando técnicas de ingeniería inversa.
El método más común es acceder a la base de datos directamente y ejecutar la función inversa. Si es difícil acceder a la base de datos directamente o lleva mucho tiempo obtener la autorización, proporcione SQL para recopilar información del modelo de datos a la persona a cargo (generalmente DBA u operador de TI) que tiene autorización de acceso y exporte el resultado de la ejecución como un archivo de Excel La función inversa se puede ejecutar al recibirlo.
DA# proporciona tanto la función de invertir desde la base de datos como la función de invertir desde el archivo de Excel. Sin embargo, tiene las siguientes limitaciones y requiere mucho trabajo manual cuando se usa en el sitio del proyecto.
- Solo se puede procesar un modelo de datos a la vez.
- Si hay muchos modelos de datos (decenas a cientos), la función inversa debe ejecutarse repetidamente para cada modelo.
- Se crea como un diagrama de un solo tema y todas las entidades se colocan aleatoriamente.
- Es necesario crear un área temática y separar el área temática de cada entidad.
- En el diagrama de áreas temáticas, es necesario mover entidades, como agrupar entidades en áreas comerciales u organizar entidades relacionadas en un solo lugar.
Para superar las limitaciones anteriores tanto como sea posible y eliminar el trabajo manual tanto como sea posible, se creó una función inversa en la herramienta Macro DA#. Las siguientes funciones están disponibles.
- Se pueden invertir varios modelos a la vez
- Al designar el área temática de cada tabla, es posible ubicarla en el diagrama del área temática correspondiente.
- Designe un grupo de entidades dentro de un diagrama de área temática y organícelas en un lugar para cada grupo -> Función central
- Diseño definido por el usuario además del diseño proporcionado por DA# (planeado en una versión futura. Actualmente, solo se admite el diseño proporcionado por DA#)
2.4.2. Resumen de cómo usar la función inversa
- Cree un archivo de entrada de Excel, seleccione cada archivo en la hoja 'Reversa' y configure las opciones para ejecutar.
- El archivo Excel de entrada se crea ejecutando una consulta en la base de datos o utilizando el documento de definición de tabla que se está administrando.
2.4.3. fichero de entrada
- Lista de modelos: un archivo que crea una lista de modelos de destino inversa (obligatorio)
- Establecer DBMSTipo de modelo
- Solo se invierten los objetos cuyos nombres de modelo en la lista de la tabla y los modelos descritos en este archivo coinciden.
- Lista de tablas: el archivo que creó la lista de tablas de destino inverso (obligatorio)
- Lista de columnas: archivo que creó la lista de columnas de destino inverso (obligatorio)
- Lista FK: un archivo que crea una lista de claves foráneas (FK) para revertir (opcional)
- Notas sobre la creación de cada archivo de lista
- Las listas de modelo, tabla, columna y FK se pueden escribir en un archivo o guardar en archivos separados.
- La plantilla para cada lista debe prepararse utilizando el archivo adjunto en la parte inferior de la hoja "Reversa" de la macro DA# o como un archivo proporcionado por separado (debe escribirse en el formato prescrito)
2.4.4. Opciones inversas
- Modo de apertura del archivo de entrada: seleccione el modo (solo lectura, escritura) para abrir el archivo de entrada
- Si se cierra el archivo de entrada después del procesamiento: si se cierra después de leer todos los archivos de entrada y cargarlos en la memoria (Y: cerrar después de leer, N: mantener abierto)
- Método de organización de entidades: El método de organización proporcionado por DA# Menú > Formato > Organización automática. Actualmente, especifica uno de dos métodos: radial o HTree.
- Intervalo de disposición de grupo: intervalo horizontal y vertical entre grupos de entidades (unidad: píxel) (valor recomendado: 300 o más)
- Número de columnas de grupo en una fila: el número de grupos de entidades que se colocarán en una fila en el diagrama de área temática.
- Ejemplo: cuando hay 10 grupos de entidades en total
- Al establecer el número de columnas en 3: Dispuesto en 4 filas y 3 columnas (4×3)
- Al establecer el número de columnas en 5: Dispuesto en 2 filas y 5 columnas (2×5)
- Ya sea para usar la plantilla del modelo Reverse DA#: a continuación Ya sea para usar (crear un nuevo modelo sin usar una plantilla cuando se selecciona "N")
- Archivo de plantilla de modelo DA# inverso: Archivo de plantilla de modelo DA# inverso
- Designe un archivo en el que se guarden por adelantado las configuraciones predeterminadas del modelo
- Ejemplos de configuraciones predeterminadas del modelo: opciones de vista de nombre de objeto (ver nombres secundarios, ver sinónimos), escalado de página, etc.
- No se usa si la opción de uso anterior es "N"
- Valor de ejemplo: D:\Project\My\01.ExcelVBA\02.DA# Macro\test reverse file\template model.damx
- Ruta de almacenamiento del modelo DA# inverso: ruta para guardar el archivo del modelo DA# invertido (*.damx) (el nombre del archivo se crea de acuerdo con el formato a continuación)
- Formato de nombre de archivo del modelo: una cadena de formato que se aplica a los nombres de archivo del modelo.
- [Nombre del modelo]: nombre del modelo especificado en la plantilla de la lista de modelos
- [FECHA]: formato AAAAMMDD (por ejemplo, 20201228)
- [HORA]: formato HH24MISS (por ejemplo, 155621)
- Constante: nombre de la empresa del cliente, nombre del sistema, etc.
- Valor de ejemplo: Encore [nombre del modelo]_[FECHA]_[HORA].damx
- Si se debe crear un modelo físico: si se debe crear un diagrama de modelo físico para cada área temática
- "Y": Reverse tarda más en completarse, pero crea un modelo físico desde cero
- No crea el modelo de física "N" (el inverso se puede completar más rápido)
2.4.5. Archivo de plantilla: Modelo
- Nombre del modelo: el nombre del archivo del modelo que se guardará. Solo se invierte el modelo especificado aquí.
- Se utiliza en la opción "Modelo de formato de nombre de archivo".
- Debe coincidir con el nombre del modelo de tabla, columna y plantilla FK.
- DBMSType: especifica el tipo de DBMS que se asignará al modelo físico del modelo. Utilice uno de los siguientes valores. (Nota: a medida que se actualiza DA#, este valor puede agregarse o eliminarse)
- ALTIBASE
- GRAN CONSULTA
- CUBRIDO
- DB2UDB
- CIRUELA VERDE
- HANADB
- COLMENA
- IMPALA
- INFORMIX
- MARIA
- mysql
- NETEZZA
- BASE OCEÁNICA
- ORÁCULO
- POSTGRESQL
- DESPLAZAMIENTO AL ROJO
- SERVIDOR SQL
- SYBASEASE
- SYBASEIQ
- TERADATA
- tibero
- VERTICA
- Otros valores se especifican como ORACLE
- Definición: Una descripción del modelo.
2.4.6. Archivo de plantilla: Tabla
- Nombre del modelo: el nombre del archivo del modelo que se guardará. Solo se invierte el modelo especificado aquí.
- Nombre del área temática: Modelo de área secundaria temática para colocar cada tabla
- Nombre del grupo de entidades: las entidades con el mismo nombre de grupo se colocan en la misma posición en el diagrama del área temática.
- Antes de ejecutar Reverse, se analiza previamente el área de negocio de cada tabla (pedido, pago, etc.) o la naturaleza de la tabla (objeto (básico), detalle, código, histórico, temporal, relación, etc.), y el nombre del grupo se designa de antemano, y el grupo es Esto es útil si desea colocarlos en un solo lugar.
- Convierta el nombre del grupo de entidades en un cuadro de texto y recopile y organice las entidades debajo de él. (ver imagen abajo)
- Otros son los valores de los atributos asignados a la entidad objeto de DA# de la siguiente manera.
- nombre de la entidad
- nombre de la tabla
- sinónimo
- nombre auxiliar
- Propietario de la base de datos
- Clasificación: Una de Clave, Principal, Acción, Ninguna. Si no se especifica ningún valor, el valor predeterminado es 'Ninguno'.
- Nivel
- Niveles: ya sea esencial o práctico. Si no se especifica ningún valor, el valor predeterminado es 'práctico'.
- Tipo: Uno de Normal, Adicional, Drop, Externo o Pseudo. Si no se especifica ningún valor, el valor predeterminado es 'Normal'.
- Normalización: una de heredada, objetivo o no objetivo. Si no se especifica ningún valor, el valor predeterminado es 'heredar'.
- situación
- ciclo de ocurrencia
- cantidad mensual
- Período de retención (meses)
- número total de casos
- Justicia
- formulario de procesamiento de datos
- Unicidad
- Nota
- Etiqueta
- Nota: En el momento de escribir este artículo, no se admite la configuración de valores UDP.
2.4.7. Archivo de plantilla: Columna
- Nombre del modelo: el nombre del archivo del modelo que se guardará. Solo se invierte el modelo especificado aquí.
- Nombre de la entidad: Consulte el contenido del nombre de la tabla a continuación. No requerido.
- Nombre de la tabla: un valor que conecta a qué entidad pertenece la propiedad. Este es un valor requerido. Es difícil garantizar la unicidad de los nombres de las entidades y, a menudo, están vacíos, así que no los utilice como valores de conexión. Al extraer información inversa de la base de datos a través de una consulta, se puede garantizar que el nombre de la tabla sea único y no esté vacío, por lo que el nombre de la tabla se usa como valor de conexión.
- Los siguientes son los valores de atributos asignados al objeto Attribute de DA#.
- Nombre del Atributo
- nombre de la columna
- Justicia
- nombre auxiliar
- sinónimo
- mesa inversa
- Columna inversa
- Tipo inverso
- Longitud inversa
- PK: si la propiedad tiene PK (Y o nulo)
- NotNull: NotNull o no (Y o nulo)
- Tipo: Uno de Normal, Adicional, Drop, Sistema, Pseudo
- tipo de datos
- largo
- punto decimal
- por defecto
- Estado de la propiedad principal: (Y o nulo)
- Identificador esencial: (Y o nulo)
- Identificador secundario: (Y o nulo)
- Sincronización estándar: (Y o nulo)
- No herencia: (Y o nulo)
- Estandarización
- Si la información está protegida: (S o nulo)
- Nivel de protección de la información
- Cifrado: (Y o nulo)
- lucha
- Nota: En el momento de escribir este artículo, no se admite la configuración de valores UDP.
2.4.8. Archivo de plantilla: FK
- FK no es una entrada obligatoria, pero si la relación entre las entidades se conoce de antemano, es bueno escribirla e ingresarla tanto como sea posible.
- Nombre del modelo: el nombre del archivo del modelo que se guardará. Solo se invierte el modelo especificado aquí.
- nombre de la entidad principal, nombre de la entidad secundaria
- Debe coincidir exactamente con el nombre de la entidad especificado en la plantilla de la tabla.
- Entre las API de DA#, no existe una API que cree un FK en un modelo físico, por lo que se utiliza una API (Model.LinkRelation) que crea una relación en un modelo lógico.
- A continuación se muestran los valores de los atributos asignados al objeto Relación de DA#.
- nombre de la relación
- Justicia
- Tipo de Relación: Uno de Normal, Pseudo. Si no se especifica ningún valor o no se especifica ninguno, el valor predeterminado es 'Normal'.
- Se recomienda designar Normal si la relación entre dos entidades es cierta y Pseudo si no es cierta o para crear una relación con el fin de analizar el modelo de datos.
- En el caso de Normal, el identificador de la entidad principal lo hereda la entidad secundaria, pero en el modelo de datos real, la propiedad real del identificador puede quedar excluida o el nombre puede ser diferente, lo que puede dañar el modelo de datos.
- Ordinalidad (padre:hijo): uno de 1:1, 1:M o M:M. Si no se especifica ningún valor, el valor predeterminado es '1:M'.
- Selectividad (Padre: Hijo): Especifique como uno de los siguientes. Si no se especifica ningún valor, el valor predeterminado es 'O:M'. (O: Opcional, M: Obligatorio)
- O:M -> predeterminado
- O:O
- M:O -> Inadecuado pero provisto
- M:M
- Identificación: Uno de identificación o no identificación. Si no se especifica ningún valor, el valor predeterminado es 'no identificado'.
- Identificación: el identificador principal hereda el identificador secundario
- No identificable: el identificador principal hereda como propiedad general secundaria
- Verbo relacional de entidad principal, Verbo relacional de entidad secundaria: por lo general, un nombre de relación es suficiente, pero si se necesita una explicación adicional, se especifica un verbo de relación. Vea la imagen de abajo para el concepto.

Hasta ahora, hemos visto la función Inversa entre las funciones Macro DA#. A continuación, veremos las precauciones y los puntos de referencia al usar la Macro DA#.
<< Lista de artículos relacionados >>
- Macro DA#(1): DA#, API DA#, descripción general de la macro DA#
- Macro DA# (2): Función macro DA# (1) - Función común, Entidad Get/Set
- Macro DA# (3): Función de macro DA# (2) - Obtener/Establecer atributo
- Macro DA# (4): Función macro DA# (3) -Reversa
- Macro DA#(5): Notas/notas de uso, descargas, funciones que se agregarán en el futuro, notas
- Macro DA#(6): API del modelador DA#
- Video de demostración de la función macro DA# (YouTube)
- Contenido de la descripción de la macro DA#, descarga