phpbar.de logo

Mailinglisten-Archive

Posteingang / ~ ausgang mit MySQL

Posteingang / ~ ausgang mit MySQL

Michael Bergbauer mysql_(at)_lists.phpcenter.de
Mon, 07 May 2001 16:17:18 +0200 (CEST)


On 07-May-2001 Christian Thiele wrote:
> Hi,
> 
> ich bastle grad an einem System zum Versand von Nachrichten innerhalb einer
> Community, also nichts mit eMail oder so. Und ich möchte einen Posteingang
> und ausgang anbieten, das man sofort sehen kann die Nachrichten habe ich
> erhalten und die habe ich verschickt.
> 
> Wie realisiere ich das jetzt am besten mit MySQL...
> 
> Idee 1:
> 3 Tabellen, 1 x Inbox, 1xOutbox, 1x Text
> Wenn man eine Nachricht erhält gibt es auch einen Absender und bei dem ist
> die Mail in der Inbox...und in der Texttabelle steht dann nur der reine
> Nachrichtenteil
> 
> Problem: Schwer zu handeln würde ich sagen, kompliziert...denn der eine kann
> löschen und blabla...
> 
> Idee 2:
> Eine Inbox, Eine Outbox -> Problem: Redundanz der Daten, denn der
> Nachrichtentext ändert sich nicht.
> 
> Idee 3:
> Eine MessageBox mit Flags für Gelesen, Gelöscht usw...
> 
> Hat jemand schon was in die Richtung gemacht ??
> 
> Für Tipps wäre ich dankbar...

Was willst du verwalten? Mails (Nachrichte; einigen wir uns auf den Begriff
Mails). Ne Mail hat bestimmte Eigenschaften (z.B. Absender, Empfänger, Text,
Sendezeit). Das ist ne Gemeinsamkeit, die alle Mails haben, also am besten alle
Mails in eine Tabelle.

So, und nun soll jeder eine Inbox haben und eine Outbox. Also machen wir
eine Tabelle, die für jeden User zwei Einträge enthält (inbox, outbox), wenn du
mehr Folder machen willst, werdens entsprechend mehr.

Jede Mail, die in der inbox oder outbox des users ist, wird nun mit dem
jeweiligen Folder-eintrag verknüpft, und Eigenschaft dieser Verknüpfung ist ein
Status-Feld ... Gibt keine Probleme mit redundanter datenhaltung, aber: wenn du
die gelöschten Mails wirklich löschen willst, musst du beid jedem Löschen
feststellen, ob das die letzte Verknüpfung auf die Mail war, und wenn ja, dann
die Mail selbst löschen


Michael

-- 
Michael Bergbauer <michael.bergbauer_(at)_gmx.net>
Use your idle CPU cycles.
See http://www.distributed.net and win $ 1 000.
Visit our mud Geas at geas.franken.de Port 3333

---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive