Mysql
 sql >> Database >  >> RDS >> Mysql

Chiave primaria condivisa

Non è molto comune, no. Non esiste un modo nativo per condividere una chiave primaria. Quello che potrei fare nella tua situazione è questo:

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

Ovvero, esiste una tabella prodotto principale che contiene voci per tutti i prodotti e contiene i campi che si generalizzano tra i tipi e le tabelle specificate dal tipo con chiavi esterne nella tabella prodotto principale, che contengono i dati specifici del tipo.