Главная страница Случайная лекция Мы поможем в написании ваших работ! Порталы: БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика Мы поможем в написании ваших работ! |
WITH CHECK OPTION
Данное представление можно обновлять, но при обновлении запрещается выполнение команды, которая не удовлетворяет определению представления (не видны в нем).
Пример Создать представление, в которое войдут поставщики из Москвы, т.к. значение атрибута ‘город’ будет одинаковым, то не целесообразно его представлять в представлении.
CREATE VIEW MSK AS SELECT (код. пост., имя, катег.) FORM S WHERE город =’Москва’
Оно обновляемо.
Если мы хотим обновить, то по умолчанию будет ‘Москва’, если нет, то результат такого представления будет невидим. Но добавляемый картеж не будет противоречить определению представления, т.к. в нем город не используется, поэтому лучше описывать в определении представлении Москва, т.к. параметр WITH CHECK OPTION будет защищать.
Механизм защиты SQL 1. Данные необходимо защищать от разрушения (сбой программ, неквалифицированное использование и т.д.) 2. Защита от несанкционированного доступа.
Имеется три механизма защиты данных: 1. Механизм представлений 2. Механизм привилегий 3. Механизм транзакций
Механизм представлений Позволяет приложению работать с виртуальным представлением данных; ограничивает доступ из приложения к данным. Каждый пользователь имеет свой ID (идентификационный номер) и под ним он регистрируется в системе. USER – общий идентификатор. Для каждого используется определенный набор привилегий. Привилегии определяю действия или данные, которые доступны пользователю. Пользователь, создает таблицу, является ее владельцем, может назначать привилегии другим пользователям по работе с таблицей.
Стандартный набор привилегий SQL включает в себя:
Кроме того есть не стандартные привилегии: GRANT – назначение привилегий REVOKE - лишение привилегий
Конструкция для GRANT: GRANT <имя правила> ON <имя таблицы> TO <ID пользователя>
Может быть указан список привилегий после GRANT, и привилегию можно назначать списку пользователей (после TO)
Пример Право выборки из таблицы S GRANT SELECT ON S TO Петров Выбрать эту инструкцию может тот пользователь, который обладает такой привилегией. GRANT INSERT, SELECT NO S TO Sidorov GRANT позволяет назначать привилегии на отдельные атрибуты таблицы. GRANT UPDATE ON SP(кол) TO Petrov GRANT UPDATE ON S(город, категория) TO Ivanov
Можно передать все свои привилегии другому пользователю, также можно сделать некоторую привилегию общедоступной.
GRANT ALL ON P TO Sidoriv GRANT SELECT ON S TO PUBLIC
Некто является владельцем таблицы, и передает свои привилегии другому лицу, и чтобы он мог в свою очередь передать выданные привилегии, то это возможно при определенном описании.
IVANOV S GRANT INSERT ON S TO PETROV WITH GRANT OPTION
Чтобы PETROV мог передать право передачи соответствующих атрибутов.
Как менять привилегии? Структура команды REVOKE. REVOKE <имя привилегии> ON <имя таблицы> FROM <имя пользователя>
REVOKE SELECT, INSERT ON S FORM IVANOV
Лишить привилегий может тот, кто ее предоставил.
Три базовых уровня привилегий 1. CONNECT 2. RESOURCE 3. DBA
CONNECT – право входить в систему RESOURCE – право создавать базовые таблицы DBA – право полностью распоряжаться базой данных, и назначать привилегии.
Есть еще один уровень: SYSADM. Он выше, чем уровень DBA. GRANT RESOURCE TO IVANOV
Во многих системах, пользователь, который впервые подключился к системе, получает пароль, не зная которого он не может войти в систему.
GRANT CONNECT TO IVANOV IDENTIFIED BY PAROL
Администратор и Иванов могут теперь изменить пароль.
Дата добавления: 2014-08-04; просмотров: 363; Нарушение авторских прав Мы поможем в написании ваших работ! |