Nó không thực sự phổ biến, không. Không có cách riêng để chia sẻ khóa chính. Điều tôi có thể làm trong tình huống của bạn là:
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
Có nghĩa là, có một bảng sản phẩm chính có các mục nhập cho tất cả các sản phẩm và có các trường tổng quát giữa các loại và bảng được chỉ định loại có khóa ngoại vào bảng sản phẩm chính, có dữ liệu dành riêng cho loại.