Acabas de aprender que la mayoría de los verbos forman el Perfekt con haben. Pero un grupo más pequeño de verbos —de uso constante en el habla cotidiana— toma sein en su lugar. La elección del verbo auxiliar no cambia el significado de la oración, pero no es opcional: si eliges el equivocado, la oración se vuelve agramatical aunque todos entiendan igualmente lo que quieres decir.
¿Cuándo exactamente se usa sein? Hay tres grupos que conviene memorizar bien. El primero son los verbos de movimiento dirigido: verbos que describen un desplazamiento real de un punto a otro: gehen (ir a pie), fahren (viajar en vehículo), fliegen (volar), kommen (venir), laufen, schwimmen. La clave es que el verbo debe expresar un destino o una dirección, no solo movimiento dentro de un mismo lugar; por eso un verbo como tanzen (bailar) normalmente toma haben, ya que bailar no te desplaza de un sitio a otro. El segundo grupo son los verbos de cambio de estado: verbos que describen al sujeto pasando de una condición a otra completamente distinta: aufstehen (de dormir a estar despierto), einschlafen (de despierto a dormido), werden (llegar a ser), sterben (morir). El tercer grupo es un puñado de excepciones que simplemente hay que memorizar, ya que no encajan lógicamente en ninguna de las dos reglas anteriores: el propio sein (Partizip II: gewesen), bleiben (quedarse) y passieren (suceder).
Una prueba práctica: antes de usar cualquier verbo, pregúntate "¿esto cambia la ubicación o la condición del sujeto?". Si la respuesta es sí, usa sein; si no, usa haben como de costumbre.
Muchos estudiantes vienen de una lengua donde el pasado no distingue en absoluto entre tipos de verbo: una sola forma de pasado sirve para todo, sin división por verbo auxiliar. Por eso, la distinción haben/sein suele ser uno de los puntos más difíciles de interiorizar, ya que nada en la gramática materna del estudiante lo prepara para ello; realmente hay que practicarlo y memorizarlo como su propio sistema.
El error más común es usar haben con los verbos de movimiento porque el estudiante los trata como cualquier otro verbo corriente, produciendo la forma incorrecta Ich habe nach Berlin gefahren en lugar de la correcta Ich bin nach Berlin gefahren. Recuerda: cualquier verbo de movimiento que cambie de ubicación requiere sein, sin excepción.