Mailinglisten-Archive |
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