Opinión sobre una base de datos

Jhon Hernandez

Lanero Regular
24 Abr 2020
6
Hola, un cliente que al parecer no sabe mucho de programación me envió esta base de datos, me podrían dar una opinión por favor?

Veo tablas sueltas, veo muchas relaciones 1a1 y veo que puso toda la información centralizada en una tabla.

BaseDeDatosAbogadoOriginal.jpg
 
El cliente tiene una especialización en gerencia informática, así que algo sabe. Tiene un programa en Access muy viejo y me pidió la migración, así que con esto hay que empezar. Me pueden decir que observan mal y que cambiarían por favor, yo ya tengo unos cambios planeados, pero me interesa la opinión de alguien con experiencia.
 
Pues... A ver, por dónde comenzar... Claramente lo que se intenta representar es una base de datos relacional, pero dicha representación creo que está hecha de manera bastante empírica y a mí parecer, desconociendo completamente el funcionamiento del software de su cliente, representa más el funcionamiento del mismo que el orden de los datos y en sí la información.

Las entidades no son claras y hay relaciones, por decirlo de algún modo, innecesarias. Leyendo la información de esa foto, intuyo que el software se encarga de ejercer un control y seguimiento a procesos de tipo judicial, sin embargo la entidad que en teoría debería ser la más importante del modelo de datos no aparece en ese gráfico (al menos yo no la vi), que sería precisamente la entidad "Proceso".

Siendo muy sincero con usted, YO no "haría unos cambios" a ese modelo, simplemente no usaría ese modelo y generaría uno completamente nuevo que describa correctamente la interacción de la información en una aplicación, ese sería mi consejo, ya que debido a que desconozco completamente la lógica del negocio de su cliente no puedo aportar mayor cosa.
 
  • Me gusta
Reacciones: Snake777
Esta es la lógica actual:

La idea sería pasarla a .net core y Angular 9
 
  • Me gusta
Reacciones: Snake777
Primero veo me preocupa que la aplicación actual está hecha en tecnología que corre en local y usted habla de tecnologías web.

Debe plantear otro modelo relacional, pero debe tener cuidado que este nuevo modelo soporte la información del actual debido a que debe soportar la migración de información. Porque es importante esto, usted debe pensar en UX y es totalmente contrario decirles a los clientes va a perder su información si adquiere la nueva versión.

PD: me alegro mucho ver esta aplicación que les recuerda a los desarrolladores que “hecho es mejor que prefecto”
 
Esta es la lógica actual:

La idea sería pasarla a .net core y Angular 9
Super que lo vaya a migrar a .net core! Que tal te va .net core con Angular 9?
La verdad concuerdo con el lanero GosTphELT, las entidades no son claras y hay relaciones que sobran para mi (MedidasCautelares->ActuacionMedidasCautelares) o no tienen lógica definida. Yo rediseñaria todo el modelo y migraría la información a ese nuevo modelo, mucho mas simplificado.

Saludos!
 
Hice una nueva, ¿Qué les parece?, seguí la buena práctica de poner los nombres el plural y en inglés. ¿Recomiendan algún cambio?

BDAbogados3.jpg
 
Mejoro muchisimo!
Unas opiniones:
  1. TypeOfProccess puede ser un campo de proccess en mi opinión. No creo que sea necesario una entidad aparte
  2. Yo simplificaria un poco mas la relación muchos a muchos de processxfiles y la dejaria como un campo y lo alimentaria como un Array de files y lo guardaria con un ToString(). Esto es muy utilizado en Wordpress y la verdad simplifica mucho el desarrollo y mantenimiento. Lo digo porque me imagino que solo guardas la ruta del archivo, si ya necesitas mas información como fechas, ultimo accesso, ultima edición, si mejor dejarlo como una entidad aparte.
  3. Lo mismo con Thirdxprocess
  4. TypeOfProcess yo no lo dejaría como una entidad aparte.
Todo esto te lo digo con sumo respeto a tu excelente trabajo, simplemente es una opinión :)
Saludos!
 
  • Me gusta
Reacciones: Jhon Hernandez

Los últimos temas