Mail an alle / Freunde / Person X / Gruppe X

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mail an alle / Freunde / Person X / Gruppe X

    Hallo,

    bei Microblogging-Diensten ala Twitter, FrazR, WaMaDu usw. kann man ja Nachrichten an verschiedene Leute senden:

    - an alle User
    - an alle Freunde
    - nur an Person X
    - nur an Gruppe X

    Wie baut man sowas in einer Datenbank auf?

    msg_id
    msg_von
    msg_an
    msg_inhalt
    msg_zeit

    Bei "an alle User" wäre es natürlich sinnig, an z.B. 1.000 Leute die gleiche Mail zu senden...

    Ich könnte mir vorstellen, dass man 3 zusätzliche Felder namens "alle", "gruppe" und "freunde" anlegt.

    Bei "alle" dann einfach eine "1" rein, bei "gruppe" die jeweilige Gruppen-ID und bei Freunde halt auch nur eine "1".

    Theoretisch müßte das gehen... habt ihr noch andere Ideen?

  • #2
    klingt gut...

    Kommentar


    • #3
      Da jede Nachricht erstmal nur ein Datensatz ist, macht es da ggf. mehr Sinn die Nachricht redundant in der Datenbank zu speichern, d.h. für jeden User eine Nachricht, auch wenn alle User in der gleichen Gruppe sind.
      Das mag auf den ersten Blick als Overhead erscheinen, wenn aber später die Tabelle zu groß wird und man diese aufteilen muss, z.B. in 5 Tabellen mit dem Namenschema nachrichten_(empfänger_user_id%5) kann man bei redundanten Nachrichten den Query auf eine Tabelle beschränken (da die Empfänger-ID ja bekannt ist) - wenn eine Nachricht aber in irgendeiner Tabelle sein kann (User einer Gruppe müssen mit empfänger_user_id%5 nicht zwangsläufig in einer Tabelle sein), müssen demnach alle (in diesem Fall) 5 Tabellen abgefragt werden - was natürlich wesentlich langsamer ist!

      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
      Wie man Fragen richtig stellt

      Kommentar

      Lädt...
      X