Ver Mensaje Individual
  #4 (permalink)  
Antiguo 16/05/2011, 04:33
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Creación de vistas pone nombre tabla por delante

Buen ejemplo, contrario de lo que pretende el motor, preservar la estructura de la vista.

Ten encuenta que Mysql soporta vistas solo desde su versión 5. Con lo que te quiero decir que es posible trabajar con la logica contraria a la actual pero hay razones para mantener la actual...

Las vistas estan pensadas para diseñar una interficie de consulta de los datos distinta a la de las tablas luego si los cambios en las tablas se reflejaran automaticamente te podria traer otros problemas. Por ejemplo si defines una vista para que un tipo de usuarios vean una info y otros no si al modificar la tabla se modificara la vista tendrias que ir a la definicion de usuarios para corregirla en funcion de esos cambios....

Una vista no es mas que un script de creación de una estructura virtual, solo tienes que conservar el script original, con los *, y ejecutarlo cuando agregues cosas a las tablas que quieras que se reflegen en las vistas. Agregale CREATE OR REPLACE VIEW...

El nombre de los campos en una vista igual que en las tablas deben ser unicos, luego una vista creada con *'s y que combinara distintas tablas (razon de ser de cualquier vista) obligaria al motor a controlar el espacio de nombres de todas las tablas implicadas cunado se quiera modificar la estructura de una de ellas...

Para ver por donde se puede desarrollar el tema yo mirari que hace ORACLE antes de comparar con MS Sql Server.

Una pista

Manual de ORACLE

Cita:
If the subquery uses an asterisk (*) to select all columns of a table, and you later add new columns to the table, then the view will not contain those columns until you re-create the view by issuing a CREATE OR REPLACE VIEW statement.

Por otro lado siempre puedes pasar de usar vistas y usar una query....
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 16/05/2011 a las 05:29