Conectar una vista de base de datos
Data source: MainCommunity Edition+Introducción
Conecta vistas de la base de datos, como vistas de informes financieros mantenidas por el DBA, vistas de clientes filtradas o vistas agregadas sincronizadas entre distintos sistemas. Es adecuada para reutilizar la lógica de consulta ya definida en la base de datos.
Se admiten vistas normales dentro del ámbito de los propietarios de la cuenta de conexión de la base de datos principal; no se admiten vistas materializadas. Aunque la cuenta tenga permiso de consulta sobre vistas de otros propietarios, estas no aparecerán en la lista de vistas disponibles para conectar. Antes de conectarlas, confirma que los campos de la vista tengan nombres de columna estables y que sus tipos puedan ser reconocidos por NocoBase.
Conectar una vista de base de datos
- Haz clic en el menú de fuentes de datos dentro de las funciones del sistema para acceder a la página principal de fuentes de datos.
- Selecciona la fuente de datos Main en la lista de fuentes de datos y haz clic en «Configure» para acceder a la base de datos principal.
- En la administración de la base de datos principal, haz clic en «Create collection» y selecciona «Connect to database view»

Source collections son las tablas de datos de origen inferidas a partir de la vista de base de datos. Permite identificar de qué tablas existentes proceden principalmente los campos de la vista y limita las opciones disponibles de Field source durante el mapeo de campos.
El resultado de la inferencia sirve de ayuda para agilizar la configuración. Si la vista contiene renombrados, cálculos, agregaciones o joins complejos, el resultado puede no ser completamente preciso o no poder inferirse; en ese caso, debes confirmarlo manualmente en Fields.
Mapeo de campos
El mapeo de campos es una configuración que debes confirmar después de conectar una vista de base de datos. Tras conectar la vista, NocoBase infiere primero el origen y el tipo de base de datos de cada campo: cuando puede inferir el campo de origen, obtiene automáticamente el Field type, el Field interface y el Field display name del campo existente; cuando no puede hacerlo, proporciona un Field type inicial según el tipo de campo de la base de datos, por lo que debes confirmar manualmente el tipo de campo y la configuración de la interfaz. Obtén más información sobre la configuración de campos

Por ejemplo, si la vista devuelve customer_name y este procede del campo «Nombre del cliente» de la tabla de clientes, puedes mapearlo al campo correspondiente de la tabla de clientes. De este modo, NocoBase puede reutilizar el título, el tipo y la configuración de interfaz del campo original.
Si el campo de la vista procede de un resultado agregado o calculado, como count(*) as total o sum(amount) as amount_total, normalmente tendrás que seleccionar manualmente el Field type y un Field interface adecuado.
Field source procede de la inferencia que NocoBase realiza sobre la vista de base de datos e indica a qué campo existente podría corresponder un campo de la vista. Cuando un campo incluye Field source, NocoBase dará prioridad a la reutilización del Field type y el Field interface del campo de origen.
Si no se puede inferir el campo de origen o el resultado no corresponde al significado del negocio, debes eliminar Field source y seleccionar manualmente Field type, Field interface y Field display name.
Identificador único del registro
Las vistas de base de datos deben tener configurado un Record unique key; de lo contrario, no se podrán crear bloques en las páginas ni visualizar o editar correctamente los registros. Puedes seleccionar un campo o una combinación de varios campos como identificador único. Los campos adecuados como Record unique key suelen cumplir estas condiciones:
- El valor del campo es único
- El valor del campo es estable y no cambia debido al ordenamiento, la paginación o las variaciones en los criterios estadísticos
- El campo no está vacío
- El campo siempre se devuelve en la vista
Si la vista procede de una consulta sobre una sola tabla, se recomienda devolver primero la clave principal de la tabla original. Si procede de un join entre varias tablas o de una agregación, puedes conservar en la vista de base de datos un ID de negocio estable o generar un campo único estable desde la base de datos.
Permitir operaciones de creación, actualización y eliminación
Si la vista de base de datos admite escritura, puedes activar «Allow add new, update and delete actions». NocoBase permitirá realizar operaciones de creación, actualización y eliminación sobre esta vista desde la página.
Las vistas de base de datos son más adecuadas como resultados de consultas y, de forma predeterminada, se tratan como tablas de datos de solo lectura. Solo se recomienda activar esta opción cuando hayas confirmado que la vista admite las operaciones de escritura correspondientes y que los permisos de la base de datos también permiten escribir.
Vista previa de los resultados de la vista
Antes de enviar la configuración, usa Preview para consultar los resultados de la vista. Durante la vista previa, confirma especialmente:
- Que la view se pueda consultar correctamente
- Que los campos estén completos
- Que los tipos de campo y de interfaz correspondan al significado del negocio
- Que Record unique key exista y que sus datos sean únicos
- Si es necesario ajustar en la base de datos los tipos de campo no compatibles

Configurar campos
Después de crear la vista de base de datos, haz clic en «Configure fields» a la derecha de la vista en la lista de tablas de datos para acceder a la página de configuración de campos. Esta configuración permite mantener los campos de la vista, definir cómo se muestran en la interfaz y establecer cómo se mapean los campos de la view a los Field type y Field interface de NocoBase.
Los campos normales de una vista de base de datos proceden de la view. NocoBase no añade, modifica ni elimina directamente columnas reales en la view. En la página de configuración de campos, solo se pueden añadir campos de relación de muchos a uno para complementar las relaciones de negocio en NocoBase. Las vistas de base de datos no pueden utilizarse como tablas de destino de campos de relación y normalmente no es necesario configurar un campo de título.
Obtén más información sobre la configuración de campos

Añadir un campo de relación
En las vistas de base de datos solo se pueden añadir campos de relación de muchos a uno. Estos campos permiten mapear un campo existente de la view a la clave principal o a un campo único de la tabla de datos de destino para mostrar registros relacionados en la página, pero no crean campos reales ni restricciones de clave externa en la view.
Haz clic en «Add field» para añadir un campo de relación de muchos a uno.
Obtén más información sobre la configuración de campos

Mapeo de campos
Después de conectar la vista de base de datos, NocoBase infiere el Field type a partir de los campos de la view y de sus campos de origen, y asigna un Field interface predeterminado. Si el origen del campo, su forma de visualización o su significado de negocio no son los esperados, puedes ajustar el mapeo en la configuración del campo.
Obtén más información sobre la configuración de campos

- Field interface (tipo de interfaz / tipo de UI): determina cómo se muestra e interactúa con el campo en el frontend. Por ejemplo, «texto de una sola línea», «número», «menú desplegable» o «fecha y hora». Es la clasificación del campo desde la perspectiva del usuario.
- Field type (tipo de datos): determina cómo identifica NocoBase el tipo de datos del campo. Los campos de la view que no tienen un campo de origen normalmente se infieren a partir del tipo de campo de la base de datos, por ejemplo,
string,integer,decimal,boolean,datetime, etc.
Ajustar Field source, Field type o Field interface no equivale a modificar el tipo de campo de la view en la base de datos. Principalmente afecta a la forma de visualización en la página, las reglas de validación y el modo en que NocoBase identifica el campo.
Sincronizar desde la base de datos
Si se modifica la estructura de los campos de la view en la base de datos, accede a «Configure fields» y haz clic en «Sync from database» para volver a leerla. Tras la sincronización, NocoBase actualizará los campos: añadirá los nuevos campos presentes en la view, eliminará los campos que ya no existan en ella y volverá a confirmar los tipos y orígenes de los campos.

Al sincronizar, el renombrado de un campo normalmente se interpreta como «eliminar el campo antiguo + añadir el nuevo». Antes de sincronizar, confirma si el campo antiguo está siendo utilizado por páginas, permisos, flujos de trabajo o API externas para evitar que la configuración deje de funcionar. Después de sincronizar, también debes volver a comprobar el Field type y el Field interface.
Editar campos
Haz clic en «Edit» a la derecha de un campo para editar su configuración. Editar un campo resulta útil para ajustar cómo se muestra y se utiliza en NocoBase, por ejemplo, para modificar el nombre mostrado, la descripción, las reglas de validación o la configuración específica del campo. Obtén más información sobre la configuración de campos

Editar la configuración de un campo no modifica el nombre real de la columna, el tipo de campo, la expresión SQL ni los índices de la view en la base de datos. Si necesitas ajustar la estructura real de la view, modifícala primero en la base de datos y después sincronízala mediante «Sync from database».
Eliminar campos
Haz clic en «Delete» a la derecha de un campo para eliminarlo. Eliminar un campo solo lo quita de los campos guardados en NocoBase; no elimina la columna real de la view en la base de datos.
Obtén más información sobre la configuración de campos

Eliminar un campo puede afectar a los bloques de página, las condiciones de filtrado, el ordenamiento, los permisos, los flujos de trabajo, la API y las configuraciones existentes. Antes de eliminarlo, confirma si todavía se está utilizando. Si la view sigue devolviendo esa columna, NocoBase podría volver a reconocer el campo al ejecutar «Sync from database» posteriormente.
Editar la vista
La definición SQL de una vista de base de datos se mantiene desde la base de datos. En la lista de tablas de datos, haz clic en «Edit» a la derecha de una vista de base de datos para ajustar sus metadatos y configuración de ejecución en NocoBase; esto no modifica la view de la base de datos. Si necesitas conectar otra view, se recomienda crear una nueva tabla de datos de vista de base de datos.

Después de modificar Record unique key o Allow add new, update and delete actions, debes volver a comprobar que los bloques de página, los permisos y los flujos de trabajo sigan funcionando según lo previsto.
Eliminar la vista
En la lista de tablas de datos, haz clic en «Delete» a la derecha de una vista de base de datos para eliminar su tabla de datos. Eliminar la tabla de datos de la vista solo borra la configuración de conexión y los campos de NocoBase; no elimina la view de la base de datos.
También puedes seleccionar varias vistas de base de datos de la base de datos principal y eliminarlas de forma conjunta. Antes de eliminarlas, comprueba si los bloques de página, gráficos, permisos, flujos de trabajo o API externas siguen utilizando esta tabla de datos de vista de base de datos.


