Schlüsselelement

Inhaltsmodell

key:==keyfield

Attribute

  • @allowEmptyPart (boolean)
  • @applyIf (string)
  • @internal (boolean)
  • @label (string)
  • @name (MNTOKEN)
  • @noDbIndex (boolean)

Übergeordnete Elemente

<element>

Untergeordnetes Element

<keyfield>

Beschreibung

Mit diesem Element können Sie einen Schlüssel definieren, um einen Datensatz in der Tabelle zu identifizieren.

Eine Tabelle muss mindestens einen Schlüssel haben.

Verwendung und Kontext der Verwendung von

In der Regel werden Schlüssel nach dem Hauptelement des Schemas und der Indizes deklariert.

Ein Schlüssel wird als Verbund bezeichnet, wenn er mehrere Felder enthält (d. h. mehrere <keyfield> untergeordnete Elemente). Verwenden Sie keinen zusammengesetzten Schlüssel, um einen Primärschlüssel zu definieren.

Wenn das Hauptelement des Schemas das Attribut "@autopk=true" enthält, ist der Primärschlüssel eindeutig. Pro Schema kann nur ein Primärschlüssel verwendet werden.

Die ersten 1000 Kennungen sind reserviert. Wenn also ein Wertebereich für Schlüssel definiert werden muss, beginnen Sie bei 1000.

Attributbeschreibung

  • allowEmptyPart (boolean): bei zusammengesetzten Schlüsseln wird dieser Schlüssel als gültig betrachtet, wenn dieses Attribut aktiviert ist, wenn mindestens einer seiner Schlüssel nicht leer ist. Ist dies der Fall, ist der leere Nennwert "0"(boolescher Wert oder für alle Typen numerischer Daten). Standardmäßig müssen alle Schlüssel, aus denen ein zusammengesetzter Schlüssel besteht, eingegeben werden.
  • applyIf (string): Mit diesem Attribut können Sie den Schlüssel optional machen. Sie definiert die Bedingung, nach der die Schlüsseldefinition angewendet wird. Dieses Attribut erhält einen XTK-Ausdruck.
  • internal (boolean): Wenn es aktiviert ist, informiert Adobe Campaign über das primäre Schlüsselattribut.
  • label (string): Titel des Schlüssels.
  • name (MNTOKEN): interner Name des Schlüssels.
  • noDbIndex (boolean): Wenn sie aktiviert ist (noDbIndex="true"), wird das dem Schlüssel entsprechende Feld nicht indiziert.

Beispiele

Deklaration eines zusammengesetzten Schlüssels, der das Leeren des Felds "@expr"oder "alias"zulässt:

<key name="node" allowEmptyPart="true">
  <keyfield xpath="@expr"/>
   <keyfield xpath="@alias"/>
 </key>

Deklaration eines Primärschlüssels im Feld "Name" des STRING-Typs in einem <srcschema> und der entsprechenden SQL-Abfrage:

 
<key name="PrimaryKey" internal="true">  
  <keyfield xpath="@name"/>
</key>

CREATE UNIQUE INDEX Schema_PrimaryKey ON Schema(sName);

Auf dieser Seite