データ パーティション

内容
casm173
内容
データ パーティションは、データ レコードへのアクセスが制限されているデータベースのサブセットです。 アクセスを制限するには、各データ パーティションの制約セットを定義します。 これらのデータ パーティションをアクセス タイプに割り当てます。 データ パーティションの割り当てにより、連絡先のアクセスできるレコードが決まります。
データ パーティションの制約の作成
HID_Data_Partition
データ パーティションの制約は、そのデータ パーティションに割り当てられたユーザによるデータベース レコードへのアクセスを制限します。
以下の手順に従います。
  1. [管理]タブで、[セキュリティと役割の管理]-[データ パーティション]-[データ パーティションの制約]を選択します。
    [データ パーティションの制約リスト]ページが開きます。
  2. [新規作成]をクリックします。
    [データ パーティションの制約の新規作成]ページが開きます。
  3. 必要に応じて、[データ パーティションの制約]フィールドに入力します。
  4. 必要に応じて、タブ内の情報を入力します。
    • 制約
      データ パーティションに割り当てられているユーザが表示、作成、更新、または削除できるテーブル内のレコードを制御する基準を指定します。 たとえば、ユーザが割り当てられた案件の更新のみを実行できるよう指定できます。 データ パーティションに割り当てられているユーザが、条件に一致しないレコードをリクエストすると、そのレコードは読み取り専用に設定されます。
      制限:
      4000 バイト
    • SQL 変換
      制約の定義が SQL 形式で表示されます。 [制約]タブで入力した条件が検証され、基礎となる SQL WHERE 句が構築されます。 この変換は、検証用に[SQL 変換]タブに表示されます。
  5. [保存]をクリックします。
    制約が保存され、データ パーティションに追加されます。
例: CAB 割り当てに関するデータ パーティションの制約の作成
ログイン ユーザが所属する CAB に割り当てられた変更要求のみの更新をユーザに許可するデータ パーティションの制約を作成できます。
CAB 変更要求のユーザ割り当てに関するデータ パーティションの制約を作成するには、データ パーティション内の Change_Request 制御テーブルの制約値を以下のように割り当てます。
  • 制約タイプ: 更新前
  • 制約の仕様: cab.[group]group_list.member IN (@root.id)
ログイン ユーザは、ユーザが所属する CAB に割り当てられた変更要求のみ更新できます。
制約の定義
条件を Majic 形式(CA SDM オブジェクトの定義に使用されるメタ言語)で指定します。
[制約タイプ]が[表示]の場合は、他のテーブルへの結合と、ログイン済みユーザの連絡先レコードにある Majic 属性への @root.att_name 参照を、条件に含めることができます。 [制約タイプ]が[表示]以外の場合は、別のテーブルへの結合と、ログイン済みユーザの連絡先レコードにある Majic 属性への@root.att_name 参照を含めることはできません。
[制約タイプ]が[初期設定]の場合は、新規レコードの保存時に空のフィールドに割り当てられる値を指定する、セミコロンで区切られた 1 つまたは複数のステートメントを指定できます。 割り当てステートメントの構文は、以下のとおりです。
att_name=value
att_name はレコードの Majic 属性の名前で、値には整数、引用符で囲まれた文字列、またはログイン済みユーザの連絡先レコードの Majic 属性への @root.att_name 参照を指定できます。 CA SDM でのデフォルト値の使用方法は、影響を受けるテーブルによって異なります。
案件のように、CA SDM によって更新されたテーブルの場合、デフォルト値はレコードを表示するときにレコードに設定され、新規レコードを初めて表示するときに表示されます。 デフォルト値を参照フィールド(Majic SREL)に割り当てるには、テーブル名の後にコロンと整数 ID を付けた固定 ID の形式で指定します。 たとえば、カテゴリの初期設定値を指定するには、以下のように指定します。
category='PCAT:12345'
PCAT は Majic ファイルに設定されている SREL のターゲットで、12345 は目的のカテゴリの ID 番号です。 以下の形式のコマンドで、テーブルの固定 ID を表示できます。
bop_odump domsrvr pcat "" sym
[データ パーティションの制約]のフィールド
以下のフィールドに入力し、[データ パーティションの制約]フィールドを追加または変更します。
  • データ パーティション名
    制約が定義されているデータ パーティションの名前を指定します。
  • テーブル名
    制約によって制御されるデータベース テーブルを指定します。
  • 制約タイプ
    定義する制約のタイプです。 データ パーティションのテーブルごとに 6 つの制約タイプがあります。
    • 作成
    レコードの作成前に満たす必要がある基準を指定します。 CA SDM では、データ パーティション内のユーザが作成テスト条件に一致しないレコードを作成しようとすると、制約に関連付けられたエラー メッセージが表示され、レコードが保存されません。
    • デフォルト
    セミコロンで区切って 1 つ以上の割り当てステートメントを指定して、レコードの格納時に新しいレコードの空フィールドに割り当てる値を定義します。 割り当てステートメントの構文は次のようになります。
    att_name
    は、レコードの属性の Majic 名です。
    value
    は、整数、引用符で囲んだ文字列、現在のユーザの連絡先レコードの Majic 属性への参照(@root.
    att_name
    )のいずれかを指定します。
    att_name=value
    チケットのために更新されるテーブルの場合、初期設定値は表示のときにレコードに入れられ、新しいレコードの初期画面に表示されます。 参照フィールド(Majic SREL)に初期設定値を割り当てるには、固定 ID の形式でコーディングします。 固定IDは、オブジェクト名に続けてコロンと整数のIDを指定した値です。 たとえば、初期設定の指定に以下の値を入力することで、カテゴリに初期設定値を指定できます。PCATはSRELのターゲットであり(Majicファイルで示すとおり)、12345は目的のカテゴリのID番号です。
    category='PCAT:12345'
    以下のコマンドを使用して、オブジェクトの固定 ID を一覧表示できます。
    bop_odump domsrvr pcat "" sym
    • 削除
    レコードを削除する場合に満たす必要がある基準を指定します。 CA SDM では、データ パーティション内のユーザが削除条件に一致しないレコードを削除しようとすると、制約に関連付けられたエラー メッセージが表示され、レコードが削除されません。
    • 更新前
    管理対象のテーブル内で、ユーザがデータ パーティションで更新できるレコードを指定します。 CA SDM では、データ パーティション内のユーザが更新前条件に一致しないレコードをリクエストすると、レコードは読み取り専用になり、制約と共に定義されたエラー メッセージが表示されます。
    • 更新
    レコードの保存時に満たす必要がある基準を指定します。 CA SDM では、データ パーティション内のユーザが更新条件に一致しないレコードを保存しようとすると、制約に関連付けられたエラー メッセージが表示され、レコードが保存されません。
    • 表示
    管理対象のテーブル内で、ユーザがデータ パーティションで表示できるレコードを指定します。 ユーザが明示的に指定した選択基準に加えて、この制約が、データ パーティション内でユーザが選択したすべてのリストに自動的に適用されます。
    表示できるのは、ほかのテーブルとの結合と、現在のユーザまたはログイン ユーザの連絡先レコードにある Majic 属性を @root.
    att_name
    の形式で参照した値です。 以下に有効な例を示します。
    requestor.organization = @root.organization requestor.organization.name = 'MIS' assignee = @root.id assignee.organization = @root.organization
    作成、削除、更新前、および更新の各制約タイプで、他のテーブルとの結合をサポートするようになりました。 また、@root.attribute の形式で、現在のユーザの連絡先レコードの属性を参照できます。
  • レコード ステータス
    制約がアクティブであるか、非アクティブであるかを示します。
  • エラー メッセージ
    制約条件が満たされない場合に、ユーザにメッセージが表示されます。 たとえば、「自分に割り当てられた案件しか更新できません」、「自分の所属する組織の案件しか作成できません」、「自分の連絡先レコードは更新できますが、データ パーティションは変更できません」などを指定できます。
データ パーティションの作成
データ パーティションは、CA SDM データベースのサブセットです。 データ パーティションは、チケットやその他のレコードへのユーザのアクセスを、コンテンツに基づいて制御します。
以下の手順に従います。
  1. [管理]タブで、[セキュリティと役割の管理]-[データ パーティション]-[データ パーティション リスト]を選択します。
  2. [新規作成]をクリックします。
  3. 必要に応じてフィールドにデータを入力します。
    • データ パーティション
      データ パーティションの一意の識別子です。
    • レコード ステータス
      レコード ステータスは、パーティションがアクティブであるか、非アクティブであるかを示します。
  4. [保存]をクリックします。
  5. [新規成約]をクリックし、制約の定義をパーティションに添付します。
  6. [保存]をクリックします。
    データ パーティションがデータ パーティション制約と共に保存されます。
データ パーティション制御テーブルの表示
制御テーブルは、パーティション作成を通じてユーザ アクセスを制限できるテーブルです。
制御テーブルの追加または削除や、オブジェクト名の変更を行うことはできません。
以下の手順に従います。
  1. [管理]タブで、[セキュリティと役割の管理]-[データ パーティション]-[データ パーティション制御テーブル]を選択します。
    [制御テーブル]リストが表示されます。
  2. (オプション)[フィルタを表示]をクリックし、1 つ以上の検索フィールドに入力します。
  3. 表示するテーブル名を選択します。
    [制御テーブルの詳細]ページが表示されます。
[データ パーティション制御テーブルの検索]のフィールド
  • テーブル名
    -- 制約によって制御されるデータベース テーブルです。
  • オブジェクト
    -- 制御テーブルの関連するデータベース オブジェクトです。
  • 説明
    -- 制御テーブルの説明文です。
  • レコード ステータス
    -- 制約がアクティブであるか、非アクティブであるかを示します。