Beziehung: Kabeltyp - LAN-TypIm 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
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.
Ü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 ).