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

Consulta estructurar tablas de test

Estas en el tema de Consulta estructurar tablas de test en el foro de Mysql en Foros del Web. Hola buenas tardes quiero hacer un test parecido a este http://www.virtualnauta.com/es/css/css-examen.php alguien me puede dar una idea de como debo structurar las tablas mysql gracias...
  #1 (permalink)  
Antiguo 18/04/2012, 15:19
Avatar de erick_reyesg  
Fecha de Ingreso: enero-2012
Ubicación: Guatemala
Mensajes: 53
Antigüedad: 12 años, 2 meses
Puntos: 2
Pregunta Consulta estructurar tablas de test

Hola buenas tardes

quiero hacer un test parecido a este

http://www.virtualnauta.com/es/css/css-examen.php

alguien me puede dar una idea de como debo structurar las tablas mysql

gracias
__________________
No hay Mayor señal de Ignoracia que creer imposible lo Inexplicable
  #2 (permalink)  
Antiguo 18/04/2012, 15:32
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Consulta test en php

una tabla para los test (id - nombre)

una tabla para las preguntas del test (id - test - pregunta)

una tabla para las respuestas (id - pregunta - respuesta - opcion)

Edito: el campo opcion de la última tabla es para poner cual es la respuesta correcta un integer (1 correcta 0 incorrecta).


saludos
__________________
Tu álbum de cromos online!!

Última edición por santris; 18/04/2012 a las 15:38
  #3 (permalink)  
Antiguo 18/04/2012, 15:45
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Consulta test en php

yo lo haria así:

tabla Encuestas
id : 1
NombreEncuesta : encuesta css

tabla EncuestaPreguntas
id : 1
encuesta_id :1
titulo_pregunta :como se cambia el color de fondo?
valores_pregunta : changeBackgroundColor,backgroundchange,ninguna de las anteriores
valor_correcto :ninguna de las anteriores

id : 1
encuesta_id :2
titulo_pregunta :como bla bla?
valores_pregunta : bla1,bla2,bla3,bla4
valor_correcto : bla2

Saludos.
  #4 (permalink)  
Antiguo 18/04/2012, 15:51
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Consulta test en php

Cita:
Iniciado por oscartt67 Ver Mensaje
yo lo haria así:

tabla Encuestas
id : 1
NombreEncuesta : encuesta css

tabla EncuestaPreguntas
id : 1
encuesta_id :1
titulo_pregunta :como se cambia el color de fondo?
valores_pregunta : changeBackgroundColor,backgroundchange,ninguna de las anteriores
valor_correcto :ninguna de las anteriores

id : 1
encuesta_id :2
titulo_pregunta :como bla bla?
valores_pregunta : bla1,bla2,bla3,bla4
valor_correcto : bla2

Saludos.
Harías lineal el campo valores_pregunta de la tabla titulo_pregunta?? porqué??
__________________
Tu álbum de cromos online!!
  #5 (permalink)  
Antiguo 18/04/2012, 15:56
Avatar de erick_reyesg  
Fecha de Ingreso: enero-2012
Ubicación: Guatemala
Mensajes: 53
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Consulta test en php

oie santris gracias por la respuesta y disculpa pero no c mucho del tema como relacionaria las tablas?
__________________
No hay Mayor señal de Ignoracia que creer imposible lo Inexplicable
  #6 (permalink)  
Antiguo 18/04/2012, 16:01
Avatar de mike28gt  
Fecha de Ingreso: abril-2010
Mensajes: 56
Antigüedad: 14 años
Puntos: 14
Respuesta: Consulta test en php

Cita:
Iniciado por oscartt67 Ver Mensaje
yo lo haria así:

tabla Encuestas
id : 1
NombreEncuesta : encuesta css

tabla EncuestaPreguntas
id : 1
encuesta_id :1
titulo_pregunta :como se cambia el color de fondo?
valores_pregunta : changeBackgroundColor,backgroundchange,ninguna de las anteriores
valor_correcto :ninguna de las anteriores

id : 1
encuesta_id :2
titulo_pregunta :como bla bla?
valores_pregunta : bla1,bla2,bla3,bla4
valor_correcto : bla2

Saludos.
En la tabla EncuestaPreguntas creo que estas violando uno de los principios ACID :s
  #7 (permalink)  
Antiguo 18/04/2012, 16:03
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Consulta test en php

buena observación.
Porque parto de la base que seran muy poquitas respuestas, como en el ejemplo que erik ha dejado y no parece que tengamos que hacer wheres sobre ellas.

Tambien porque de esta manera, la relación entre el paquete de preguntas y su respuesta es 1 a 1, ahorrando 1 tabla.

y, con una sola cosulta a la db, lo tengo todo, titulos, preguntas y respuesta. Y para que?
..para enviar peguntas y respuestas al navegador en una sola peticion y poder validar desde javascript (encriptando o ocultando respuestas, evidente), sin volver a hacer nueva petición.

y último argumento:, con la sola peticion anterior, me es muy facil transformar la cadena de valores_pregunta en un array y manipularlo.
Y todo con un solo select.

Inconveninte de mi planteamiento: la integridad que tu aportas con tu modelo (el cual no habia visto mientras respondia y que és impecable).
  #8 (permalink)  
Antiguo 18/04/2012, 16:08
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Consulta test en php

Cita:
Iniciado por erick_reyesg Ver Mensaje
oie santris gracias por la respuesta y disculpa pero no c mucho del tema como relacionaria las tablas?
tabla test relacionada con tabla preguntas por test.id y preguntas.test ambos campos tendrían el mismo valor

tabla preguntas relacionada con tabla respuestas por preguntas.id y respuestas.pregunta ambos campos tendrían el mismo valor

tabla test
1-Capitales

tabla preguntas
1-1-cual es la capital de Francia

1-1-Londres-0
2-1-París-1
3-1-Newyork-0
4-1-Albacete-0
__________________
Tu álbum de cromos online!!
  #9 (permalink)  
Antiguo 18/04/2012, 16:09
Avatar de mike28gt  
Fecha de Ingreso: abril-2010
Mensajes: 56
Antigüedad: 14 años
Puntos: 14
Respuesta: Consulta test en php

Cita:
Iniciado por mike28gt Ver Mensaje
En la tabla EncuestaPreguntas creo que estas violando uno de los principios ACID :s

Pfff!!! estoy tan equivocado :|

Lo que se viola es la primera forma normal para BD Relacionales.

Cita:
"Todos los atributos son atómicos. Un atributo es atómico si los elementos del dominio son indivisibles, mínimos."
Perdón por la mala información.
  #10 (permalink)  
Antiguo 18/04/2012, 16:11
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Consulta test en php

Cita:
Iniciado por oscartt67 Ver Mensaje
buena observación.
Porque parto de la base que seran muy poquitas respuestas, como en el ejemplo que erik ha dejado y no parece que tengamos que hacer wheres sobre ellas.

Tambien porque de esta manera, la relación entre el paquete de preguntas y su respuesta es 1 a 1, ahorrando 1 tabla.

y, con una sola cosulta a la db, lo tengo todo, titulos, preguntas y respuesta. Y para que?
..para enviar peguntas y respuestas al navegador en una sola peticion y poder validar desde javascript (encriptando o ocultando respuestas, evidente), sin volver a hacer nueva petición.

y último argumento:, con la sola peticion anterior, me es muy facil transformar la cadena de valores_pregunta en un array y manipularlo.
Y todo con un solo select.

Inconveninte de mi planteamiento: la integridad que tu aportas con tu modelo (el cual no habia visto mientras respondia y que és impecable).
No objetaré nada, ya lo has hecho tu.
__________________
Tu álbum de cromos online!!
  #11 (permalink)  
Antiguo 18/04/2012, 16:12
Avatar de erick_reyesg  
Fecha de Ingreso: enero-2012
Ubicación: Guatemala
Mensajes: 53
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Consulta test en php

-.-! algun ejemplo de como quedarian las tablas con el codigo ?
__________________
No hay Mayor señal de Ignoracia que creer imposible lo Inexplicable
  #12 (permalink)  
Antiguo 18/04/2012, 16:16
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: Consulta test en php

Cita:
-.-! algun ejemplo de como quedarian las tablas con el codigo ?
Cita:
Iniciado por santris Ver Mensaje
tabla test relacionada con tabla preguntas por test.id y preguntas.test ambos campos tendrían el mismo valor

tabla preguntas relacionada con tabla respuestas por preguntas.id y respuestas.pregunta ambos campos tendrían el mismo valor

tabla test
1-Capitales

tabla preguntas
1-1-cual es la capital de Francia

1-1-Londres-0
2-1-París-1
3-1-Newyork-0
4-1-Albacete-0
__________________
Tu álbum de cromos online!!
  #13 (permalink)  
Antiguo 18/04/2012, 16:24
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años
Puntos: 97
Respuesta: Consulta test en php

mike 28gt.

Disculpa mi ignorancia. Que son los principios acid:s? lo estoy mirando en google, peri aportas alguna luz, telo agradezco.
  #14 (permalink)  
Antiguo 18/04/2012, 16:32
Avatar de mike28gt  
Fecha de Ingreso: abril-2010
Mensajes: 56
Antigüedad: 14 años
Puntos: 14
Respuesta: Consulta test en php

Cita:
Iniciado por oscartt67 Ver Mensaje
mike 28gt.

Disculpa mi ignorancia. Que son los principios acid:s? lo estoy mirando en google, peri aportas alguna luz, telo agradezco.
Antes de responderte, te digo que no tiene nada que ver con lo que se hablaba hubo un cruce de información en mi cabeza a lo que deseaba hace referencia era a la primera forma normal para BD relacionales.

Los principios ACID son las caracteristicas con que debe de cumplir un conjunto de instrucciones SQL para que conformen una transacción.

ACID es el acrónimo de:

Cita:
  • Atomicidad (Atomicity): es la propiedad que asegura que la operación se ha realizado o no, y por lo tanto ante un fallo del sistema no puede quedar a medias.
  • Consistencia (Consistency): Integridad. Es la propiedad que asegura que sólo se empieza aquello que se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper las reglas y directrices de integridad de la base de datos.
  • Aislamiento (Isolation): es la propiedad que asegura que una operación no puede afectar a otras. Esto asegura que la realización de dos transacciones sobre la misma información sean independientes y no generen ningún tipo de error.
  • Durabilidad (Durability): es la propiedad que asegura que una vez realizada la operación, ésta persistirá y no se podrá deshacer aunque falle el sistema.
Espero me haya podido explicar.

Última edición por mike28gt; 18/04/2012 a las 16:32 Razón: Error en tag QUOTE

Etiquetas: php, tabla, test
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:30.