Beziehung: Kabeltyp - LAN-Typ

Im folgenden Beispiel soll gezeigt werden, wie Tabellen in Constraints verwendet werden. Dafür wurde eine Tabelle gepflegt, die die zulässige Wertekombination für die Merkmale c_lan_type und c_cable_type beschreibt:

c_lan_type

c_cable_type

Thinwire Ethernet

verdrilltes Kabelpaar

Thinwire Ethernet

geschirmtes verdrilltes Kabelpaar

Thickwire Ethernet

Koaxialkabel

Token Ring

verdrilltes Kabelpaar

Token Ring

geschirmtes verdrilltes Kabelpaar

Token Ring

Glasfaser

Token Bus

Koaxialkabel

FDDI

Glasfaser

Hinweis Hinweis

Tabellen, die in Beziehungswissen angesprochen werden, dürfen nur einwertige Merkmale enthalten. Die Merkmale der Klassen, die mit den Merkmalen der Tabelle verglichen werden, dürfen auch mehrwertig oder einschränkbar sein.

Ende des Hinweises

Über diese Tabelle wird im Constraint angegeben, welche Wertekombinationen gültig sind. Wenn beim Konfigurieren eines Materials eine ungültige Wertekombination angegeben wird, meldet das Constraint eine Inkonsistenz.

OBJECT: network is_a (300) c_net

RESTRICTIONS:

table cable_lan

(c_lan_type = network.c_lan_type,

c_cabel_type = network.c_cable_type).

Das Constraint bezieht sich auf alle Netze, da als Objekt die Klasse c_net angegeben wird, die sowohl Unternehmensnetze als auch Abteilungsnetze umfaßt.

Unter RESTRICTIONS werden die Merkmale der Tabelle mit den Merkmalen der Klasse verglichen. In diesem Beispiel werden in der Tabelle und in der Klasse die gleichen Merkmale verwendet.

Tabellen können in Constraints auch dazu verwendet werden, Werte herzuleiten. Unter INFERENCES müßte dann das Merkmal angegeben werden, dessen Wert über die Tabelle hergeleitet werden soll. Dies ist jedoch nur möglich, wenn die Wertzuweisung eindeutig ist. Wenn für Kabeltyp ein Wert hergeleitet werden soll und für LAN-Typ ‘Token Ring’ eingegeben wird, ist für Kabeltyp keine eindeutige Wertzuweisung möglich, da drei Werte zur Auswahl stehen.

Außerdem können Sie über Tabellen in Constraints den Wertebereich eines Merkmals einschränken. Dazu ist es aber notwendig, für die Klasse und die Tabelle unterschiedliche Merkmale anzulegen. Die Merkmale der Klasse müssen als einschränkbar definiert sein (vgl. Constraints: Werteherleitungen ).