Criar foreign key mysql

Olá pessoal.

Criei um banco de dados apenas para estudo, porém parei na parte de fazer o relacionamento entre elas e a criação da foreign key. Possuo três tabelas: empresa, funcionário e salario

CREATE TABLE empresa(
cod_emp int primary key auto_increment,
nome_emp varchar(30),
nome fantasia varchar(30),
CNPJ varchar(15),
qtd_filiais tinyint,
qtd_func int,
proprietário varchar(50)) engine = innodb;

CREATE TABLE funcionário(
id_func int primary key auto_increment,
nome varchar(20),
sobrenome varchar(30),
data_nasc date,
matricula int,
rg varchar(9),
cpf varchar(11),
data_adm date,
cargo varchar(30),
cod_empresa int,
cod_sal int) engine = innodb;
// nessa aqui, cod_empresa e cod_sal pretendo coloca-las como foreign Keys

create table salario(
id_sal int primary key auto_increment,
cargo varchar(20),
nível cargo int,
sal_b double,
adicionais double,
descontos double,
sal_liq double) engine = innodb;
  • Qual o tipo de relacionamento que devo fazer entre elas?
  • Seria melhor criar uma tabela só para calculo dos descontos?