O formulário CRUD gerado pelo diagrama de dados pode variar dependendo do relacionamento das classes. os tipos de relacionamentos são:

  • 1to1, a entidade de uma tabela se referencia obrigatoriamente apenas uma unidade da outra;
  • 1toNuma das entidades da tabela A pode referenciar várias unidades da tabela B, porém, do outro lado, cada uma das várias unidades da tabela B só podem estar ligada a uma entidade da tabela A;
  • NtoMneste tipo de relacionamento cada entidade, de ambos os lados, podem referenciar múltiplas unidades da outra.

Relacionamento 1-1

No diagrama de dados, a forma que é definida o relacionamento 1-1 apresenta-se da seguinte maneira:

Figura 1.1 - Relacionamento 1-1


No exemplo acima temos duas classes, onde a classe Carro tem 4 atributos (id, marca, modelo e placa) e a classe Cliente tem 3 atributos (id, nome e cpf) mais a entidade da classe Carro.

Edição das views

Após fazer a geração da CRUD em cada classe, elas se apresentam da seguinte maneira nas suas respectivas views:

Figura 1.2 - Edição do formulário da classe Cliente


Figura 1.3 - Edição do formulário da classe Carro

Adicionar ou editar dados

Após executar o projeto e acessar os formulários CRUD, eles serão apresentadas da seguinte maneira:


Figura 1.4 - Formulário web da classe Carro


Figura 1.5 - Formulário da classe Cliente


Os itens inseridos na view Carros serão exibidos em uma caixa de seleção na view Cliente, permitindo o relacionamento de um cliente que possui um carro específico.

Acesse o link Caixa de seleção dinâmica para mais informações sobre o componente.

Relacionamento 1-n

O relacionamento 1-n está representado no exemplo abaixo do diagrama de dados:

Figura 2.1 - Relacionamento 1-n


No exemplo acima, um artista pode possuir diversos álbuns. A classe Artista tem dois atributos, o id e o nome, enquanto a classe Álbum possui os atributos id, título e a entidade da classe Artista.

Edição das views

Após gerar os CRUD de cada classe, elas se apresentam da seguinte maneira quando são abertas na área de edição da view:


Figura 2.2 - Edição do formulário da classe Artista



Figura 2.3 - Edição do formulário da classe Álbum

Adicionar ou editar dados

Devido ao relacionamento 1 para N, a página Álbum (Figura 2.4) irá exibir um caixa de seleção com os artistas cadastrados, permitindo vincular 1 álbum a 1 artista, já na página Artista (Figura 2.5) será adicionada uma grade para permitir que 1 artista possua vários álbuns.

Nesta página



Figuras 2.4 e 2.5 - Formulário e configuração do fomulário da classe Álbum


O botão + Adicionar da grade Álbum (Figura 2.6) permite inserir novos títulos desse artista, ou seja, não é necessário ir até a página Álbum para inserir o nome dos discos de um artista.






Figura 2.6 e 2.7 - Formulário e configuração do fomulário da classe Artista


Relacionamento N-M

Em relacionamentos N para M, uma terceira tabela (tabela associativa) é gerada para vincular as várias relações possíveis entre ambos os lados (Figura 3.1).

Figura 3.1 - Relacionamento N-M


No exemplo da figura 3.1, um ator pode fazer diversos filmes, assim como um filme pode ter diversos atores. A tabela Filme tem dois campos (id, nome), assim como a tabela Atores. Já a tabela FilmesAtores apresenta o seu próprio id mais as chaves estrangeira das outras duas tabelas.

Edição das views

Após gerar as CRUDs em cada uma das classes seguindo as configurações das figuras 3.6, 3.8 e 3.10, elas se apresentam da seguinte maneira quando são abertas na área de edição da view:

Figura 3.2 - Edição do formulário CRUD da classe Filme



Figura 3.3 - Edição do formulário CRUD da classe Ator


Figura 3.4 - Edição do formulário CRUD da classe associativa FilmeAtor

Adicionar ou editar dados

Seguindo o exemplo do relacionamento N para M das tabelas Ator, Filme e da sua tabela associativa FilmeAtor. Nas configurações dos formulários de relacionamentos de Filme e Ator é possível selecionar as opções:

  • List (1 to N), exemplo figura 3.7: possui uma grade (FilmeAtor) dentro do formulário de adição de Filmes que permite inserir atores, previamente cadastrados, e os exibe na listagem dessa grade com o nome do filme;
  • List (N to M) Grade, exemplo figura 3.5: possui uma grade (Filme) dentro do formulário de adição dos Atores que permite inserir filmes, previamente cadastrados, e os exibe na listagem dessa grade;
  • List (N to M) Lista, exemplo figura 3.7: possui uma caixa de seleção (Ator) dentro do formulário de adição de Filmes que permite adicionar atores, previamente cadastrados, e exibe seus nomes na própria caixa de seleção.

Após executar o projeto e acessar os formulários da CRUD, elas serão apresentadas da seguinte maneira:





Figuras 3.5 e 3.6 - Formulário e configuração do fomulário da classe Ator





Figuras 3.7 e 3.8 - Formulário e configuração do fomulário da classe Filme



Figuras 3.9 e 3.10 - Formulário e configuração do fomulário da classe FilmeAtor