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)
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.