!--a11y-->
Lien : type de câble et type de réseau local 
Cet exemple illustre l’utilisation de tables dans les contraintes. La table de l’exemple décrit les combinaisons de valeurs autorisées suivantes pour les caractéristiques C_LAN_TYPE et C_CÂBLE_TYPE :
C_LAN_TYPE |
C_CÂBLE_TYPE |
Ethernet Thinwire |
Paire torsadée |
Ethernet Thinwire |
Paire torsadée blindée |
Ethernet Thickwire |
Câble coaxial |
Token Ring |
Paire torsadée |
Token Ring |
Paire torsadée blindée |
Token Ring |
Fibre optique |
Token Bus |
Câble coaxial |
FDDI |
Fibre optique |

Les tables utilisées dans les liens peuvent uniquement contenir des caractéristiques monovaleur. Les caractéristiques de classes qui sont comparées aux caractéristiques de la table peuvent aussi être des caractéristiques multivaleur ou des caractéristiques avec restrictions.
Cette table est utilisée dans la contrainte pour définir les combinaisons de valeurs valables. Si une combinaison de valeurs incorrecte est affectée lors de la configuration d’un article, la contrainte déclenche un message d’incohérence.
OBJECTS:
réseau is_a (300) RES_S
RESTRICTIONS:
table câble_lan
(c_lan_type = réseau.c_lan_type,
c_cable_type = réseau.c_cable_type).
La contrainte fait référence à tous les réseaux, car la classe RÉS_S est saisie en tant qu’objet. Cette classe recouvre à la fois les réseaux de société et les réseaux de département.
Sous RESTRICTIONS, les caractéristiques de la table sont comparées aux caractéristiques de la classe. Dans cet exemple, les mêmes caractéristiques interviennent dans la table et dans la classe.
Dans les contraintes, vous pouvez aussi utiliser des tables pour déduire des valeurs. À cet effet, vous saisissez sous INFERENCES la caractéristique dont la valeur doit être déduite via la table. Cependant, ceci n’est faisable que dans la mesure où il est possible de déduire une valeur unique. Si vous souhaitez déduire une valeur pour le type de câble et que la valeur « Token Ring » est affectée au type de réseau local, il est impossible d’inférer une valeur unique pour le type de câble, car il existe trois valeurs possibles.
Vous pouvez aussi utiliser des tables dans les contraintes pour restreindre les valeurs autorisées d’une caractéristique. Mais, pour ce faire, vous devez créer des caractéristiques séparées pour la classe et la table. Les caractéristiques de la classe doivent être définies en tant que caractéristiques avec restrictions (voir
Contraintes : déduction de valeurs).