Ergebnis 1 bis 4 von 4

Thema: Kapselung von Datentypen mit DOMAINs

  1. #1
    BlubberWolf ist offline Neuer Benutzer
    Registriert seit
    20.04.2009
    Beiträge
    27

    Standard Kapselung von Datentypen mit DOMAINs

    Hallo zusammen,

    wir überlegen gerade, ob wir Datentypen, die wir mehrfach für die Definition von Tabellenspalten brauchen, durch Domains definieren.

    Z. Bsp.

    Postleitzahlen
    create domain plz_typ as varchar(6)
    constraint plz_typ_constraint
    check ( VALUE ~ '^[0-9]+$' );

    Id's die als Sequenzen generiert werden
    create domain seq_id as bigint;
    (Schade dass bigserial kein echter Datentyp ist, den man hier kapseln könnte)

    ... und wenn wir schon dabei sind, dann kapseln wir doch ALLE Typen, die wir benutzen (gnadenlos und naiv wie wir sind).

    Jetzt wissen wir nicht, ob wir uns da Overhead einhandeln, den wir später bereuen würden. Unsere Anwendung ist zwar komplex, aber vom Datenvolumen klein (pg_dump -a auf alte Tabellen < 30 MByte).

    Ist der Overhead für Domains vernachlässigbar ?

  2. #2
    symbiont ist offline Erfahrener Benutzer
    Registriert seit
    17.03.2008
    Ort
    NULL
    Beiträge
    1.320

    Standard

    Im Grunde ist die Domain ja auch nur eine Art Vorlage für nen Datentyp ... der Overhead ist letztendlich das, was die DB sowieso zu tun haette, wenn du die Eigenschaften / das Verhalten der Domain direkt am Attribut einer Tabelle definieren wuerdest.

    Mit Domains arbeiten könnte sehr löblich sein - allerdings kann ich dir gerade nicht sagen ob das "Entwickeln" des Modells selbst bei Postgres dann etwas komplizierter wird, weil Abhängigkeiten evtl Änderungen erschweren.

  3. #3
    BlubberWolf ist offline Neuer Benutzer
    Registriert seit
    20.04.2009
    Beiträge
    27

    Standard

    Hi Symbiont,

    also rein theoretisch ist Kapseln natürlich eine feine Sache, aber die Praxis ... . Wir haben keine Ahnung, wie sich Postgres dabei verhält.

    Haben folgendes gefunden :

    http://archives.postgresql.org/pgsql-performance/2006-06/msg00415.php

    In der Antwort darauf, wird gesagt, dass es wohl nicht so einfach ist.
    Geändert von BlubberWolf (25.06.2009 um 15:56 Uhr)

  4. #4
    symbiont ist offline Erfahrener Benutzer
    Registriert seit
    17.03.2008
    Ort
    NULL
    Beiträge
    1.320

    Standard

    Zitat Zitat von BlubberWolf Beitrag anzeigen
    Hi Symbiont,

    In der Antwort darauf, wird gesagt, dass es wohl nicht so einfach ist.
    naja "nicht einfach" .. das ist eben ein komplexes thema .. es kann zumindest nicht "falscher" sein, mal an bestimmten ecken damit zu arbeiten ..

    zumindest ist es ja logisch, dass das DBMS mit domains nicht weniger auwendig zu operieren hat, als wenn ihr die gleiche funktionalitaet "zu fuss" erledigt ..

Ähnliche Themen

  1. Benutzerdefinierte Datentypen
    Von Hecht im Forum Trigger und Funktionen
    Antworten: 5
    Letzter Beitrag: 08.10.2010, 13:11
  2. Problem fremdschlüssel für domains nicht möglich
    Von symbiont im Forum Allgemeines
    Antworten: 3
    Letzter Beitrag: 11.12.2009, 16:21
  3. Antworten: 8
    Letzter Beitrag: 26.06.2009, 12:26
  4. Eigene Datentypen
    Von rolfS im Forum Allgemeines
    Antworten: 4
    Letzter Beitrag: 05.06.2009, 16:56
  5. length() mit geometrischen Datentypen
    Von Fröstel im Forum Allgemeines
    Antworten: 6
    Letzter Beitrag: 07.02.2006, 00:42

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum