Bases de Datos - Duda diseño de las tablas de la base de datos

 
Vista:
sin imagen de perfil

Duda diseño de las tablas de la base de datos

Publicado por matias (2 intervenciones) el 12/03/2017 14:43:27
Hola que tal?, tengo una duda sobre como diseñar una base de datos segun la siguiente propuesta para tp.

Me pide que diseñe una base de datos donde almacenar la informacion de las actividades de los usuraios y si las cumplen o no. Un ejemplo es

Las actividades de la semana de Ana son
- Los Lunes, Miercoles y Viernes sale a correr.
- Los Martes y Viernes tiene clases de aleman.
- Los Jueves toca el piano.
- Los Domingos y lunes le toca cocinar.
Esta semana, Ana no fue a correr el Miercoles, ni el viernes y el domingo no cocino.

Lo que habia pensado para la base de datos es, omitiendo la representación de la tabla de usuarios, son dos soluciones, una de dos tablas y otra de tres.

La solucion de dos tablas. Una tabla ACTIVIDAD y HISTORIAL, con los campos detallados abajo. La relacion que une a las talbes seira una ACTIVIDAD tiene muchos HISTORIALES, un HISTORIAL solo tiene una actividad.

ACTIVIDAD (id, titulo, detalle, lunes, martes, miercoles, jueves, viernes, sabados, dominos)
HISTORIAL (id, id_actividad, fecha, cumplio)

Un ejemplo de una consulta seria
- ACTIVIDAD (1, "Piano","casa de jose", 0,0,0,1,0,0,0 ) // El 1 significa que tiene esa actividad ese dia.
- HISTORIAL (2, 1, 10/2/2017, 1) // El uno significa que cumplio, 0 que no cumplio

La solucion con tres tablas. La dos mismas tablas del ejemplo anterior, pero un cambio en la tabla ACTIVIDAD y se agrega una tabla DIA. La relacion entre ACTIVIDAD y HISTORIAL es la misma, la relacion entre ACTIVIDAD y DIA es una ACTIVIAD tiene vaios DIA, un DIA tiene varias ACTIVIDADES, necesito una cuarta tabla, SE_REALIZA.

ACTIVIDAD(id, titulo, detalle)
DIA(id, nombre)
SE_REALIZA(id. id_actividad, id_dia)
HISTORIAL (id, id_actividad, fecha, cumplio)

En este caso, tengo una relacion de donde puedo sacar los dias que se relaiza una actividad.

Cual les parece mejor o tiene otra idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder