What is Database Normalization?

Kirill Eremenko
Tutorial de vídeo gratuito de Kirill Eremenko
Data Scientist
4,5 calificación del instructor • 112 cursos • 1.386.159 estudiantes

Descripción de la clase

In this tutorial, you will learn why you should know how the databases design and why it is essential for data scientists

Para obtener más información, realiza el curso completo

SQL & Database Design A-Z™: Learn MS SQL Server + PostgreSQL

Learn Both SQL Server & PostgreSQL By Doing. Enhance Your Data Analytics Career With Real World Data Science Exercises

12:31:26 de vídeo bajo demanda• Actualizado Junio 2020

  • Create basic SQL Queries
  • Create advanced SQL Queries
  • Create Left, Right, Inner and Full Outer joins
  • Create new tables, alter existing tables in Databases
  • Normalize Databases
  • Understand database design
  • Understand first, second and third normal form schemas
Español [automático] Hola y bienvenidos de nuevo al curso sobre bases de datos. Hoy tengo una sección muy emocionante preparada para ti, estamos hablando del diseño de bases de datos y específicamente vamos a profundizar en el ámbito de la normalización. Tengo preparadas algunas diapositivas muy emocionantes y no puedo esperar para comenzar. ¿Estás emocionado? Saltemos directamente a eso. Todo bien. Entonces, ¿qué es la normalización? ¿Por qué es tan importante? Bueno, la definición de normalización según Wikipedia es el proceso de organizar las columnas o los atributos y tablas o las relaciones de una base de datos relacional para reducir la redundancia de datos y mejorar la integridad de los datos. Muy bien, esa es una definición bastante amplia y promete mucho, pero qué significa realmente y qué hace realmente. Bien, a lo largo de la sección, vamos a tratar de comprender cómo podemos estructurar mejor nuestras bases de datos para eliminar el potencial de cualquier anomalía de inserción y eliminación de actualizaciones y también simplemente acelerar el proceso de la forma en que se utilizan estas bases de datos. Así que echemos un vistazo a un ejemplo trivial rápido que nos mostrará o nos guiará en la dirección correcta. Así que aquí tenemos una mesa y esta es una tabla de artículos que se venden en una tienda de ropa y tenemos jeans cortos y pantalones largos que se venden. Los tenemos en diferentes colores y precios e impuestos. Entonces, ¿puedes ver algo malo con esta tabla? Bueno, primero que nada de inmediato podemos ver que esta tabla en la columna de colores tiene colores duplicados correctamente, por lo que a veces tiene solo un valor. O en este caso, y todas las filas tienen dos valores en lugar de uno, por lo tanto, amarillo, verde, azul, negro, amarillo, verde y azul marrón, por lo que existe la posibilidad de error. Por lo tanto, queremos un solo valor en nuestras columnas en una base de datos en lugar de que a veces tengamos dos valores, a veces tengamos uno, a veces tengamos tres. Entonces, de inmediato podemos ver que eso no se siente bien, que algo podría salir mal allí. Entonces, ¿qué más podemos ver que podría estar mal aquí? Bueno, si miramos de cerca, veremos que estas dos filas son idénticas. Correcto. Y en una base de datos no queremos tener filas idénticas porque la segunda fila en este caso no agrega ningún valor. Esas son algunas cosas obvias y en la sección definitivamente aprenderemos cómo entender la teoría y este diseño detrás de cómo queremos deshacernos de estos problemas obvios de la tabla. Pero en realidad hay algunas otras cosas sobre esta tabla que no son tan obvias pero que también podrían mejorarse. Digamos que estamos operando bajo la condición de que el color no afecte el precio de ninguna manera. Entonces, el color de esta prenda en esta tienda no cambia el precio de esos amarillo verde negro o cualquier otro color que no importe. Y digamos que queremos agregar un nuevo rol a esta tabla. Correcto. Entonces, digamos que queremos agregar una nueva fila y queremos agregar jeans que son morados. Ahora, cuando queremos tener esta nueva fila, lo que tendremos que hacer es tener que completar las cuatro columnas que tendremos que complete el artículo y escriba jeans del color que es morado, luego tendremos que completar el precio correctamente y tendremos que completar el impuesto. Pero la cuestión es que el color no afecta el precio y, por lo tanto, no afecta los impuestos. Ya sabemos cuál debería ser el precio y el impuesto porque tenemos una fila de columnas. Con jeans ya dentro. Entonces tenemos una fila, la segunda fila tiene genes y, por lo tanto, sabemos que el precio es 35 y los impuestos $ 3 50. Y, por lo tanto, cuando llenamos esta información manualmente o actualizamos esta información a medida que agregamos estas filas esta quinta fila a nuestra tabla. Hay dos cosas que suceden. En primer lugar, estamos duplicando información, por lo que estamos realizando trabajos que no son necesarios. Esta información ya está presente en nuestra base de datos. No tiene sentido que no tengamos ningún propósito al escribir esa información y es un trabajo extra lo que estamos realizando, lo que lleva tiempo, recursos y, en general, ralentiza el proceso. Y lo segundo que sucede es que existe la posibilidad de error. Bien, ya sabemos que el precio es de treinta y cinco dólares y el impuesto es de 3 50 para los jeans. Pero en este caso al escribir esta fila en ¿Qué pasa si especificamos el precio incorrecto o la tasa impositiva incorrecta? ¿Por qué crear este potencial adicional de error? Y ese es otro tipo de cosas que no son tan obvias en la base de datos y es algo que veremos en toda la sección cómo entender estas cosas y cómo estructurar y diseñar sus bases de datos de una manera que evite que estas cosas sucediendo. Entonces, la pregunta obvia aquí es por qué Kirill, por qué necesitamos aprender sobre el diseño de bases de datos. Somos científicos de datos, este es el ámbito de los administradores de bases de datos e ingenieros de datos y arquitectos de datos y custodios de los datos. Bueno, la razón de eso es bastante simple. Entonces, en realidad hay un par de razones. Antes que nada, aquí te daré cuatro razones. En primer lugar, al aprender sobre el diseño de bases de datos y al pasar por esta sección del curso, definitivamente no tiene que pasar por la sección, por supuesto, puede omitirlo por completo y probablemente tendrá una buena carrera en ciencia de datos. Pero conocer estas cosas realmente impulsará su carrera y lo ayudará a ser un científico de datos mucho más competente y por qué es eso. Bueno, en primer lugar, comprenderá por qué otras bases de datos con las que está trabajando se han diseñado de cierta manera. Tendrás una mejor comprensión no solo de cómo funcionan, sino exactamente por qué sucedió eso y cuál es el pensamiento que tuvo que ver con eso. Lo segundo es que comprenderá cómo navegar por esas bases de datos. Entonces, incluso con solo ser presentado a una nueva base de datos de inmediato, usted conoce algunos trabajos exploratorios muy breves. Podrá saber qué tipo de estructura tiene esta base de datos y, por lo tanto, podrá navegarla mejor porque conocerá todas estas plantillas y las cubriremos. Y a continuación, este es el punto número tres, podrá comprender la vulnerabilidad potencial y las fallas en las bases de datos con las que está trabajando. Correcto. Y así sabrá qué buscar, podrá hacer recomendaciones sobre cómo arreglar esas cosas y eso es una habilidad adicional que no muchas personas podrían hacer. Por lo tanto, las personas que no saben estas cosas no podrán entender y hacer esas recomendaciones. Y finalmente, el punto número 4, podrá comunicarse de manera efectiva con los custodios de datos, ya sean administradores de bases de datos, arquitectos de bases de datos, ingenieros de bases de datos y, básicamente, cualquier persona que esté detrás del diseño de la base de datos y que trabaje con la base de datos a diario. Por lo tanto, una comunicación efectiva lo ayudará a obtener resultados más rápido. Así que ahí van, esas son algunas razones sustanciales por las que realmente deben pasar por esta sección y aprender estas cosas. Además, en realidad es muy divertido, así que estoy muy emocionado de compartir este conocimiento contigo, así que si estás a bordo espero verte en el próximo tutorial Y hasta la próxima vez, feliz análisis.