viernes, 30 de septiembre de 2016

Procedimientos Trasaccionales

(10 horas)

Se empezó a crear los proecedimientos. Para este trabajo se tuvo que investigar en internet la sintaxis de como se crea un SP transaccional, así como el profesor nos ha solicitado.

En este caso se consultaron los siguientes enlaces y tutoriales:

https://msdn.microsoft.com/en-us/library/ms345415.aspx

https://www.mssqltips.com/sqlservertutorial/162/how-to-create-a-sql-server-stored-procedure-with-parameters/

http://stackoverflow.com/questions/19947878/sql-server-how-to-create-a-stored-procedure

Al final del dia se contaba con los siguiente procedimientos:

MPSP_Cobrar
MPSP_CobrarAgua
MPSP_CobrarPatentes
MPSP_CobrarRecoleccionBasura
MPSP_CobrarImpuestos

jueves, 29 de septiembre de 2016

Se Analiza cual lenguaje de capa lógica usar

(3 horas)
Se busca cual es el lenguaje de programación que mas se adecuaba a nuestras necesidades para crear la aplicación web.  

Nuevos datos de prueba y Query de consumo de agua

(5 horas)

El dia de hoy se adaptaron los nuevos datos de prueba junto al diagrama de la base de datos, esto debido a los cambios repentinos que el profe realizó durante la clase.

Además se creo un query para generar consumo de agua para todas las propiedades de manera random ya que el Chino no había subido esos datos,

martes, 27 de septiembre de 2016

Recorriendo tablas y nuevo diagrama

(7 horas)

Durante las clases con el profesor, este indicó las maneras más eficientes para recorrer una tabla. Mencionó que existen varias formas y que todas de ellas son válidas. Agregó que los cursores son cosa del siglo pasado y que la manera más útil es una tabla en memoria y un while que contenga selects para facilitar y agilizar el procedimiento.

En las siguientes páginas veremos ejemplos de formas de iterar que los elementos durante la interación:

Cursores http://stackoverflow.com/questions/20662356/sql-server-loop-how-do-i-loop-through-a-set-of-records

SELECTS https://support.microsoft.com/en-us/kb/111401

Además de esto el profesor también estuvo modificando el diagrama de base de datos con el objetivo estandarizar su funcionamiento. Esto conllevó a que ese mismo día tuviéramos que hacer un DROP DATABASE para luego adaptar el nuevo diagrama a la base de datos.

viernes, 23 de septiembre de 2016

Datos de Prueba



(10 horas)

El profesor le indicó aun grupo de compañeros que estaban juntos formando un trío (lo cual sucedia porque ya todos tenían pareja) que se encargaran de generar los datos de prueba en formato XML y así de esta manera todos los estudiantes podamos basarnos en los datos de prueba del compañero para que tengamos los mismos datos y se facilite la revisión y consultas por parte del profesor.

De esta manera se acordó cual sería el diagrama en el que nos barasemos de manera que los datos XML sean completamente compatibles con todas las bases de datos. El único incomveniente es que ya estabamos adelantados un poco, y no queríamos esperar a que aquel grupo generara datos de prueba, así que lo hicimos nosotros

Entonces crearon los datos de prueba para las siguientes tablas: Abonados, Distritos y Propiedades. Por medio de un código de Python se generaron las cedulas al azar y los nombres de los abonados fueron conseguidos de internet.

Para lograr lo anterior se recopilaron nombres de personas desde el siguiente link:


Se creó entonces un codigo de Python que generaba scrips .sql para ser ejecutados facilmente. La funcion de Python la veremos a continuación:


def insertAbonados():
   
    file = open("InsertAbonados.sql", "w")
   
    file.write("USE [I Proyecto - Municipalidad]\n")
    file.write("GO\n")
   
    file.write("\n")
   
    cedulas = [100000000]
   
    for i in range(len(nombres)):
       
        cedulaRepetida = True
       
        while cedulaRepetida:
           
            randomCedula = randint(300000000, 999999999)
            randomCedula -= 200000000
           
            for j in range(len(cedulas)):
               
                if cedulas[j] == randomCedula:
                    cedulaRepetida = True
                    break
               
                cedulaRepetida = False
       
        cedulas.append(randomCedula)
       
        file.write("INSERT INTO [dbo].[Abonados]\n")
        file.write("           ([Identificacion]\n")
        file.write("           ,[Fk_TipoDocumento]\n")
        file.write("           ,[Nombre]\n")
        file.write("           ,[Activo])\n")
        file.write("     VALUES\n")
        file.write("           (" + str(randomCedula) + "\n")
        file.write("           ,1\n")
        file.write("           ,'" + nombres[i] + "'\n")
        file.write("           ,1)\n")
        file.write("GO\n")
        file.write("\n")
   
    file.close() 

jueves, 22 de septiembre de 2016

Relaciones entre tablas

(2 horas)

Para este dia se consigió aprender sobre las relaciones entre tablas y como funcionan en SQL Server. Con este objetivo en mente, se prosigió a buscar en internet y entender el fucionamiento de las llaves foraneas y su sintaxis en el lenguaje SQL de Microsoft.

Debido a esto, también se tuvo que recurrir a un enlace de la comunidad de desarrollo de Microsoft para seguir tutoriales de trabajo y sisntaxis para así crear las relaciones de llave principales y llaves foraneas

https://msdn.microsoft.com/en-us/library/ms189049.aspx

miércoles, 21 de septiembre de 2016

Borrador diagrama físico y SSMS



(7 horas)

Se han hecho las consultas sobre el modelado creado este mismo día al profesor. El profesor explicó pacientemente que no era necesario complicarse ya que él no nos estaba pidiendo la funcionalidad que le estábamos consultando.

Seguidamente finalizamos de generar el borrador del diagrama físico de la base de datos. Este mismo día iniciamos aprendiendo con explicaciones de otros compañeros como se hace para escribir código en SSMS, cuál es su sintaxis y como se debe guardar el código que escribíamos. Al final del día logramos generar todas las tablas que hicimos en el diagrama físico de base de datos usando instrucciones SQL.

SSMS (SQL Server Management Studio) : https://msdn.microsoft.com/en-us/library/mt238290.aspx

A continuación, el borrador del diagrama fisico