Entradas

Mostrando las entradas de 2019

La ventana de la centuria (o el posible problema del 2020)

Imagen
Hace más de 20 años, el mundo enfrentaba un galimatías: El Y2K o también conocido como "El problema del año 2000". El problema se refería a una situación particular de algunos programas y computadoras, donde las fechas (por limitaciones de espacio) se escribían como una secuencia de 6 números: 000000 (que podía significar: mmddaa, ddmmaa o aammdd, eso lo establecía el programador). Como puede verse, 2 números para referirse al año requería de que la computadora sumara 1900 para poder hacer una fecha válida. Así, 190998 podía significar 19 de septiembre de 1998 (una vez que la computadora sumara 1900). El problema con esta suma constante, es que las máquinas estaban llegando al borde del siglo, que terminaría en el año 2000, y que a la hora de tener una fecha como 190900, el sistema lo interpretaría como 19 de septiembre de 1900, y no de 2000 como debía de esperarse. Hay distintos problemas relacionados con esto y, en general, se relacionaban con problemas de cálculo

Los disipadores correctos

Imagen
Durante un buen tiempo, alrededor de unos seis meses, estuve utilizando un par de computadoras que ensamblé en gabinetes pequeños. Se trató de dos AMD Ryzen 5 2400G con 16GB de RAM y SSD M.2 de 256GB. La idea era que funcionaran para ciertas necesidades que yo tenía y utilizar algunos componentes que yo había conservado. Una de mis finalidades es que los mencionados equipos funcionaran de manera muy silenciosa. El problema era ése, que simplemente no funcionaban de manera silenciosa. Había momentos en que el ruido de los ventiladores era bastante evidente y eso me tenía algo molesto. Sin embargo, como bien dicen por allí, "herrero, azadón de palo" le di largas y largas al asunto, y en algún momento me puse a utilizar unos que tenía tanto de Cooler Master como de ThermalTake, y la diferencia fue prácticamente nula: El ruido seguía estando presente. Así, decidí que me haría de unos disipadores Wraith Stealth sin leds (la verdad, es que no necesito foquitos en mi máqui

Habilidades humanas para desarrolladores: El trato con la gente

Imagen
Cuando hablamos de los desarrolladores, prácticamente la idea que se viene a la mente es: "¡Háganse a un lado! Sólo quiero escribir código". Sin embargo, es muy importante tener en cuenta un detalle: No importa qué tanto le guste codificar, ello quedará al servicio de alguien. Es decir, quien utilizará el programa resultante de un frenético proceso de codificación será una persona. Hay quienes podrán argumentar que algunos códigos serán servicios sin interfaz humana o que lo que se estará codificando es alguna funcionalidad del sistema que no será usada por personas pero, al final, su función habrá sido realizada para satisfacer necesidades de automatización de personas. Así, antes de llenarse la cabeza de que uno, como desarrollador, no requiere tener interacción alguna con personas, será mejor que se detenga y analice nuevamente semejante idea: el resultado siempre quedará al servicio de alguna persona. Para ello echaremos mano de un concepto muy conocido en el ámbit

Normalización de bases de datos (Parte 6 y última): Quinta y sexta formas de normalización (5NF) (6NF)

Imagen
En los demás de la serie hemos ya analizado las formas de normalización hasta la 4a. Hoy veremos la quinta y la sexta formas de normalización (5NF y 6NF). Quinta forma de normalización La 5NF fue presentada por el Dr. Ronald Fagin en 1979 en una conferencia denominada "Formas normales y operadores de bases de datos relacionales". Una base de datos cumplirá con la quinta forma de normalización si satisface las siguientes condiciones: Que cumpla con la 4NF. No puede escindirse más sin pérdida. Para poder comprender mejor el concepto, veamos el siguiente ejemplo. Supongamos que tenemos una tabla que nos describa la siguiente declaración: "Si una empresa fabrica ciertos productos y un vendedor los vende, entonces el vendedor siempre venderá los productos de esa compañía". Para el caso, la tabla quedaría así: Tabla VEP Vendedor Empresa Producto V1 E1 Aspiradora V1 E1 Panera V1 E2 Tijeras de podar V1 E2 Aspiradora V2 E2 Panera V2 E2 Base de sombri

Normalización de bases de datos (Parte 5): Cuarta Forma de Normalización (4NF)

Imagen
Hasta ahora ya hemos andado el camino de la Primera Forma de Normalización (1NF), la Segunda Forma de Normalización (2NF), la Tercera Forma de Normalización (3NF) y la Forma de Normalización Boyce-Codd (BCNF). En esta ocasión vamos a analizar la Cuarta Forma de Normalización (4NF). Por lo general, cuando las bases de datos cumplen hasta con la 4NF ya están bastante bien normalizadas. Las siguientes formas de normalización se dan en circunstancias bastante especiales, pero, como en todo, es posible que ocurran. Para poderse cumplir, la 4NF debe satisfacer las siguientes condiciones: Debería cumplir con la Forma de normalización Boyce-Codd (BCNF) y, por ende, la 3NF. Y las tablas no deberían tener dependencias multivalor. Lo anterior significa que una tabla viola el estándar de la 4NF dado que genera redundancias innecesarias que pueden contribuir a tener datos inconsistentes. Para que, entonces, la tabla cumpla con la 4NF hay que escindirla en dos tablas. Cabe hacer notar que

Normalización de bases de datos (Parte 4): Tercera forma de normalización (3NF) y Forma de normalización Boyce-Codd (BCNF)

Imagen
En los anteriores de la serie hemos analizado las otras dos formas de normalización o formas normales para una base de datos. El día de hoy veremos qué es la tercera forma normal o 3NF. La 3NF fue diseñada para eliminar anomalías indeseables en los datos, reducir la necesidad de reestructurar con el paso del tiempo, hacer el modelo de datos más informativo y hacer que el modelo de datos sea neutral a distintos tipos de estadísticas de consultas. Cabe hacer notar que el Dr. Codd se dio cuenta posteriormente que la 3NF no lograba el primer punto, que es el de eliminar anomalías indeseables en los datos, por lo que desarrolló la forma normal Boyce-Codd para corregir las limitaciones de la 3NF. Para que una base de datos cumpla con la 3NF debe satisfacer los siguientes requerimientos: Debe cumplir con la segunda forma de normalización (2NF) No debe tener dependencias transitivas Dependencia transitiva Una dependencia transitiva es aquella donde un atributo no-primario depe

Normalización de bases de datos (Parte 3): Segunda forma de normalización (2NF)

Imagen
En el anterior de la serie vimos la Primera forma de normalización (1NF). Hoy nos enfocaremos en la Segunda forma de normalización (2NF) de una base de datos, misma que, como ya indiqué, fue presentada por el Dr. Codd en 1971. Para que una base de datos cumpla con la 2NF debe satisfacer dos condiciones: Que cumpla con la 1NF Que no exista dependencia parcial Para entender qué es esto de la dependencia parcial, primero vamos a comprender qué es una dependencia. Dependencia La dependencia está totalmente relacionada con el concepto de Clave principal o Llave primaria (o Primary Key). Como es sabido en las bases de datos, una Clave principal es un campo que identifica de manera única a cada registro de una tabla. La idea de una Clave principal es que sea única, que no se repita en la tabla y que sirva como identificador exclusivo de un registro. Por ejemplo, si tenemos una tabla: IDCliente es el campo que se usa para identificar de manera única a cada uno de l

Normalización de bases de datos (Parte 2): Primera forma de normalización (1NF)

Imagen
La primera forma de normalización (1NF) de las bases de datos fue presentada por vez primera en 1970 por el Dr. Edgar F. Codd, un científico inglés de la computación que trabajaba para IBM en los sistemas de administración de bases de datos relacionales. La segunda (2NF) y tercera (3NF) formas de normalización se presentaron en 1971. Al final, los Dres. Edgar F. Codd y Raymond F. Boyce presentaron la forma de normalización Boyce-Codd en 1974 que comprendió cinco formas de normalización, mismas que, con el paso del tiempo, se han ido puliendo y aumentando. Hoy son hasta 6 formas de normalización con algunos addendums. Durante estos artículos asumiré que ya se sabe qué es un campo, qué es un registro, qué es una tabla, qué son las relaciones y qué son las bases de datos. Ahora bien, para cumplir con la primera forma de normalización se necesita cumplir con cuatro reglas: Cada columna debe tener un nombre único. Una columna debe contener valores del mismo tipo. Cada columna

Normalización de bases de datos (Parte 1)

Imagen
Uno de los trabajos más exigentes en lo que se refiere a las bases de datos se orienta a su adecuado diseño y, en caso de que ya exista, en su limpieza (que lleva muchísimo tiempo). Existe una miríada de libros publicados respecto al diseño de bases de datos, pero aquí nos enfocaremos en la normalización . La normalización es un proceso de refinamiento de las estructuras de la base de datos de manera que se pueda mejorar la rapidez con la que pueden accederse a los datos, así como mejorar su integridad. Esto es un proceso meticuloso y, a veces, laborioso. En muchas ocasiones se requiere decidir entre tener integridad en la base de datos y rapidez en el acceso. Ya de por sí la creación de una base de datos trae consigo descubrir los elementos que se requieren para, luego, crear un conjunto de tablas que los contenga. La definición de campos y tablas establecerán la estructura de la base de datos. Esta estructura afectará el desempeño de las aplicaciones. Algunos diseños podrían mej

Equipos de cómputo personal en la productividad

Imagen
Hoy, estimado lector, quiero presentarle mi libro: "Equipos de cómputo personal en la productividad. Ed. 2019" Este libro está disponible en formato de Amazon Kindle en el sitio de A mazon México  e impreso en el sitio de Amazon US .  La finalidad de este libro es colaborar con Usted a que pueda elegir la PC correcta para sus necesidades productivas para todo tipo y tamaño de empresas. Es totalmente agnóstico a marcas y le ofrece una guía para salir de la vorágine mercadológica de las empresas de cómputo.  Este libro consta de 16 capítulos y 7 apéndices que están divididos en tres partes: En la Parte 1 encontrará los capítulos 1 a 7, donde comprenderá las generalidades de los equipos PC (Capítulo 1) y los componentes de la PC (Capítulo 2). También verá algunos mitos (Capítulo 3) que hay alrededor del cómputo personal. En el Capítulo 4 estudiará someramente algunas leyes y principios del cómputo, así como referencias de otros autores en este mismo tema. En el Cap