Tema: Datos Mysql
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/09/2010, 12:13
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Datos Mysql

Son dos problemas diferentes:
El primero (valores dentro de un rango) es lo que se denomina CHECK CONTRAINT y no está implementada en MySQL. Existe en SQL Server, en DB2 (creo) y en Oracle, pero no en MySQL.

El segundo problema es ineficiente: Sumar todos los valores de una tabla cada vez que esta se actualiza requiere de un TRIGGER que a su vez realice la actualización. Es innecesario en la mayoría de las ocasiones porque las sumas se realizan igual de rápido en las consultas, que haciendo una actualización de datos en las tablas. Por eso no se suelen guardar en las bases de datos los valores calculables. Es una pérdida de tiempo y de espacio.

Las validaciones se recomienda hacerlas en la aplicación, ya que los lenguajes de programación son mucho más potentes y tienen mejores recursos para realizar esa tarea, mientras que la base es mucho más potente en cuestiones de cálculo de relaciones y operaciones estadísticas.
Cada cosa tiene su sentido. Validar en la base no es una buena idea. Validar contra la base, es lo correcto, pero eso lo hacen las aplicaciones...

Si pudieses ejemplificar mejor qué es lo que estás tratando de hacer te podemos orientar mejor.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)