Использование схем исключительно полезно, когда у вас есть проблемы с безопасностью.
Если у вас есть несколько приложений, которые обращаются к базе данных, возможно, вы не захотите предоставлять отделу логистики доступ к записям отдела кадров. Таким образом, вы помещаете все свои таблицы управления персоналом в схему hr и разрешаете доступ к ней только пользователям с ролью hr.
Через шесть месяцев отдел логистики теперь должен знать счета внутренних расходов, чтобы они могли отправлять все эти палитры синих ручек нужным людям. Затем вы можете создать хранимую процедуру, которая будет выполняться от имени пользователя, имеющего разрешение на просмотр схемы кадров, а также схемы логистики. Пользователям логистики никогда не нужно знать, что происходит в HR, и при этом они все равно получают свои данные.
Вы также можете использовать схемы так, как предлагает cfeduke, и просто использовать их для группировки объектов в обозревателе объектов. Если вы делаете это, просто будьте осторожны, потому что вы можете в конечном итоге создать Person.Address и Company.Address, когда вам действительно нужен только один dbo.Address (я не стучу в ваш пример, cfeduke, просто использую его, чтобы проиллюстрировать, что оба таблицы адресов могут быть одинаковыми или могут быть разными, и это YMMV).
person
Jeremiah Peschka
schedule
31.10.2008