Olá pessoal, tudo bem?
Seguinte, estou modelando um sistema comercial e me surgiu uma dúvida aqui.
Tenho uma tabela de Vendas e uma de Cliente, onde, há um relacionamento de 1:N em cliente para venda. Até aí, sem problemas!
Porém, junto ao cliente há um outro relacionamento com uma tabela de autorizados, sendo que , este também é de 1:N.
Quando a pessoa for efetuar a venda, ela escolhe o cliente, e caso haja autorizado, o escolhe também. Aí é que está o problema, num antigo sistema que eu trabalhava, ele guardava em sua tabela de Vendas, o id do autorizado, então ele buscava o autorizado caso este campo estivesse preenchido, permitindo, que ele fosse NULL também caso não houvesse autorizado na venda.
Estou modelando meu sistema aqui, e então criei um relacionamento de 1:N de autorizado para venda, criando assim, uma chave estrangeira em venda vindo de autorizado.
Minha dúvida é a seguinte, chave estrangeira não pode ter valor nulo, então teoricamente toda venda minha teria que ter um autorizado associado, coisa que não acontece.
O que é recomendável fazer? criar um campo em vendas que guarde o autorizado mas que não seje chave estrangeira? ou crio uma outra trabela que guarde o id da venda e o id do autorizado (como se fosse N:N) ? ou há uma outra maneira melhor?
Espero que tenha dado pra entender minha modelagem! Estou na faculdade e a internet aqui está com problemas, porque dá pra me colocar o modelo usado no banco para vocês darem uma olhada!
Desde já, obrigado pela atenção de todos!