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

[SOLUCIONADO] Base de datos para aplicacion Get things Done

Estas en el tema de Base de datos para aplicacion Get things Done en el foro de Mysql en Foros del Web. Buenas tardes, estoy tratando de armar una aplicacion estilo get things done, sirve para llevar en forma ordenada las tareas a realizar, ejemplo de esta ...
  #1 (permalink)  
Antiguo 14/12/2013, 17:11
 
Fecha de Ingreso: agosto-2009
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Base de datos para aplicacion Get things Done

Buenas tardes, estoy tratando de armar una aplicacion estilo get things done, sirve para llevar en forma ordenada las tareas a realizar, ejemplo de esta aplicacion es,

Tengo la base de datos diseñada y quisiera saber si es correcta, es decir si las relaciones están bien hechas.


Desde ya muchas gracias

Última edición por gnzsoloyo; 14/12/2013 a las 17:58 Razón: Link innecesario.
  #2 (permalink)  
Antiguo 15/12/2013, 09:42
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Base de datos para aplicacion Get things Done

Veo algo raro entre las dos tablas personas y loguin. defines varios roles y varios estados, pero la relacion entre estas dos tablas es de 1 a 1, por lo tanto pueden fucionarse en una sola.

en caso de que no lo sea (que una persona pueda tener mas de un rol) entonces no le corresponde a la persona saber el id_rol, eso lo sabe el loguin y esta de mas en esa tabla, ademas no hay forma de relacionar el loguin con personas aparte del email, que si bien es una clave candidata, propagar un string es costoso (no que no funcione, sino que es costoso) mejor seria ponerle a personas un id autoincrementado y propagar a este y a mail dejarlo como clave unica. idem con la clave primaria nick de loguin, misma recomendacion, y con el nombre de la tarea (no podrias tener dos veces el mismo nombre de tarea? no podrian existir en la hitoria dos tareas que se llamen "documentar" ? ) esa evidentemente no es clave ni primaria, ni unica, a lo sumo un indice comun o fulltext si vas a buscar mucho por ese campo.

creo que podrias hacerlo andar sin cambiar nada, pero son solo algunas sugerencias
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 16/12/2013, 06:18
 
Fecha de Ingreso: agosto-2009
Mensajes: 73
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Base de datos para aplicacion Get things Done

Hola NSD, muchas gracias por tu respuesta, el rol tiene el estado de usuario común y administrador, y el estado de usuario es para decir si esta activo o no. Según lo que dices debería fusionar las tablas de usuario y loguin??

A las tablas que debería agregar el id autoincremental sería, la funcionada entre loguin y personas, tabla tareas y tabla tareas asignadas?

Saludos
  #4 (permalink)  
Antiguo 17/12/2013, 08:41
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: Base de datos para aplicacion Get things Done

no, haber, si una persona puede tener mas de un rol, y segun como se loguea se asigna el rol, debes quitar de personas el campo id_rol eso esta MAL, como segun como se loguea se asigna un rol que alla dos tablas esta BIEN no hay que fusionar, la fusion era si y solo si, cada persona tenia un unico rol.

A las que tienes que agregar el utoincremental y usarlo como PK es a las tablas: personas, loguin, tareas.

Debes tratar que todas tus claves foraneas sean siempre numericas (cuando se pueda, a veces deben ser otros tipos de datos si o si)
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: aplicacion
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 22:13.