[Code] Datentypen bei PostgreSQL

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Flu, 10. Mai 2010 .

  1. 10. Mai 2010
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    Datentypen bei PostgreSQL

    Hi. wir hatten als aufgabe auf einen datentyp in phpPgAdmin ( benutzt PostgreSQL) zu erstellen.
    Dieser Datentyp soll nur die Kürzel BCS, BCS-TZ und BIS in einer Spalte Kuerzel in der Tabelle Studiengang erlauben.
    habe jetzt einfach einen aufzählenden datentyp erstellt (ENUM). allerdings war diese lösung falsch.
    Nun weiß ich nicht weiter. wie kann man einen eigenen datentyp mit oben genannten anforderungen erstellen?
    So sieht diese umgebung aus:
    Spoiler
    dbss.jpg
    {img-src: //img63.imageshack.us/img63/7633/dbss.jpg}
    Hier nochmal die komplette Aufgabe
    Spoiler
    Auf Basis der in Aufgabe 1 definierten Datenbank-Struktur soll für das „public“-Schema ein neuer Datentyp definiert werden, der den Wertebereich der Spalte „Kürzel“ aus der Tabelle „Studiengang“ besser beschreibt. Der neue Datentyp soll „Studiengang_Kürzel_Typ“ heißen und vorgeben, dass die zugehörige Spalte nur die Werte „BIS“, „BCS“ und „BCS-TZ“ erlaubt. Nachdem sie den Datentyp definiert haben, sollten sie die Tabelle „Studiengang“ entsprechend anpassen. Ist die ohne Weiteres möglich? Wenn nein, welche Probleme treten auf (bzw. können auftreten) und wie lassen sich diese lösen?
    Hoffe auf schnelle Hilfe

    Flu
     
  2. 16. Mai 2010
    AW: Datentypen bei PostgreSQL

    Ich hab diesen Thread schon mal gelesen und ehrlich gesagt fällt mir auch ausser eines ENUM Datentyps keine andere Lösung ein, warum ist diese Lösung falsch, hast du irgentwelche andere Ansätze vielleicht?

    Mfg Rushh0ur
     
  3. 17. Mai 2010
    AW: Datentypen bei PostgreSQL

    der ENUM ansatz ist falsch, da er ein auflistender typ ist. der der reihe nach werte zuordnet, d.h. wenn der datentyp den inhalt 1,2,3 hat, dann wird erst die 1 einem objekt zu geordnet, dann die 2 und dann die 3. aber bei uns soll das so sein, dass man die werte auch ungeordnet zuteilen kann. z.b. dem einen die 1, dem anderen die 3,...

    nen anderen ansatz hab ich bisher nicht gefunden. hoffe also immernoch auf hilfe
     
  4. 26. Mai 2010
    AW: Datentypen bei PostgreSQL

    das ist falsch.
    eine enum beschränkt nur den wertebereich auf bestimmte werte. die reihenfolge ist egal.

    wieso machst du nicht eine 2 tabelle und fügst da eine id und dann einen erlaubten wert ein.

    z.b.

    id | wert
    1 | BCS
    2 | BCS-TZ
    3 | BIS

    die spalte kürzel muss dann ein fremdschlüssel dieser tabelle sein. ist zwar umständlich aber ansonsten kenne ich nur die möglichkeit über enums.

    ansonsten weiß ich auch keine andere möglichkeit. es sei den es gibt eine variante nur für dein dbms.
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.