Det är inte riktigt vanligt, nej. Det finns inget inbyggt sätt att dela en primärnyckel. Vad jag kan göra i din situation är detta:
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
Det vill säga, det finns en huvudprodukttabell som har poster för alla produkter och har fälten som generaliserar mellan typerna, och typspecificerade tabeller med främmande nycklar till huvudprodukttabellen, som har typspecifika data.