Readme_AdventureWorksScripts
Microsoft SQL Server 2005 では、AdventureWorks サンプル データベース内でスキーマの使用の代わりとなる 2 つの代替方法を提供するスクリプトを SQLServerEngineSamples.msi で使用することができます。
シナリオ
SQL Server 2005 では、テーブルおよびその他のスキーマ スコープ オブジェクトはスキーマに含まれており、スキーマはユーザーが所有します。AdventureWorks では、ビジネス機能に基づいたスキーマ スコープ オブジェクトを含んだ 5 つのスキーマが使用されます。たとえば、顧客および売上関連オブジェクトは Sales スキーマに含まれ、従業員関連オブジェクトは HumanResources スキーマに含まれます。詳細については、SQL Server Books Online の「AdventureWorks のスキーマ」を参照してください。
スキーマを追加すると、テーブルおよびスキーマ スコープ オブジェクトへのアクセス方法に変更が生じます。既定のスキーマ (DB) 以外のスキーマ内のオブジェクトにアクセスするには、少なくとも 2 部構成の schema_name**.**object_name 形式の識別子が指定されている必要があります。これは、スキーマ スコープ オブジェクトを参照するすべての DDL ステートメントおよび DML ステートメントについても該当します。
このサンプルに含まれるスクリプトでは、スキーマ スコープ オブジェクトでの作業に代わる代替案が提供されます。1 つの代替案では、すべてのスキーマ スコープ オブジェクトが dbo スキーマに転送され、別の代替案では、dbo スキーマ内の各スキーマ スコープ オブジェクトのシノニムが作成されます。
言語
Transact-SQL
機能
AdventureWorks スクリプトでは、SQL Server 2005 データベース エンジンの次の機能が使用されます。
アプリケーション エリア | 機能 |
---|---|
データベース エンジン |
スキーマ DDL |
データベース エンジン |
シノニム |
前提条件
このサンプルに含まれているスクリプトのいずれかを実行する前に、SQL Server 2005 をインストールして、次のコンポーネントが含まれていることを確認します。
- データベース エンジン
- SQL Server Management Studio
- SQL Server 2005 に付属の AdventureWorks データベース。SQL Server デベロッパー Web サイトからも入手できます。
- SQL Server 2005 データベース エンジンのサンプル。これらのサンプルは SQL Server 2005 に含まれています。これらの最新バージョンは、SQL Server デベロッパー Web サイトからダウンロードできます。
dbo スキーマへのオブジェクトの転送
AlterSchemaToDbo.sql スクリプトは、AdventureWorks の各スキーマ スコープ オブジェクトを dbo スキーマに転送します。このスクリプトが実行されると、dbo の既定のスキーマを持つユーザーは、DDL ステートメントおよび DML ステートメント内のこれらのオブジェクトを参照するときに、2 部構成の識別子を使用する必要がありません。
重要 : |
---|
SQL Server 2005 で提供されるコードの例とサンプルは、コードで指定されたスキーマ名が dbo と置き換えられるか削除される場合を除いて、AlterSchemaToDbo.sql が実行された後では実行されません。 |
AlterSchemaFromDbo.sql スクリプトは、AlterSchemaToDbo.sql スクリプトを実行する前に、オブジェクトを dbo スキーマから以前のスキーマに転送します (返します)。
dbo スキーマとオブジェクトのやりとりを行うスクリプトの実行
次の手順は、AdventureWorks スキーマ スコープ オブジェクトを dbo スキーマに転送する Transact-SQL スクリプトの実行方法を示しています。
AlterSchemaToDbo スクリプトを実行するには
- SQL Server Management Studio で、C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts フォルダにある AlterSchemaToDbo.sql スクリプト ファイルを開き、[実行] をクリックします。
AdventureWorks スキーマ スコープ オブジェクトを dbo スキーマから元のスキーマに返す Transact-SQL スクリプトの実行方法は、次の手順のとおりです。
AlterSchemaFromDbo スクリプトを実行するには
- SQL Server Management Studio で、C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts フォルダにある AlterSchemaFromDbo.sql スクリプト ファイルを開き、[実行] をクリックします。
シノニムの使用
シノニムとは、スキーマ スコープ オブジェクトに与えられた別名です。シノニムは、DDL ステートメントおよび DML ステートメント内のベース オブジェクトの代わりに指定されます。
CreateSynonymsDbo.sql スクリプトでは、AdventureWorks の各スキーマ スコープ オブジェクトにシノニムが作成されます。シノニム名は、ベース オブジェクト名と同じですが、dbo スキーマを使用します。たとえば、HumanResources.Department のシノニムは dbo.Department です。
シノニムの使用には次の利点があります。
- dbo が既定のスキーマの場合、DDL ステートメントおよび DML ステートメントでこれらのオブジェクトを指定するための、2 部構成の識別子は必要ありません。
- SQL Server 2005 で提供されるコードの例およびサンプルは、変更せずに使用することができます。
DropSynonymsDbo.sql スクリプトは、CreateSynonymsDbo.sql スクリプトが作成したシノニムを削除します。
シノニム スクリプトの実行
各 AdventureWorks スキーマ スコープ オブジェクトの dbo スキーマでシノニムを作成する Transact-SQL スクリプトの実行方法は、次の手順のとおりです。
CreateSynonymsDbo スクリプトを実行するには
- SQL Server Management Studio で、C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts フォルダにある CreateSynonymsDbo.sql スクリプト ファイルを開き、[実行] をクリックします。
CreateSynonymsDbo.sql スクリプトによって作成されたシノニムをデータベースから削除する Transact-SQL スクリプトの実行方法は、次の手順のとおりです。
DropSynonymsDbo スクリプトを実行するには
- SQL Server Management Studio で、C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts フォルダにある DropSynonymsDbo.sql スクリプト ファイル開き、[実行] をクリックします。
スクリプトの削除
次に手順を使用して、このサンプルに含まれている 1 つまたは複数のスクリプトを削除します。
スクリプトを削除するには
- Windows エクスプローラで、C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Administration\AdventureWorks\Scripts フォルダを探し、スクリプト名を右クリックして [削除] をクリックします。