Primera Entrada de la Bitácora (4/20/26)

Hora de Inicio: 3:07 pm 4/20/26

Hora de Fin: 6:15 pm 4/20/26

Cantidad de horas trabajadas: ~2 (no fueron las 3 completas porque fui a cenar como a las 5)

Creé el nuevo blog e invité a mi compañero para registrar nuestro progreso en el desarrollo de esta segunda tarea programada.

De forma provisional copié los archivos de la tarea programada anterior para ahorrar el tiempo de hacer la estructura básica del programa y creé el repositorio de GitHub (https://github.com/kaleb-lizano/tp2bd1).

Creé el archivo con los datos de XML, copiando y pegando la información dada por el profesor en el documento del proyecto, aunque al pegarlo había algunos errores de formato, así que los arreglé y le di el formato de XML:


Posteriormente me dediqué a revisar el documento respectivo para la segunda tarea programada, y decidí que lo mejor sería hacer primero el tema de la base de datos, entonces primero hice la base de datos en SSMS.


Y finalmente lo que hice fue hacer los respectivos scripts para crear las tablas.

No estaba muy seguro sobre cómo almacenar la información de los IP, así que lo investigué y parece que lo recomendado (según este post de Stack Overflow t sql - Datatype for storing ip address in SQL Server - Stack Overflow) es binary(4) para IPv4, que es el tipo de IP que viene en el XML con datos, pero luego se crea una función para poder obtener la información, y en general parece ser un poco más complejo de lo necesario para la tarea, y además el profesor menciona en el documento que no hay que usar expresiones o estatutos SQL que el profesor no haya usado, así que en general prefiero no arriesgarme, y en otras respuestas en el mismo post de Stack Overflow dicen que 128 bits, así que eso fue lo que decidí usar.


Tampoco estoy muy seguro de la cantidad de caracteres para cosas como contraseñas o la descripción de la tabla Error. De momento puse varchar(128) para la contraseña y varchar(256) para la descripción del error ya que estas descripciones parecen ser bastante largas en los datos del XML, y para el documento de identidad decidí usar varchar(16) ya que es la potencia de dos más pequeña con la capacidad de almacenar una cédula completa (aunque en los datos del XML son números incluso más pequeños), y según Google las identificaciones más largas son las de la India, de 12 dígitos, así que varchar(16) funcionaría incluso en un caso así.

Por otra parte, para SaldoVacaciones decidí usar decimal(4,2) provisionalmente ya que me parece irrealista que alguien pueda tener más de 100 días de vacaciones, al menos en mi experiencia es muy extraño que permitan que un empleado llegue a tener tantos días de vacaciones, y CREO recordar que el profesor había dicho que sí tenía sentido que se pueda tener medio día de vacaciones, aunque es algo que revisaré cuando repase las clases pasadas.

Para la columna EsActivo me basé nuevamente en una pregunta de Stack Overflow (database - How to create a yes/no boolean field in SQL server? - Stack Overflow) en la que se menciona que BIT se utiliza como datatype para columnas de sí o no.

En fin, en general me basé en la información del XML para seleccionar los datatypes y la longitud de los mismos, y subí el progreso al repositorio de GitHub.

Comments

Popular posts from this blog

Sexta Entrada de la Bitácora (24/4/26)

Quinta Entrada de Bitácora (24/4/26)

Cuarta Entrada de la bitácora (21/4/26)