Mysql
 sql >> Base de données >  >> RDS >> Mysql

Clé primaire partagée

Ce n'est pas vraiment courant, non. Il n'existe aucun moyen natif de partager une clé primaire. Voici ce que je pourrais faire dans votre situation :

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

C'est-à-dire qu'il existe une table principale de produits contenant des entrées pour tous les produits et contenant les champs qui généralisent entre les types, et des tables spécifiées par type avec des clés étrangères dans la table principale de produits, qui contiennent les données spécifiques au type.