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

Clave principal compartida

No es muy común, no. No existe una forma nativa de compartir una clave principal. Lo que podría hacer en su situación es esto:

product_table
    id
    name
    category
    general_fields...

product_type1_table:
    id
    product_id
    product_type1_fields...

product_type2_table:
    id
    product_id
    product_type2_fields...

product_to_category_table:
    product_id
    category_id

Es decir, hay una tabla maestra de productos que tiene entradas para todos los productos y tiene los campos que se generalizan entre los tipos, y tablas especificadas por tipo con claves foráneas en la tabla maestra de productos, que tienen los datos específicos del tipo.