Disclaimer: Eu sou um programador, não um DBA, então tenha paciência comigo ...
Eu tenho uma visão que eu uso para mapear apenas 2 entidades juntas. Eu tenho que fazer uma junção entre algumas tabelas diferentes para conseguir isso:
CREATE OR REPLACE VIEW V_SCREENING_GROUP_SITES AS (
SELECT SG.SCREENING_GROUP_ID, V.SITE_ID
FROM SCREENING_GROUP SG, VISIT V, VISIT_DATE VD
WHERE VD.VISIT_ID = V.VISIT_ID
AND V.SCREENING_GROUP_ID = SG.SCREENING_GROUP_ID);
Acima é apenas para contexto, não se preocupe muito com isso. O que eu preciso saber é como fazer com que os campos na minha nova exibição V_SCREENING_GROUP_SITES (SCREENING_GROUP_ID e SITE_ID) se comportem como chaves estrangeiras nas tabelas SCREENING_GROUP e SITE. Ou isso importa?
Se fosse uma mesa eu faria:
ALTER TABLE V_SCREENING_GROUP_SITES
ADD CONSTRAINT FK_SCREENING_GROUP_ID
FOREIGN KEY (SCREENING_GROUP_ID)
REFERENCES SCREENING_GROUP.SCREENING_GROUP_ID;
...
Mas já que é uma visão que obviamente não funciona. Não consegui encontrar uma sintaxe ALTER VIEW que funcione para definir FKs. O que devo fazer?
(Este é um banco de dados MySQL)