Ankündigung

Einklappen
Keine Ankündigung bisher.

Datentyp und grundsätzliches Vorgehen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Datentyp und grundsätzliches Vorgehen

    Hallo zusammen,
    ich plane folgende Datenbank:
    id_tier Katze Hund
    1 1 0
    2 0 1
    3 1 0
    Ich lege ein Tier mit auto-id Spalte an und ordne dann die Zugehörigkeit ob Katze oder Hund zu.
    1 steht für "ja" sozusagen. Datentyp Katze und Hund: INT.
    Macht man das so? Ist das so üblich? Warum nicht BOOLEAN?


    vielen dank

  • #2
    Nein, so macht man es nicht!
    Das Problem ist nicht der Typ, sondern die Modellierung in den beiden Spalten.

    Zum Typ: Es gibt DB, die keine Booleantypen kennen, also nimmt man einen Ersatz mit einer Konvention zur Bedeutung
    geschenkt

    Man legt eine Spalte "Tier" an, oder vielleicht sogar "Lebewesen"
    dort trägt man ein:
    1
    2
    oder 3
    oder Null

    1 = Hund
    2 = Katze
    3 = Flughund

    ...


    die Bedeutung der Zahlen wird über eine 2. tabelle angeben 1,2,3 nennt man dann Foreign Key, ein Fremdschlüssel, der auf eine "fremde", sprich "andere" Tabelle zeigt (mit der Erklärung/ Detaildaten)

    Szenario:
    id_tier=1, Katze=1, Hund=1
    Das Modell erlaubt so wie dargestellt die Angabe widersprüchlicher Daten. Der Typ Boolean für Ja/Nein würde daran nichts ändern.

    Szenario oben umgekehrt, Werte 0, 0
    Wir haben ein Untier!

    Szenario
    Hund ist ein Flughund oder ein Frosch
    wie passt das ins Schema? Oder was müsste man (alles) tun, damit es passt, wie wünschenswert und aufwändig wäre das?


    Ich glaub die Frage "ist das üblich" war noch offen:
    es wird leider ab und zu gemacht, aber das geschieht aus Gedanklosigkeit, Eile, Unwissenheit.. das braucht kein Mensch.


    Kommentar


    • #3
      Zitat von Perry Staltic Beitrag anzeigen
      Nein, so macht man es nicht!
      Das Problem ... das braucht kein Mensch.
      +1

      Ein Datenbank-Design sollte nicht dauernd verändert werden (müssen). Hier müßte mit jedem Tier, daß bis dahin noch nicht vorgekommen war, eine neue Spalte angelegt werden. Plus die Argumente von Perry Staltic: => bitte nicht machen!

      Kommentar

      Lädt...
      X