Ini tidak terlalu umum, tidak. Tidak ada cara asli untuk membagikan kunci utama. Apa yang mungkin saya lakukan dalam situasi Anda adalah ini:
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
Artinya, ada satu tabel produk master yang memiliki entri untuk semua produk dan memiliki bidang yang menggeneralisasi antara tipe, dan tabel yang ditentukan tipe dengan kunci asing ke dalam tabel produk master, yang memiliki data spesifik tipe.