Conectar uma visualização de banco de dados
Data source: MainCommunity Edition+Introdução
Conecte visualizações existentes no banco de dados, como visualizações de relatórios financeiros mantidas pelo DBA, visualizações de clientes filtradas e visualizações agregadas sincronizadas entre sistemas. Elas são adequadas para reutilizar lógicas de consulta já definidas no banco de dados.
São compatíveis as visualizações comuns dentro do escopo do proprietário da conta de conexão do banco de dados principal; visualizações materializadas não são compatíveis. Mesmo que essa conta tenha permissão de consulta para visualizações de outros proprietários, elas não aparecerão na lista de visualizações disponíveis para conexão. Antes da conexão, confirme que os campos da visualização têm nomes de coluna estáveis e que os tipos de dados podem ser reconhecidos pelo NocoBase.
Conectar uma visualização de banco de dados
- Clique no menu de fontes de dados em funções do sistema para acessar a página inicial das fontes de dados.
- Selecione a fonte de dados Main na lista de fontes de dados e clique na ação «Configure» para acessar o banco de dados principal.
- No gerenciamento do banco de dados principal, clique em «Create collection» e selecione «Connect to database view»

Source collections são as tabelas de dados de origem inferidas com base na visualização de banco de dados. Elas identificam de quais tabelas de dados existentes vêm principalmente os campos da view e restringem as opções disponíveis de Field source durante o mapeamento dos campos.
Os resultados da inferência servem para auxiliar na configuração rápida. Se a view tiver renomeações de campos, cálculos, agregações ou joins complexos, o resultado poderá não ser totalmente preciso ou não ser inferido. Nesse caso, é necessário confirmar manualmente em Fields.
Mapeamento de campos
O mapeamento de campos é uma configuração que deve ser confirmada após a conexão com uma visualização de banco de dados. Depois de conectar a view, o NocoBase infere primeiro a origem e o tipo de banco de dados de cada campo da visualização. Quando o campo de origem pode ser inferido, o Field type, o Field interface e o Field display name do campo existente são preenchidos automaticamente; quando isso não é possível, o Field type inicial é definido com base no tipo do campo no banco de dados, sendo necessário confirmar manualmente o tipo e a configuração da interface. Saiba mais sobre a configuração de campos

Por exemplo, se a visualização retornar customer_name e esse valor vier do campo «Nome do cliente» da tabela de clientes, ele poderá ser mapeado para o campo correspondente da tabela de clientes. Dessa forma, o NocoBase poderá reutilizar o título, o tipo e a configuração da interface do campo original.
Se o campo da visualização vier de um resultado agregado ou calculado, como count(*) as total e sum(amount) as amount_total, normalmente será necessário selecionar manualmente o Field type e um Field interface adequado.
Field source vem da inferência do NocoBase sobre a visualização de banco de dados e indica a qual campo existente um determinado campo da visualização pode corresponder. Quando um campo contém Field source, o NocoBase prioriza a reutilização do Field type e do Field interface do campo de origem.
Se não for possível inferir o campo de origem ou se o resultado não corresponder ao significado do negócio, exclua Field source e selecione manualmente Field type e Field interface、Field display name.
Identificador exclusivo do registro
As visualizações de banco de dados precisam configurar o Record unique key; caso contrário, não será possível criar blocos na página nem visualizar ou editar registros corretamente. É possível selecionar um campo ou uma combinação de vários campos como identificador exclusivo. Os campos adequados para servir como Record unique key normalmente atendem às seguintes condições:
- O valor do campo é exclusivo
- O valor do campo é estável e não muda devido à ordenação, paginação ou alteração do critério estatístico
- O campo não é nulo
- O campo é sempre retornado na view
Se a view vier de uma consulta em uma única tabela, dê preferência ao retorno da chave primária da tabela original. Se a view vier de um join entre várias tabelas ou de uma agregação, mantenha na visualização de banco de dados um ID de negócio estável ou gere um campo exclusivo estável no lado do banco de dados.
Permitir operações de inclusão, atualização e exclusão
Se a view do banco de dados permitir gravações, ative «Allow add new, update and delete actions». O NocoBase permitirá executar operações de inclusão, atualização e exclusão nessa visualização pela página.
As visualizações de banco de dados são mais adequadas para uso como resultados de consultas e, por padrão, são tratadas como tabelas de dados somente leitura. Ative essa opção apenas depois de confirmar que a view oferece suporte às operações de gravação correspondentes e que as permissões do banco de dados também permitem essas gravações.
Visualizar resultados da visualização
Antes do envio, use Preview para consultar os resultados da visualização. Durante a pré-visualização, confirme principalmente:
- se a view pode ser consultada normalmente
- se os campos estão completos
- se os tipos de campo e de interface correspondem ao significado do negócio
- se o Record unique key existe e os dados são exclusivos
- se os tipos de campo não compatíveis precisam ser ajustados no banco de dados

Configurar campos
Depois de criar a visualização de banco de dados, clique em «Configure fields» à direita da visualização na lista de tabelas de dados para acessar a página de configuração de campos. A configuração de campos é usada para manter os campos existentes na visualização, definir como eles serão exibidos na interface e mapear os campos da view para o Field type e o Field interface do NocoBase.
Os campos comuns de uma visualização de banco de dados vêm da view do banco de dados. O NocoBase não adiciona, modifica nem exclui diretamente colunas reais na view. Na p ágina de configuração de campos, só é possível adicionar campos de relacionamento muitos-para-um, usados para complementar os relacionamentos de negócio no NocoBase. As visualizações de banco de dados não podem ser usadas como tabela de dados de destino de campos de relacionamento, e normalmente não é necessário configurar um campo de título.
Saiba mais sobre a configuração de campos

Adicionar campo de relacionamento
As visualizações de banco de dados só permitem adicionar campos de relacionamento muitos-para-um. Esses campos podem mapear campos existentes na view para a chave primária ou para um campo exclusivo da tabela de dados de destino, permitindo exibir registros relacionados na página, mas não criam campos reais nem restrições de chave estrangeira na view do banco de dados.
Clique em «Add field» para adicionar um campo de relacionamento muitos-para-um.
Saiba mais sobre a configuração de campos

Mapeamento de campos
Depois de conectar a visualização de banco de dados, o NocoBase infere o Field type com base nos campos da view e nos campos de origem e associa uma Field interface padrão. Se a origem, a forma de exibição ou o significado do campo não corresponderem ao esperado, o mapeamento poderá ser ajustado na configuração do campo.
Saiba mais sobre a configuração de campos

- Field interface (tipo de interface / tipo de UI): determina como o campo será exibido e como o usuário interagirá com ele no frontend. Exemplos incluem «texto de linha única», «número», «menu suspenso» e «data e hora». É a classificação do campo na perspectiva do usuário.
- Field type (tipo de dados): determina como o NocoBase reconhece o tipo de dados do campo. Os campos da view sem um campo de origem normalmente são inferidos com base no tipo do campo no banco de dados, como
string、integer、decimal、boolean、datetimee outros.
Ajustar Field source, Field type ou Field interface não equivale a modificar o tipo do campo na view do banco de dados. Essas opções afetam principalmente a forma de exibição na página, as regras de validação e a maneira como o NocoBase reconhece o campo.
S sincronizar do banco de dados
Se a estrutura dos campos da view for modificada no banco de dados, acesse «Configure fields» e clique em «Sync from database» para ler novamente a estrutura dos campos. Após a sincronização, o NocoBase atualizará os campos: adicionará os novos campos presentes na view, removerá os campos que já foram excluídos da view e confirmará novamente os tipos e as origens dos campos.

Durante a sincronização, a renomeação de campos normalmente será tratada como “excluir o campo antigo + adicionar o novo campo”. Antes de sincronizar, confirme se o campo antigo já é usado por páginas, permissões, fluxos de trabalho ou APIs externas, para evitar falhas de configuração após a sincronização. Depois, verifique novamente o Field type e o Field interface.
Editar campos
Clique em «Edit» à direita de um campo para editar sua configuração. A edição de campos é adequada para ajustar como eles serão exibidos e usados no NocoBase, por exemplo, alterando o nome exibido, a descrição, as regras de validação ou as configurações específicas do campo. Saiba mais sobre a configuração de campos

A edição da configuração de um campo não modifica o nome da coluna real, o tipo do campo, a expressão SQL nem os índices na view do banco de dados. Se for necessário ajustar a estrutura real da view, modifique-a primeiro no banco de dados e depois use «Sync from database» para sincronizar.
Excluir campos
Clique em «Delete» à direita de um campo para excluí-lo. A exclusão remove apenas o campo salvo no NocoBase; a coluna real da view do banco de dados não é excluída.
Saiba mais sobre a configuração de campos

A exclusão de um campo pode afetar blocos de página, condições de filtragem, ordenação, permissões, fluxos de trabalho, APIs e configurações existentes. Antes de excluí-lo, confirme se o campo ainda está em uso. Se a view do banco de dados continuar retornando essa coluna, o NocoBase poderá identificá-la novamente durante uma futura execução de «Sync from database».
Editar visualização
A definição SQL da visualização de banco de dados é mantida no lado do banco de dados. Na lista de tabelas de dados, clique em «Edit» à direita de uma visualização para ajustar seus metadados e configurações de execução no NocoBase; isso não modifica a view no banco de dados. Se precisar conectar outra view do banco de dados, recomenda-se criar uma nova tabela de dados de visualização.

Depois de modificar o Record unique key ou Allow add new, update and delete actions, verifique novamente se os blocos de página, as permissões e os fluxos de trabalho continuam funcionando conforme o esperado.
Excluir visualização
Na lista de tabelas de dados, clique em «Delete» à direita de uma visualização de banco de dados para excluir sua tabela de dados. A exclusão remove apenas a configuração de conexão e os campos no NocoBase; a view no banco de dados não é excluída.
As visualizações de banco de dados do banco principal também podem ser selecionadas em lote e excluídas de uma só vez. Antes de excluir, verifique se blocos de página, gráficos, permissões, fluxos de trabalho e APIs externas ainda usam essa tabela de dados de visualização.


