Каждый из пользователей занимает в базе данных свое место, и поэтому одни пользователи имеют больше привилегий, чем другие. Пользователей базы данных можно сравнить с органами человеческого тела - все части работают вместе в унисон (по крайней мере, это предполагается) с целью выполнения определенной задачи.
Объекты базы данных связываются с именами пользователей, и это называется схемой.
Без стабильной системы управления пользователями базы данных невозможно обеспечить надежное хранение данных. Система управления пользователями начинается с непосредственных руководителей пользователей, через которых подается запрос на доступ к данным, затем по цепочке разрешающих (или запрещающих) структур он попадает к администратору базы данных, который выполняет конкретные действия по созданию учетной записи пользователя в базе данных. Здесь должна быть продумана хорошая система извещения: руководитель пользователя и сам пользователь должны быть извещены о создании в базе данных учетной записи пользователя и получении доступа к данным. Пользовательский пароль должен быть предоставлен только самому пользователю, а последний при первом же входе в базу данных должен немедленно изменить этот пароль.
По поводу создания учетных записей пользователей обратитесь к документации используемой вами реализации языка. Очевидно также, что при создании учетных записей пользователей и управлении ими следует придерживаться правил, принятых в той компании, где вы работаете. В следующих разделах сравниваются процедуры создания учетной записи пользователя в Oracle, Sybase и Microsoft SQL Server.
Создание учетных записей пользователей осуществляется с помощью определенных команд SQL в рамках базы данных. Стандартных команд для создания пользователей нет - каждая реализация языка предлагает свои методы. В некоторых реализациях SQL команды создания учетных записей пользователей похожи, в других - нет. Но независимо от реализации, базовый подход остается одним и тем же.
При получении администратором базы данных или уполномоченным по безопасности заявки на разрешение доступа к данным, эта заявка должна быть тщательно изучена на предмет ншшчия всей необходимой для создания учетной записи пользователя информации в соответствии с требованиями, принятыми в вашей конкретной компании.
Обычно в данном случае считается необходимым указать идентификационный номер, полное имя, адрес, телефон, название отдела, имя базы данных, к которой требуется доступ, а иногда и желательное имя пользователя.
Конкретный вид операторов, используемых для создания учетных записей пользователей, будет показан в следующих разделах.
Процесс создания учетной записи пользователя в Oracle состоит из двух шагов.
1. Создание учетной записи пользователя базы данных с параметрами по умолчанию
2. Наделение пользователя необходимыми привилегиями доступа
Синтаксис оператора для создания учетной записи пользователя имеет следующий вид.
CREATE USER
IDENTIFIED BY [
[ DEFAULT TABLESPACE
[ QUOTA (ЦЕЛОЕ_ЗНАЧЕНИЕ (К | М) | UNLIMITED) ON
[PASSWORD EXPIRE | ACCOUNT [LOCK UNLOCK]]
Такого вида оператор может быть использован для добавления пользователя в базу данных Oracle, а также в реляционные базы данных некоторых других реализаций.
Если вы не используете Oracle, не следует слишком вникать в смысл некоторых из предлагаемых данным синтаксисом опций. TABLESPACE означает логическую область, в которой размещаются объекты базы данных, в частности, таблицы и индексы. DEFAULT TABLESPACE задает область, используемую для объектов, создаваемых данным пользователем. TEMPORARY TABLESPACE задает область хранения данных для операций сортировки, осуществляемых в ходе выполнения запросов пользователя. QUOTA ограничивает сверху доступный пользователю объем конкретной логической области. PROFILE определяет профиль базы данных, предлагаемый пользователю.
Для наделения пользователя необходимыми привилегиями доступа используется оператор следующего вида.
GRANT PRIV1 [ , PRIV2, ... ] TO USERNAME | ROLE [, USERNAME ]
С помощью одного оператора GRANT можно наделить одной или несколькими привилегиями одного или нескольких пользователей одновременно.