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 23 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

 

Observação

 O componente utilizado para linkar dados na Figura 3.9 é o Caixa de seleção múltipla.

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 tabela associativa

Nessa Página

  • Sem rótulos