Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#58

AW: Geschlecht in extra Tabelle speichern?

  Alt 26. Nov 2014, 23:47
Hallo, ist es schlau das Geschlecht (Mann, Frau (nur zwei!)) in eine extra Tabelle zu speichern? Spart man damit Platz in der DB oder eher nicht?
Ja, das halte ich durchaus für schlau, denn erstens erleichtert es die Dateneingabe, wenn der Anwender nicht jedesmal "männlich" oder "weiblich" eingeben muß, zweitens kannst du leicht ein weiteres "Geschlecht" hinzufügen, z.B. "unbekannt", und drittens kannst du die Geschlechtertabelle auch dahingehend erweitern, daß du eine Standard-Anrede in einer zweiten Spalte mitführst, z.B. "Sehr geehrte Damen und Herren," (für unbekannt), "Sehr geehrte Frau " (für weiblich) und "Sehr geehrter Herr " (für männlich). Daneben kannst du an das Geschlecht noch eine weitere Tabelle mit möglichen Titeln binden, wie z.B. "Generaldirektor" oder "Prof." oder "Dr." usw.

Würde nicht einfach ein String in der Haupttabelle mit dem Geschlecht nicht weniger Platz einnehmen als ein FK und die extra Geschlechter Tabelle
Nein, deine Methode benötigt weitaus mehr Platz, da ja für jeden einzelnen Datensatz ein weiterer String hinzukommt, während bei der normalisierten Variante die zur Verfügung stehenden Geschlechter nur einmal als String in der Geschlechtertabelle existieren, während in der Personen-Tabelle lediglich die jeweilige ID-Nr. des gewählten Geschlechts abgespeichert wird.

Es gibt natürlich schon Fälle, in denen Normalisierung bis zur letztmöglichen Unterteilung die Performance verschlechtert. Bei derart einfachen Konstrukten wie einer Personen-Tabelle ist Normalisierung aber auf jeden Fall zu empfehlen.
  Mit Zitat antworten Zitat