Entradas

Mostrando las entradas de marzo, 2019

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