![]() |
Datenbank: SQLite • Version: 3 • Zugriff über: SQLite3Connection
Geschlecht in extra Tabelle speichern?
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? Würde nicht einfach ein String in der Haupttabelle mit dem Geschlecht nicht weniger Platz einnehmen als ein FK und die extra Geschlechter Tabelle? Was ist da besser? Danke! |
AW: Geschlecht in extra Tabelle speichern?
Und was ist mit den Transgenderleuten?
|
AW: Geschlecht in extra Tabelle speichern?
Zitat:
|
AW: Geschlecht in extra Tabelle speichern?
Ich würde eine eigene Tabelle anlegen. Stell Dir nur vor, die Bezeichnung soll später geändert werden (z.B. "männlich" und "weiblich" statt "Mann" oder "Frau"), ist es dann günstiger, genau 2 Datensätze ändern zu müssen oder u.U. ein paar Millionen? Abgesehen davon bräuchtest Du sonst mindestens einen Check Constraint, wenn Du unterschiedliche Schreibweisen bzw. Tippfehler ausschließen willst.
|
AW: Geschlecht in extra Tabelle speichern?
Es kommt darauf an ...
Ich lege mir für solche Sachen einen eigenen Typen in der Anwendung an und sorge dafür, dass der immer nur korrekt erzeugt werden kann. Falsche Werte bei der Erzeugung oder beim Lesen aus der DB (hat jemand dran rumgefuscht) sind somit nicht möglich. In der DB kann ich also ein simples Kennzeichen (Integer, string, whatever) benutzen, die Anwendung interpretiert die Daten richtig oder haut mir eine Exception um die Ohren. |
AW: Geschlecht in extra Tabelle speichern?
Zitat:
|
AW: Geschlecht in extra Tabelle speichern?
Zitat:
Abgesehen davon das einen weitere Tabelle mehr Platz kostet und Du noch ein INT64 brauchst um das ID zu speichern... Mavarik |
AW: Geschlecht in extra Tabelle speichern?
Zitat:
Wieso INT64? |
AW: Geschlecht in extra Tabelle speichern?
Ich habe für solche Daten eine eigene Tabelle angelegt - jedoch nicht nur für eine Wertegruppe.
Diese kann man dann auch erweitern - zum Beispiel mehrsprachig. Tabellenstruktur: GRUPPE;ID;SPRACHE;Wert;SortNr;Aktiv Daten: Geschlecht;m;de;männlich;1;True Geschlecht;w;de;weiblich;2;True JaNein;j;de;Ja;1;True JaNein;n;de;Nein;2;True ... Diese kann beliebig erweitert werden. |
AW: Geschlecht in extra Tabelle speichern?
lt. Normalisierung sollte das schon in eine eigene Tabelle. Würde ich persönlich nur in bestimmten Fällen machen: Wenn das Geschlecht nur eine optionale Angabe wäre, die in den seltensten Fällen angegeben wird und es wirklich um das letzte Byte ginge.
Ansonsten kauft man sich da nur eine aufwändigere SQL Abfrage ein. Zitat:
Zitat:
Grundsätzlich sehe ich das wie SirRufo: In der DB landet ein "Enum" das in der Anwendung dann ausgewertet wird. Werden Fremddatenschnittstellen angeboten, dann kommt ein CheckConstraint auf die Spalte, wenn primär über die eigene Anwendung Daten rein kommen, kann man die Prüfung getrost auch dem ORM überlassen. Aber: Ein allgemeines richtig oder falsch wird es auf die Frage nie geben.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz