Вы, разумеется, хотите знать, кто же имеет право первым создать таблицу. Эта область привилегии не относится к ANSI, но не может игнорироваться. Все стандартные привилегии ANSI вытекают из этой привилегии; привилегии создателей таблиц, которые могут передавать привилегии объекта. Если все ваши пользователи будут создавать в системе базовые таблицы с разными размерами, это приведет к избыточности в них и к неэффективности системы. Притягивают к себе и другие вопросы:
· Кто имеет право изменять, удалять, или ограничивать таблицы?
· Должны ли права создания базовых таблиц отличаться от прав создания представлений?
· Должна ли система иметь суперпользователя — пользователя, который отвечает за поддержание базы данных и, следовательно, имеющий наибольшие, или все привилегии, которые не предоставляются индивидуально?
Пока ANSI не принимает в этом участие, а SQL используется в различных средах, мы не можем дать окончательный ответ на эти вопросы. Мы предлагаем рассмотреть здесь кусок наиболее общих выводов.
Привилегии, которые не определяются в терминах специальных объектов данных, называются привилегиями системы, или правами базы данных. На базисном уровне они будут, вероятно, включать в себя право создавать объекты данных, вероятно, отличающиеся от базовых таблиц (обычно создаваемых несколькими пользователями) и представления (обычно создаваемые большинством пользователей). Привилегии системы для создания представлений должны дополнять, а не заменять привилегии объекта, которые ANSI требует от создателей представлений (описанных ранее в этой главе).
Кроме того, в системе любого размера всегда имеются некоторые типы суперпользователей — пользователей, которые автоматически имеют большинство или все привилегии, — и которые могут передать свой статус суперпользователя кому-нибудь с помощью привилегии или группы привилегий. Администратор Базы Данных, или DBA (DataBase Administrator), является термином, наиболее часто используемым для такого суперпользователя и для привилегий, которыми он обладает.