La suit JVCL tiene un componente llamado JvCaptionPanel, es un panel con barra de titulo, que, en tiempo de ejecución, puede moverse y cambiar de tamaño, así que la ventana de cada tabla la tienes resuelta, solo tendrías que incluir un Listbox para añadir los nombres de los campos.
Para mostrar las relaciones mediante flechas... la JVCL tiene las JvArrow, aunque son un poco engorrosas de trabajar, ya que emulan a un TShape

, pero bueno, al menos es una flecha.
Un saludo