élément key key--element

Modèle de contenu content-model-8

key:==keyfield

Attributs attributes-8

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

Parents parents-8

<element>

Enfants children-8

<keyfield>

Description description-8

Cet élément permet de définir une clef permettant d’identifier un enregistrement de la table.

Une table doit posséder au moins une clef.

Usage et contexte d’utilisation use-and-context-of-use-6

Par convention, les clefs sont déclarées après la déclaration de l’élément principal du schéma et à la suite des déclarations d’index.

Une clé est connue sous le nom de composite si elle comprend plusieurs champs (plusieurs <keyfield> enfants, par exemple). N’utilisez pas de clé composite pour définir une clé primaire.

Si l’élément principal du schéma contient l’attribut « @autopk=true », alors la clé primaire est unique.Nous ne pouvons avoir qu’une seule clé primaire par schéma.

Les 1000 premiers identifiants sont réservés donc si une plage de valeurs doit être définies pour les clefs, il faut la commencer après la valeur 1000.

Description des attributs attribute-description-8

  • allowEmptyPart (boolean) : dans le cas d’une clé composite, si cet attribut est activé, la clé est considérée comme valide si au moins une des clés composant la clé composite n’est pas vide.Si c’est le cas, la valeur vide de la notion est « 0 » (booléen ou pour tous les types de données numériques).Par défaut, toutes les clés qui constituent une clé composite doivent être saisies.
  • applicableIf (string) : cet attribut vous permet de rendre la clé facultative.Il définit la condition selon laquelle la définition de clé sera appliquée.Cet attribut reçoit une expression XTK.
  • internal (boolean): s’il est activé, cet attribut signifie à Adobe Campaign que la clef est primaire.
  • label (string): libellé de la clef.
  • name (MNTOKEN): nom interne de la clef.
  • noDbIndex (boolean): s’il est activé (noDbIndex=“true”), le champ correspondant à la clef ne sera pas indexé.

Exemples examples-------

Déclaration d’une clef composite autorisant un des deux champs la composant “@expr” ou “@alias” à être vide:

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

Déclaration dune clé primaire sur le champ « Name » de type STRING dans <srcschema> et la requête SQL correspondante :


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

CREATE UNIQUE INDEX Schema_PrimaryKey ON Schema(sName);
recommendation-more-help
campaign-classic-help