Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

cenário de design de banco de dados relacional


Você não pode resolver esse problema com seu projeto atual sem interpor alguma lógica no gatilho ou no nível do aplicativo. FOREIGN KEY s não pode fazer referência a mais de uma tabela (eu entendo que seu design use uma tabela por grupo de produtos, se eu estiver errado, por favor me avise). Além disso, eles não podem conter nenhuma lógica condicional, portanto, mesmo que você tenha um único product_groups tabela você não pode criar uma FOREIGN KEY que permite apenas os registros G1 e G2 dessa tabela.

Para fazer isso com restrições de integridade relacional padrão, você precisaria de uma tabela adicional chamada algo como approvable_products que conteria os product_ids desses produtos que estão no grupo um ou no grupo dois.