Avance #24
Avance: Iniciamos con la construcción de la base de datos, actualizando las tablas que ya teníamos y generando las tablas nuevas. Modificamos el esquema de la base de datos original, agregándole las tablas de Recibo, Comprobante de Pago, Cortes, Reconexión, Reconecta, BitácoraCambios, TipoEntidad, TranscConsumo, TipoTransacConsumo. En todas estás se generaron los inserts (ya que eran indispensables para su utilización a lo largo del desarrollo del proyecto) y en algunas se crearon otro tipos de CRUDS como Select, Update y Delete. En las tablas que se tuvieron que actualizar se encuentra la tabla propiedad. En la cual se agregan dos columnas adicionales (ConsumoAcumM3 y UltimoReciboM3). Estas columnas ayudan a realizar la lógica de transacciones de consumo y recibos más fácilmente.
Problemas: Teníamos de forma incorrecta la relación entre Comprobante Pago y Recibo. Además, teníamos problemas en la inserción de la tabla Recibos y BitacoraCambios.
Solución: Procedimos a corregir la relación entre Recibos y ComprobantePago para que un solo comprobante de pago puediera estar en varios recibos. Al hacer esto nos percatamos de que como el recibo siempre se genera antes que el comprobante debíamos aceptar valores nulos en la tabla Recibos (columna: Comprobante de Pago). Asimismo, tuvimos que cambiar las columnas de BitacoraCambios para que aceptara valores nulos (columnas: Antes y Después), debido a su naturaleza (no existen valores antes de la inserción ni posterior a su eliminación).
Consejos: Revisar correctamente el diseño antes de implementarlo. Una sola relación mal puesta implica que se recurren más errores innecesarios posteriormente. Adicionalmente, aconsejamos que aunque los valores nulos no son muy bien vistos en las bases de datos, en determinadas ocasiones simplifican problemas y ahorran tablas.
Horas: 3 horas
Comentarios
Publicar un comentario