Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Crear varias vistas

Estas en el tema de Crear varias vistas en el foro de Mysql en Foros del Web. Hola! Estoy utilizando la creación de vistas para un sistema online desarrollado en PHP. La creación consta de la unión de los registros de 3 ...
  #1 (permalink)  
Antiguo 14/08/2010, 14:37
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 20 años, 10 meses
Puntos: 1
Crear varias vistas

Hola!

Estoy utilizando la creación de vistas para un sistema online desarrollado en PHP.

La creación consta de la unión de los registros de 3 tablas diferentes con registros que coincidan con el id_usuario qué se logueó al sistema.

La tabla generada por la vista la hago llamar "tabla_nueva".

Cuando el usuario 1 se loguea se crea la "tabla_nueva" con sus registros.
Si unos minutos después se loguea el usaurio 2, y creo de nuevo "tabla_nueva", los cambios no se registran y queda la primera tabla generada con los registros del usuario 1.

Cómo puedo hacer para diferenciar las tablas creadas?

Muchas gracias!
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #2 (permalink)  
Antiguo 14/08/2010, 15:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Crear varias vistas

Creo que no están entendiendo lo que es una vista, y que ese el el problema.
Una vista no es una tabla en el sentido estricto. Es una tabla virtual creada sobre la base de una sentencia precompilada, por que en realidad sólo vale y existe como conjunto de registros en el momento de ser invocada. Nada más. Como el conjunto de datos no es estable (depende de lo que la7as tablas origen contengan en el momento), crear una tabla basada en una vista es por lo menos discutible desde el punto de vista lógico.

En segundo lugar, el que crees una "tabla_nueva" basada en una vista o en una tabla, si el nombre es estable, hará que sólo se cree una vez. Para la segunda ejecución la tabla ya existirá, por lo que no se volverá a crear otra. Como mucho se puede pensar en crear una con un nombre diferente, con lo que el nombre debe ser forzosamente dinámico.

En tercer lugar (o primero desde el punto de vista teórico), es una pésima idea administrar los usuarios creando una tabla cada vez que uno se registra. Eso habla de un mal diseño, porque la administración de usuarios no necesita de una tabla por cada uno; por un lado porque es innecesario: un diseño multiusuario e incluso multiperfil es mucho más simple y no necesita de otra cosa que una media docena de tablas, muchas de las cuales son fijas; por otro lado, es muy fácil que pierdas en un momento dado el control de la estructura de la base, especialmente con el crecimiento exponencial de los usuarios.

Creo que sería mejor que replantearas el modo de administrar los usuarios por otro más ortodoxo...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: vistas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:24.