Cita: ¿Como enlazaria en un diseño de base de datos, un texto libre con sus correspondientes id de usuarios?
Eso lo haces por programación, en base a la lógica que implementas en la aplicación.
Los controladores de acceso a datos (clases donde realizas las peticiones a la base) lo que recolectas son los datos. Nada más. Es decir, allí obtienes los ID y nombres de "@john", y de "@fran", eventualmente con los ID de lo que le gusta y lo que no.
Es en los controladores de las vistas (formularios), o bien en los de mensajes, donde tomas el mensaje estandarizado para los casos (obviamente debes codificar los mensajes y los strings de composición de los mensajes a mostrar), como por ejemplo "A %1% no le gusta %2%.". Es entonces que antes de mostrar ese mensaje, en el codebehind de la vista, se produce el reemplazo de los parámetros por los valores obtenidos de la base.
Todo esto es lo manejan los programadores, y se realiza programando, pero programación es OFF-TOPIC en este foro (sólo tratamos lo referente a Bases de Datos y SQL, como puedes leer en las normas del foro).
Te recomiendo consultar en el Foro de tu lenguaje.
Es una metodología de trabajo muy común, conocida y hay muchos expertos en ese tema. Yo la conozco porque en la empresa que trabajo la aplicación principal está desarrollada en base al modelo MVC, que es el que te menciono.