制約の指定
Majic でオブジェクト定義用のメタ言語を使用して、制約と検証テストを指定します。
注: 詳細については、「テクニカル リファレンス ガイド」を参照してください。
Majic で定義する制約は、SQL WHERE 節に非常に似ていますが、以下のような違いがあります。
@root.att_name
たとえば、@root.location を指定すると、現在の連絡先のロケーション ID が参照されます。
結合は、以下の形式で指定します。foreign-key は、データ パーティション制約を記述するテーブルの SREL 属性の Majic 名です。attribute-in-referenced-table は、結合するテーブルの属性の Majic 名です。
foreign-key.attribute-in-referenced-table
たとえば、インシデント レポートに関連付けられたアセットの保守ベンダーを参照するには、以下のように指定します。
resource.vendor_repair
これは再帰的指定です。 たとえば、以下のように指定すると、ベンダーの名前を参照できます。
resource.vendor_repair.name
Change_Request テーブル(変更要求情報の保存に使用)に適用できる有効な制約の例を以下の表に示します。
|
制約タイプ |
コードと説明 |
|
View |
assignee.organization = @root.organization この指定では、ユーザは担当者の組織がユーザの組織と同じである変更要求のみを表示できます。 |
|
Pre-Update |
requestor = @root.id この指定では、ユーザは自分自身がコール元または依頼者である変更要求のみを更新できます。 |
ただし、以下の例のような式の両辺で結合を使用する制約は記述できません。
assignee.org = requestor.org
|
Copyright © 2013 CA.
All rights reserved.
|
|