ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Пример: Создание представлений базы данных в Oracle с помощью SQL

  • Предоставление прав доступа к таблицам
  • Создание представления для ограничения доступа
  • Создание представления для соединения двух таблиц
  • Выдача прав доступа к представлению
Уровень сложности:
Начальный
Требования к данным:
Используйте собственные данные

Вы можете использовать SQL для создания представлений таблиц и классов пространственных объектов в многопользовательской базе геоданных, чтобы ограничить доступ пользователей к столбцам или записям, или вы можете задать представление для объединения информации из двух таблиц или класса пространственных объектов и таблицы. При включении пространственного столбца в представление пользователи могут визуализировать объекты на карте в клиенте ArcGIS Desktop.

В примерах этого раздела показано, как создавать представления в базе данных Oracle. Одно из представлений ограничивает доступ пользователя к определенным столбцам. Другое представление применяется для отображения содержания двух различных таблиц. Эти примеры основаны на таблицах со следующими определениями:

Определение таблицы для сотрудников

CREATE TABLE employees (
 emp_id number(38) unique not null,
 name varchar2(32),
 department number not null,
 hire_date date not null
);

Определение таблицы для регионов

CREATE TABLE employees ( objectid number(38) unique not null, reg_id number(38) unique not null, emp_id number(38) not null, rname nvarchar(32),  region st_geometry
);

Предоставление прав доступа к таблицам

Если создающий представление пользователь не является владельцем таблицы или таблиц в этом представлении, владелец таблиц должен предоставить создателю как минимум права доступа Select. Для предоставления прав доступа к представлению для других пользователей владелец представления должен получить соответствующие права доступа от владельца таблицы.

В данном примере, таблицы, на базе которых построены представления (employees и regions), принадлежат пользователю gdb. Представление создается пользователем rocket. Также пользователь rocket предоставляет права доступа к представлению другим пользователям. Таким образом, пользователь gdb должен передать пользователю rocket права доступа для выборки в таблицах employees и regions, включая опцию WITH GRANT OPTION, чтобы пользователь rocket мог передавать другим пользователям права доступа SELECT.

conn gdb/gdb.bdg
GRANT SELECT 
 ON gdb.employees 
 TO rocket WITH GRANT OPTION;
GRANT SELECT 
 ON gdb.regions 
 TO rocket WITH GRANT OPTION;

Создание представления для ограничения доступа

В этом примере пользователь rocket создает представление (view_dept_201) таблицы employees, чтобы ограничить доступ только к тем строкам, где подразделение соответствует значению 201:

CREATE VIEW view_dept_201 
 AS (SELECT emp_id,name,department,hire_date)
 FROM gdb.employees 
 WHERE department = 201;

Создание представления для соединения двух таблиц

В этом примере представление emp_regions_view соединяет пространственную таблицу (класс объектов) с непространственной таблицей по столбцу emp_id. Представление включает в себя ObjectID, пространственный столбец (region) и имя региона (rname) из класса объектов regions, а также имя и ID сотрудника из таблицы employees.

CREATE VIEW emp_region_view  AS SELECT (e.emp_name,e.emp_id,r.rname,r.objectid,r.region) 
 FROM employees e,region r 
 WHERE e.emp_id = r.emp_id;

Выдача прав доступа к представлению

Права доступа к представлениям можно предоставлять определенным пользователям, не передавая им права доступа к базовым таблицам (employees и regions). В данном примере пользователю dispatch_mgr предоставлено право доступа к обоим представлениям:

conn rocket/nopeeking
GRANT SELECT ON rocket.view_dept_201
 TO dispatch_mgr;

Теперь пользователь dispatch_mgr может получить доступ к view_dept_201, чтобы просмотреть записи всех сотрудников отдела 201 и получить доступ к emp_region_view из подключения к базе данных в ArcMap или ArcGIS Pro, чтобы просмотреть все регионы. Когда dispatch_mgr запрашивает в представлении регион, ArcGIS возвращает название региона, а также имя и ID всех работников в этом регионе.

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация