Сеансы доступа к данным могут автоматически отслеживаться - и часто действительно отслеживаются - администраторами базы данных или другими уполномоченными представителями управленческого звена, заинтересованными в получении информации об активности пользователей базы данных. При наблюдении за пользовательской активностью сеансы доступа пользователей ассоциируются с их учетными записями При этом сеанс доступа представляется как отдельный процесс главного компьютера
Удаление учетных записей пользователей базы данных
Удаление учетной записи потьзователя из базы данных или ликвидация возможности его доступа к данным осуществляется парой простых команд Здесь, однако, опять следует отметить, что ввиду отсутствия для этих команд стандартов, необходимо обратиться к документации той реализации SQL, которую вы используете.
К методам ликвидации возможности доступа пользователя к данным можно отнести следующие
• Изменение пароля пользователя
• Удаление учетной записи пользователя из базы данных
• Отмена ранее разрешенных пользователю привилегий доступа к данным
В некоторых реализациях SQL для удаления учетной записи пользователя из базы данных может использоваться команда DROP.
DROP USER ИМЯ_ПОЛЬЗОВАТЕЛЯ [ CASCADE ]
Во многих реализациях языка имеется команда REVOKE, являющаяся противоположностью команды GRANT и позволяющая отменить ранее назначенные пользователю привилегии. В некоторых реализациях SQL команда отмены привилегий имеет следующий синтаксис.
REVOKE PRIV1 [, PRIV2, ... ] FROM ИМЯ_ПОЛЬЗОВАТЕЛЯ
Средства, доступные пользователю
Некоторые утверждают, что для того, чтобы составлять запросы к базе данных, совсем не обязательно знать SQL. В некотором отношении с таким утверждением можно согласиться, но знание SQL определенно не окажется лишним при составлении запроса, даже при наличии средств графического интерфейса пользователя. Хотя при наличии графического интерфейса пользователя его непременно следует использовать, всегда полезно знать, что происходит за кулисами.
Графический интерфейс пользователя обычно имеет своей целью автоматическое создание программного кода SQL на основе информации, получаемой от пользователя посредством диалоговых окон, ответов на запросы и выбора опций. Существуют подобные средства и для создания отчетов, могут существовать формы для построения запросов, выполнения операций ввода, обновления и удаления данных, а также средства для представления данных в виде диаграмм и графиков. Существуют средства, призванные помочь администратору базы данных осуществлять мониторинг производительности базы данных, а также средства, позволяющие удаленный доступ к базе данных. Некоторые из этих средств поставляются производителями баз данных, другие же - независимыми производителями.
Резюме
Любая база данных имеет своих пользователей, и не важно сколько их - один или тысячи. Именно для пользователей и создаются базы данных. Процесс управления пользователями можно разбить на три главных этапа. Сначала необходимо создать учетную запись пользователя в базе данных. После этого пользователя необходимо наделить привилегиями сообразно тем задачам, которые пользователь предположительно будет решать в рамках базы данных. Наконец, после того, как доступ к данным пользователю будет уже не нужен, необходимо либо удалить из базы данных его учетную запись, либо отменить ранее предоставленные ему привилегии.
Выше были рассмотрены некоторые из наиболее часто возникающих задач управления пользователями базы данных. При этом мы сознательно не вдавались в детали, поскольку в рамках различных баз данных конкретные формы процесса управления пользователями могут сильно отличаться друг от друга. Тем не менее, хотя многие из используемых для управления пользователями команд не обсуждаются и не определяются стандартом ANSI SQL в деталях, стандартными оказываются заложенные в основу этих команд концепции.
Вопросы и ответы
Имеются ли стандартные команды SQL для добавления пользователей в базу данных?
Некоторые команды и концепции определены стандартом ANSI, хотя в каждой реализации языка предлагаются свои команды, средства и правила добавления в базу данных пользователей.
Можно ли временно лишить пользователя права доступа к базе данных, не удаляя его учетную запись из базы данных?
Читать дальше