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

Duda diseño bbdd

Estas en el tema de Duda diseño bbdd en el foro de Bases de Datos General en Foros del Web. Hola a todos Estoy creando una web en php donde se realizan evaluaciones de otros sitios web. El usuario registra webs que quiere que luego ...
  #1 (permalink)  
Antiguo 28/06/2010, 08:10
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 0
Duda diseño bbdd

Hola a todos

Estoy creando una web en php donde se realizan evaluaciones de otros sitios web.
El usuario registra webs que quiere que luego sean evaluadas. A la hora de evaluar elige un método de evaulación y los resultados de la evaluación quedan guardados.
Tengo parte del diseño de la base de datos hecha pero hay varias tablas que no sé cómo enlazar con lo demás.
En la web puede haber 3 tipos de usuarios: normales, expertos y administradores.

Estas son las relaciones que tengo hasta ahora:

Usuario pertenece a Grupo(idgrupo)
Usuario (login,idgrupo) registra Sitio(url,login,idgrupo)

y luego aparte tengo la siguiente tabla, que no sé cómo relacionarla con lo demás:

Método (idmetodo, nombremetodo) [El usuario elige un método de evaluación para la web que va a evaluar. Hay 3 tipos de métodos. Para cada método hay una lista donde el usuario va eligiendo la puntuación, por ejemplo: "tamaño de letra apropiado: 4/5", etc.
También debería tener una tabla Evaluación donde se guarde todo, es decir, el usuario que ha hecho la evaluación, qué método ha usado, etc.

Llevo varios días atascado y no sé cómo relacionar todo. Alguna idea?
Gracias
  #2 (permalink)  
Antiguo 29/06/2010, 08:17
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda diseño bbdd

Ninguna idea?
  #3 (permalink)  
Antiguo 29/06/2010, 08:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 15 años, 2 meses
Puntos: 2658
Respuesta: Duda diseño bbdd

El usuario no se vincula nunca con Método en forma directa. La relación, si la graficas es N:N, por lo que entremedio hay una tabla más, que en tu caso es Evaluación, la cual contiene ambos ID como FK.
Recuerda: Toda relación N:N genera una tabla relacional con las PK de las tablas relacionadas como FK y PK.
Esta tabla además, si un par de FK puede repetirse, debe componer su PK con un atributo más al menos, como atributo discriminador.
__________________
¿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 29/06/2010, 08:30
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda diseño bbdd

Gracias por la respuesta.

Entonces tanto usuario como método deberían relacionarse con Evaluación, no?
Si no lo he entendido mal, debería ser:

Usuario ---R--- Evaluacion
Metodo ---R--- Evaluacion
Sitio ---R--- Evaluacion

Y en Evaluacion los atributos serían: id_evaluacion, login_usuario, grupo_usuario, sitio, id_metodo ?

¿O en cambio es una relación ternaria del tipo:
Metodo ---- Evaluacion ---- Usuario
Sitio ------------|

Última edición por Tram; 29/06/2010 a las 08:44
  #5 (permalink)  
Antiguo 29/06/2010, 09:47
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 15 años, 2 meses
Puntos: 2658
Respuesta: Duda diseño bbdd

Cita:
Evaluacion(id_evaluacion, login_usuario, sitio, id_metodo)
El grupo a que pertenece el usuario es irrelevante para la tabla Evaluación, y de todos modos, si lo necesitas, se obtiene de la tabla usuario en la misma consulta... Lo central es e un usuario solicita la evaluación de un Site según un Método.
Si el mismo usuario llegase a solicitar la evaluación del mismo Site, por el mismo método otra vez, la tabla requeriría como PK:
Cita:
Evaluacion(id_evaluacion, login_usuario, sitio, id_metodo, fecha_evaluacion)
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 29/06/2010, 16:09
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda diseño bbdd

Ok ahora entiendo, gracias.

Y la última duda que tengo es:
por ejemplo un usuario elige evaluar una web mediante el método 1.
entonces el método 1 le mostrará una lista con unas descripciones y al lado un recuadro para que le ponga la puntuación entre 1 y 5. Por ejemplo:

Método1

- Tamaño de letra adecuado: 4
- Contraste: 5
- .....
etc

Después de puntuar todas las descripciones, se deberían guardar esas puntuaciones que ha hecho ese usuario para esa web mediante el método elegido.
Dónde guardaría esto? En una tabla aparte o añadiendo atributos a "Evaluación"?
  #7 (permalink)  
Antiguo 29/06/2010, 20:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 15 años, 2 meses
Puntos: 2658
Respuesta: Duda diseño bbdd

Esos son, precisamente, los atributos propios de la tabla Evaluación...
Piensa en qué cosas pertenecen a una evaluación... Si. Precisamente. Las notas...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 05/07/2010, 03:35
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda diseño bbdd

Gracias. Ahora me quedó claro.

Y por ejemplo, cómo podría modelar lo siguiente, dentro de ese mismo esquema:

El usuario puede ser de 2 tipos, normal o experto. Los expertos son los que hacen la evaluación de esa forma, escogiendo el método y demás.
Los normales simplemente evalúan respondiendo un cuestionario, no mediante un método.
Cómo podría mostrar esto en el esquema? Gracias
  #9 (permalink)  
Antiguo 19/07/2010, 04:28
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda diseño bbdd

Alguna sugerencia?
  #10 (permalink)  
Antiguo 19/07/2010, 07:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 15 años, 2 meses
Puntos: 2658
Respuesta: Duda diseño bbdd

Si el resultado del examen contiene los mismos atributos finales, la forma de ejecución de la evaluación es un problema procedural, esto es, se desarrolla en la aplicación y por tanto no se refleja en la base (en tanto no deba registrarse ese hecho en ninguna tabla).
Si, poro otro lado, contiene algún atributo diferente, puede implicar otra tabla; si es un valor de un atributo diferente, puede estar indicando un campo de estado, y en ese caso el modelo se mantiene.

Lo esencial es que se entienda esto: El modo de hacer una tarea en la aplicación no se refleja en la base de datos a menos que haya algún tipo de cambio en los datos de la base o implique un requerimiento en especial.
Por ello se dice que una base de datos debe ser independiente de la aplicación que la usa, y ser capaz de alimentar todos los procesos de la misma.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 20/07/2010, 05:36
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda diseño bbdd

Adjunto el esquema de lo que tengo hasta ahora.
Esto me sirve para usuarios expertos que seleccionan un método de evaluación y hacen la evaluación.
En la tabla Evaluar tendré la información sobre el usuario, el método que ha escogido, la web que ha evaluado y las puntuaciones que da a cada descripción.
En cambio los usuarios normales, no seleccionan ningún método, simplemente responden un cuestionario. Con el esquema que tengo puedo guardar esta información sin tener que modificarlo, o si necesito hacer alguna modificación?

  #12 (permalink)  
Antiguo 23/07/2010, 07:54
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Duda diseño bbdd

Lo vuelvo a subir para ver si alguien tiene alguna idea

Última edición por Tram; 03/08/2010 a las 07:19

Etiquetas: bbdd, diseño
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 20:57.