ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Ejemplo: Crear vistas de base de datos en SQL Server con SQL

  • Otorgar privilegios en las tablas
  • Crear una vista para restringir el acceso
  • Crear una vista para unir dos tablas
  • Otorgar privilegios en las vistas
Complejidad:
Principiante
Requisitos de datos:
Usar datos propios

Puede utilizar SQL para crear una vista en las tablas y clases de entidad de una geodatabase corporativa para restringir qué columnas o registros están disponibles para los usuarios de vistas, o bien definir una vista para unir información de dos tablas o una clase de entidad y una tabla. Al incluir la columna espacial en la definición de la vista, los usuarios de la vista pueden visualizar las entidades de un mapa en un cliente de ArcGIS Desktop.

Los ejemplos de este tema muestran cómo puede usar SQL para crear vistas creadas en una base de datos de Microsoft SQL Server. Una vista restringe el acceso del usuario a columnas concretas. La otra vista presenta contenido de dos tablas distintas. Los ejemplos se basan en tablas con las siguientes definiciones:

Definición de tabla para empleados

CREATE TABLE employees (
 emp_id integer not null,
 emp_name nvarchar(32),
 department smallint not null,
 hire_date datetime2 not null
);

Definición de tabla para regiones

CREATE TABLE regions( objectid integer not null, emp_id integer not null, reg_id integer not null, rname varchar(32), region geometry
);

Otorgar privilegios en las tablas

Si el usuario que crea la vista no es el propietario de la tabla o las tablas en las que se basa la vista, el propietario de la tabla debe otorgar al creador de la vista como mínimo el privilegio de selección en las tablas.

En este ejemplo, las tablas en las que se basan las vistas (empleados y regiones) son propiedad del usuario gdb. El usuario que crea las vistas es el usuario rocket.

GRANT SELECT 
 ON gdb.employees 
 TO rocket;
GRANT SELECT 
 ON gdb.regions 
 TO rocket;

Crear una vista para restringir el acceso

En este ejemplo, el usuario rocket crea una vista (view_dept_201) en la tabla de empleados para restringir el acceso solo a aquellas filas en las que el departamento es 201:

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

Crear una vista para unir dos tablas

En este ejemplo, la vista —emp_regions_view— une una tabla espacial (clase de entidad) a una tabla no espacial basada en la columna emp_id. La vista incluye el ObjectID, la columna espacial (region) y el nombre de la región (rname) de la clase de entidad de regiones junto con el nombre del empleado y el Id. de la tabla de empleados.

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

Otorgar privilegios en las vistas

Puede otorgar privilegios en las vistas a usuarios específicos sin tener que otorgarle a estos usuarios acceso a las tablas base (empleados y regiones). En este ejemplo, se otorga al usuario dispatch_mgr privilegios seleccionados para ambas vistas:

GRANT SELECT ON rocket.view_dept_201 TO dispatch_mgr;
GRANT SELECT ON rocket.emp_regions_view
TO dispatch_mgr;

El usuario dispatch_mgr puede acceder ahora a view_dept_201 para ver registros de empleados de todos los empleados del departamento 201 y acceder a emp_region_view desde una conexión de base de datos en ArcMap o ArcGIS Pro para ver todas las regiones. Cuando dispatch_mgr consulta una región en la vista, ArcGIS devuelve el nombre de la región y el nombre y el Id. de todos los empleados de dicha región.

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

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

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2021 Esri. | Privacidad | Legal