sql >> Databáze >  >> RDS >> Mysql

Uživatelský systém zasílání zpráv

Navrhoval bych mít alespoň následující:

Uživatelé, vlákna, zprávy

  • Všechny zprávy budou mít vlákno
    • cizí klíč:thread_id
  • Všechna vlákna by měla mít alespoň jednu zprávu a alespoň jednoho příjemce (a také odesílatele)
    • cizí klíč:to_user_id, from_user_id, message_id

Odtud byste mohli svému vláknu jednoduše přiřadit několik příznaků (to_user_deleted, from_user_deleted), které by byly odpovídajícím způsobem aktualizovány.

Samozřejmě je třeba zvážit mnohem více věcí, například jaké druhy věcí chcete zohlednit. Například:

  • Chcete zobrazit aktuální zprávu na rozdíl od úvodní zprávy?
  • Chcete uživatelům umožnit označovat jednotlivé zprávy jako přečtené, nebo jen vlákna?

To vše musíte vzít v úvahu při navrhování databáze.



  1. Jak aktualizovat hodnotu cizího klíče v databázi mysql

  2. Aktualizace sloupce tak, aby obsahoval pozici řádku

  3. Třídění MYSQL s doktrínou

  4. Portování procedury Oracle na PostgreSQL