Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Теоретические сведения

1. Привилегия(privileges) – это определение того, может или нет конкретный пользователь БД выполнить данную команду. Назначать привилегии может АБД (администратор БД, Database administrator, DBA) или пользователь с правами DBA.

2. Каждый пользователь (user) БД имеет в среде SQL специальный идентификатор : имя (username) и номер (user ID, authorization ID). SQL предусматривает специальную процедуру входа пользователя в БД (присоединение, connection), во время которой пользователь вводит свой идентификатор и пароль. СУБД проверяет достоверность идентификатора и пароля на правильность и организует сеанс связи пользователя с СУБД. В течении сеанса все выполняемые операторы SQL ассоциируются с данным идентификатором пользователя и возможность выполнения команд SQL определяется привилегиями этого пользователя. В больших производственных БД часто применяются группы пользователей (user groups) с общими привилегиями на всю группу.

3. В SQL существуют системные привилегии (system privileges) или привилегии авторского права на БД (database authorities). В стандарте SQL различают три типа системных привилегий :

ü CONNECT – право входа в систему и создание представлений;

ü RECOURCE – право создания базовых таблиц;

ü DBA – привилегия суперпользователя – AБД, дающая право полного владения БД.

4. Во многих системах этот суперпользователь имеет специальное имя, например DBA, DBO, SYSADM, SYSDBA, SYS, ADMIN и при создании БД, для него автоматически создается точка входа : имя(username)/пароль (password). Одной из обязаннос­тей АБД входит создание других пользователей БД и назначение им привилегий (privileges).

5. Кроме системных привилегий в SQL существуют объектные (object privileges). Это означает, что пользователь может иметь привилегии по отношению к определенному объекту БД. Привилегии даются отдельному пользователю либо для базовой таблицы, либо для представления. Нужно помнить, что пользователь, создавший таблицу, является ее владельцем (owner). Владелец таблицы имеет все привилегии на таблицу и может назначать привилегии для работы с ней другим пользователям. В SQL есть следующие стандартные типы привилегий :

ü SELECT – можно выполнять запросы к таблице;

ü INSERT – можно выполнять добавление строк к таблице;

ü UPDATE – можно выполнять данных в таблице (все столбцы или указанные);

ü DELETE – можно выполнять удаление строк из таблицы;

ü REFERENCES – можно выполнять определение внешнего ключа в таблице;

Могут быть и нестандартные привилегии, например INDEX, ALTER, SYNONYM и т.д.

6. Привилегии назначаются и отменяются с помощью двух команд SQLGRANT и REVOKE. Назначать привилегии может владелец таблицы и АБД. SQL поддерживает аргументы ALL PRIVILEGES (ALL) – все привилегии и PUBLIC – все пользователи. Привилегии могут передаваться владельцем с правом последующей передачи подобной привилегии другим пользователям – WITH GRANT OPTION.

7. Привилегии могут быть назначены и на представления. Для создания представления пользователь должен иметь привилегию SELECT для всех таблиц, на которые есть ссылка в представлении. Если представление является обновляемым, то любые привилегии INSERT, UPDATE, DELETE на таблицу, лежащую в основе представления, автоматически применимы и к представлению.

8. Если владельцем таблицы является другой пользователь, то для обращения к ней нужно перед ее именем через точку написать имя владельца. В SQL имеется нестандартная возможность создания синонимов (SYNONYM) для имен таблиц. Доступные для всех синомимы (PUBLIC SYNONYM) могут создавать владельцы таблиц или АБД.

9. В MS SQL Server создание и удаление точек входа, имен пользователей и паролей выполняется при помощи системных сохраненных процедур sp_addlogin, sp_adduser, sp_password, sp_droplogin, sp_dropuser и др., а в Access – интерактивно (см. Гл._меню->Сервис->Защита…).
( MS SQL Server )


<== предыдущая страница | следующая страница ==>
Примеры представлений | Примеры запросов. 1. Создание точки входа для нового пользователя с именем Paulo c паролем super GRANT CONNECT TO Paulo IDENTIFIED BY super

Дата добавления: 2015-06-30; просмотров: 198; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.