Insider's Eye

.NET Framework 3.0とは?
Database Professionalsとは?

デジタルアドバンテージ 一色 政彦
2006/07/05

Page1 Page2

3.TSDATAによるデータベース開発サイクルの流れ
 ―― TSDATAの一般的な利用手順 ――

データベース・スキーマの開発(編集/リファクタリング/比較)

【新規作成】
 TSDATAでデータベース開発を行うには、まずは当然ながら、データベース・プロジェクトを作成する必要がある。ここで作成できるプロジェクト項目には、次の4つがある。

  • SQL Server 2000
  • SQL Server 2005
  • SQL Server 2000 Script Only
  • SQL Server 2005 Script Only

 これで分かるように、TSDATAではSQL Server 2000と2005に対応している。Script Onlyと書かれているプロジェクト項目は、単独の.SQLスクリプトを開発するためのものなのでここでは利用しない。データベース全体のスキーマを開発するには、Script Only以外のものを選択する必要がある。

 ここでは「SQL Server 2005」のプロジェクトを新規作成して、既存のデータベース(以降、本番データベース)からスキーマをインポートし、すぐにそれをソース管理下に置くものとする。

【編集】
 プロジェクトの新規作成が完了すれば、実際のスキーマの開発作業に入る。次の画面は、.SQLスクリプト・ファイルを編集してスキーマを開発している例だ。

SQLファイルの編集によるデータベース・スキーマの開発

【リファクタリング】
 この際、例えば「名前の変更」(Rename)というリファクタリング機能を使えば、データベース内のオブジェクト(例えばテーブルやフィールドなど)を容易にリネームでき、その変更で影響が及ぶすべての個所(例えばその名前を参照している.SQLスクリプト・ファイルのソース・コードなど)の名前を変更してくれる。

 次の画面は実際にそのリファクタリング機能を実行している例だ。

TSDATAのリファクタリング機能
修正が必要なすべての個所を一括して変更できる。変更される個所はこの画面の例のようにプレビューで確認できる。

【比較】
 一通りスキーマの開発が完了したら、その開発したスキーマと本番データベースのスキーマを比較する。次の画面がその例である。

開発したスキーマと本番データベースのスキーマの比較
両者を比較することで、スキーマの差分を埋めるための更新用.SQLスクリプト・ファイルが出力できる(=Export to File)。またその更新を書き込んで両者のスキーマを同期させられる(Write Updates)。なおデータベース開発ライフサイクルにおいて、本番データベースへのスキーマのデプロイ作業は、以降で説明するの処理が済んだ後のの作業で行う。

データベース・スキーマのビルド(スキーマの確定とバージョン管理)

【スキーマの確定とバージョン管理】
 比較した結果、何も問題なければ、プロジェクトをビルドしてスキーマを確定させ、開発中のスキーマと本番データベースのスキーマの差分を埋めて同期させるための更新用.SQLスクリプト・ファイルを作成しておく(この更新用.SQLスクリプト・ファイルはの作業で用いる)。

 そして、(本番データベースではなく)テスト用データベースのスキーマをアップデートして、次に行うテスト作業に備える。なおここまでに完成した新バージョンのスキーマは、ここで必ずソース管理ツールにチェックインしておきたい。

データベース・スキーマのテスト(テスト用データの生成/テスト/比較)

 ビルドに成功したら、そのスキーマで実際に運用を行っても問題がないかをテストする。

【テスト用データの生成】
 テスト用データはTSDATAの機能により自動生成できる。この際、データ生成プラン(=Data Generation Plans)として、データ生成のルール(例えば、何文字のデータを出力するなど)を決めたり、分布(=どの範囲のデータを多めに出力するかなど)を指定したりできる。これにより、データベース開発者が意図した内容のテスト用データを使って漏れのないスキーマ・テストが実施できるようになる。

 次の画面はテスト用データを生成している例だ。

テスト用データの生成
生成ルールなどを細かく指定することもできる。

【テスト】
 スキーマが問題ないかテストするには単体テストを記述する。単体テストのプロジェクトはウィザードで簡単に作成できる。先にも述べたが、単体テスト自体はT-SQLもしくはマネージ・コード(C#やVisual Basicなどの言語)により記述できる。

 単体テストが完成したらそれを実行してスキーマを検証する。次の画面は実際に単体テストを作成し、それ使ってスキーマを検証しているところだ。

データベース単体テストによるスキーマのテスト
単体テストのプロジェクトはウィザードにより簡単に作成できる。単体テストの実行は、VS 2005のIDE内で簡単に実行できる。

【比較】
 ここで、テスト結果のデータ内容を検証するなどの目的で、データベース間(例えばテスト用データベースと本番データベースの間など)でデータ内容を比較することもできる。

データベース・スキーマのデプロイ(データベースへの適用)

【データベースへの適用】
 以上のテストをパスすれば、あとは(スキーマの比較で作成した)更新用.SQLファイルを使って本番データベースにスキーマのアップデートをデプロイする。これにより安全に本番データベースを更新できるわけである。

 TSDATAでは、以上の開発ライフサイクルの流れを繰り返すことで、安全で確実なデータベース開発を実現できるようになっている。

 本稿では、.NET Framework 3.0の内容と注意点を説明し、TSDATAによるデータベース設計について簡単に説明した。日本でのTSDATAの注目度は未知数だが、本稿で少しでも興味を持っていただけたなら幸いである。

 最後に、Tech-Ed 2006 Bostonに参加してTSDATAなど新技術に関して抱いた筆者の感想を述べて本稿を終わりとしよう。

 米国ではTSDATAに対する注目度は現時点ではそれほど高くないようである(筆者はTSDATAを面白い製品だと思ったが……)。というのも、TSDATAの一連のセッションはあらかじめ比較的広めの部屋が割り当てられていたのだが、内容が深いものになるにつれて聴講する人の数が非常に少なくなっていったからだ。

 その一方でWPF(Windows Presentation Foundation)のセッションは比較的小さめの部屋が割り当てられていたが、いずれも立ち見が出るほどの盛況ぶりで、筆者はこれを意外に感じた。筆者は「WPFは派手なグラフィックスに関する技術なので、ビジネス・アプリケーション開発者の大半はあまり興味を持っていないだろう」と予測していたのだが、現実にはそうではないようだ。恐らく米国では次世代Vistaに載るグラフィックスで何か新しいビジネスができないかともくろんでいる開発者もたくさんいるのではないだろうか。

 また筆者自身、WPFの印象がTech-Ed 2006 Bostonで少し変わった。ビジネス・アプリケーションであっても、ユーザーに(他社と差別化して)より効果的な提示・表示を行うためにWPFのコントロールなどを活用することも悪くないと思うようになったのである。End of Article

 

 INDEX
  Insider's Eye
  .NET Framework 3.0とは? Database Professionalsとは?
    1. “.NET Framework 3.0”への名称変更とDatabase Professionalsの概要
  2. TSDATAによるデータベース開発サイクルの流れ
 
 Insider's Eye


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間