Configuración de tablas
La sección de configuración de tabla de la plantilla identifica detalles sobre las decisiones de diseño que influyen en la calidad general del modelo de datos y ayuda a evitar errores de configuración de la tabla de Common Data Model. Debe proporcionar respuestas a las siguientes preguntas en las diapositivas de configuración de la tabla de plantilla.
Pregunta | ¿Por qué es importante? |
---|---|
¿Ha eliminado todas las opciones innecesarias al crear una nueva tabla? | Todas las opciones innecesarias (como notas y conexiones) deben estar desmarcadas al crear una nueva tabla; de lo contrario, las opciones pueden crear atributos y relaciones innecesarios que pueden afectar a la experiencia del usuario. Estas opciones se pueden agregar más tarde. |
¿Está aprovechando las capacidades listas para usar en lugar de crear nuevas columnas (por ejemplo, "Enviar correo electrónico" o "Tabla de actividad" para el soporte de listas de grupos, etc.)? | Cuando necesite columnas como Asistentes, Para, Desde e Inicio programado, se debe utilizar una tabla de actividad personalizada. Las tablas de actividad personalizadas contienen muchas columnas de actividad predeterminadas (como Para, De, etc.) que pueden ser útiles en escenarios específicos. Si necesita enviar correos electrónicos a un registro de tabla personalizado, habilítelo para los correos electrónicos para que se agregue automáticamente una columna de dirección de correo electrónico a sus columnas. |
¿Utiliza relaciones N:N? | Las relaciones de varios a varios (N: N) son ligeras pero limitadas en su extensibilidad, y la asociación de datos entre dos registros puede ser difícil de importar. |
En lugar de relaciones N: N, ¿ha considerado puentes entre tablas personalizadas? | En lugar de las relaciones N: N estándar, una alternativa es una tabla puente, también conocida como tabla de intersección o relación manual de varios a varios. En lugar de utilizar una relación N: N estándar, puede crear una tabla puente entre las dos tablas relacionadas con una columna de búsqueda que hace referencia a cada lado de la relación. Esto enfoque permite la creación de más columnas en la relación que describe la relación. Tenga en cuenta que la experiencia del usuario es más complicada que una relación N:N normal. |
¿Aprovecha las asignaciones de columna en las relaciones de su tabla? | Al crear una relación, puede especificar asignaciones de columnas para rellenar automáticamente las columnas en la tabla relacionada. Este enfoque es útil en los casos en que necesita establecer valores comunes entre los registros principales y secundarios (como completar automáticamente la dirección de un contacto cuando se crea desde una cuenta primaria). Sin embargo, este enfoque no debe usarse para crear datos duplicados para columnas críticas, y deben considerarse alternativas como los formularios de vista rápida para mostrar atributos de solo lectura de un elemento principal en el formulario de registro de un registro secundario. |
¿Utiliza un solo editor para su personalización y un prefijo personalizado? | Evite tener varios editores con el mismo nombre técnico pero diferentes GUID. Cree el editor de su proyecto en un único entorno e impleméntelo en otros entornos de desarrollo con una solución no administrada. Si las personalizaciones provienen de diferentes entornos con el mismo editor de la solución (nombre y nombre del sistema), los componentes, como las tablas y las columnas, también deben ser verdaderamente únicos (el mismo GUID) para evitar problemas de implementación. Si se usa el mismo nombre de esquema en la misma columna que se creó por separado en dos entornos, se producirá un error en la importación de la solución al importar en el entorno. |
Columnas de opción, tablas personalizadas y localización
Las columnas de opciones son columnas de lista desplegable que ayudan a estandarizar la captura de datos en Dynamics 365 y hacen que la búsqueda de registros sea mucho más práctica. Si todo usaba columnas de texto, con el tiempo tendría una ortografía y abreviaturas notablemente diferentes de los mismos valores en varios registros, lo que dificultaría los informes y la usabilidad. Sin embargo, la debida previsión es necesaria para asegurarse de que está utilizando columnas de opciones de manera óptima. Debe responder las siguientes preguntas en la sección de columnas de opciones, tablas personalizadas y localización del documento de plantilla.
Pregunta | ¿Por qué es importante? |
---|---|
¿Está utilizando tablas personalizadas para reemplazar columnas de opciones? | Al definir una lista de opciones entre las que puede seleccionar un usuario, tiene dos alternativas: usar una columna de opciones o definir una tabla personalizada para mantener una lista de registros y reemplazar las columnas de opciones con una columna de búsqueda. Al seleccionar entre columnas de opciones y columnas de búsqueda, piense en los siguientes factores: los valores de columnas de opciones admiten la traducción de muchos idiomas diferentes, lo que permite a los usuarios ver los valores en sus propios idiomas. Las opciones (columnas de opciones de selección múltiple) pueden mostrar varios valores en un solo campo o en una fila en una vista. Las columnas de búsqueda se pueden desactivar, dejando el valor en registros más antiguos con fines históricos. Los valores de columnas de opciones solo se pueden eliminar. Los registros de tablas personalizados que se utilizan para las opciones de columna de búsqueda se pueden modificar, agregar y eliminar por personas que no son administradores. Los administradores deben agregar o cambiar los valores de las columnas de opciones e incluirlos en las prácticas de administración del ciclo de vida de las aplicaciones en uso. Los valores de las opciones de las columnas de opciones se mueven con las soluciones, los registros de tablas personalizados que se utilizan en las columnas de búsqueda deben crearse y mantenerse en cada entorno de forma individual, o se deben establecer procesos de migración de datos para mantener los datos de tablas personalizadas sincronizados entre entornos. Las tablas personalizadas son más adecuadas para grandes cantidades de opciones, porque brindan más capacidad de búsqueda que las columnas de opciones. |
¿Usa los atributos de números enteros de formato de idioma para filtrar registros en función del idioma del usuario? | La creación de una columna de número entero con la opción de formato idioma muestra una lista de los idiomas disponibles para su organización. El uso de una columna de número entero de idioma le permite filtrar registros en función del idioma del usuario actual. Los valores se muestran como una lista desplegable de nombres de idiomas, pero los datos se almacenan como un número que usa códigos LCID. Los códigos de idioma son identificadores de configuración regional de cuatro o cinco dígitos. Los valores de id. de configuración regional válidos se pueden encontrar en la página Valores de id. de configuración regional de Microsoft. |
Seguridad, relaciones y rendimiento
La seguridad se cubre con mayor detalle en el módulo Revisar el modelo de seguridad de sus soluciones de Dynamics 365. Para los propósitos de este módulo, evaluará el impacto del diseño del modelo de datos en el modelo de seguridad. Debe proporcionar respuestas a las siguientes preguntas en la sección Seguridad, Relaciones y Rendimiento de la plantilla del taller del modelo de datos.
Pregunta | ¿Por qué es importante? |
---|---|
¿Ha pensado en utilizar tablas propiedad del usuario/equipo frente a tablas propiedad de la organización? | Por lo general, los datos de referencia no suelen requieren propiedad si la visibilidad del registro no necesita limitarse a usuarios o grupos específicos. En caso de duda, la mejor opción es crear la tabla con una propiedad de Usuario o Equipo porque siempre puede conceder a los usuarios acceso a estos registros en el nivel de organización. La elección de la propiedad Organización no se puede cambiar y, a medida que su empresa crece, es posible que tenga que restringir el acceso a algunos registros más adelante. Por este motivo, la opción Usuario o Equipo debe estar seleccionada, ya que proporciona la máxima flexibilidad para futuros cambios comerciales. |
¿Ha revisado las relaciones dentro de su modelo de datos y su impacto en la seguridad? | Entre los comportamientos de relación que afectan la seguridad se encuentran: Asignar (en cascada: de elementos principales a secundarios), Compartir (en cascada: de elementos principales a secundarios), Dejar de compartir (en cascada: de elementos principales a secundarios) y Cambiar el elemento principal (no en cascada: ocurre cuando el registro secundario está asociado al principal, lo cual es importante para el uso compartido implícito). |
¿Utiliza seguridad en el nivel de campo? | La seguridad en el nivel de campo es una buena opción para proteger los datos en campos específicos. Sin embargo, el uso excesivo de campos protegidos puede afectar al rendimiento y agregar complejidad a la administración. |
¿Se ha planteado mover los datos confidenciales a una tabla independiente? | La seguridad en el nivel de campo opera a nivel global y no es sensible al contexto de Usuario/Unidad de negocio (a menos que estas columnas se compartan por registro), mientras que el uso de una tabla relacionada personalizada para datos confidenciales brinda flexibilidad adicional para tener diferentes niveles de permisos para datos confidenciales entre unidades de negocio. |
¿Realiza un seguimiento o tiene convenciones de nomenclatura para columnas de información personal confidencial? | Las columnas que contienen información personal deben recibir un nivel adicional de atención para mantener el cumplimiento de las normas de seguridad de datos. Un enfoque para administrar las columnas de información personal es establecer convenciones de nomenclatura para las columnas de información personal, como anteponer "persona" o "información confidencial" al nombre del esquema para las columnas de información personal. |
Columnas: claves alternativas, calculadas y consolidadas
En esta sección, puede capturar detalles sobre los diversos tipos de columnas respondiendo las siguientes preguntas.
Pregunta | ¿Por qué es importante? |
---|---|
¿Está usando claves alternativas? | Las claves alternativas permiten al administrador definir claves compuestas, como varias columnas de la tabla. Las claves alternativas imponen la exclusividad de los registros. Los valores de clave están indexados, lo que aumenta la velocidad de búsqueda y hacen que la importación de datos sea más eficiente al permitir que el registro coincida para la actualización en función del valor de la clave alternativa. Tenga cuidado al agregar a un sistema existente, ya que se podría romper la lógica de creación de registros que proporciona valores únicos. Las claves alternativas pueden ser valiosas para escenarios de integración cuando desea beneficiarse de las capacidades de upsert: al proporcionar la clave, el sistema sabe si puede crear un registro o actualizar uno existente. |
¿Usa columnas calculadas? | El exceso de JavaScript, las reglas de negocio y los complementos pueden degradar el rendimiento del sistema. Las columnas calculadas calculan en tiempo real cuando se ven los datos y pueden ser más eficientes. Debido a que el valor solo se actualiza al recuperarlo, asegúrese de que no necesita actualizaciones en tiempo real a medida que cambian los valores de origen calculados. |
¿Usa columnas consolidadas? | Al acumular valores de registros secundarios en principales, muchos clientes usan complementos sincrónicos. Este enfoque tiene una sobrecarga adicional en el rendimiento cuando se usa en exceso. Al usar las columnas consolidadas estándar, puede evitar complementos innecesarios, simplificar futuras actualizaciones y mejorar el rendimiento del sistema. Tenga en cuenta que las columnas consolidadas solo se calculan cada 12 horas de forma predeterminada, por lo que, si tiene datos que cambian rápidamente, es posible que las columnas consolidadas estándar no proporcionen información actualizada, por lo que se deben utilizar complementos. Sin embargo, al usar columnas consolidadas para datos que cambian más lentamente, mejorará el rendimiento. |
¿Ha comprobado que la longitud mínima/máxima o los valores de cada una de sus columnas fueran coherentes con los requisitos empresariales, así como con cualquier integración o asignación de datos? | Si el cliente va a migrar o integrar datos de Dynamics 365 con otros sistemas, necesita comprobar que las longitudes de las columnas configuradas sean coherentes con las longitudes de las columnas de datos en otros sistemas. |
¿Ha pensado utilizar columnas de fecha independientes de solo fecha o de zona horaria? | El comportamiento predeterminado de la columna de fecha es Local del usuario. Esta opción muestra los valores de fecha y hora en la zona horaria del usuario que ve el registro. Esta es una buena opción para fechas en las que la hora específica es importante, pero puede causar problemas para otros tipos de fechas. Piense si el cumpleaños se encuentra en formato local del usuario. Si el cumpleaños es el 5 de enero a las 12:00 a. m., un usuario en una zona horaria al oeste del creador del registro verá la fecha como el día anterior a las 11:00 p. m. El formato de solo fecha almacena solo el valor de la fecha y el formato independiente de la zona horaria almacena la hora, pero todos los usuarios ven el valor de fecha correcto. |
Auditoría
La auditoría es importante para la trazabilidad de la seguridad, así como para la resolución de problemas con los datos. En la sección de auditoría de la plantilla del taller de modelos de datos, capture los siguientes detalles sobre la configuración de la auditoría en el entorno del cliente:
Pregunta | ¿Por qué es importante? |
---|---|
¿Ha configurado la auditoría? | Muchos clientes que piensan que han configurado la auditoría en realidad no tienen una estrategia de auditoría integral. La auditoría no está habilitada para las tablas de forma predeterminada. Se recomienda habilitar la auditoría solo para las columnas específicas de los que desea realizar un seguimiento. Cuando se agregan tablas, puede ser sencillo olvidarse de activar la auditoría para la tabla. Si los datos se eliminan posteriormente, el administrador descubre que no existen registros de auditoría, por lo que es imposible saber quién eliminó los datos. |
¿Elimina periódicamente los registros de auditoría? | Los datos del registro de auditoría se acumulan en grandes volúmenes con el tiempo y deben eliminarse periódicamente para no consumir el almacenamiento. |
¿Dispone de un proceso para limpiar periódicamente los datos de registro? | Los datos del registro de auditoría se acumulan en grandes volúmenes con el tiempo y deben eliminarse periódicamente para no consumir el almacenamiento. |
¿Dispone de un proceso para archivar periódicamente datos transaccionales? | Los datos transaccionales importados durante muchos meses pueden crecer mucho, lo que afecta al rendimiento del sistema y aumenta los costes de capacidad de almacenamiento. Se deben establecer directivas de retención de datos para todos los datos transaccionales no procesables y los datos fuera del período de retención deben archivarse o eliminarse del sistema. Los trabajos de eliminación en masa del sistema se pueden utilizar para eliminar registros automáticamente de forma programada. |
Visualización o integración de datos externos
Muchas implementaciones de Dynamics 365 incluyen integraciones con otros sistemas, lo que amplía el modelo de datos fuera de los límites de Dataverse. Muchas migraciones de datos se pueden reemplazar por opciones más flexibles, lo cual reducirá el tamaño de la base de datos y mejorará el rendimiento del sistema. Responda las siguientes preguntas de esta sección de la plantilla del taller del modelo de datos.
Pregunta | ¿Por qué es importante? |
---|---|
¿Copia datos externos en tablas de Dynamics 365? | La integración de datos incorpora datos en Dataverse y proporciona a los usuarios de Dynamics 365 acceso a datos externos del sistema. Sin embargo, las integraciones de datos físicos pueden tener problemas: las grandes migraciones e integraciones de datos aumentan significativamente el tamaño y el coste de la capacidad de almacenamiento del sistema. Las grandes migraciones de datos requieren mucho tiempo y pueden retrasar la implementación de la aplicación. Las grandes migraciones e integraciones de datos crean copias duplicadas de los datos confidenciales del sistema, que pueden ser desaprobados por los responsables de la seguridad y el cumplimiento. Las integraciones de datos grandes y que se ejecutan con frecuencia pueden degradar el rendimiento del sistema. |
¿Se ha planteado usar aplicaciones de lienzo de Microsoft Power Apps para mostrar datos externos? | Las aplicaciones de lienzo de Power Apps se pueden insertar en formularios de aplicación basados en modelo de Dynamics 365, usando más de 300 conectores estándar y proporcionando prácticos asistentes para simplificar las tareas comunes de los usuarios. Las aplicaciones de lienzo también pueden crear registros en otros sistemas mediante el uso de conectores, por lo que pueden ser un puente ideal entre aplicaciones sin la necesidad de copiar datos físicamente. |
¿Ha considerado utilizar Power Apps component framework para mostrar datos externos? | Los controles de Power Apps component framework permiten a los administradores reemplazar los controles del sistema por controles personalizados y mostrar datos externos. |
¿Ha pensado insertar iconos de Microsoft Power BI para mostrar datos externos? | Al insertar iconos de Power BI en los formularios de la aplicación basada en modelo de Dynamics 365, puede habilitar la capacidad de mostrar datos almacenados en otros sistemas y filtrarlos para que sean contextuales para un registro mientras elimina la necesidad de copiar datos en Dynamics 365. |
¿Usa tablas virtuales? | Las tablas virtuales no contienen datos; se conectan a un origen de datos externo mientras muestran los datos a los usuarios como si estuvieran en Dataverse. Estos datos están disponibles para vistas, subcuadrículas y consultas de búsqueda avanzada. En la actualidad, las tablas virtuales solo admiten la lectura de datos y todos los datos de la tabla virtual son visibles para todos los usuarios del sistema. Si se requiere seguridad granular, debe considerar opciones alternativas. |
¿Ha considerado utilizar Exportar a Azure Data Lake o los Servicios de exportación de datos si necesita datos de Dynamics para fines de BI externos? | El servicio Exportar a Data Lake es una canalización para exportar datos continuamente de Dataverse a Microsoft Azure Data Lake Storage Gen2. El servicio Exportar a Data Lake está diseñado para el análisis de macrodatos empresariales al brindar alta disponibilidad escalable con capacidades de recuperación ante desastres. Los datos se almacenan en el formato de Common Data Model, que proporciona coherencia semántica entre aplicaciones e implementaciones. El servicio de exportación de Dynamics sincroniza los datos de Dynamics 365 con Azure SQL Database, lo cual es ideal para notificar grandes conjuntos de datos de Dynamics, ya que existen límites en la cantidad de registros que se pueden notificar mediante consultas directas desde Power BI al conectarse directamente a Dynamics 365. También es preferible notificar desde una base de datos externa desde la perspectiva del rendimiento. |
Experiencia de usuario
Si bien el punto principal del modelo de datos es comprender cómo se relacionan las tablas y cómo fluyen los datos a través del sistema, el modelo de datos debe estar influido por una buena experiencia del usuario para lograr la máxima adopción del sistema por parte de este. La forma en que se modelan los datos en Dynamics 365 puede afectar profundamente a la experiencia del usuario y lo difícil o fácil que es la aplicación para este. Tómese el tiempo para "limpiar" los datos de columna y tabla para que los usuarios no se confundan con los datos que deben usar. Responda las siguientes preguntas en la sección Experiencia de usuario del taller de modelo de datos.
Pregunta | ¿Por qué es importante? |
---|---|
¿Ha excluido de la búsqueda columnas y relaciones no utilizadas? | Establecer columnas para que no se puedan buscar excluirá estas columnas y relaciones del diseñador de filtro de Búsqueda avanzada y ayudará a facilitar las búsquedas para los usuarios. Limitar las columnas "Buscar" de la búsqueda rápida a las columnas más importantes hará que la búsqueda sea más rápida. |
¿Ha añadido un prefijo a las columnas no utilizadas (por ejemplo, "columna ZZ") para asegurarse de que aparecen al final de la lista? | Hacer que las columnas no se puedan buscar no las excluye del diseño de vista. Un enfoque para simplificar las vistas de compilación es anteponer a los nombres para mostrar de las columnas "ZZ" u otra notación estandarizada para que ocupen el último lugar alfabéticamente y no abrumen a los usuarios. |
¿Ha adoptado una convención de nomenclatura coherente para los metadatos con el fin de simplificar la experiencia de usuario? | Al diseñar un modelo de datos, debería crear las convenciones de nomenclatura coherentes para proporcionar etiquetas coherentes y comprensibles. Esta noción solo se aplica a los nombres de esquema de columnas que se muestran para desarrolladores o usuarios que obtienen acceso a los datos a través de API (por ejemplo, mediante Power BI). |
¿Ha adoptado un procedimiento coherente para administrar metadatos (como agregar nuevas columnas, etc.) para evitar conflictos y duplicados? | Cuando varios equipos o secuencias de proyectos funcionan en una sola implementación, es especialmente importante que exista una gobernanza para gestionar los metadatos a fin de tener un modelo de datos coherente y evitar posibles duplicaciones de columna. |
Al final del taller, el arquitecto de soluciones debe explicar los siguientes pasos y las acciones que se espera que tomen el cliente y el partner. Explique que se enviarán conclusiones y recomendaciones, y que se programará una reunión de seguimiento con el cliente para revisar el estado de los elementos de seguimiento si es necesario.