Los dos enfoques más comunes son Tabla por clase (es decir, una tabla para la clase base y otra tabla para cada subclase que contiene las columnas adicionales necesarias para describir la subclase) y Tabla por jerarquía (es decir, todas las columnas en una tabla, con una o más columnas para permitir la discriminación de subclases. Cuál es el mejor enfoque realmente depende de las particularidades de su aplicación y estrategia de acceso a datos.
Tendría Table Per Class en su primer ejemplo invirtiendo la dirección del FK y eliminando las identificaciones adicionales del padre. Los otros dos son esencialmente variantes de tabla por clase.