Communication database schemas

Channels, threads and messages. The recurring trick is a read pointer per participant instead of a read flag per message, so marking a busy conversation read stays one write. Every one opens in the free drawDB editor in a click, and is public domain.

6 schemas here, from 11 to 13 tables (75 tables and 629 columns in total), written for PostgreSQL, MySQL. Each one ships an ER diagram you can open and edit, a column-by-column reference, design notes explaining the trade-offs, and SQL for all six dialects. Recurring themes across the set: threads, messaging.

PostgreSQL
Communication

Discord chat platform database schema

How a community chat platform models its data: servers with nested channels, roles carrying permission bitfields, three-state per-channel overwrites, per-server nicknames, messages and threads, reactions, attachments, invites and voice sessions.

PostgreSQL
Communication

Email & mailbox service database schema

How a webmail service models its data: labels applied many-to-many instead of IMAP folders, one stored copy per message, conversation threading, attachments deduplicated by content hash, delivery filters, drafts, read state, spam scoring and quota.

MySQL
Communication

Discussion forum and community database schema

The phpBB and Discourse shape rather than the Reddit one: curated categories and boards, threads bumped by replies, flat numbered posts with quoting, reputation and badges, a report-driven moderation queue and private messages.

PostgreSQL
Communication

Slack team chat database schema

How a team chat product models its data: workspaces and per-workspace identity, public private and shared channels, a read cursor per member instead of a read flag per message, thread replies, mentions, files, saved items and installed apps with granted scopes.

PostgreSQL
Communication

WhatsApp messaging database schema

How a mobile messenger models its data: accounts keyed by phone number, linked devices, private contacts, direct and group chats as one entity, messages with media and replies, per-recipient delivery and read receipts, and disappearing messages with a TTL.

PostgreSQL
Communication

Zoom video meetings database schema

How a video meeting platform models its data: accounts and assigned licences, a meeting series separated from its materialised occurrences, registrations, participant join and leave intervals, breakout rooms, recordings, in-meeting chat and waiting room admissions.

other categories