172 похожих чатов

Может кто помочь с проектированием бд для приложения чатов по

типу телеграма? Чаты могут быть личные (2 человека) и групповые (много людей). Их храню в одной таблице chats. Вот только проблема в том, что для личного чата много лишних полей с NULL (на самом деле все из них не нужны). Но это удобно в том плане, что могу получить список чатов одним запросом. Как думаете, есть ли способ организации получше или так тоже можно оставить?

type это тип (dialog/group)
accessibility это доступность (public/private) только для групп

23 ответов

5 просмотров

пихай всё в json.

ruslan- Автор вопроса
Roman
пихай всё в json.

сделать у чата поле data типа json?

А где поля то лишние????

ruslan- Автор вопроса
ruslan
все

Что?????

скоро пг про продвинут свои патчи для json в апстрим и заживём)

Какие?

central hardware
Какие?

например. https://habr.com/ru/companies/oleg-bunin/articles/646987/

Roman
скоро пг про продвинут свои патчи для json в апстр...

Главное судьбу инфомикс не повторить))))

Konstantin Zaitsev
Главное судьбу инфомикс не повторить))))

кто такие, чем интересна их судьба?

Roman
кто такие, чем интересна их судьба?

Лидер СУБД ))) давнишний Интересна потерей фокуса)

ruslan- Автор вопроса

Всё ещё не разобрался?))) Что мешает выделить это в отдельную таблицу? Разделить чаты по типу

ruslan- Автор вопроса
Makar M.
Всё ещё не разобрался?))) Что мешает выделить это ...

Ну тогда личные чаты вообще не будут иметь полей У меня была другая идея, но она посложней. Я решил оставить так. Похер, пусть будут пустые поля)

ruslan
Ну тогда личные чаты вообще не будут иметь полей У...

Ну как минимум надо знать от кого кому сообщения слать..

ruslan- Автор вопроса
ruslan- Автор вопроса
Виктор Пронин
Ну как минимум надо знать от кого кому сообщения с...

А не, Сообщения ссылаются на чат, к которому относятся

ruslan
А не, Сообщения ссылаются на чат, к которому относ...

Смотри, есть у тебя две роли, издатель и подписчик, издатель публикует, подписчик читает, и там и там связь может быть многое к многим, и один к одному, разница только в типе так зачем тебе две таблицы? Сущности те же. Не бойся ты нулл, ты типом все разделиш

ruslan- Автор вопроса
Виктор Пронин
Смотри, есть у тебя две роли, издатель и подписчик...

Да я уже забил. Ну нулл так нулл. Хрен с ним. Других идей нет. И на стаке не нашел и тут

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Всем привет, после Си стоит учить плюсы или лучше на раст перейти?
Linus
8
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
значить например он учился в СДУ то получается он особенный?)
Asets Serikov
11
Карта сайта