セキュリティ上の懸念がある場合、スキーマの使用は非常に有益です。
データベースにアクセスするアプリケーションが複数ある場合、ロジスティクス部門に人事レコードへのアクセス権を付与したくない場合があります。したがって、すべての人事テーブルを hr スキーマに配置し、hr ロールのユーザーにのみアクセスを許可します。
6 か月後、ロジスティクスは内部経費勘定を知る必要があり、これらの青いペンのパレットすべてを正しい場所の担当者に送ることができます。次に、hr スキーマとロジスティクス スキーマを表示する権限を持つユーザーとして実行するストアド プロシージャを作成できます。ロジスティクスのユーザーは、HR で何が起こっているかを知る必要はありませんが、それでもデータを入手できます。
また、cfeduke が提案した方法でスキーマを使用し、それらを使用してオブジェクト ブラウザーで物事をグループ化することもできます。これを行っている場合は、本当に単一の dbo.Address が必要なときに Person.Address と Company.Address を作成することになる可能性があるため、注意してください (私はあなたの例をノックしているわけではありません。アドレステーブルは同じかもしれませんし、異なるかもしれませんし、その YMMV です)。