Ir al contenido principal

Entradas

Mostrando entradas de febrero, 2023

15. Segunda corrección de los stored procedures referente al parámetro @inPatron

Día: 28/02/2023 Desde:  1:26 pm / Hasta: 3:12 pm Tiempo transcurrido: 1 hora 46 minutos Identificamos un segundo problema en los procedimientos almacenados que creamos en sesiones pasadas. En particular, encontramos que el procedimiento SP_Mostrar no respetaba la estructura del profesor al incluir como parámetro el esquema de la base de datos. Después de analizar el código del procedimiento, descubrimos que este parámetro debía ser incluido y esa era una de las razones por las cuales podía haber un problema de diseño al irrespetar la estructura solicitada. Además, esta falta de estructura en el procedimiento hacía que fuera difícil para otros miembros del equipo comprender y mantener el código. Para solucionar este problema, incluimos el parámetro @inPatron en el SP_Mostrar y así asegurarnos de que funcionara correctamente al unir estos procedimientos con la interfaz en próximas sesiones.  Una vez que estuvimos seguros de que todo estaba funcionando correctamente, actuali...

14. Corrección de los stored procedures y los códigos de error

Día: 27/02/2023 Desde:  6:56 pm / Hasta: 8:30 Tiempo transcurrido: 1 hora 24 minutos Hoy, durante la sesión del curso de Bases de Datos, identificamos un problema en los procedimientos almacenados que creamos en sesiones pasadas. Después de investigar, descubrimos que no estábamos utilizando códigos de error producidos por nosotros mismos para capturar errores en la capa lógica. Para solucionar este problema, decidimos implementar el parámetro de @outResultCode en los procedimientos almacenados. Este parámetro se utiliza para devolver un valor estandarizado mayor a 50001 al llamar los procedimientos almacenados, lo que nos permitirá capturar los errores en la capa lógica de manera más efectiva. Después de implementar el parámetro de @outResultCode en algunos procedimientos almacenados de prueba, realizamos pruebas exhaustivas para asegurarnos de que los cambios no afectaran negativamente el funcionamiento de los procedimientos almacenados existentes. Una vez que estuvimos seguros d...

13. Desarrollo de la página de insertar un nuevo artículo

Día: 27/02/2023 Desde:  2:42 pm / Hasta: 4:36 Tiempo transcurrido: 1 hora 54 minutos En la sesión de hoy nos enfocamos en la creación de la página de inserción de datos. Esta página fue creada en HTML y constaba de dos botones y dos textbox para que el usuario pueda introducir los datos necesarios para insertar una nueva entrada en la base de datos. El primer botón, denominado "Insertar", tenía la función de llamar al comando SQL que inserta la información en la base de datos. Al hacer clic en este botón, la aplicación debía validar los datos ingresados por el usuario (función planificada pero que aún no fue ejecutada) y luego ejecutar el comando SQL correspondiente. El segundo botón, denominado "Cerrar", permite al usuario cancelar la operación de inserción en cualquier momento, incluso si se encontraba en medio de una tarea. Al hacer clic en este botón, la página regresaba a la vista anterior sin insertar ningún dato en la base de datos. Una vez que creamos la est...

12. Diseño de la sección del GridView

Día: 26/02/2023 Desde:  6:52 pm / Hasta: 8:35 pm Tiempo transcurrido: 1 hora 37 minutos Hoy trabajamos en la integración del GridView con HTML en la página principal de nuestro programa web. Nuestro objetivo era crear una vista de tabla en la página principal que mostrara los datos almacenados en nuestra base de datos. Inicialmente, comenzamos vinculando el GridView a un SQL incrustado de select que nos permitió seleccionar todas las columnas de la tabla. Sin embargo, después de probar el GridView, notamos que algunos datos no se estaban mostrando correctamente. Después de una revisión detallada, descubrimos que el problema estaba en la configuración de los tipos de datos para las columnas. Algunas columnas estaban siendo tratadas como tipos de datos diferentes a los que se habían configurado en la base de datos, lo que provocaba que no se mostraran correctamente en el GridView. Para solucionar este problema, ajustamos la configuración de los tipos de datos en la definición de la t...

11. Desarrollo de los botones en la interfaz

Día: 25/02/2023 Desde:  1:12 pm / Hasta: 3:20 pm Tiempo transcurrido: 2 horas 8 minutos En esta sesión nos enfocamos en la creación y programación de los botones de inserción y cierre en la interfaz gráfica de usuario desde el html. En primer lugar, encontramos un problema en la programación del botón de inserción. Al hacer clic en este botón, la aplicación debía llevar al usuario a una nueva página para solicitar los datos necesarios para insertar una nueva entrada en la base de datos. Sin embargo, después de múltiples intentos, descubrimos que el código utilizado no estaba correctamente implementado y no llevaba al usuario a la nueva página. Para resolver este problema, revisamos el código y descubrimos que una función reponse necesaria para llevar al usuario a la nueva página no estaba siendo llamada correctamente. Corregimos la función y probamos nuevamente el botón de inserción, y esta vez funcionó perfectamente. Después de resolver el problema de inserción, trabajamos en la c...

10. Aplicar la estructura de SP en la base oficial y conectarla con una versión base de la interfaz

Día: 25/02/2023 Desde:  3:15 pm / Hasta: 4:32 Tiempo transcurrido: 1 hora 17 minutos Durante la última sesión del proyecto de Bases de Datos, se implementó todo lo aprendido en la sesión anterior sobre la conexión de los procedimientos almacenados hechos de la estructura planteada por el profesor con la interfaz oficial. Sin embargo, como aún no se ha desarrollado una versión oficial de la interfaz se va a utilizar una copia del Demo desarrollado previamente solo para comprobar que vamos por buen camino y que ya podemos comenzar a detallar la interfaz como se planeó en un inicio. Después de la implementación, se realizó una prueba de los procedimientos almacenados en la interfaz oficial del proyecto y se comprobó que sí se estaban conectando correctamente. Sin embargo, durante la revisión detallada de los procedimientos almacenados, decidimos no aplicar aún las validaciones necesarias para garantizar la integridad de los datos en esta versión. Dicho proceso se pretende desarrollarl...

9. Prueba de conexión entre los nuevos SP (con la estructura solicitada) y la interfaz de prueba

Día: 21/02/2023 Desde:  10:17 am / Hasta: 12:05 md Tiempo transcurrido: 1 hora 48 minutos En la última sesión del proyecto de Bases de Datos, se implementaron procedimientos almacenados en SQL en la interfaz de pruebas del proyecto. Después de la implementación, se realizó una prueba de los procedimientos almacenados en la interfaz y se comprobó que sí funcionaban correctamente. Sin embargo, después de una revisión detallada, se notó que no se estaban validando los criterios solicitados en las instrucciones, pero en sí habíamos logrado implementar la estructura vista en clase. Para solucionar este problema, se revisaron los procedimientos almacenados y se encontró que no se estaban tomando en cuenta algunos parámetros necesarios para validar los criterios solicitados. Se realizó una corrección en los SP y se volvieron a probar en la interfaz oficial del proyecto. Después de la corrección, se concluyó la forma en como debían estructurarse los if para que se validara todo, no se apli...

8. Estudio de las grabaciones para seguir patrón de programación planteado por el profe

Día: 21/02/2023 Desde:  9:04 pm / Hasta: 11:00 pm Tiempo transcurrido: 1 hora 56 minutos Hoy en nuestra clase de bases de datos, nos enfocamos en revisar las grabaciones de las clases previas para entender la estructura solicitada en los procedimientos almacenados. Además, discutimos la importancia del manejo de errores y las buenas prácticas de programación en SQL. Comenzamos repasando las grabaciones de clases previas y discutiendo los conceptos clave relacionados con procedimientos almacenados. Luego, nos enfocamos en la importancia del manejo de errores y cómo podemos incorporar esta práctica en nuestros procedimientos almacenados. Descubrimos que es importante tener en cuenta los errores comunes en SQL, como errores de sintaxis y errores de concurrencia, y manejarlos adecuadamente para garantizar la integridad de los datos. Además, discutimos las buenas prácticas de programación en SQL, como el uso de palabras reservadas en mayúscula y la indentación adecuada del código. Apren...

7. Investigación sobre stored procedures y micro pruebas

Día: 21/02/2023 Desde:  7:10 pm / Hasta: 8:24 pm Tiempo transcurrido: 1 hora 14 minutos Durante esta sesión se llegó a la conclusión de que aunque teníamos un entendimiento básico de los stored procedures, no habíamos visto ejemplos completos en clase que nos dieran una idea de cómo estructurarlos, por lo que se destinó este tiempo para poder investigar más a fondo ejemplos de stored procedures y armar una lista de apuntes que nos guiaran en el desarrollo. Comenzamos discutiendo sobre qué son los procedimientos almacenados en SQL y cómo se diferencian de las consultas regulares. Recordando que un procedimiento almacenado es una serie de instrucciones SQL predefinidas que se almacenan en el servidor de la base de datos y se pueden llamar varias veces. Luego, investigamos cómo se pueden utilizar estos procedimientos almacenados en una aplicación web hecha con ASP.NET. Descubrimos que podemos utilizar la clase SqlCommand de ASP.NET para ejecutar los procedimientos almacenados en la ba...

6. Finalización del Demo y uso de la base de datos final

Día: 21/02/2023 Desde:  5:00 pm / Hasta: 6:38 pm Tiempo transcurrido: 1 hora 38 minutos Este día se destinó a la continuación de la interfaz gráfica en la aplicación web correspondiente al Demo, bajo esta guía se terminó la funcionalidad del botón que insertaba el nuevo empleado a la base de datos, en el que incluso tomaba datos de dropdownlists, lo cual nos sirvió como un conocimiento que guardamos para aplicarlo a la segunda tarea programada. Además se reordenó el código para que fuera más organizado y se le añadiera mantenibilidad al software. Pero al continuar la guía que ambos estábamos siguiendo nos dimos cuenta que lo demás de la guía no nos iba a ser de ayuda por ahora porque aplicaba muchas otras funcionalidades a la base que aún no ocupábamos, así que guardamos el video y decidimos trabajar en conjunto para aplicar todo lo aprendido en el verdadero proyecto con lo visto hasta el momento. En este punto decidimos diseñar la base de datos que funcionaría como la versión ofic...

5. Trabajo en el demo - Actualización del connection string

Día: 20/02/2023 Desde:  9:20 pm / Hasta: 10:38 pm Tiempo transcurrido: 1 hora 18 minutos En este avance decidimos seguir con el desarrollo del Demo, recordando que el Demo nos estaba generando problema con respecto a la autenticación. Cambiamos el connection string y al comprobar en la interfaz ya no estaba dando ese problema continuamos con el siguiente elemento. Procedimos a hacer esa misma conexión pero con las entradas de texto para poder insertar nuevos elementos en la tabla principal y ya esta vez tuvimos éxito a la primera ya que habíamos superado el problema de la autenticación. El gran problema con esta forma de programar el Demo es que infringía en las reglas propuestas por el profesor en clase, relacionadas con el SQL incrustado en capa lógica, por lo que esto se resolvería con stored procedures más adelante cuando ya programáramos la base de datos e interfaz correspondientes al proyecto. Aún en este punto nos costó la parte de introducir los datos tomados de un textbox ...

4. Demo para comprender los conceptos básicos relacionados con el entorno de desarrollo

Día: 20/02/2023 Desde:  8:12 pm / Hasta: 9:10 pm Tiempo transcurrido: 58 minutos Se inició el desarrollo del demo, para ello se tomaron en cuenta las recomendaciones del profesor a la hora de estructurar una base de datos. Primero se tomó en cuenta el propósito / contexto de los datos que se iban a almacenar en la base para así formalizar la tabla que se creó de forma gráfica con cada tipo de dato respectivo. Además se configuró el ID para que representara el primary key de la tabla y se organizara con números enteros autoincrementales, de esta forma el usuario no tendría acceso al valor del ID, este se relaciona con los elementos a lo interno de la base. Video el cual seguimos para desarrollar el Demo: https://www.youtube.com/watch?v=ORf1PiEdMik&t=1261s Además de esto se introdujeron datos coherentes a la tabla con los insert de forma que se practicara para lo que se mencionaba en el enunciado. Con los datos ya ingresados se introdujo en el desarrollo de la interfaz, ya que pr...

3. Análisis de las especificaciones del proyecto - Planeamiento y metodología

Día: 20/02/2023 Desde:  2:06 pm / Hasta: 3:30 pm Tiempo transcurrido: 1 hora 24 minutos Este día nos propusimos analizar la especificación total del proyecto y plantear una metodología para poder desarrollar todo lo solicitado en el enunciado. Establecimos que inicialmente se tenía que revisar las estructuras de las bases de datos vistas en clase para poder tener un esquema en el cual basarse, pero llegamos a la conclusión de que necesitábamos un ejemplo claro de un proyecto similar al que teníamos que desarrollar para poder entender la magnitud de las tareas a ejecutar. Para ello, encontramos un video en Youtube que tenía un demo sencillo en donde se aplicaban varias de las especificaciones de nuestro proyecto con una interfaz web creada con ASP framework, usando este video como referencia teníamos propuesto entender las bases para crear una interfaz sencilla y aprender cómo conectarla con la base en SQL Server. Primero durante la reunión visualizamos el video sin ir desarrollando...

2. Corrección de errores en la instalación e implementación del proyecto

 Día: 19/02/2023 Desde:  6:20 pm / Hasta: 8:05 pm Tiempo transcurrido: 1 hora 45 minutos Este día al hacer pruebas nos percatamos de un detalle relevante respecto al servidor de AWS, notamos que el proyecto se volvía más tedioso al usar esta plataforma ya que no tenía una integración tan sencilla con Visual Studio (como en un inicio se había planeado trabajar para el proyecto) además de que la conexión era relativamente lenta y hacía más complicado el proceso de desarrollo y de pruebas. Por lo tanto, acudiendo a los apuntes de la clase se decidió que cada uno instalara SQL server en su computadora y mediante el SSMS se exportaran e importaran versiones reales de la base de datos. Este control de versiones se realizaría mediante Github y esto nos permitiría agilizar el proceso de desarrollo. El servidor iniciado en AWS se planteó ahora como un recurso de respaldo para guardar copias de seguridad de la base de datos funcional. Además de instalar SQL server, nos dimos cuenta que ...

1. Inicio de la primera tarea (Prueba de concepto)

Día: 19/02/2023 Desde: 1:25 pm / Hasta: 2:15 Tiempo transcurrido: 50 minutos Inicialmente se tomaron las decisiones sobre las plataformas que se iban a usar a lo largo del proyecto (Todos los avances mencionados a continuación se realizaron a lo largo de la segunda semana de clase). Con respecto a la base de datos se decidió que se usaría un servidor de AWS, para lograr esto se usó una cuenta gratuita y se añadió otro grupo de seguridad para que admitiera el acceso remoto desde el Management Studio. Además, para poder manipular las bases de datos del servidor se hizo uso de MSSQL (Microsoft Management Studio SQL). En el siguiente ejemplo se puede ver cómo ya se creó la primera tabla de Artículos solicitada por el proyecto. Se creó el repositorio que almacenará todos los archivos del proyecto en GitHub, se puede tener acceso a esto a través del siguiente enlace: https://github.com/unpluggedREVAN/Prueba_de_Concepto_Bases Por otro lado se modificó la instalación del Visual Studio con ...