sql >> Database >  >> RDS >> Mysql

Databaseschema voor chat:privé en groep

Je schema ziet er prima uit, misschien zie je dat de anderen (inclusief ikzelf vandaag) eerder met min of meer dezelfde structuur kwamen (Berichten van verschillende chats opslaan in een enkele databasetabel , Databaseschema voor één-op-één en groepschat , Een threaded privé maken berichtensysteem zoals facebook en gmail ). Ik wil graag opmerken dat uw visuele weergave de beste van allemaal is, het is zo gemakkelijk te begrijpen en te volgen :)

Over het algemeen denk ik dat het zinvol is om "ruimte" ("chat", "gesprek") te hebben, zelfs als je op dit moment geen specifieke eigenschappen hebt (zoals het kan zijn name , posting_allowed , type (d.w.z. als u de vergelijkbare structuur niet alleen hergebruikt voor privéberichten en chats, maar ook voor openbare berichten met opmerkingen) enzovoort. Een enkele tabel met de enkele index-ID moet supersnel zijn en bijna geen overhead hebben, maar het zal vrij gemakkelijk kunnen worden uitgebreid zonder dat alle bestaande code hoeft te worden gewijzigd (d.w.z. op een dag besluit u een name toe te voegen naar chats). De roomID-logica "verborgen" houden in participants tabel zal niet transparant en ook niet efficiënt zijn (d.w.z. wanneer u de volgende ID van de chat moet vinden), zou ik dat niet aanbevelen.



  1. MAKEDATE() Voorbeelden – MySQL

  2. Maak een tijdelijke tabel in MySQL met een index van een select

  3. Fout:Kolom bestaat niet

  4. producten vinden die klanten samen hebben gekocht