Последовательность шагов, которые необходимо выполнить при создании учетной записи пользователя в базе данных Sybase или Microsoft SQL Server, должна быть следующей.
1. Создание имени пользователя базы данных SQL Server с указанием пароля и базы данных для доступа.
2. Добавление пользователя в соответствующую базу данных.
3. Наделение пользователя необходимыми привилегиями доступа.
Учетная запись пользователя создается оператором следующего вида.
SP_ADDLOGIN ИМЯ_ПОЛЬЗОВАТЕЛЯ, ПАРОЛЬ, [, БАЗА_ДАННЫХ ]
В базу данных пользователь добавляется с помощью оператора следующего вида.
SP_ADDUSER
Наделение пользователя необходимыми привилегиями доступа осуществляется с помощью оператора следующего вида.
GRANT
Схемы создаются с помощью оператора CREATE SCHEMA. Синтаксис этого оператора следующий.
CREATE SCHEMA [
[ СПИСОК_ЭЛЕМЕНТОВ_СХЕМЫ ]
Вот пример:
CREATE SCHEMA USER1 CREATE TABLE TBL1
(Столбец1 ТИП_ДАННЫХ [NOT NULL],
Столбец2 ТИП_ДАННЫХ [NOT NULL]...)
CREATE TABLE TBL2
(Столбец1 ТИП_ДАННЫХ [NOT NULL],
Столбец2 ТИП_ДАННЫХ [NOT NULL]...)
GRANT SELECT ON TBLl TO USER2
GRANT SELECT ON TBL2 TO USER2
[ Другие команды DDL ... ]
В реальности оператор CREATE SCHEMA может быть применен, например, следующим образом.
CREATE SCHEMA AUTHORIZATION USER1
CREATE TABLE EMP
(ID NUMBER NOT NULL,
NAME VARCHAR2(10) NOT NULL)
CREATE TABLE CUST
(ID NUMBER NOT NULL,
NAME VARCHAR2(10) NOT NULL)
GRANT SELECT ON TBLl TO USER2
GRANT SELECT ON TBL2 TO USER2
Схема создана.
Здесь к команде CREATE SCHEMA добавлено ключевое слово AUTHORIZATION. Пример взят из базы данных Oracle. Пример приводится для того, чтобы вы лишний раз убедились в том, что как и во многих обсуждавшихся выше случаях синтаксис команд часто зависит от конкретной реализации языка
Некоторые реализации SQL не поддерживают команду CREATE SCHEMA. В таком случае схема может создаваться автоматически при создании пользователем объектов базы данных Команда CREATE SCHEMA просто позволяет выполнить такую задачу за один шаг После создания пользователем объектов, этот пользователь может наделить других пользователей привилегиями, разрешающими доступ к созданным объектам
Схема может быть удалена из базы данных с помощью оператора DROP SCHEMA. Этот оператор имеет две опции. Применение первой из них, опции RESTRICT, заставит сервер базы данных при удалении схемы выдать сообщение об ошибке, если эта схема содержит какие-нибудь объекты. Чтобы такое сообщение не появлялось, следует применить другую опцию, а именно опцию CASCADE. Помните о том, что при удалении схемы из базы данных удаляются все связанные с этой схемой объекты.
Синтаксис соответствующего оператора следующий.
DROP SCHEMA ИМЯ__СХЕМЫ { RESTRICT | CASCADE }
В схеме может не оказаться никаких объектов потому, что объекты (например, таблицы) могут быть удалены с помощью соответствующих команд SQL (например, DROP TABLE). В некоторых реализациях языка предлагается процедура или команда для удаления пользователя, которую можно использовать также и для удаления схемы. Если в используемой вами реализации SQL команда DROP SCHEMA не поддерживается, вы можете удалить схему, удалив из базы данных пользователя, являющегося владельцем схемы
Очень важной составляющей процесса управления пользователями является возможность менять атрибуты пользователей уже после создания в базе данных их учетных записей Жизнь администратора базы данных, наверное, сильно упростилась, если бы служащие компании со своими учетными записями в базе данных никогда не продвигались по служебной лестнице, никогда не увольнялись и не принимались на работу. Но в реальности наблюдается высокая текучесть кадров и постоянное изменение обязанностей и, как следствие, потребностей пользователей, что выливается в необходимость постоянного изменения пользовательских привилегий доступа
Вот пример изменения текущего состояния атрибутов пользователя в рамках одной из реализаций SQL (Oracle).
ALTER USER
[ DEFAULT TABLESPACE
[ PROFILE
[PASSWORD EXPIRE]
[ACCOUNT [LOCK | UNLOCK]]
[ DEFAULT ROLE
[ EXCEPT