私のSQL Server 2005データベースのテーブルの中には、dbo。[TableName]の代わりに[TableName]という名前が付けられています。私は何のために立つのですか?ル。[テーブル名]の代わりにdbo。[テーブル名]?
注:私はグーグルすでに
私のSQL Server 2005データベースのテーブルの中には、dbo。[TableName]の代わりに[TableName]という名前が付けられています。私は何のために立つのですか?ル。[テーブル名]の代わりにdbo。[テーブル名]?
注:私はグーグルすでに
の二次(そしておそらくそれ以上)のスキーマを持っています2005 - あなたはCREATE SCHEMAを使ってあなた自身を作ることができます。
論理的に一緒に属しているデータベースオブジェクトを分離するために、スキーマを使用することができます。人事に関連するすべてのテーブルを "HR"スキーマなどに配置します.DBスキーマは、.NETまたはXML名前空間のようなものです。
スキーマを使用して権限を処理することもできます。スキーマレベルでユーザーとロールに権限を委任できます。
スキーマを広範に使用するサンプルAdventureWorksデータベースを見てみましょう。
これは、データベースオブジェクトを常に「dbo」で修飾する必要がある理由の1つです。接頭辞。そうしないと、SQL Serverのクエリエンジンはまず、その名前のオブジェクトのデフォルトスキーマ(dboと異なる場合があります)をチェックする必要があります。見つからなければ、dboスキーマに移動します。 「dbo.YourTableName」を常に使用すると、照会エンジンは、どこに見えるかを知っています。これは、わずかなパフォーマンス向上(何千ものアクセスが乗算されます)です。
SQLサーバーがmultiple schemas可能にしようとした - デフォルトであること、dbo
を - あなたのデータベースは、SQL Serverのスキーマになりlu
luはスキーマ名です。
dboはデータベース所有者を表します。 LUは、ユーザーが
LUが別のスキーマで他のテーブルを作成したアカウントかもしれスキーマの詳細について
(DBOがデフォルトです)、これは便利になります。What good are SQL Server schemas?は
「LU」は略語であり、 lookup table
+1実際には「lu」は何の意味ですか? – qJake