Documentação

4 Modelos de dados

Para ter acesso aos modelos de dados, basta clicar no segundo item do menu superiod MODELOS DE DADOS. Esta seção mostra os modelos de entidade relacional (ER) da aplicação. O Adianti Builder gera automaticamente três modelos:

  • Permissão

  • Comunicação

  • Log

Esses três modelos estão disponíveis apenas para leitura não permitindo modificações em sua modelagem.

Todos os modelos, criados pelo usuário ou aplicação, oferecem a opção de download do script de criação das tabelas do banco de dados, o qual será compatível com o banco de dados escolhido no momento da criação do projeto pelo desenvolvedor. Outra opção disponível é o download dos modelos de classe do modelo através do link php.

Modelos de dados

Através da caixa de texto disposta no centro da tela é possível realizar buscas pelo nome dos modelos de dados.

Para criar um novo modelo basta clicar no link Novo modelo que se encontra no menu lateral esquerdo.

4.1 Permissão

O Adianti Builder possui controle de permissões de acesso por usuários e por grupos já integrado em seu código. Além disso, conta com cadastros completos de usuários, grupos, unidades, programas e permissões.

Modelo permissão

  • system_users: Representa um usuário do sistema.

  • system_unit: Representa uma unidade da organização, pode ser uma filial, um departamento, ou outro tipo de divisão. Um usuário estará vinculado à uma unidade.

  • system_group: Representa um grupo de usuários. Um usuário poderá fazer parte de muitos grupos.

  • system_program: Representa um programa. Basicamente é uma página representada por uma classe em app/control.

  • system_user_group: Vincula usuários com grupos.

  • system_user_program: Vincula usuários com programas.

  • system_group_program: Vincula grupos de usuários com programas.

  • system_preference: Armazena preferências gerais do sistema.

  • system_user_untit: Armazenas às unidades do usuário.

4.1.1 Menus

Os menus de uma aplicação construída com base no Adianti Builder são definidos em XML, mas se moldam conforme o nível de permissão do usuário que está logado.

4.2 Comunicação

O Adianti Builder também oferece um gerenciador de documentos, que permite que os usuários enviem e compartilhem documentos entre si. Também é possível trocar mensagens entre os usuários do sistema e registrar notificações do sistema.

Modelo comunicação

  • system_document: Representa um documento a ser armazenado na plataforma (DOC, PDF, XLS, etc).

  • system_document_category: Representa uma categoria de documentos, uma forma de classificar estes.

  • system_document_group: Vincula (compartilha) documentos à grupos de usuários.

  • system_document_user: Vincula (compartilha) documentos à usuários.

  • system_message: Registra uma mensagem a ser enviada de um usuário para outro na aplicação.

  • system_notification: Registra uma notificação gerada pelo sistema para um determinado usuário, com uma ação a ser executada.

4.3 Log

Controle de execução de comandos SQL e alteração de valores de registros são fornecidos automaticamente pelo Adianti Builder. O controle de mudanças nos valores de registros pode ser ativado durante a construção do modelo ER da aplicação ou posteriormente nos modelos de classe. Já a opção de gravar comandos SQL executados deve ser definida na instalação da aplicação ou diretamente no arquivo de configuração dos logs.

Modelo de controle de logs

  • system_access_log: Armazena logs de acesso (login e logout da aplicação).

  • system_sql_log: Armazena logs de SQL (comandos de insert, update e delete).

  • system_change_log: Armazena logs de mudanças de registros (troca de valores em tabelas).

4.4 Modelagem relacional

4.4.1 Novo modelo

O link novo modelo posicionado no menu lateral esquerdo, exibe um popup, onde deverá ser informado o nome do modelo, nome do banco de dados e o tipo de banco, respectivamente. Para acessar o modelo criado basta clicar em abrir na lista de modelos do projeto em questão.

Novo modelo pop-up

4.4.2 Diagramador ER

O diagramador exibirá uma página em branco onde deverá ser realizada a modelagem de entidades de relacionamento da aplicação. Funções básicas como zoom in e out, fazer e desfazer estão dispostas no topo da página.

Dentro do diagramador é possível criar as entidades de forma automática através de um script de criação de banco de dados, basta clicar no botão importar e informar as instruções SQL.

Algumas páginas dentro do Adianti Builder exigem um certo padrão nos atributos da tabela relacionada, por exemplo, páginas do tipo calendário precisam possuir certos atributos pré estabelecidas. Para facilitar a modelagem o diagramador oferece o template de algumas entidades.

Diagramador ER

4.4.3 Criar entidades

Existem duas maneiras para criar uma entidade dentro do diagramador, clicando com o botão direito do mouse na área de modelagem ou selecionando no botão de adicionar tabela posicionado no menu lateral esquerdo, após sua adição basta informar seu nome.

4.4.4 Opções das entidades

Da esquerda para direita,cima para baixo.

  1. Inserir dados: Esta opção permite pré-cadastrar dados para à aplicação. Esses dados poderão ser utilizados na criação de páginas como filtros por exemplo.

  2. Minhas páginas: Exibe uma lista contendo as páginas já criadas para essa entidade (listagens, formulários, desenhos, etc).

  3. Nova página: Lista com os tipos de páginas disponíveis para criação.

  4. Deletar: Excluir a entidade selecionada.

  5. Adicionar coluna: Adicionar uma coluna na entidade selecionada.

  6. Propriedades: Opções que serão aplicadas no modelo de classe.

Criar entidade

4.4.5 Chaves entre diagramas.

Chaves entre diagramas não são foreign keys (chaves estrangerias), elas criam ligações entre tabelas de diagramas diferentes que podem estar em bancos de dados diferentes.

Um exemplo comum de uso de chave entre diagramas seria buscar o nome do vendedor que realizou uma venda. O nome do vendedor estaria na tabela system_users dentro do diagrama de permissões enquanto a tabela de vendas normalmente estaria no banco de dados da aplicação, logo em bancos de dados diferentes. Mesmo estando em bancos diferentes, o Builder permite conectar as informações, permitindo exibir por exemplo, o nome do vendedor em uma listagem de vendas. Para habilitar este comportamento, é necessário estabelecer uma chave entre diagramas. Com está ligação o Adianti Builder poderá sugerir o nome do vendedor, não somente a chave estrangeira, quando uma página que usa a tabela de vendas for criada.

Chave estrangeria entre bancos

4.4.6 Manipular colunas

Para criar uma coluna dentro de uma entidade basta clicar no ícone + (Adicionar coluna), após isso aparecerá um formulários para preenchimento das informações.

Adicionar coluna

Os dois campos da primeira linha são respectivamente o nome da coluna da tabela no banco de dados e seu tipo.

A segunda linha do formulário contém a informação do tamanho máximo do campo no banco de dados, e valor padrão para novos registros.

Na terceira linha está o campo Rótulo, nele será definido a informação que o Adianti Builder irá usar como rótulo na criação de diversas páginas, como rótulos de campos para formulários, ou títulos de colunas para datagrids.

Um exemplo seria, a coluna descricao teria como rótulo "Descrição" e quando uma página for criada usando como base essa entidade, automaticamente o rótulo da coluna descricao estará correto. Pode-se adicionar limitações para o atributo criado:

Sigla Significado
NN Not null, o campo não aceitará valores vazios.
UQ Unique, o valor definido no campo deve ser único dentro da entidade.
AI Auto increment, valor sequencial.

Para editar um atributo, basta clicar duas vezes sobre o elemento desejado.

Para deletar um atributo basta clicar sobre a lixeira que aparecerá ao deixar o cursor do mouse sobre a linha desejada.

4.4.7 Coluna visualizável

É possível definir uma coluna por tabela de um diagrama como "Coluna visualizável", isso significa que em uma relação entre tabelas o Builder exibirá o valor desse campo ao invés da chave estrangeira.

Coluna visualizável

No exemplo acima a coluna descricao da tabela categoria está definida como coluna visualizável, portanto quando uma página for criada utilizando a tabela produto não será exibido o valor da chave estrangeria categoria_id. O Builder automaticamente encontrará a ligação entre as tabelas e irá sugeria o campo descricao (categoria->descriaco) da tabela categoria como valor a ser exibido.