Механизм представлений языка SQL позволяет различными способами разделить базу данных на части таким образом, чтобы очень важная информация была скрыта от несанкционированных пользователей.
Описание привилегий доступа для клиентов
Create Table Klients
(Klient_ID, - -идентификатор клиента
Name_Klient, - -имя клиента
Data_BD - -дата рождения клиента) Without oids;
Alter table Klients owner to Klient;
Comment on table Klient IS ’Информация о клиентах
Comment on column Klient. Klient_ID IS ‘Идентификатор клиента
Comment on column Klient. Name IS ‘Имя клиента
Comment on column Klient. Data_BD IS ‘Дата рождения клиента
Для установки привиллегий доступа используется команда:
GRANT список_привиллегий ON таблица TO роль
Grant select, insert ON Klients TO Klient
Описание привилегий доступа для директоров
Create Table Dirs
(Dir_ID, - -идентификатор
Name_Dir, - -имя
Data_BD - -дата рождения) Without oids;
Alter table Dirs owner to Director_Filii;
Comment on table Dirs IS ’Информация о директорах
Comment on column Dirs. Dir_ID IS ‘Идентификатор
Comment on column Dirs. Name_Dir IS ‘Имя
Comment on column Dirs. Data_BD IS ‘Дата рождения
Для установки привиллегий доступа используется команда:
GRANT список_привиллегий ON таблица TO роль
Grant select, insert, update, delete ON Dirs TO Director_Filii
Описание привилегий доступа для операционистов
Create Table Opers
(Oper_ID, - -идентификатор
Name_Oper, - -имя
Data_BD - -дата рождения) Without oids;
Alter table Opers owner to Oper;
Comment on table Opers IS ’Информация о операционистах
Comment on column Opers. Oper_ID IS ‘Идентификатор
Comment on column Opers. Name_Oper IS ‘Имя
Comment on column Opers. Data_BD IS ‘Дата рождения
Для установки привиллегий доступа используется команда:
GRANT список_привиллегий ON таблица TO роль
Grant select, insert, update, ON Opers TO Oper
Описание привилегий доступа для работников филиала
Create Table Workers
(Worker_ID, - -идентификатор
Name_Worker, - -имя
Data_BD - -дата рождения) Without oids;
Alter table Workers owner to Worker_Filii;
Comment on table Workers IS ’Информация о работниках филии
Comment on column Workers. Worker_ID IS ‘Идентификатор
Comment on column Workers. Name_Worker IS ‘Имя
Comment on column Workers. Data_BD IS ‘Дата рождения
Для установки привиллегий доступа используется команда:
GRANT список_привиллегий ON таблица TO роль
Grant select ON Workers TO Worker_Filii
Создание представления субъекта об объекте
В действующем стандарте языка SQL предусматривается поддержка только избирательного управления доступом. Она основана на двух более или менее независимых частях SQL. Одна из них называется механизмом представлений, который может быть использован для скрытия очень важных данных от несанкционированных пользователей. Другая называется подсистемой полномочий и наделяет одних пользователей правом избирательно и динамично задавать различные полномочия другим пользователям, а также отбирать такие полномочия в случае необходимости.
Создание схемы для директоров
CREATE SCHEMA DIRECTOR;
‘Для включения пользователя в схему используется команда:
ALTER SCHEMA DIRECTOR OWNER TO KORNIENKO;
‘выполнении запросов к схеме:
SELECT FROM DIRECTOR. KORNIENKO;
‘установления порядка доступа к схемe
SET SEARCH_PATH TO public;
SET SEARCH_PATH TO director, public;
Создание схемы для клиентов
CREATE SCHEMA KLIENT;
‘Для включения пользователя в схему используется команда:
ALTER SCHEMA KLIENT OWNER TO ABC;
ALTER SCHEMA KLIENT OWNER TO IBM;
ALTER SCHEMA KLIENT OWNER TO IVANOV;
ALTER SCHEMA KLIENT OWNER TO PETROV;
ALTER SCHEMA KLIENT OWNER TO SIDOROV;
‘выполнении запросов к схеме:
SELECT FROM KLIENT. ABC;
SELECT FROM KLIENT. IBM;
SELECT FROM KLIENT. IVANOV;
SELECT FROM KLIENT. PETROV;
SELECT FROM KLIENT. SIDOROV;
‘установления порядка доступа к схемe
SET SEARCH_PATH TO public;
SET SEARCH_PATH TO klient, public;
Дата: 2019-07-30, просмотров: 183.