Vamos por parte: Lo que estás definiendo, más allá de ser una relación Padre-Hijo entre tablas, es una relacion de dependencia funcioanl entre dos entidades. En consecuencia debes respetar esa dependencia, y por eso no puedes ingresar datos en las tablas hijas sin ingresarlos en la tabla padre primero.
Ahora bien, analizando lo que describes, una Pieza puede ser Procesador o TarjetaMadre. Esto implica que para ser una u otra primero se debe definir como Pieza, y en ese caso no Procesador ni TarjetaMadre tienen PK propia, sino heredada de Pieza.
¿Eso lo tienes claro?
Cita: Pieza(pieza_id, modelo, nombre, fabricante_id)
Procesador(pieza_id, arquitectura, velocidad, capacidad)
TarjetaMadre(pieza_id, socket, puertos)
Compatibilidad(pieza_id_1, pieza_id_2)
Usando denominaciones mnemotécnicas así es más sencillo ver la relación.
En ese esquema, como dije, debes si o si ingresar primero la pieza, y luego el Procesador o TarjetaMadre. Es obligatorio.
Ahora bien, en este modelo te está faltando una entidad que represente al equipo que se construye, donde se aplicarán luego las reglas de negocio que expresen: Un equipo tiene un Procesador y una sola Tarjeta Madre", o cosas asi. Y ten en cuenta que no todas las reglas del negocio se administran en la base de datos. Muchas requieren interaccion entre la capa de negocio y la capa de datos.
¿Existe esa entidad en tu modelo de sistema?