Exemple : création d'une vue spatiale dans SQL Server à l'aide de SQL

Complexité : Débutant Exigences en matière de données : Utiliser vos propres données

Vous pouvez utiliser SQL pour créer une vue spatiale en incluant la colonne spatiale dans la définition de la vue. Cette opération permet de voir les entités dans ArcMap. Vous pouvez également créer une vue spatiale afin d'utiliser une table contenant plusieurs colonnes spatiales ; votre vue spatiale inclurait une seule colonne spatiale que vous utiliserez avec ArcGIS.

Dans cet exemple, une vue spatiale est créée pour joindre les données de la table des employés et la classe d'entités de régions.

Créer une vue avec une colonne spatiale

Définissez la vue pour inclure la colonne spatiale et ObjectID de la classe d'entités avec les autres colonnes attributaires que vous souhaitez intégrer à la vue.

Le propriétaire de la table des employés et la classe d'entités de régions est l'utilisateur gdb. Par conséquent, l'utilisateur a déjà les privilèges nécessaires pour créer la vue.

AstuceAstuce:

Pour créer une vue, l'utilisateur doit avoir au moins les privilèges SELECT sur chaque table ou classe d'entités incluse dans la vue, en plus du privilège CREATE VIEW dans la base de données.

USE testdb;

CREATE VIEW emp_region_vw
AS SELECT (e.emp_name,e.emp_id,r.rname,r.reg_id,r.region) 
FROM employees e JOIN region r 
ON e.emp_id = r.emp_id;

GO

L'attribut reg_id est la colonne ObjectID de valeur entière et non nulle provenant de la classe d'entités de régions. Région est la colonne spatiale provenant de la classe d'entités de régions. Les tables sont jointes en fonction de la colonne emp_id.

Accorder des privilèges sur la vue spatiale

Maintenant que la vue est créée, accordez les privilèges SELECT à l'identifiant de connexion de domaine ptolemy. Incluez WITH GRANT OPTION pour autoriser ptolemy à accorder des privilèges sur la vue à d'autres utilisateurs.

USE testdb;

GRANT SELECT 
ON emp.region.vw 
TO [ourdomain\ptolemy]
WITH GRANT OPTION;

GO
AstuceAstuce:

L'identifiant de connexion de domaine ptolemy doit être ajouté à l'instance SQL Server et à la base de données testdb avant de lui accorder des privilèges.

9/12/2013