Vistas en Oracle
Crear vistas puede mejorar los tiempos de respuesta de las consultas al restringir el número de tablas y columnas en las que se busca cuando se realiza un pedido de datos. Puede crear vistas que aparecen en las aplicaciones del cliente como clases de entidades o tablas no espaciales. Una vista ArcSDE puede hacer referencia a una tabla o clase de entidad simple, o puede crear vistas para unir datos desde varias tablas.
Todo usuario que cuente con los permisos requeridos puede crear una vista con SQL o el comando sdetable de ArcSDE. Además, las vistas se pueden utilizar para editar datos si estas se crean para permitir ediciones. Para obtener información sobre los privilegios necesarios para crear o editar vistas, consulte Oracle para su versión.
Puede acceder a las definiciones de vista en Oracle si consulta la vista de diccionario de datos ALL_VIEWS.
El diccionario de datos de Oracle almacena información de vistas
Al crear vistas en una base de datos de Oracle con SQL, o con el comando sdetable, las vistas se definen en el diccionario de datos de Oracle. Por lo tanto, puede consultar el diccionario de datos de Oracle para ver las definiciones.
Oracle mantiene una vista a la que pueden acceder los usuarios, ALL_VIEWS, que describe todas las vistas a las que tiene derechos de acceso el usuario conectado. La siguiente es una definición de la vista ALL_VIEWS.
DESCRIBE all_views;
Nombre |
¿Nulo? |
Tipo |
---|---|---|
OWNER |
NO NULO |
VARCHAR2(30) |
VIEW_NAME |
NO NULO |
VARCHAR2(30) |
TEXT_LENGTH |
NUMBER |
|
TEXT |
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) |
*Presentes solo en bases de datos de Oracle 11g.
Las vistas tienen propietarios, nombres y texto. La columna TEXT de ALL_VIEWS contiene el texto de la consulta que define la vista.
Además de restringir el acceso a ciertos registros, también puede utilizar vistas en tablas que contienen más de una columna SDO_Geometry o ST_Geometry para registrarlas con ArcSDE. ArcSDE no admite capas con varias columnas de geometría; para registrarlas, primero debe crear una vista que contenga sólo una columna de geometría. Para obtener información sobre cómo hacer esto para las tablas de Oracle Spatial, consulte el artículo de base de conocimiento Crear una vista de Oracle de una capa de Oracle Spatial (que contenga varias columnas de geometría) y registrarla con ArcSDE. Para obtener instrucciones sobre cómo hacer esto con tablas que contienen varias columnas ST_Geometry, consulte Usar vistas espaciales en tablas con una columna ST_Geometry.