jobo: Mailadresse als "primary key" tauglich?

Hallo,

wenn ich Mailadressen in eine Datenbank packen möchte, und Doppler gleich aussieben will, macht es da Sinn, die Mailadresse als "primary key" zu definieren? Wenn ich dann "abc@example.com" eintragen möchte, das aber schon vorhanden ist, wird die DB einen Fehler ausgeben, den ich dann erwarteter Weise behandeln muss. Oder ist das unelegant oder sonstwie falsch gedacht und sollte ich lieber jedes mal vorweg eine Abfrage machen (SELECT from mailaddys WHERE mailaddy EQ "einzutragende@example.com") und dann abbrechen, wenn der Resultcount größer 0 ist? Für weiterführenden Link auch dankbar,

Gruß

jobo

  1. Hallo

    wenn ich Mailadressen in eine Datenbank packen möchte, und Doppler gleich aussieben will, macht es da Sinn, die Mailadresse als "primary key" zu definieren?

    Als Primary Key halte ich eine Emailadresse für ungeeignet. Du kannst das Feld für die Adressen aber auf UNIQUE stellen. Das erzeugt im Bedarfsfall ebenfalls einen Fehler, wenn die Adresse bereits vorhanden ist.

    Tschö, Auge

    --
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
    Terry Pratchett, "Wachen! Wachen!"
    Veranstaltungsdatenbank Vdb 0.3
  2. Hi,

    Oder ist das unelegant oder sonstwie falsch gedacht und sollte ich lieber jedes mal vorweg eine Abfrage machen (SELECT from mailaddys WHERE mailaddy EQ "einzutragende@example.com") und dann abbrechen, wenn der Resultcount größer 0 ist?

    um Auges Antwort zu ergänzen: Genau dieses von Dir beschriebene Verfahren, das man leider nur allzu häufig findet, ist das unelegante. Genau um sowas zu vermeiden gibt es UNIQUE-Constraints und Exceptions (wörtlich übersetzt: Ausnahmen).

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  3. @@jobo:

    nuqneH

    wenn ich Mailadressen in eine Datenbank packen möchte, und Doppler gleich aussieben will, macht es da Sinn, die Mailadresse als "primary key" zu definieren?

    Die Frage ist: Macht es Sinn, doppelte Mailadressen auszusieben?

    Beispiel: Hans Mustermann und Erika Mustermann sind verschiedene Personen, teilen aber nicht nur das Bett (tut hier nichts zur Sache), sondern auch ihre Mailadresse mustermann@example.net. Es sollte mehrere Datensätze mit derselben Mailadresse möglich sein.

    Qapla'

    --
    Alle Menschen sind klug. Die einen vorher, die anderen nachher. (John Steinbeck)
    1. Hallo,

      Die Frage ist: Macht es Sinn, doppelte Mailadressen auszusieben?

      Beispiel: Hans Mustermann und Erika Mustermann sind verschiedene Personen, teilen aber nicht nur das Bett (tut hier nichts zur Sache), sondern auch ihre Mailadresse mustermann@example.net. Es sollte mehrere Datensätze mit derselben Mailadresse möglich sein.

      Recht hast Du. Bei einer Art Gewinnspiel oder einem Mailverteiler macht es aber schon Sinn ggf.

      Gruß

      jobo