>>Разумеется нет. Я хочу дать ему право добавить/отредактировать View.
>
>Не в своей схеме? Тогда любой "bad guy" может устроить почти Для Oracle - в своей. Для MySQL - в той, где у него достаточно прав. Фокус в том, что этим View должны пользоваться остальные.
>пользователем необходимых аспектов доступа к созданному *им*
>объекту вроде бы нет. Объём писанины, конечно, несколько
>увеличивается.
Увеличивается не только объём писанины, но и риск ошибки, когда права будут отданы "не тем парням".
>В ORACLE дерево другое: база -> схема -> таблица -> строка.
В Oracle дерево такое - tablespace->table->row. Я никак не могу дать права на чужую схему, мне приходится делать GRANT на каждый объект .
>несвязанных друг с другом приложений. А если хоть одно из приложений
>требует "отдай мне всю базу целиком", то такая конфигурация становится
>небезопасной.
Пример конфигурации такого рода:
Пользователь A набивает данные в свою схему/базу. Попутно он создаёт методы доступа к данным, оформляя их как функции и View.
Пользователь B набивает данные в свою схему/базу, но подглядывает в данные пользователя A.
Поскольку данные критичные, нужно гарантировать, что пользователь A не сможет отдать доступ к новым объектам никому, кроме пользователя B.
В MySQL это делается просто -
GRANT CREATE, INSERT, UPDATE ON SCHEMA TO A
GRANT SELECT ON SCHEMA TO B
Насколько я (не)понимаю, в Oracle мне придётся делать чёрт знает что. A не сможет даже создать новый View в SCHEMA, если SCHEMA != A.