Вы спрашиваете, зачем пользователям нужны определенные привилегии (т. Е. CREATE TABLE, CREATE PROCEDURE и т. Д.) Для создания определенных типов объектов в их собственной схеме?
Если это так, то естественным ответом будет то, что хорошая безопасность начинается с принципа наименьших привилегий, то есть пользователь должен иметь только те привилегии, которые ему действительно необходимы для выполнения своей работы, и не более. Администраторы баз данных часто хотят создавать учетные записи только для чтения для пользователей в производственной базе данных (например, бизнес-аналитикам часто приходится делать различные виды специальных отчетов, разработчикам может потребоваться доступ для устранения проблем определенных типов и т. Д.). Если бы пользователь всегда мог создавать объекты в своей собственной схеме, эти пользователи только для чтения внезапно могли бы развернуть код в производственной базе данных, не проходя контроль изменений или даже не проверяя что-либо. И это, как правило, приводит к распространению кода, делающего в основном одно и то же (т.е. у дюжины аналитиков есть процедура для расчета налога с продаж в своих собственных схемах), но у каждого из них есть своя уникальная сигнатура, логика, требования, предположения и т. Д. И, боже, запрети увольнять одного из этих аналитиков, потому что администратор БД естественным образом удалит их учетную запись, только чтобы узнать, что какой-то важный отчет зависит от кода, существующего только в схеме этого аналитика.