Vues dans Oracle

La création de vues peut améliorer les délais de réponse aux requêtes en restreignant le nombre de tables 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 disposant des autorisations requises peut créer une vue à l'aide de SQL ou de la commande sdetable d'ArcSDE. Par ailleurs, des vues peuvent être utilisées pour modifier les données si la vue est créée pour permettre les mises à jour. Pour en savoir plus sur les privilèges nécessaires pour créer ou modifier des vues, consultez la documentation Oracle relative à votre version.

Vous pouvez accéder aux définitions de vue dans Oracle en interrogeant la vue du dictionnaire de données ALL_VIEWS.

Le dictionnaire de données Oracle stocke les informations sur les vues

Lorsque vous créez des vues dans une base de données Oracle à l'aide de SQL ou de la commande sdetable, les vues sont définies dans le dictionnaire de données Oracle. Par conséquent, vous pouvez interroger le dictionnaire de données Oracle pour consulter les définitions de vues.

Oracle gère une vue accessible aux utilisateurs, appelée ALL_VIEWS, qui décrit toutes les vues auxquelles l'utilisateur connecté a le droit d'accéder. Voici une définition de la vue ALL_VIEWS :

DESCRIBE all_views;

Name

Nul ?

Type

OWNER

non NULL

VARCHAR2(30)

VIEW_NAME

NOT NULL

VARCHAR2(30)

TEXT_LENGTH

NUMBER

TEXTE

LONG

TYPE_TEXT_LENGTH

NUMBER

TYPE_TEXT

VARCHAR2(4000)

OID_TEXT_LENGTH

NUMBER

OID_TEXT

VARCHAR2(4000)

VIEW_TYPE_OWNER

VARCHAR2(30)

VIEW_TYPE

VARCHAR2(30)

SUPERVIEW_NAME

VARCHAR2(30)

EDITIONING_VIEW*

VARCHAR2(1)

READ_ONLY*

VARCHAR2(1)

Vue du dictionnaire de données ALL_VIEWS d'Oracle

*Présent uniquement dans les bases de données Oracle 11g.

Les vues ont des propriétaires, des noms et du texte. La colonne TEXT d'ALL_VIEWS contient le texte de la requête qui définit la vue.

Outre la restriction de l'accès à certains enregistrements, vous devez également utiliser des vues pour les tables qui contiennent plus d'une colonne SDO_Geometry ou ST_Geometry pour pouvoir les inscrire dans ArcSDE. ArcSDE ne prend pas en charge les couches avec plusieurs colonnes de géométrie, donc pour les enregistrer, vous devez d'abord créer une vue contenant une seule colonne de géométrie. Pour savoir comment effectuer cette opération pour des tables Oracle Spatial, reportez-vous à l'article Create an Oracle view of an Oracle Spatial layer (containing multiple geometry columns) and register it with ArcSDE, dans la base de connaissance. Pour savoir comment effectuer cette opération sur des tables contenant plusieurs colonnes ST_Geometry, reportez-vous à la rubrique Utilisation des vues spatiales sur les tables comportant une colonne ST_Geometry.


3/6/2012