Quisiera saber si podriais opinar sobre el modelo de datos que mantengo en estas tablas que os muestro a continuacion:
reportes:
- ReporteId (int11) Primary key
- ReporteTipo (int 11)
- EntidadId (int11)
- UsuarioId (int11)
- ReporteCausaId (int11)
- ReporteFechaAlta (datetime)
Con este indice unico evito que un usuario ejecute el mismo reporte de una entidad similar.
[ReporteTipo, EntidadId, UsuarioId, ReporteCausaId]= Indice Unico
reportes_causas:
- ReporteCausaId (int11) Primary key
- ReporteTipo (int11)
- ReporteCausaDescripcion (varchar 300)
reportes_tipos:
- ReporteTipo (int11) Primary Key
- ReporteNombre (varchar 30)
- EntidadTabla (varchar 50)
- EntidadCampo (varchar 50)
Las tablas alojan reportes que hacen usuarios sobre una entidad en concreto. Pueden reportar comentarios, usuarios..etc.
En la tabla reportes_tipos, alojo las entidades y coloco el nombre de la tabla donde se situa la entidad, asi como su clave principal. Asi, cuando alguien reporta algo, puedo verificar con anterioridad que esa entidad exista, y evitar reportes hacia contenido no existente.
Me gustaria recibir criticas acerca de este modelo de datos. Si se le ven lagunas, esta mal diseñado o podria mejorarse.
Muchas gracias