martes, 26 de junio de 2012

Finalizacion de la Tarea Programada


Esta es la bitácora utilizada para la tercera tarea programada del curso Bases de datos, se hace un registros de todas las tareas y horas laboradas para realizar esta tarea.

Instituto Tecnológico de Costa Rica

Tercera tarea programada, I semestre del 2012

Realizado por:
                      Robert Oses Méndez - 201014479
                      Jorge Chavarría Rodríguez - 201066559

Fecha de inicio: 17/06/2012
Fecha de fin:26/06/2012

Fecha de entrega: 27/06/2012

Total de horas trabajadas: 45 Horas cada uno 

Modelo de bases de datos: Microsoft SQL Server 2008


Como tarea programa se tuvo que diseñar e implementar una base de datos para resolver el problema de tarifar y facturar en una empresa telefónica. Tal base de datos migraba los datos de los clientes ( numero de teléfono, contrato, servicios, ect) de otra base llamada Base de Datos No Normalizada , la cual contenía la información en tablas no normalizadas para poder facturar y tarifar en nuestra base. 


La migración a las tablas se hizo con éxito y una vez teniendo esto se procedió a tarifar las actividades hechas por lo cliente. Posteriormente se logro hacer los movimientos por minutos y llamadas a diferentes tablas . Luego ,se realizaron los movimientos de dinero y se crearon las lineas de factura donde se detalla los servicios y el monto asociado a cada teléfono .  Por ultimo se realizaron procedimientos que hicieran la facturación mensual de todos los clientes y se pudieran hacer consultas de una factura de un numero y en un mes determinado . 


Como criterio general pensamos que la tarea programada esta bien realizada y las pruebas hechas indican que corre con éxito .  Mas adelante se especifica algunas cosas que se omitieron o no quedaron claras en las especificación. 



Comentarios Generales

Comentarios

Hay cosas en la especificación que no se implementaran, pues no se tiene los datos desde la base de migración o no se tiene muy claro como es que se deben implementar : estas cosas son : 

  • Minutos libres de ciertos números que pertenecen a un contrato , ya que no se sabe cuantos son estos minutos libres , ni el rango en que se deben rebajar tales contratos. 
  • Compañías de Teléfonos
  • Llamadas a familiares 
  • Otros servicios y cobros como re-conexión ,multa, numero privado , entre otros. 
Entre los errores que se presentaron fueron : 

La  facturación de cada mes lo hacia realmente lento en un inicio, pues tenia que recorrer la tabla de operación y eran muchos campos . Esto se soluciono creando tablas variables y asi actualizando la factura con mas rápidamente y con un dato en especifico ,ya fuer llamadas o minutos plenos 

No se tenia al principio lugar donde guardar los servicios y el monto de cada cliente, por lo que se creo la tabla de teléfono por mes y luego las de lineas de factura, asi se dividió la información y se logro que la tabla movimientos solo tuviera la sumatoria de cada categoría .

El modelo de la base al final de la tarea programada es el siguiente : 

Consulta de Factura

Hora Inicio: 9:00 am
Hora fin : 4:00pm
Horas Totales : 7 horas

Se inicia con la creación de la consulta de una factura en un mes en especifico. A este procedimiento almacenado le entra como parámetro el numero de teléfono que se debe consultar , asi como también el mes en que se quiere consultar la factura . Para esto, se realizan diferentes consultas en las tablas de factura por mes,movimientos y lineas por factura.



En este procedimiento se muestra detalle de los servicios y el monto a pagar por el cliente en ese mes, asi como también los cargos fijos que se le cobraran, el monto a pagar, el impuesto de venta , el mes de cobro y la fecha, el contrato al que pertenece el numero, entre otras cosas.



Facturación Mensual

Hora Inicio : 10:30 am
Hora Fin: 4:00 pm
Total de Horas : 5.5

Se inicia con la creación  del del procedure que permite la facturación de todos los números en un mes en especifico, que se recibe como parámetro. Esta facturación se realiza con los datos de la tabla de Movimientos y la tabla de LinesxFactura  que contiene todos los servicios que se le prestan a ese contrato.



 En este procedure lo que se hace es calcular la suma de los montos de los servicios asociados a cada
empleado, también la suma de los cargos fijos y el impuesto de venta de tal valor ; tales datos son guardados en la tabla de Factura por mes . En este procedimiento se llama a los procedimientos que calculan tanto los movimiento por minutos y llamadas realizadas en la tabla de teléfono por mes , como también el calculo de los movimientos por dinero .



lunes, 25 de junio de 2012

Tablas de Telefono por mes , Lineas de Factura, Factura por Mes

Hora Inicio: 9:00 am
Hora Fin: 5:00 pm
Horas Totales : 8 horas

Se trabajo en la creación y modificación de la tabla de teléfono por mes, en donde se guardan los totales de los minutos y llamadas realizadas en ese mes por todos los números, que esta ligados a su contrato. Estos minutos y llamadas se obtienen gracias a los datos de la tabla de operaciones donde contiene los minutos y mensajes hechos por cada numero  en un mes en especifico . Para agrupar las llamadas por categorías, se realizaron diferentes tablas variable donde se guardan las llamadas según el teléfono destino, para saber si fue nacional, o internacional o a números especiales

Ya con esta tabla llena con los montos de dinero con relación a las llamadas hechas, los minutos plenos y reducidos realizados , se hace una inserción en la tabla de FT_Movimientos, que guarda los datos en forma agrupada ( internacionales, números 800 o 900, mensajes, etc) , ligadas al Fk del teléfono y el mes que se esta realizando la facturación .

Para calcular los minutos de las llamadas, se utiliza una función que calcula con la hora de inicio y la hora de finalización y busca la diferencia entre tales horas. También se valida si la llamada fue realizada en los rangos de los minutos plenos o de los minutos reducidos







Una vez completado el proceso anterior, se comienza a realizar el procedure que permita actualizar las tablas de Lineas por factura , donde se contiene los servicios ligados a cada teléfono, asi como su monto y el monto que se le cobrara al cliente por ese servicio. Esta tabla contiene FK al teléfono y FK al servicio , con los cuales se permite tener acceso a estos 2 atributos.







domingo, 24 de junio de 2012

Agregar Tabla TeléfonoXMes

Fecha: Domingo 24 de Julio del 2012

Hora Inicio: 09:00 p.m.
Hora Fin: 11:00 p.m.

Horas Laboradas: 2 Horas Laboradas

Se requieren hacer unos cambios al modelado de la base de datos, para darle una mayor funcionalidad y facilidad de manejo de los datos, se agregan unas tablas, se eliminan otras y se agregan columnas a las tablas.

Lo mas importante en esto, es que se agregó la tabla TelefonoXMes, la cual tiene datos como:
- FK_Mes
- FK_Telefono
- Minutos Libres
- Minutos Dobles
- Minutos Plenos
- Minutos Reducidos
- Mensajes
- Llamadas a Nicaragua
- Llamadas a Panamá
- Llamadas a USA
- Llamadas a números 800
- Llamadas a números 900


Así de esta manera nos está quedando nuestro diagrama de la base de datos hasta este momento.

sábado, 23 de junio de 2012

Procedure Cargar Operaciones

Fecha: Sábado 23 Julio 2012

Hora Inicio: 02:00 p.m.
Hora Fin: 04:00 p.m.

Horas Laboradas: 2 Horas Laboradas

Realizamos las Inserciones a la tabla de las operaciones:


Esta es la manera de la cual realizamos el llenado de la tabla de operación. Desde la base de datos no normalizada.

Con esto damos por concluido el Stored Procedure de Migración.

Concretar Stored Procedure Migración

Fecha: Sábado 23 de Junio del 2012

Hora Inicio: 09:00 a.m.
Hora Fin: 12:00 a.m.

Horas Laboradas: 3 Horas Laboradas

Se continúa con el Stored Procedure de migración de datos de base a base.

Acá podemos observar como realizamos los Inserts en las tablas de la nueva base de datos:



Realizamos la inserción en la tablas servicios y en la tabla Contrato, ademas realizamos un Update en la tabla Contrato para colocar los valores de si cuenta con un contrato familiar.

Además se realizan Inserts en las demás tablas, las cuales son:
- Telefono
- ServiciosPorContrato
- TelefonosPorContrato
- TipoTarifa


Así damos por finalizado esta parte del Stored Procedure de Migración.

viernes, 22 de junio de 2012

Base de datos no normalizada - Inicio Stored Procedure Migración

Fecha: Viernes 22 de Junio del 2012

Hora Inicio: 01:00 p.m.
Hora Final: 03:00 p.m.

Horas laboradas: 2 Horas Laboradas

Por primero, se crea la base de datos no normalizada llamada "CompañiaTelefonica_NoNormalizada" con los scripts suministrados por el profesor.

Se revisan que datos traen las tablas de esta base de datos, se identifican y se procede a iniciar con el Stored Procedure de la migración de la información de base de datos a base de datos. Es de una gran ayuda el correo enviado por el profesor, donde se muestra un ejemplo de como realizar este proceso.

Realizamos este Stored Procedure de esta manera:


Como se puede observar creamos tablas variables para obtener los datos e ir filtrando la información, esto aprendido en clases.

En este primer código insertamos en 2 tablas variables para después usar esta información he insertarla en la Base de datos normalizada.

Seguiremos mañana con este Stored Procedure.

jueves, 21 de junio de 2012

Inicio Tarea Programada

Fecha: Jueves 21 de Junio del 2012

Hora Inicio: 08:00 a.m.
Hora Final: 01:30 p.m.

Horas Laboradas: 5 horas 30 minutos

Se realiza la lectura de la especificación, como no quedan claros algunos puntos de como realizar la "migración" de las bases de datos, se le pide al profesor que nos explique, esto sirvió bastante, se tiene la idea de como realizar esto.

Pero primero se procede a realizar el modelado de la base de datos "Teléfonos y Tarifas" en papel, con lo brindado por el profesor y unas tablas que se agregaron, Se logra la terminar la misma.

Se inicia con la creación de la base de datos "Teléfonos y Tarifas" en Microsoft SQL, con todas sus respectivas tablas sus relaciones y agregaciones.

Se logra terminar de hacer las tablas de la base de datos, aunque aún faltan revisar algunas dudas que tenemos sobre el modelado.



Se termina de trabajar por el día de hoy, ya que se tienen que realizar trabajo de otros cursos, además se está en la espera de la base de datos llamada "migra" para ver los datos, empezar con el traslado de información de una base a otra, y ver como se generan los campos que nosotros tendremos que llenar en la base de datos.

miércoles, 20 de junio de 2012

Creación de la base e Inicio de Migración

Hora Inicio : 9:00am
Hora Fin 5:00 pm
Total Laborado 8 horas

Se realizo la creación de la base basados en el modelo dado por el profesor en la case, esta base contiene diferentes tablas que permiten realizar tanto movimientos por llamadas y mensajes enviados por cada teléfono, como también el calculo en dinero de tal actividad y posteriormente el calculo de la factura mensual de cada teléfono .

El modelo representa por  el momento diferentes tablas de catalogo, de movimientos , de lineas de factura, de servicios, de operación , entre otras otras tablas que posiblemente sean modificadas según se vara requiriendo y se vaya avanzando en la tarea programada.

Para llenar los datos de esta base ,se hará una migración de datos de otra base que no esta normalizada y que agrupa los datos sin tablas normalizadas, por lo que se tendrá que realizar las transferencia de los datos a tablas ya normalizadas y que permitan el manejo correcto de los mismos . Esta migración llenara los datos de las tablas de contrato, servicio por contrato, teléfonos, teléfono por contrato, servicios, servicios por contrato, meses, cargos fijos, entre otras tablas