Relacionamento entre duas tabelas - MYSQL

2 respostas Resolvido
mysqlsql
F

Pessoal, boa tarde, tudo bom?

Estou iniciando os meus estudos com o MYSQL.
Estou querendo criar 2 tabelas que irão ter um relacionamento entre si.

A primeira tabela é a tabela cliente, que irá ter os seguintes campos:

  • id (chave primária) = integer
  • razao-social = varchar(256)
  • cnpj = varchar(56)

A segunda tabela é a tabela de contas, que irá ter os seguintes campos:

  • cod-reduzido = integer(4)
  • nome-conta = varchar(256)

É o seguinte, cada cliente pode ter “n” contas de receita, e cada conta de receita pode ser atribuída a “n” clientes.
Cada conta, além de seu nome, tem também o seu código reduzido composto de 4 digitos.

A minha dúvida é o seguinte, como eu posso fazer estas duas tabelas se relacionarem? (eu li sobre chave estrangeira, mas não consegui entender muito bem como colocar em prática neste exemplo descrito acima)

2 Respostas

L
Solucao aceita

Por estar utilizando um RDBMS (MySQL), você precisa criar uma tabela intermediária para fazer um relacionamento N-N. Você pode criar uma tabela chamada cliente_conta, que tem 2 campos:

  • cod_cliente, chave estrangeira que referencia cliente.id
  • cod_conta, chave estrangeira que referencia conta.id

Dessa forma, você pode obter todos os clientes relacionados a uma determinada conta ou todas as contas relacionadas a um determinado cliente. Para fazer isso, como você já percebeu, é necessário usar chaves estrangeiras.

F

Entendi, vou fazer isso.
Obrigado lvbarbosa!

Criado 10 de setembro de 2017
Ultima resposta 10 de set. de 2017
Respostas 2
Participantes 2