Interstage Shunsaku Data Manager アプリケーション開発ガイド - Microsoft(R) Windows(R) 2000/ Microsoft(R) Windows Server(TM) 2003 - - UNIX共通 -
目次 索引 前ページ次ページ

第1部 アプリケーション開発の基本> 第5章 トランザクション機能> 5.1 トランザクションの概要

5.1.1 トランザクションとは

トランザクションとは、業務ルール上意味のある、これ以上分解できない作業の最小単位です。

ここでは、教育コースの受講受付を行うため、以下のような2つのXML文書の更新をする必要がある場合を例に挙げます。

■コース情報を管理するXML文書

<course>
  <name>Business negotiation</name>
  <instructor>
    <first-name>Max</first-name>
    <last-name>cameron</last-name>
  </instructor>
       .
       .
       .
  <capacity>40</capacity>
  <current-auditors>30</current-auditors>
       .
       .
       .
</course>
<course>
    .
    .
    .

■生徒情報を管理するXML文書

<student>
  <first-name>Jack</first-name>
  <last-name>Wilson</last-name>
  <e-mail>jack.wilson@abc.com</e-mail>
  <course>Japanese language</course>
       .
       .
       .
  <course>Business negotiation</course>
       .
       .
       .
</student>
<student>
  <first-name>Mary</first-name>
  <last-name>Tompson</last-name>
  <e-mail>mary.tompson@def.com</e-mail>
  <course>Chinese language</course>
       .
       .
       .
</student>
<student>
    .
    .
    .

ここで、Mary Tompsonのビジネス交渉術コースの受講申込みに伴う更新処理を行います。結果のXML文書は以下のようになります。

■コース情報を管理するXML文書

<course>
  <name>Business negotiation</name>
  <instructor>
    <first-name>Max</first-name>
    <last-name>cameron</last-name>
  </instructor>
       .
       .
       .
  <capacity>40</capacity>
  <current-auditors>31</current-auditors>
       .
       .
       .
</course>
<course>
    .
    .
    .

■生徒情報を管理するXML文書

<student>
  <first-name>Jack</first-name>
  <last-name>Wilson</last-name>
  <e-mail>jack.wilson@abc.com</e-mail>
  <course>Japanese language</course>
       .
       .
       .
  <course>Business negotiation</course>
       .
       .
       .
</student>
<student>
  <first-name>Mary</first-name>
  <last-name>Tompson</last-name>
  <e-mail>mary.tompson@def.com</e-mail>
  <course>Chinese language</course>
       .
       .
       .
  <course>Business negotiation</course>
       .
       .
       .
</student>
<student>
    .
    .
    .

この例では、Maryの生徒情報にビジネス交渉術コースを受講中コースとして追加し、また、ビジネス交渉術コースのコース情報の受講者数を増やしています。この2つのデータ操作は両方そろって意味をなすものであり、どちらか一方だけでは正しい事実を生み出しません。どちらか一方のデータ操作でも失敗した場合、データは論理的に正しくない状態となってしまいます。

このようなときにトランザクションを用います。Shunsakuのトランザクションは、一連のデータ変更からなります。Shunsakuは、トランザクションを構成するデータ変更がすべて有効となるか、すべて無効となるようにします。ひとまとまりとして意味のある一連のデータ操作を1つのトランザクションにすることで、データの論理的一貫性を保つことができます。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2006