Какие таблицы и поля нужны в базе данных PostgreSQL для этого мессенджера?

Для мессенджера в PostgreSQL обычно нужны следующие таблицы и поля:

Короткий ответ

Что ответить на собеседовании

Для мессенджера в PostgreSQL обычно нужны следующие таблицы и поля:

Подробный разбор

Ответ с пояснениями

Для мессенджера в PostgreSQL обычно нужны следующие таблицы и поля:

  1. users — хранит информацию о пользователях:
id SERIAL PRIMARY KEY,
username VARCHAR UNIQUE NOT NULL,
email VARCHAR UNIQUE NOT NULL,
hashed_password TEXT NOT NULL,
created_at TIMESTAMP DEFAULT now()
  1. conversations — чаты или диалоги:
id SERIAL PRIMARY KEY,
title VARCHAR,
created_at TIMESTAMP DEFAULT now()
  1. conversation_members — связь пользователей с чатами:
id SERIAL PRIMARY KEY,
conversation_id INT REFERENCES conversations(id),
user_id INT REFERENCES users(id),
joined_at TIMESTAMP DEFAULT now()
  1. messages — сообщения в чатах:
id SERIAL PRIMARY KEY,
conversation_id INT REFERENCES conversations(id),
sender_id INT REFERENCES users(id),
content TEXT NOT NULL,
sent_at TIMESTAMP DEFAULT now(),
edited_at TIMESTAMP

Дополнительно можно добавить таблицы для вложений, статусов сообщений и т.п., но эти основные обеспечивают базовую функциональность мессенджера.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку