Visual Studio Team System 2008で
データベースのスキーマ開発を効率化しよう
Visual Studio Team System 2008 Database Editionを使ってみよう(1)
ダウンロード サンプルファイル (186.1 KB)
スキーマの編集をしよう
データベースプロジェクトでファイル群を確認するために利用するビューはソリューションエクスプローラとスキーマビューでした。スキーマの編集を行うときにもこの2つのビューを起点として作業を行うことになります。しかし、基本的にはスキーマビューを利用して作業するのが最も効率よく作業をすることにつながります。
新しい項目の追加
例えば、新しいテーブルを一つ追加してみましょう。スキーマビューでテーブルフォルダを右クリックして、[追加]‐[テーブル]と選択します。

新しい項目の追加でファイル名(テーブル名)を指定して追加を選択します。
スキーマビューのテーブルの中に新しいテーブル(この例では「ATable」)が追加されます。

試しにソリューションエクスプローラで確認してみると、きちんと他のテーブル生成スクリプトと同じ位置に作成されています。

項目の編集
次は項目の編集を行ってみましょう。VSTS-DBには残念ながらSSMSなどに用意されているテーブルデザイナやデータベースダイアグラムなどの機能は用意されていません。そのため、編集作業はすべてSQLファイルを直接編集するような形になります。テーブルにキー(主キーや外部キー)を追加するときや制約を追加する場合には、新しい項目の追加の部分で説明したような方法でファイルを追加することになりますが、既存のテーブルの列を増やしたり、減らしたりする場合には、ファイルをダブルクリックして、SQL編集画面を開き、直接SQL文を編集します。このような方法では、わざわざVSTS-DBを利用するよりもSSMSで編集した方が良さそうです。しかし、VSTS-DBにはリファクタ機能があり、既存の列名を変更する場合にはこれがかなり有効に働きます。試しにスキーマビューで[テーブル]‐[dbo.Categories]‐[列]‐[CategoryID]を右クリックして[リファクタ]‐[名前の変更]を選択します。次の図22のようなウィンドウが立ち上がります。
ここで、[CategoryID]となっている部分を[CategoryID2]と変更してみます。変更のプレビューにチェックが入っている状態でOKを選択すると、この変更の影響を受ける項目とその内容が表示されます。
ここでさらに適用を選択すると変更の影響を受ける全項目がまとめて変更されます。ここで、全項目とは、同一プロジェクトに含まれるビューやストアドプロシージャなどで、同じソリューション内にある別プロジェクトにはこの機能は適用されません。このため、もしVSTS-DBが利用可能な場合には、アプリケーションから発行するSQLをすべてストアドプロシージャにし、さらにVSTS-DBでそのストアドプロシージャを管理するようにしておけば、データベーススキーマの変更の影響を小さくすることに貢献できるようになります(アプリケーションの中の型付きDataSetなどは相変わらず影響を受け続けますが、そちらはそちらで名前の変更リファクタリング機能を使って、修正を適用するという選択肢もあります)。
項目の削除
項目の削除を行うときもスキーマビューから行うと便利です。例えば、新しい項目の追加のところで追加した「ATable」に主キーも設定されている状況を仮定してみます。ソリューションエクスプローラでこの状態を確認すると図24のように2つのファイルがあります。

次にスキーマビューに移動します。「ATable」を展開するとキーのところに主キーにあたるものが定義されている状態です。

「ATable」を右クリックして[削除]を選択するとATableが削除され、同時に「PrimaryKey1」も削除されます。この状態でもう一度ソリューションエクスプローラを確認すると図24で確認できた2つのファイルが2つとも削除されています。

このように依存関係を考慮したうえで削除処理を行ってくれるため、ファイルが別々に分かれていても比較的容易にまとまった単位で削除を行うことができます。
この記事は参考になりましたか?
- Visual Studio Team System 2008 Database Editionを使ってみよう連載記事一覧
-
- Visual Studio Team System 2008で T-SQLの単体テストをや...
- Visual Studio Team System 2008で データベースのスキーマ開発...
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
-
WINGSプロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア



