sql >> Base de Datos >  >> RDS >> Mysql

escenario de diseño de base de datos relacional

No puede resolver este problema con su diseño actual sin interponer alguna lógica en el nivel de activación o de aplicación. FOREIGN KEY s no puede hacer referencia a más de una tabla (entiendo que su diseño usa una tabla por grupo de productos, si me equivoco, hágamelo saber). Además, no pueden contener ninguna lógica condicional, por lo que incluso si tiene un solo product_groups tabla no puede crear una FOREIGN KEY que solo permite los registros G1 y G2 de esa tabla.

Para lograr esto con restricciones de integridad relacional estándar, necesitaría una tabla adicional llamada algo así como approvable_products que contendría los product_ids de aquellos productos que están en el grupo uno o en el grupo dos.