Vamos a desarrollar un nuevo sistema sobre una base de datos heredada (usando .NET C#). Hay aproximadamente 500 tablas. Hemos elegido utilizar una herramienta ORM para nuestra capa de acceso a datos. El problema es con la convención namig para las entidades.Nombres de entidades frente a nombres de tablas
Las tablas en la base de datos tienen nombres como TB_CUST
- tabla con datos del cliente, o TP_COMP_CARS
- coches de empresa. La primera letra del prefijo define el módulo y la segunda letra define sus relaciones con otras tablas.
Me gustaría nombrar las entidades más significativas. Me gusta TB_CUST
solo Customer o CustomerEntity. Por supuesto, habría un comentario que apunta a su nombre de tabla.
Pero el DBA y el programador en una sola persona, no quieren nombres como este. Él quiere que las entidades nombren exactamente lo mismo para los nombres de las tablas. Él está diciendo que tendría que recordar dos nombres y que sería difícil y complicado. Debo decir que no está muy familiarizado con los principios de OOP.
Pero en el caso de un nombre de entidad como TP_COMP_CARS
debe haber nombres de métodos como Get TP_COMP_CARS
o SaveTP_COMP_CARS
.. Creo que esto es ilegible y feo.
Así que por favor dígame su opinión. ¿Quién tiene razón y por qué?
gracias de antemano
1 Ese es el punto de ORM: deshacerse de las convenciones de nombres de tabla braindead :) –
es un poco de dolor por el tipo DBA/programador existente, que tiene su agradable mundo y para él de cambio. Pero en este caso, valoro los nombres de dominio cuidadosamente elegidos en la Lógica de negocios antes que guardarlo. – djna
+1 - También puedo agregar otro punto, las herramientas ORM significan que puede desarrollar la capa de aplicación sin necesidad de codificar los nombres exactos de las tablas y columnas. Los procedimientos almacenados y el SQL codificado dificultan la reestructuración de los datos. El buen uso de ORM y los objetos de entidad seguros para tipos en la capa de aplicación hace que la reestructuración de los datos sea mucho más fácil. –