Det er ikke rigtig almindeligt, nej. Der er ingen indbygget måde at dele en primær nøgle på. Hvad jeg kan gøre i din situation er dette:
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 vil sige, at der er én masterprodukttabel, der har indgange for alle produkter og har de felter, der generaliserer mellem typerne, og typespecificerede tabeller med fremmednøgler ind i masterprodukttabellen, som har de typespecifikke data.