- Criado por Deborah Melo de Carvalho, última alteração por Igor Andrade em 14/02/2019
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 27 Próxima »
O formulário CRUD gerado pelo diagrama de dados pode variar dependendo do relacionamento das tabelas do banco de dados, os 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 chave estrangeira da classe carro.
Edição das views
Após fazer a geração da CRUD em cada classe, elas se apresentam da seguinte nas suas respectivas views:
Figura 1.2 - Formulário CRUD Web da classe Cliente
Figura 1.3 - Formulário CRUD Web da classe Carro
Adicionar ou editar dados
Na hora de executar o projeto e acessar o formulário da CRUD, quando for adicionar/editar um dado será mostrado da seguinte maneira:
Figura 1.4 - Adicionar/Editar dado no formulário Carro
Figura 1.5 - Adicionar/Editar dado no formulário 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 chave estrangeira da classe artista.
Edição das views
Após fazer a geração da CRUD em cada classe, elas se apresentam da seguinte maneira quando são abertas na área de edição da view:
Figura 2.2 - Formulário CRUD da classe Artista
Figura 2.3 - Formulário CRUD 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.
Figuras 2.4 e 2.5 - Página e configuração do fomulário da classe Álbum
Figura 2.6 e 2.7 - Página e configuração do fomulário da classe Artista
Relacionamento N-M
Em relacionamentos N para M, uma terceira tabela é gerada para vincular as várias relações possíveis de 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 classe Filme tem dois atributos (id, nome), assim como a classe Atores. Já a classe FilmesAtores apresenta o seu próprio id mais as chaves estrangeira das outras duas classes.
Edição das views
Após fazer a geração da CRUD em cada classe, 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
Na hora de executar o projeto e acessar o formulário da CRUD, quando for adicionar/editar um dado será mostrado da seguinte maneira:
Figura 3.5 - Adicionar/Editar dado para classe Filmes
Figura 3.6 - Adicionar/Editar dado para classe Ator
Figura 3.7 - Adicionar/Editar dado para classe associativa FilmeAtor
Existem diversas maneiras para linkar dados quando o relacionamento é n-m.
O primeiro é utilizar o campo que é gerado ao criar a CRUD das classes. Esse campo é o da chave estrangeira, mas ele precisa ser adicionado antes de ser feito a CRUD (Para saber mais, clique aqui) pois as chaves estrangeiras vão para a classe associativa. Pode ser tanto em formato de grade (Figura 3.8) quanto de lista (Figura 3.9).
Figura 3.8 - Linkar dado utilizando grade no formulário Filme
Figura 3.9 - Linkar dado utilizando lista no formulário Ator
A segunda forma é utilizar o campo da classe associativa (na Figura 3.5 e na 3.6 é o campo FilmeAtor), que também é necessário ser adicionado antes de gerar a CRUD, Ele tem o mesmo comportamento que é apresentado na Figura 3.8. Ao clicar em adicionar será aberto um popup da respectiva chave estrangeira da tabela.
A terceira forma seria gerar o CRUD da classe associativa e fazer o link dos dados através dela. Ambos os campos são componentes do tipo Caixa de seleção dinâmica.
Figura 3.10 - Linkar dados através do formulário da classe associativa
- Sem rótulos