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.
No diagrama de dados, a forma que é definida o relacionamento 1-1 apresenta-se da seguinte maneira:
![](/download/attachments/145490348/Figura%201.1.png?version=4&modificationDate=1548091381000&api=v2)
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.
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.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
Figura 1.2 - Formulário CRUD Web da classe Cliente
![Figura 2.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
Figura 1.3 - Formulário CRUD Web da classe Carro
![Figura 1.4.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
![](/download/attachments/145490348/Figura%201.5.png?version=3&modificationDate=1550074067000&api=v2)
A forma que é definida o relacionamento 1-n apresenta-se da seguinte maneira no diagrama de dados:
![](/download/attachments/145490348/Figura%202.1.png?version=3&modificationDate=1548091381000&api=v2)
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 a chave estrangeira da classe artista (que aparece após o relacionamento).
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.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
Figura 2.2 - Formulário CRUD Web da classe Artista
![Figura 4.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
Figura 2.3 - Formulário CRUD Web da classe Álbum
![Figura 2.4.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
Figura 2.4 - Formulário CRUD Mobile da classe Artista
![Figura 2.5.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
Figura 2.5 - Formulário CRUD Mobile da classe Álbum
Quando é feito esse relacionamento é gerada uma terceira classe (de cor amarela), a mesma receberá as chaves estrangeiras correspondentes às classes que a geraram.
![](/download/attachments/145490348/Figura%203.1.png?version=3&modificationDate=1548091381000&api=v2)
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).
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 5.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
Figura 3.2 - Formulário CRUD Web da classe Filmes
![Figura 6.png](/plugins/servlet/confluence/placeholder/unknown-attachment?locale=pt_BR&version=2)
Figura 3.3 - Formulário CRUD Web da classe Atores