- Created by Deborah Melo de Carvalho, last modified by Igor Andrade on 19/01/2023
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;
- 1toN, uma 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;
- NtoM, neste 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.
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
- No labels