Студопедия

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


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

Порталы:

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



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




WITH CHECK OPTION

Читайте также:
  1. Discuss with your classmates and check in the dictionary if all your translation guesses were correct.
  2. Next lecture starts with question to check understanding of the previous material.

Данное представление можно обновлять, но при обновлении запрещается выполнение команды, которая не удовлетворяет определению представления (не видны в нем).

 

Пример

Создать представление, в которое войдут поставщики из Москвы, т.к. значение атрибута ‘город’ будет одинаковым, то не целесообразно его представлять в представлении.

 

CREATE VIEW MSK

AS SELECT (код. пост., имя, катег.)

FORM S

WHERE город =’Москва’

 

Оно обновляемо.

 

Если мы хотим обновить, то по умолчанию будет ‘Москва’, если нет, то результат такого представления будет невидим. Но добавляемый картеж не будет противоречить определению представления, т.к. в нем город не используется, поэтому лучше описывать в определении представлении Москва, т.к. параметр WITH CHECK OPTION будет защищать.

 

Механизм защиты SQL

1. Данные необходимо защищать от разрушения (сбой программ, неквалифицированное использование и т.д.)

2. Защита от несанкционированного доступа.

 

Имеется три механизма защиты данных:

1. Механизм представлений

2. Механизм привилегий

3. Механизм транзакций

 

Механизм представлений

Позволяет приложению работать с виртуальным представлением данных; ограничивает доступ из приложения к данным.

Каждый пользователь имеет свой ID (идентификационный номер) и под ним он регистрируется в системе. USER – общий идентификатор. Для каждого используется определенный набор привилегий. Привилегии определяю действия или данные, которые доступны пользователю. Пользователь, создает таблицу, является ее владельцем, может назначать привилегии другим пользователям по работе с таблицей.

 

Стандартный набор привилегий SQL включает в себя:

1. INSERT Право выполнять с таблицей соответствующие операции
2. DELETE
3. UPDATE
4. SELECT
5. REFERENCES Право использовать атрибуты таблиц в качестве внешних ключей других таблиц

 

Кроме того есть не стандартные привилегии:

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; Нарушение авторских прав




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