Mailinglisten-Archive |
On Tue, 1 Jun 1999 18:58:37 +0200 (MEST), Manuel Hossfeld wrote: >3.) >Was Du allerdings vermutlich machen willst/solltest, ist eine sog. >"n:m"-Relation (in der Datenbank). (Sprich: Eine oder mehrere Deiner >Adressen kann mit einer oder mehrerer WasAuchImmerInDerAnderenTabelleIst >verknüpft sein. Denn so ist es letztendlich doch - oder hab ich das >falsch verstanden?) >Dazu brauchst Du dann eine zusätzliche "Hilfstabelle", über die diese >Relation hergestellt wird. Der einzig "saubere" weg in SQL. Manchmal kann man aus bequemlichkeit in einem feld mehrere werte durch komma getrennt eingeben, doch ist das nur bei kleinen datenmodellen und relativ wenigen datensätzen empfehlenswert. Beispiel: Auf meiner website www.goatrance.de/goafreak/ können sich leute ein email über die aktuellen parties schicken lassen. Dazu können diese sich gleichzeit entscheiden, für welche länder das gelten soll. Um das korrekt in SQL abzubilden, müßte ich eigentlich eine tabelle mit den email-adressen, eine mit den ländern und eine, die die 1:m relation enthält, erstellen. Doch dazu war ich etwas zu bequem. Deshalb habe ich mich entschieden, in der email-tabelle ein länderfeld einzufügen, welches alle länder mit leerzeichen getrennt enthält. Da eine neue party immer in einem land stattfindet, mache ich dann ein einfaches select * from emails where country like '%germany%' und schon habe ich alles, was ich will. Vorteil: - Schneller kodiert Nachteile: - Die ländernamen dürfen sich nicht ändern - Es kann nicht so einfach ein land gelöscht werden - langsamer (was bei <2000 records aber kaum ins gewicht fällt) ciao amalesh -- Keep Agent alive: http://www.living-source.com/agent/ LS at CCC-Camp : http://www.living-source.com/ccc/ German Goatrance: http://www.goatrance.de Contact : ak_(at)_living-source.com ~ icq:963380
php::bar PHP Wiki - Listenarchive