Будет ли у каждого пользователя мнение по каждому посту? Если нет, то у вас нет данных, которые вы описали. Если пользователи и сообщения не связаны один к одному, то у вас есть простое отношение. Для каждого сообщения, которое пользователь любит (или не любит?), Есть запись для этого пользователя:
Нравится / не нравится Таблица: Идентификатор пользователя Идентификатор сообщения Двоичное значение, которое указывает, нравится или не нравится
Если в таблице указаны только «лайки», тогда вам не нужен последний столбец.
Такой дизайн будет работать, даже если в этой таблице есть каждый пользователь и каждый пост. Стол может стать большим в спешке и продолжать расти каждый раз, когда вы вводите новый пост. Но если эта таблица включает только фактические «лайки» (и / или «антипатии»), она должна быть управляемой.
Для класса у вас просто есть перечислимое, у которого есть посты «понравились» (и, возможно, другой, который указывает на то, что посты «не понравились»).
Подумайте, что вы пытаетесь изобразить. Задайте себе вопросы. Не просто ухватиться за идею и попытаться «сделать» ее.
Будет ли каждый пользователь иметь мнение о каждом сообщении? Вам нужно хранить «лайки» и «антипатии»? Может ли быть «нейтральное» мнение о посте? Могут ли пользователи изменить свое мнение?
Вы можете узнать правильную структуру данных, только задавая и отвечая на все вопросы, имеющие значение для вашей ситуации (мой список не является исчерпывающим - это только пример.)