Mysql
 sql >> база данни >  >> RDS >> Mysql

Схема на база данни за чат:частна и групова

Схемата ви изглежда напълно добре, може да видите, че другите (включително мен днес) идваха с повече или по-малко същата структура преди (Съхранение на съобщения от различни чатове в една таблица на базата данни , Схема на базата данни за индивидуален и групов чат , Създаване на частен с нишки система за съобщения като facebook и gmail ). Наистина бих искал да отбележа, че вашето визуално представяне е най-доброто от всички, толкова е лесно за разбиране и следване :)

Като цяло смятам, че имаш "стая" ("чат", "разговор") има смисъл, дори ако нямаш конкретни свойства в момента (както може да е name , posting_allowed , type (т.е. ако използвате повторно подобна структура не само за лични съобщения и чатове, но и за публични публикации с коментари) и т.н. Единична таблица с единичния идентификационен номер на индекса трябва да е супер бърза и да има близо до нула допълнителни разходи, но ще позволи разширение доста лесно, без да е необходимо да променяте целия съществуващ код (т.е. един ден решите да добавите name към чатове). Поддържане на логиката на roomID „скрита“ вътре в participants таблицата няма да бъде прозрачна и нито ефективна (т.е. когато трябва да намерите следващия идентификатор на чата), не бих препоръчал това.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да създадете свързан сървър MySQL

  2. group_concat резултатът не работи в състояние IN

  3. Разликите между INT и UUID в MySQL

  4. Възможно ли е зареждане на DATA без файл (т.е. в паметта) за MySQL и Java?

  5. Актуализирайте колона в MySQL