Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Schemat bazy danych dla czatu:prywatny i grupowy

Twój schemat wygląda doskonale, możesz zobaczyć, że inni (w tym ja dzisiaj) mieli mniej więcej taką samą strukturę wcześniej (Przechowywanie wiadomości z różnych czatów w jednej tabeli bazy danych , Schemat bazy danych dla czatu indywidualnego i grupowego , Tworzenie wątku prywatnego system przesyłania wiadomości, taki jak facebook i gmail ). Naprawdę chciałbym zauważyć, że Twoja wizualna reprezentacja jest najlepsza ze wszystkich, jest tak łatwa do zrozumienia i śledzenia :)

Ogólnie rzecz biorąc, uważam, że posiadanie „pokoju” („czatu”, „rozmowy”) ma sens, nawet jeśli w tej chwili nie masz żadnych konkretnych właściwości (ponieważ może to być name , posting_allowed , type (tj. jeśli ponownie używasz podobnej struktury nie tylko do prywatnych wiadomości i czatów, ale np. do publicznych postów z komentarzami) i tak dalej. Pojedyncza tabela z pojedynczym identyfikatorem indeksu powinna być superszybka i mieć prawie zerowy narzut, jednak pozwoli na dość łatwe rozszerzenie bez konieczności modyfikowania całego istniejącego kodu (np. pewnego dnia zdecydujesz się dodać name do czatów). Utrzymywanie logiki RoomID „ukrytej” wewnątrz participants tabela nie będzie ani przejrzysta, ani wydajna (np. gdy musisz znaleźć kolejny identyfikator czatu), nie polecałbym tego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybór rekordów Max i Min w jednym poleceniu MySQL

  2. Dlaczego otrzymuję błąd MySQL #1312 podczas korzystania z prostej procedury składowanej?

  3. Relacja wiele-do-wielu MySQL z KLUCZAMI OBCYMI

  4. Jak sprawnie znaleźć najbliższe lokalizacje w pobliżu danej lokalizacji?

  5. Pymysql Insert In nie działa