Vues dans SQL Server
La création de vues peut améliorer les délais de réponse aux requêtes en restreignant le nombre de lignes et de colonnes lors de la recherche. Vous pouvez créer des vues qui apparaissent sur les applications clientes sous forme de classes d'entités ou de tables non spatiales. Une vue ArcSDE peut référencer une table ou une classe d'entités unique ou vous pouvez créer des vues pour rassembler des données de plusieurs tables.
Tout utilisateur doté des autorisations requises peut créer une vue à l'aide de SQL. Pour en savoir plus sur les privilèges nécessaires pour créer des vues, consultez la documentation SQL Server appropriée à votre version. Au minimum, les privilèges CONNECT et CREATE VIEW sont nécessaires dans la base de données et l'utilisateur qui crée la vue doit détenir les privilèges SELECT sur les tables membre.
Les définitions de vue sont accessibles par le biais de la vue système INFORMATION_SCHEMA.VIEWS dans les bases de données Microsoft SQL Server.
Vue système INFORMATION_SCHEMA.VIEWS
Vous pouvez obtenir les métadonnées d'une vue en interrogeant la vue système INFORMATION_SCHEMA.VIEWS pour la vue en question.
Nom du champ | Type de données | Description* |
---|---|---|
TABLE_CATALOG | nvarchar(128) | Qualificateur de vue |
TABLE_SCHEMA | nvarchar(128) | Structure contenant la vue |
TABLE_NAME | nvarchar(128) | Nom de la vue |
VIEW_DEFINITION | nvarchar(4000) | Texte de définition de la vue |
CHECK_OPTION | varchar(7) | Type de paramètre WITH CHECK OPTION avec lequel la vue a été créée, le cas échéant |
IS_UPDATABLE | varchar(2) | Indique si la vue peut être mise à jour |
* Pour une description complète des champs et connaître les mises en garde éventuelles, consultez la documentation Microsoft pour la version de SQL Server que vous utilisez.
Vues entre bases de données
Dans le modèle de bases de données spatiales multiple, il est possible de créer des vues entre les tables et les classes d'entités ArcSDE qui ne résident pas dans la même base de données. Si vous procédez ainsi, vous devez utiliser le commutateur –D (base de Données) pour identifier la base de données dans laquelle la vue doit être créée et utiliser l'option -t pour lister toutes les tables composant la vue. Les noms de table doivent être complets pour inclure les noms du propriétaire et de la base de données.
Pour passer au modèle de base de données spatiales unique, vous devez supprimer ces vues. Vous pouvez les recréer après avoir transféré les données.
Dans le modèle de base de données spatiales unique, vous ne pouvez pas utiliser la commande sdetable avec l'opération create_view pour créer des vues entre deux classes d'entités dans des bases de données différentes. Pour créer des vues de ce type, vous devez utiliser SQL.