Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 25 Próxima »

 O objetivo do diagrama de dados é descrever a estrutura das classes, seus atributos e relacionamentos no sistema. É através do diagrama que geramos automaticamente a camada de persistência e o CRUD.


Figura 1 - Área do diagrama de classe

Menu superior

Nesse menu se encontra todas as propriedades e ajustes do diagrama em si, como gerar a persistência, trocar de banco, filtros das classes, visões e etc.

Figura 2 - Menu superior do diagrama de classes

  1. Gerar camada de persistência: responsável por gerar as camada entity e dao .
  2. Gerar crud: cria os formulários CRUD na camada view nas classes do diagrama.
  3. Gerar diagrama a partir do banco de dados: faz engenharia reversa a partir de um banco de dados cadastrado no projeto. essa opção só fica disponível ao criar um segundo diagrama no projeto.
  4. Organizar elementos do diagrama: organiza toda a visualização das classes do diagrama.
  5. Detectar relacionamentos: sinaliza as classes geradas em relacionamentos NtoM.
  6. Exportar diagrama em: exporta o diagrama em dois formatos diferentes:
    • SVG
    • PDF
  7. Bloquear/Desbloquear Diagrama: impede alterações no diagrama.
  8. Zoom: ferramenta para aumentar ou diminuir zoom da área do diagrama..
  9. Banco de dados: selecionar o banco de dados que estará sendo trabalhado, já que algumas aplicações podem ter mais de um banco.
  10. Namespace: nome do espaço de trabalho
  11. Visão: escolher a visualização do diagrama a partir da visão selecionada, como por exemplo visão "produto", mostrará apenas as classes, relacionamentos que tem interação direta com produto. 
  12. Filtro por visão: filtrar as classes e relacionamentos que serão mostrados na visão, cria novas visões.
  13. Buscar: buscar controle, ferramenta.

Menu lateral

Nesse menu se encontram as ferramentas das classes, assim como seus aspectos.

Figura 3 - Menu lateral

Controle

Onde as ferramentas de relacionamentos e criação de novas classes se encontram.

  • Tools: ferramentas de relacionamento, para adicionar o relacionamento entre classes selecione o relacionamento, em seguida as classes que se relacionarão:
    • 1to1: cada uma das duas entidades envolvidas referenciam obrigatoriamente apenas uma unidade da outra.
    • 1toN: uma das entidades envolvidas pode referenciar várias unidades da outra, porém, do outro lado cada uma das várias unidades referenciadas só pode estar ligada uma unidade da outra entidade.
    • NtoM: neste tipo de relacionamento cada entidade, de ambos os lados, podem referenciar múltiplas unidades da outra.
  • Class: adiciona uma classe ao diagrama, basta arrastá-la para área do diagrama.

Propriedades e eventos

Ao selecionar uma classe do diagrama ou ligação entre duas classes, a pasta control abrirá algumas propriedades que podem ser alteradas, assim como eventos.

Estrutura

Exibe as classes existentes e seus relacionamentos com outras classes. Clique em uma classe para centralizá-la no diagrama, útil em grandes diagramas.

Figura 3.1 - Classes e a lista de seus relacionamentos

Estrutura da Classe

Ao criar uma classe você pode adicionar um nome e dar atribuir atributos. 

Figura 4.1 - Manipulação de classe


Figura 4.2 - Manipulação de classe

  1. Class: nome que você escolherá para a classe.
  2. '#': seleção dos atributos.
  3. Permissão: ao clicar no ícone de um atributo você poderá alterar as permissões de CRUD e filtro para determinados perfis.
  4. Atributo: campo para definir o nome do atributo na classe java. Quando esse é definido, automaticamente a coluna do banco e o rótulo recebem o mesmo nome.
  5. Coluna do Banco: nome do campo no banco de dados.
  6. Tamanho: tamanho do campo no banco de dados. Funciona de acordo com o tipo do campo adotado. Em campos do tipo string (varchar), essa coluna define a quantidade máxima de caracteres. 
  7. Precisão: quantidade total de algarismos aceitos em um campo do tipo numérico fracionado, contando a parte inteira e a parte fracionada.
  8. Escala: quantidade de algarismos que será configurada para a parte fracionada no número.

    As colunas Precisão e Escala somente são habilitadas à escrita quando o tipo do atributo escolhido na coluna Tipo for correspondente a um tipo numérico fracionado. Ex. DoubleLong etc.

  9. Valor padrão: atribui uma expressão java ao atributo ou um valor padrão de um tipo parametrizado, caso necessário. No exemplo da (imagem 2) há uma expressão para que o ID obtenha um valor randômico único.
  10. Rótulo: Rótulo do front-end. Nome da coluna que será exibida no CRUD gerado pelo Wizard Crud View.
  11. Máscara: campo será configurado para ter a entrada rotulada com a expressão de máscara definida. Existem algumas máscaras padrões ou você poderá adicionar uma específica.
  12. Tipo: caixa de seleção para escolher o tipo do atributo, se ela será uma string, um inteiro, um date.
  13. Chave: define o campo como chave primaria da tabela, as chaves nunca se repetem na mesma tabela e, desta forma, podem ser usadas como um índice de referência para criar relacionamentos com as demais tabela do banco de dados.
  14. Único: marcando essa opção, o valor do campo será único na tabela.
  15. Não nulo: define se o campo permitirá valores nulos.
  16. Ignorar: define se o campo poderá ser ignorado, não preenchido.
  17. Tipo de PK: tipo do campo da chave primária. Contém opções de tratamento da chave primária. Podem ser selecionados os valores: 
    • UUID: por tratamento no código java terá como valor (Default Value Expression) um conjunto de caracteres no padrão Universally Unique Identifier (UUID). Ao escolher essa opção, o tipo do campo deverá ser java.lang.String (varchar).
    • Identity: define a chave primária como um campo numérico auto incremental. O tipo do campo deverá ser selecionado como inteiro. 
    • None: não configura nenhum tratamento especial para o campo de chave primária.
  18. MultiEmpresa CTX: atributo que define o usuário para projetos do tipo Multi Inquilino.
  19. Transitório: atributo será modificado constantemente durante a aplicação.
  20. Pode Inserir: define que o atributo pode ser inserido.

  21. Pode atualizar: define que o atributo como editável.
  22. Criptografar: define que o atributo será criptografado, como por exemplo as senhas do usuário.
  23. Coluna Referenciada: 
  24. Pesquisável: seta que o atributo pode ser pesquisado na aplicação (filtro no CRUD).

Tipos utilizados na classe

Os dados utilizados para um atributo da classe são descritos na tabela abaixo:

Tipo (Java)Classe JavaCorrespondente no BancoDescrição
Texto (string)StringVARCHARArmazena um conjunto de caracteres, porém com uma capacidade menor que do texto longo.
Texto Longo (Long text)StringLONGTEXTArmazena aproximadamente 4,294,967,295 (4GB) caracteres alphanuméricos. 
Lógico (Boolean)BooleanBOOLEANPermite que o atributo armazene somente um de dois estados: true ou false.
Caracter (Character)CharacterCHARACTERArmazena somente um caractere alphanumérico.
Numérico (Numeric)DoubleDOUBLEArmazena tanto números inteiros quanto fracionários no padrão da IEEE 754, .
Inteiro (Integer)IntegerINTArmazena números inteiros entre -2,147,483,648 à 2,147,483,647.
Inteiro Longo (Long Integer)LongLONG

Armazena números inteiros entre - 263 à 263 - 1.

Decimal Grande (Big Decimal)BigDecimalNUMERICArmazena tanto números inteiros quanto fracionários.
Inteiro Grande (Big Integer)BigIntegerNUMERICArmazena números inteiros que são maiores que Integer ou Long.
Inteiro Curto (Short)ShortSMALLINTArmazena números inteiros entre -32,768 à 32,767.
ByteByteSMALLINTArmazena números inteiros entre -32,768 à 32,767.
Data (Date)DateTIMESTAMPArmazena data (data, mês e ano).
Data e Hora (Date and Time)DateTIMESTAMPArmazena tanto a data quanto a hora.
Data e Hora com Fuso (Timestamp)DateTIMESTAMPArmazena, além da data e da hora, o fuso horário.
Hora (Time)DateTIMESTAMPArmazena hora (hora, minuto e segundo).
Binário (Binary)*VARBINARYArmazena o dado em formato binário.
Arquivo no Banco (Database File)*VARBINARYArmazena arquivos no banco de dados usado em seu projeto no Cronapp.
Arquivo no Dropbox (Dropbox File)*VARBINARYArmazena arquivos na nuvem do Dropbox e salva em banco a sua URI.

Imagem no Banco (Database Image)

*VARBINARYArmazena imagens no banco de dados usado em seu projeto no Cronapp.
Imagem no Dropbox (Dropbox Image)*VARBINARYArmazena imagens na nuvem do Dropbox e salva em banco a sua URI.
Classe (Chave estrangeira / Foreign Key)-Foreign KeyApresenta a(s) classe(s) existentes no diagrama para gerar a chave estrangeira dessas tabelas.

não é uma classe Java, mas sim um dado primitivo. Byte[] - um array de byte.

Menu de contexto da classe

Ao clicar com o botão direito em cima da classe, um menu aparecerá com algumas opções. 

Figura 5 - Janela da classe

  • Gerar visão CRUD para a entidade: somente gera o formulário da classe selecionada.
  • Criar camada de dados para a entidade: somente gera a camada de persistência para a classe selecionada.
  • Apagar: apaga a classe selecionada.
  • Propriedade da entidade: abre a janela de manipulação da classe selecionada.

Nessa Página


  • Sem rótulos