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