Ver Mensaje Individual
  #5 (permalink)  
Antiguo 20/09/2010, 15:14
pancho2413
 
Fecha de Ingreso: septiembre-2009
Ubicación: Cuenca
Mensajes: 57
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: ayuda en la base de datos

Tengo otra solución más rápida que obtiene el mismo resultado que el mensaje que posteé anteriormente:

Código MySQL:
Ver original
  1. select uu.nombre 'usuario', oo.nombre 'oficina', dd.nombre 'documento'  from oficina oo, usuario uu, documento dd, permisos pp where oo.id=uu.idoficina and pp.documento=dd.id and uu.id=pp.usuario;

Es 6 veces más rápido y es más corto.

Además de ésta, otra diferencia es la seguridad en la información presentada. En el anterior, si un usuario es eliminado, se puede fácilmente verificar si existen permisos flotantes sin razón (aparecen null en información del usuario que adquirió permisos). En este último no. La utilidad del anterior va para áreas evaluativas como auditorías, mientras este último como consultivas nada más, como reportes gerenciales.

Última edición por pancho2413; 20/09/2010 a las 15:30