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

Se puede hacer esto???

Estas en el tema de Se puede hacer esto??? en el foro de Bases de Datos General en Foros del Web. Tener una tabla con tres campos los cuales van a tener 3 notas y que al insertarlas se pueda calcular el promedio de las tres ...
  #1 (permalink)  
Antiguo 04/06/2009, 01:06
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 5 meses
Puntos: 35
Se puede hacer esto???

Tener una tabla con tres campos los cuales van a tener 3 notas y que al insertarlas se pueda calcular el promedio de las tres e insertarlos en un campo llamado nota final??...

Estube buscando con la funcion avg() pero esta me devuelve el promedio de un campo...
Gracias a todos por leer el post.
Salu2.
  #2 (permalink)  
Antiguo 04/06/2009, 01:40
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 9 meses
Puntos: 18
Respuesta: Se puede hacer esto???

No es necesario que guardes un campoq ue siempre puedes obtener calculandolo en una consulta, a ver si te sirve con:

select (campo1+campo2+campo3)/3 as NotaFinal from tabla

Un saludo
  #3 (permalink)  
Antiguo 04/06/2009, 05:21
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, 6 meses
Puntos: 2658
Respuesta: Se puede hacer esto???

Bueno, el insert es simple:
Código sql:
Ver original
  1. INSERT INTO tablanotas(Nota1, Nota2, Nota3, Promedio)
  2. VALUES(8, 3, 5, ((8+3+5)/3));
Aquí el tema es que una de las reglas de normalización de bases de datos es que no se deben poner campos calculables en las tablas. Esto es: guardar las notas tiene sentido, pero ¿para qué quieres almacenar la nota promedio, si la misma se puede obtener cuando haces la consulta?:
Código sql:
Ver original
  1. SELECT Nota1, Nota2, Nota3, ((Nota1 + Nota2 + Nota3)/3)Promedio
  2. FROM tablanotas;

Lo único que logras es usar más bytes innecesariamente en a tabla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 04/06/2009, 17:52
 
Fecha de Ingreso: diciembre-2007
Mensajes: 427
Antigüedad: 16 años, 5 meses
Puntos: 35
Respuesta: Se puede hacer esto???

Ok gracias amigos lo tendre en cuenta.
Lo q pasa es q estamos haciendo ejercicios con bases de datos y queria recordar algunas cositas.
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 11:14.