|
SQL Serverでは、オブジェクトの所有者名が異なればそのオブジェクトは区別されます。たとえばデータベースユーザAさんが作成した「商品管理」テーブルと、
データベースユーザBさんが作成した「商品管理」テーブル、そしてdboユーザが作成した「商品管理」テーブルなど、
同じ名前の「商品管理」テーブルが同じデータベースの中に存在することができます(図20)。

図20:同じ名前の商品管理テーブルが同居している
このため単に「商品管理」テーブルと呼んでも、どのユーザが作成した「商品管理」テーブルなのかがわかりません。そこでオブジェクトの前に、その所有者名(データベースユーザ名)を明記します。
A. 商品管理
B. 商品管理
dbo.商品管理
として区別します。
所有者名の明記が省略された場合は、自分自身が作成したものなのか、そうでなければ、dboユーザが作成したものであるとみなします。
Aさんが「商品管理」テーブルといえば、自分が作成した「商品管理」テーブルを表します。一方「商品管理」テーブルを作成していないユーザCさんが「商品管理」テーブルと言えば、dboユーザが作成した「商品管理」テーブルを表します。
さらにSQL Serverでは、データベース単位で、オブジェクトが管理されます。
データベース名.所有者名.オブジェクト名
の形式で区別します。
Sample.A.商品管理
Sampl2.B.商品管理
Sampl3.dbo.商品管理
リンクサーバーと呼ばれる機能を使い出すと、最終的には
サーバー名.データベース名.所有者名.オブジェクト名
の4階層で、個々のオブジェクトの名前が識別されます。
|