設計情報

投稿者: SPIRERS ナレッジ向上チーム 2025年9月4日 (木)

はじめてのSPIRAL ver.1 – 基本機能 ~ トランザクションDB ~

変更・改訂履歴

  • 改訂

    動画、前の記事、次の記事への遷移タブを追加

本記事では、SPIRAL ver.1での「トランザクションDB」におけるアクションとトリガ/抽出ルールの活用方法について、実務を想定した事例を交えてご紹介します。

動画

トランザクションDBとは

動画を見る
※トランザクションDBについて説明している部分(0:20~)へジャンプします。
SPIRAL ver.1では、通常DBに加えて「トランザクションDB」を用いることで、フォームからの登録・更新・削除といった動的データを記録・管理することができます。

「アクション」と「トリガ / 抽出ルール」それぞれの機能と特性はこちら:
機能 特性
アクション トランザクション発生時に行う処理(DB更新や通知)
トリガ/抽出ルール どのタイミングで、どんな条件で、どのデータを対象とするかの設定

トランザクションDBの全体像
トランザクションDBは、「トランザクションデータ」を使って「マスタデータ」に対し、複数のアクション(処理)を実行します。
また、その履歴を保存することで処理の証跡を残し、マスタデータを削除してしまった際のデータ復元に使用することができます。
トランザクションDBの削除について
トランザクションDBは性質上、データを削除することはできませんが、個人情報をマスクすることが可能です。

トランザクションDBに登録された個人情報のマスク方法については、サポートサイトをご覧ください。
トランザクションDBに登録された個人情報をマスクしたい

活用方法:セミナー申込データのマスタ反映

動画を見る
※活用方法について説明している部分(1:27~)へジャンプします。
セミナー申込データのマスタDBへの反映
セミナーを管理するマスタDBと、ユーザーが申込フォームからセミナーに申し込むトランザクションDBを用意します。
このような条件で、データを処理します。

処理
ユーザーが申込フォームからセミナーに申し込んだら、マスタDBの空席数を減らしたい。
空席数が0のときはエラー終了したい

事前準備
セミナーマスタDB(通常DB)
通常DBを発行し、このように設定します。
フィールド名 フィールドタイプ差し替えキーワード 差し替えキーワード
セミナーID 数字・記号・アルファベット(32bytes) seminarID
セミナー名 セレクト seminarName
残席数 整数 seatsLeft

「セミナー名」の設定
「セミナー名」フィールドをセレクトにし、トランザクションDBとの「共有フィールド」として作成します。セミナー名をラベル設定で追加できます。

申込データを受けるトランザクションDBを作成します。
フィールド名 フィールドタイプ差し替えキーワード 差し替えキーワード
TRDB_登録日時 登録日時 registedDate
セミナー名 セレクト(共有) seminarName
申込数 整数 appliedAmount
登録メールアドレス メールアドレス(大・小文字無視) email

セミナー申し込みフォームをトランザクションDB側に設置し、以下の項目を設定します。
1. 「使用フィールド」の「申込数」には、特殊入力として「固定値」を設定します。

2. 「フィールド別チェック」を設定し、「申込数」に登録時の固定値「1」が自動的に入力されるようにします。
これで、事前準備は完了です。

トランザクションDBの設定手順

動画を見る
※設定手順について説明している部分(3:31~)へジャンプします。
アクション作成
処理内容:セミナーマスタDBの空席数を1件減らす
・トランザクションDBの「アクション」からアクションを作成します。

トランザクションDBの設定関連から、「アクション」を選び、アクション一覧から、「+」ボタンをクリックします。
ここでは、トランザクションDBの「アクション」からアクションを作成します。

「アクション情報」に 「アクション名」と「発動条件」、「アクション対象DB」、「アクション」を入力します。
今回のアクションは、既存のセミナー情報に対して申込みを行い、その結果として残席数が変更されるため、アクションとしては「更新(UPDATE)」を選択します。

そして、「アクションの処理条件」を選択します。
アクションの処理条件は、フォーマット、識別キー、認証キーなどのチェックを行ってからの処理を行うかどうかを設定します。
様々なシチュエーションを想定し、設定することができます。

ここでは、様々な状況におけるアクションの「エラー終了」などの設定を行うことができます。

アクションの作成が完了すると、
設定後、アクション一覧画面では「設定未完了」と表示されます。

ここで、操作の下にある歯車をクリックし、「アクション設定」を開きます。
「検索キーフィールド」の設定が可能になっているので、フィールドを選択します。
※「検索キーフィールド」とは、更新対象レコードを特定するためのキー項目です。
IDやユニークな名称を使用し、対象DB側にも同じフィールドが必要です。

なお、「検索キーフィールド」に指定するためには該当フィールドに対してインデックスを設定する必要があります。
今回は「識別キー」のみ設定し、「セミナー名」を指定します。

アクションを行うトランザクションDBと更新されるDBの2つでインデックス設定を行います。

次に、アクションの中身を設定します。

アクション設定の「フィールドマッピング」を開きます。
このようにマスタDBの「残席数」がアクションDBの「申込数」によって減少する設定を行います。
「演算子」は「なし」、「+=」、「-=」、「×=」から選択できます。

これでアクションの設定は完了です。
今回は「-=」を選択し、「保存」ボタンをクリックします。


動作確認
マスタDBの「データ操作」より各セミナーに「残席数」の設定を行います。

フォームからセミナーを申し込みます。

もう一度マスタDBで「データ操作」を開くと、
セミナーAの残席数が1件減っていることが確認できます。
※注意
アクションのみを設定している場合、残席数が0でもセミナーに申し込みができてしまい、
画像のように残席数がマイナスになってしまいます。
これを防ぐのが、「トリガ」設定です。

トリガ作成
動画を見る
※トリガ作成について説明している部分(7:42~)へジャンプします。
なぜトリガは必要なのか?
トリガを設定することによって、残席数が0未満になった場合に、エラー終了するように設定します。
これにより、残席数が0のセミナーには申し込めなくなり、満席後の誤申込みを防止できます。

トリガは、DBの登録や更新などのイベントに対して、
特定の条件を満たした場合に自動的に処理を実行する仕組みです。

これにより、リアルタイムでのデータ整合性を保つことができます。
まず、マスタDBの「トリガ」から「更新」のトリガを新規作成します。

次に、トリガの種類では「演算トリガ」を選びます。
作成方法は「新規作成」を選んで、『作成』ボタンを押してください。

次に、基本設定で「トリガ名」を入力し、「保存してフィールド設定へ」をクリックします。

作成が完了したら演算式を入力します。

演算結果格納フィールドでは「エラー終了」を選択し、追加をクリックします。
次に、IF文でフィールドとして「残席数」を選び、値が0未満となる条件式を入力します。
今回は「残席数」が0未満のときエラー終了するようにします。

この設定が完了した状態で「残席数」を0にしてもう一度フォームから申込登録します。
今度は登録完了時に代わりにエラー画面が開きました。

これで「残席数」が0のセミナーには申し込めない設定を行うことができました。

演算トリガについての詳しい説明はサポートサイトをご覧ください。
演算トリガ
抽出ルール作成
最後に、「抽出ルール」を使った応用設定として、特定ドメイン宛てにのみメールを送信する方法をご紹介します。
例えば、@spiral.co.jpのメールアドレスで登録された場合にのみ、サンクスメールを送信したい場合は以下のように設定します。

セミナーTRDBのトップ画面から、「抽出ルール」を開き、「新規作成」をクリックします。
「フィールド毎の抽出設定」から以下のような設定を行います。
「フィールド名」から「登録者メールアドレス」を選択し、「追加」ボタンをクリックします。
下に表示された抽出ルールから「編集」をクリックすると、「フィールドの抽出ルール 新規作成」ポップアップが表示されます。
名前を入力し、抽出条件から「ドメイン」を選択します。
ドメイン名を設定します。
※選択したフィールドのタイプによって抽出条件は異なります。


設定できたら、「新規作成」をクリックします。

申込フォームのサンクスメール設定でリストを作成します。
画面上部の「メール」タブから「リスト作成」をクリックし、先ほど設定したトランザクションと抽出ルールを選択します。
次に、リスト名、受取人メールアドレスフィールド、ドメイン抽出を入力し、「新規作成」をクリックすれば設定完了です。

このリストを使用することにより、「@spiral.co.jp」のドメインで登録した人にのみメールが送られるよう設定することができました。

抽出ルールについての詳しい説明はサポートサイトをご覧ください。
抽出ルール

まとめ

SPIRAL ver.1におけるトランザクションDBのアクション機能を活用すれば、ユーザーの動きに合わせたリアルタイム処理が可能になります。
業務効率化や顧客対応の高速化に大きく貢献しますので、ぜひ積極的に活用してみてください。

※詳細な操作画面やステップは、サポートサイトをご参照ください。
トランザクションDB
解決しない場合はこちら コンテンツに関しての
要望はこちら