यह वास्तव में सामान्य नहीं है, नहीं। प्राथमिक कुंजी साझा करने का कोई मूल तरीका नहीं है। आपकी स्थिति में मैं जो कर सकता हूं वह यह है:
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
यही है, एक मास्टर उत्पाद तालिका है जिसमें सभी उत्पादों के लिए प्रविष्टियां हैं और इसमें ऐसे फ़ील्ड हैं जो प्रकारों के बीच सामान्यीकृत होते हैं, और मास्टर उत्पाद तालिका में विदेशी कुंजी के साथ टाइप-निर्दिष्ट तालिकाएं होती हैं, जिनमें प्रकार-विशिष्ट डेटा होता है।