Home Forum Nuclos Konfiguration Vorgänge und Objekte Eindeutigkeit von mehreren Attributen

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Autor
    Beiträge
  • #8791
    jakob silbermayr
    Teilnehmer

    Hallo,
    In der Datenbank-Welt gibt es die Möglichkeit, die Eindeutigkeit einer Gruppe aus mehreren Tabellenspalten einzufordern (in SQL ein UNIQUE-Constraint auf mehrere Spalten). In Nuclos haben wir die Eindeutigkeits-Einschränkung nur auf einzelne Spalten gefunden. Gibt es ein Äquivalent zu dieser Datenbankfunktionalität in Nuclos?

    #8792
    Thomas Hempel
    Teilnehmer

    Hallo xellgmbh,

    in der Nuclos-Welt gibt es drei Varianten:

    1. Nuclos legt immer eine INTID genannte eindeutige Spalte an. Man kann das Thema also auch ignorieren.

    2. Man kann eine eindeutige Spalte zusätzlich konfigurieren.

    3. Man kann mehrere Spalten als eindeutig konfigurieren, diese bilden dann einen zusätzlichen UNIQUE-Constraint, ganz wie in der Datenbank-Welt B) .

    Gruß
    Thomas

    #8793
    jakob silbermayr
    Teilnehmer

    [quote=“thomas.hempel“ post=8585]Hallo xellgmbh,
    3. Man kann mehrere Spalten als eindeutig konfigurieren, diese bilden dann einen zusätzlichen UNIQUE-Constraint, ganz wie in der Datenbank-Welt B) .
    [/quote]

    Hallo Thomas,
    vielen Dank für die schnelle Antwort. Punkt 3 war uns aus dem UI nicht ersichtlich, funktioniert aber genauso wie du das beschrieben hast.

    Wir hatten allerdings angenommen, dass sich ‚unique‘ nur auf das jeweilige Attribut bezieht und nicht auf alle Attribute, die das ‚unique‘ Flag gesetzt haben. Daraus ergibt sich die nächste Frage:

    Wie kann eine einzelne Spalte ‚unique‘ sein? Als Beispiel: Ein BO hat 3 Attribute:

    • Val1 (darf nur einmal vorkommen)
    • Val2 (darf in Kombination mit Val3 nur einmal vorkommen)
    • Val3 (darf in Kombination mit Val2 nur einmal vorkommen)

    Viele Grüße

    #8794
    Thomas Hempel
    Teilnehmer

    Nun, das hatte ich befürchtet. Die Grenze des einfach Konfigurierbaren wäre damit überschritten. Wenn diese Anforderung sich nicht durch DB-Design reduzieren lässt, dann müsstet Ihr dafür eine Geschäftsregel schreiben und als Validation beim Anlegen und Ändern des Business-Objektes laufen lassen.

    Das heißt aber nicht, dass es nicht ginge. Wir validieren teilweise sogar in abhängigen BO (Unterformularen) per Regel. Für ein größeres Projekt werdet Ihr ohnehin einiges in Regeln schreiben..

    Gruß
    Thomas

    #8795
    Ramin Goettlich
    Teilnehmer

    Was ist denn der Use Case hinter
    Val1 (darf nur einmal vorkommen)
    Val2 (darf in Kombination mit Val3 nur einmal vorkommen)
    Val3 (darf in Kombination mit Val2 nur einmal vorkommen)

    Es gibt noch eine weitere Lösung. Man könnte ein DB-Objekt anlegen (Konfiguration | Datenbankobjekte) und dort ein CREATE UNIQUE INDEX… hinterlegen.

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)