Una vez tuve una mesa y era brillante y hermosa. Llevaba a cabo todas las transacciones financieras para una organización. Y luego comenzamos a cargar datos en él.
En el mes actual, pueden establecer y reexpresar los valores tantas veces como lo deseen. En los últimos 10 días de un mes, reexpresarían los números -> ejecutarían el procesamiento ETL -> revisarían los informes varias veces al día. Una vez que se completa el mes, los libros se sellan y no pueden modificar los valores.
Es sorprendente la cantidad de datos financieros que genera una empresa de servicios financieros ... Algo que no sabíamos con nuestro conjunto de datos de prueba era que el volumen de datos haría insostenibles sus procedimientos de fin de mes. Tomó cada vez más tiempo eliminar los "datos del mes actual" antes de reemplazarlos con la nueva ejecución de prueba.
Tuvimos que hacer algo para acelerar el procesamiento sin romper la lista no catalogada de "quién sabe qué", todo eso depende de la tabla de asignación mensual. Decidí jugar al mago y sacar el mantel de debajo de ellos. Fui a la vieja escuela y usé una Vista Particionada . Los datos ya tenían un indicador IsComplete, así que hice dos tablas, cada una con restricciones de verificación contrarias: MonthlyAllocationComplete, MonthlyAllocationInComplete
Luego creé la vista particionada con el mismo nombre que la tabla original: Asignación mensual. Ningún proceso fue más sabio sobre el cambio físico que hicimos en la base de datos. No hubo informes rotos, ninguno de los analistas con acceso directo informó problemas con esa "tabla" antes o después.
Buena historia hermano, pero ¿a dónde vas?
¿Qué pasaría si tuvieran una convención de nomenclatura allí, tbl_MonthlyAllocation? ¿Ahora que? ¿Pasamos muchas horas de trabajo revisando cada ETL, cada informe, cada hoja de cálculo ad-hoc en la organización y actualizándolos para usar vw_MonthlyAllocation? Y luego, por supuesto, todos esos cambios pasan por el tablero de cambios y ese siempre es un proceso rápido e indoloro.
Su jefe podría preguntar: ¿Cuál es la recompensa para la empresa por todo ese trabajo nuevamente?
La otra opción es que dejamos esta vista llamada tbl_ y no pasamos todo ese tiempo probando, actualizando e implementando código. Lo que se convierte en una anécdota divertida que usted explica a todos los nuevos empleados, y aquellos con breves períodos de atención, que tienen que trabajar con la base de datos en cuanto a por qué es inconsistente con la denominación de los objetos.
O no codifica doblemente objetos con metadatos redundantes. La base de datos le dirá qué es una tabla, qué es una vista, qué es una función con valores de tabla, etc.
Las convenciones de nombres son buenas, simplemente no te pintes en una esquina con ellas.
Class
?