- Criado por Deborah Melo de Carvalho, última alteração em 13/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 22 Próxima »
Introdução
As formas de relacionamento entre classes determinam seus comportamentos. Muito conhecida nos estudos de banco de dados, os relacionamentos podem ser de três tipos 1-1, 1-N e N-M.
Para saber mais sobre relacionamento entre classes, consulte: Entidades e Relacionamentos.
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.
Formulário
Após fazer a geração da CRUD em cada classe, elas se apresentam da seguinte maneira quando são abertas na área de trabalho:
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 Cliente
Figura 1.5 - Adicionar/Editar dado no formulário Carro
Linkar dados
Para linkar o relacionamento entre as classes 1-1 é através do campo da chave estrangeira. Por exemplo, a Figura 1.1 mostra que a chave estrangeira está na classe Cliente ; quando executar o projeto e adicionar dados em ambos formulários, o link desses dados será feito no formulário Cliente e basta somente selecionar o dado ao clicar nesse campo.
Figura 1.6 - Formulário do cliente em execução
Observação
Para saber mais sobre o funcionamento do componente utilizado no campo carro clique em Caixa de seleção dinâmica.
Relacionamento 1-n
A forma que é definida o relacionamento 1-n apresenta-se da seguinte maneira no 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 dois atributos também, o id e o título, e a chave estrangeira da classe artista (que aparece após o relacionamento).
Formulário
Após fazer a geração da CRUD em cada classe, elas se apresentam da seguinte maneira quando são abertas na área de trabalho:
Figura 2.2 - Formulário CRUD da classe Artista
Figura 2.3 - Formulário CRUD da classe Álbum
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 2.4 - Adicionar/Editar dado para classe Artista
Figura 2.5 - Adicionar/Editar dado para classe Álbum
Linkar dados
Existe dois métodos para linkar dados no caso de 1-n. Esses dois métodos existem por causa do tipo de relacionamento entre as classes.
O primeiro é utilizando o campo album que é mostrando quando adiciona/edita um artista (Figura 2.6), no qual ao clicar em adicionar aparecerá um pop-up informando os campos do formulário album (Figura 2.7) e ao salvar, o album será linkado automaticamente ao artista que foi criado/editado.
Figura 2.6 - Adicionar/Editar dado para classe Artista
Figura 2.7 - Adicionando dado através do formulário artista
O segundo método é o mesmo que foi apresentado na Linkar dados do Relacionamento 1-1. A Figura 2.1 mostra que a chave estrangeira está na classe Album e o formulário Album mostra o campo da chave estrangeira; quando executar o projeto e adicionar dados em ambos formulários, o link desses dados será feito no formulário Album e basta somente selecionar o dado ao clicar nesse campo (Figura 2.8).
Figura 2.8 - Linkar dados através do formulário álbum
Observação
Para saber mais sobre o funcionamento do componente utilizado no campo carro clique em Caixa de seleção dinâmica.
Relacionamento N-M
Quando é feito esse relacionamento é gerada uma terceira classe (de cor amarela), a mesma receberá as chaves estrangeiras correspondentes às classes que a geraram.
Figura 3.1 - Relacionamento N-M
Nesse exemplo da figura, 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 (id, nome). Já a classe FilmesAtores apresenta três atributos (o id, a chave estrangeira da classe Filmes e a chave estrangeira da classe Atores).
Formulário
Após fazer a geração da CRUD em cada classe, elas se apresentam da seguinte maneira quando são abertas na área de trabalho:
Figura 3.2 - Formulário CRUD da classe Filmes
Figura 3.3 - Formulário CRUD da classe Ator
Figura 3.4 - 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
Linkar dados
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
- Sem rótulos