Boa noite a todos!
Preciso tirar essa dúvida com os colegas:
Tenho duas tabelas: Uma de Serviços e outra de Pessoas:
Esse é um tipo de relacionamento n:n uma vez que um serviço pode ser de várias pessoas e uma pessoa pode ter vários serviços!
Como relacionamentos n:n precisam de uma tabela auxiliar, criei-a:
CREATE TABLE Pessoas_Servicos (
Pessoa_idPessoa INTEGER UNSIGNED NOT NULL,
Servico_idServico INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Pessoa_idPessoa, Servico_idServico),
INDEX Pessoas_Servicos_FKIndex1(Pessoa_idPessoa),
INDEX Pessoas_Servicos_FKIndex2(Servico_idServico)
);
Aqui há um relacionamento que tem duas chaves primária, sendo que não há chaves estrangeiras.
A dúvida é: Eu tô equivocado ou não há como controlar a inserção no banco de ids que ainda não foram cadastrados?
por exemplo:
eu tenho aqui 2 pessoas cadastradas (idPessoa = 01 e idPessoa = 02) e 1 serviço cadastrado (idServico = 1);
tô testando aqui essa string sql e ele aceita normalmente:
insert into Pessoas_Servicos (Pessoa_idPessoa, Servico_idServico) values(3,1)
aceitou normal… como pode se eu não tenho a pessoa 3 ainda cadastrada?
só vou conseguir controlar isso via aplicação?