Dúvida SQL

Pessoal, estou fazendo um programa para meu tcc , onde é um software para uma oficina mecânica (em outra linguagem) kkk
Mas a pergunta é para SQL:
Estou com meu banco de dados pronto (no Mysql), e vou jogar um exemplo aqui: Cadastro de clientes, onde nesse cadastro existem 3 tabelas diferentes: ‘Endereco’, ‘Telefone’ e ‘PF’(dados como RG, CPF, etc). Além da tabela ‘Cliente’.
A tabela ‘Cliente’ possui as chaves estrangeiras para cada tabela: cod_Endereco, cod_Telefone, cod_PF.

O problema é que na hora de fazer um INSERT para isso tudo e finalizar o cadastro, nao estou sabendo como se faz o insert para todas essas tabelas e tbm salvar as chaves estrangeiras na tabela ‘Cliente’. E quando for consultar os dados desse cliente poder receber os dados do endereco por exemplo, só pela chave estrangeira.

Se puderem me ajudar, agradeço!

Olá brunaum15,

Para inserir todas essas tabelas, é recomendável usar uma transação.
Veja http://dev.mysql.com/doc/refman/5.0/en/commit.html

Iniciada a transação, insira primeiro as tabelas que não dependem das demais, no caso: Endereco, Telefone e PF.
Para cada uma delas, recupere o respectivo código (se for gerado).
Veja http://dev.mysql.com/doc/refman/5.0/en/getting-unique-id.html

Finalmente, insira o Cliente utilizando os códigos das 3 outras tabelas nas FK’s.

Efetue o commit da transação (ou rollback em caso de ocorrer algum erro).

Para recuperar os dados de mais de uma tabela, utilize JOIN’s.
Veja http://dev.mysql.com/doc/refman/5.0/en/join.html

Exemplo:

SELECT * FROM Cliente JOIN Endereco ON Endereco.Codigo = Cliente.cod_Endereco

Esse código retorna os dados do cliente e os dados do endereço ao mesmo tempo. Você pode fazer join com as 3 tabelas, assim:

SELECT * FROM Cliente JOIN Endereco ON Endereco.Codigo = Cliente.cod_Endereco JOIN Telefone ON Telefone.Codigo = Cliente.cod_Telefone JOIN PF ON PF.Codigo = Cliente.cod_PF

Nossa… mais vai precisar de tudo isso soh para inserir ??
desconhecia alguns desses metodos ai…

Dependendo da linguagem que você está usando, o controle de transação e dos códigos pode acrescentar algo em torno de uma dúzia de linhas de código.
Mas não tenho como ajudar muito sem saber de mais detalhes.

alguem ae pode ajudar ??