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

Chave primária compartilhada


Não é muito comum, não. Não há uma maneira nativa de compartilhar uma chave primária. O que eu poderia fazer na sua situação é o seguinte:
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

Ou seja, há uma tabela mestre de produtos que possui entradas para todos os produtos e possui os campos que generalizam entre os tipos e tabelas especificadas por tipo com chaves estrangeiras na tabela mestre de produtos, que possuem os dados específicos do tipo.