Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Skema basis data untuk obrolan:pribadi dan grup

Skema Anda terlihat baik-baik saja, Anda mungkin melihat yang lain (termasuk saya hari ini) datang dengan struktur yang kurang lebih sama sebelumnya (Menyimpan pesan dari obrolan yang berbeda dalam satu tabel database , Skema database untuk obrolan pribadi dan grup , Membuat pribadi berutas sistem pesan seperti facebook dan gmail ). Saya benar-benar ingin mencatat bahwa representasi visual Anda adalah yang terbaik, sangat mudah dipahami dan diikuti :)

Secara umum, saya pikir memiliki "ruangan" ("obrolan", "percakapan") masuk akal bahkan jika Anda tidak memiliki properti khusus saat ini (karena mungkin name , posting_allowed , type (yaitu jika Anda menggunakan kembali struktur serupa tidak hanya untuk pesan dan obrolan pribadi, tetapi juga untuk pos publik dengan komentar) dan seterusnya. Tabel tunggal dengan ID indeks tunggal harus super cepat dan memiliki hampir nol overhead, namun akan memungkinkan ekstensi cukup mudah tanpa perlu mengubah semua kode yang ada (yaitu suatu hari Anda memutuskan untuk menambahkan name untuk mengobrol). Menjaga logika roomID "tersembunyi" di dalam participants tabel tidak akan transparan dan tidak efisien (yaitu ketika Anda perlu menemukan ID obrolan berikutnya), saya tidak akan merekomendasikannya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON_EXTRACT() – Mengembalikan Data dari Dokumen JSON di MySQL

  2. Menangani pengecualian kunci asing di PHP

  3. Mendapatkan pesan SQLEXCEPTION dalam prosedur MySQL

  4. 3 Cara untuk "Unhex" sebuah String di MySQL

  5. Bagaimana cara melakukan kueri gabungan di antarmuka tabel ZF?