Normalizacion y Joins en SQL

Page 1

// NORMALIZACIÓN Y JOINS OPTIMIZANDO LA GESTIÓN DE BASE DE DATOS JUNIO 2023 Ventajas y Desventajas // Pagina 09 Implementación en SQL // Pagina 10 Ejercicios // Pagina 12 Normalización de Bases de Datos // Pagina 03 Joins en SQL // Pagina 05 Características // Pagina 08 Alumno: José Martinez C.I: 25.074.640

Normalización de bases de datos - 03

La normalización de bases de datos es un proceso esencial para diseñar y organizar la estructura de una base de datos de manera eficiente y libre de redundancias.

//NORMALIZACION Y JOINS

Características - 08

La normalización y el uso adecuado de Joins tienen características distintivas que los convierten en herramientas poderosas para la gestión de bases de datos. En esta sección, exploraremos las principales características de estos conceptos.

Ventajas y Desventajas - 09

Como con cualquier concepto en el ámbito de la gestión de bases de datos, la normalización y los Joins tienen ventajas y desventajas.

Ejercicios propuestos - 08

Sección de Ejercicios de Normalización de Base de Datos y Sentencias SQL Joins

Joins

en SQL - 05

Las sentencias SQL Joins nos permiten combinar datos de múltiples tablas en una sola consulta, facilitando el acceso a información relacionada en una base de datos.

Implementación - 10

La aplicación práctica de la normalización y los Joins se realiza a través del lenguaje SQL (Structured Query Language). En esta sección, exploraremos cómo implementar estos conceptos utilizando sentencias SQL.

JUNIO 2023

Normalización de bases de datos

La normalización en bases de datos es un proceso de diseño de bases de datos que tiene como objetivo reducir la redundancia de datos y evitar la inconsistencia y la duplicación de información.

Se trata de una técnica que permite organizar la información en una estructura lógica y coherente, de modo que cada pieza de información esté almacenada en un único lugar y pueda ser accedida y actualizada de manera eficiente. Basandose en una serie de reglas y principios que garantizan la integridad y la consistencia de los datos, lo que facilita su gestión y análisis.

Objetivos y beneficios de la normalización

Los objetivos principales de la normalización en bases de datos son:

❖ Reducir la redundancia de datos: La normalización busca evitar la duplicación de información en una base de datos, lo que puede reducir el espacio de almacenamiento necesario y mejorar la eficiencia en la gestión de los datos.

registros de la base de datos.

❖ Mejorar la integridad de datos: La normalización busca asegurar que los datos sean precisos y completos, lo que facilita su uso y análisis posterior.

Los beneficios de la normalización incluyen:

❖ Mayor eficiencia en la gestión de la base de datos: La normalización facilita la gestión de la base de datos al reducir la redundancia de datos y garantizar la integridad y la coherencia de los mismos.

❖ Mayor facilidad de mantenimiento: Facilita el mantenimiento de la base de datos, ya que evita la necesidad de actualizar la misma información en múltiples lugares.

❖ Mayor precisión y calidad de los datos: Ayuda a garantizar que los datos sean precisos y completos, lo que mejora la calidad de la información disponible en la base de datos.

❖ Evitar la inconsistencia de datos: La normalización busca garantizar que los datos sean consistentes, es decir, que no existan inconsistencias o contradicciones entre los distintos

❖ Mayor flexibilidad y escalabilidad: Permite una mayor flexibilidad y escalabilidad de la base de datos, ya que facilita la adición y eliminación de registros y atributos sin afectar la integridad y la coherencia de los datos existentes.

3

Niveles de normalización

Normalización de bases de datos

debe haber más de una forma de representar la información en la tabla.

Existen varios niveles de normalización en bases de datos, cada uno de los cuales se refiere a un conjunto de reglas específicas que deben cumplirse para garantizar la integridad y la coherencia de los datos. Los niveles de normalización más comunes son:

❖ Primera Forma Normal (1NF): En este nivel, se deben eliminar las repeticiones de grupos de datos y los valores multivalor. Cada atributo debe contener solo valores atómicos (indivisibles).

❖ Segunda Forma Normal (2NF): En este nivel, se deben eliminar las dependencias parciales. Es decir, cada atributo de una tabla debe depender completamente de la clave primaria y no de una parte de ella.

❖ Tercera Forma Normal (3NF): En este nivel, se deben eliminar las dependencias transitivas. Es decir, cada atributo debe depender solo de la clave primaria y no de ningún otro atributo.

❖ Cuarta Forma Normal (4NF): En este nivel, se deben eliminar las dependencias múltiples. Es decir, no

❖ Quinta Forma Normal (5NF): Este nivel se refiere a la eliminación de las dependencias de unión. Es decir, no debe haber más de una forma de combinar las tablas para obtener la información deseada.

La normalización de datos también es una oportunidad para abordar anomalías que podrían enturbiar su análisis. Por ejemplo, pueden aparecer anomalías con el tiempo debido a la inserción, eliminación o alteración de datos. Una vez se encuentren estas anomalías y se descubra cómo solucionarlas, la data finalmente harán más por usted.

La clave para recordar es que el beneficio final no es la normalización de datos en sí misma. Más bien, las empresas deben centrarse en los beneficios que se encuentran detrás de la acción. Sin pasar por este proceso, muchos de los datos valiosos que recopila nunca se utilizarán, al menos no en todo su potencial. La normalización de los datos es una excelente manera de deshacerse de los datos innecesarios o inexactos que afectan las perspectivas generales.

4

INNER JOIN

Es una cláusula utilizada en SQL que combina filas de dos o más tablas basándose en una condición de igualdad entre las columnas especificadas. En otras palabras, INNER JOIN se utiliza para obtener solo las filas que tienen una correspondencia en ambas tablas. Si no hay una correspondencia entre las tablas, las filas no se incluirán en los resultados.

Tipos de Joins en SQL

Los JOINs en SQL sirven para combinar filas de dos o más tablas basándose en un campo común entre ellas, devolviendo por tanto datos de diferentes tablas. Un JOIN se produce cuando dos o más tablas se juntan en una sentencia SQL.

Los JOINs o combinaciones de SQL permiten que nuestros sistemas de administración de base de datos relacionales estén bien "relacionados".

"clientes" tiene una columna "id_cliente" y la tabla "pedidos" tiene una columna "id_cliente" que se utiliza para identificar al cliente que realizó cada pedido.

Para obtener una lista de todos los pedidos realizados por cada cliente, podríamos utilizar la siguiente consulta:

SELECT clientes.nombre, pedidos.producto

Un ejemplo de INNER JOIN se vería así:

Supongamos que tenemos dos tablas en una base de datos, una tabla llamada "clientes" y otra tabla llamada "pedidos". La tabla

FROM clientes

INNER JOIN pedidos

ON clientes.id_cliente = pedidos.id_cliente;

En este ejemplo básico, estamos seleccionando los nombres de los clientes y los productos de los pedidos correspondientes utilizando INNER JOIN para combinar las filas de las dos tablas basándonos en la igualdad de la columna "id_cliente". Esto nos dará como resultado una tabla que muestra el nombre de cada cliente y los productos que ha comprado.

Los JOINs nos permiten reconstruir de nuevo nuestras tablas de base de datos separadas en relaciones que impulsan nuestras aplicaciones.

Además de producir un conjunto de resultado combinado, otro uso importante de los JOINs es obtener información adicional contra la que podemos filtrar.

5

LEFT JOIN

Es una cláusula utilizada en SQL que combina filas de dos o más tablas, incluyendo todas las filas de la tabla de la izquierda (la primera tabla que aparece en la consulta) y solo las filas de la tabla de la derecha (la segunda tabla que aparece en la consulta) que tienen una correspondencia en la tabla de la izquierda, basándose en una condición de igualdad entre las columnas especificadas.

Un ejemplo de LEFT JOIN se vería así:

Tenemos dos tablas en una base de datos, una tabla llamada "empleados" y otra tabla llamada "departamentos". La tabla "empleados" tiene una columna

"id_empleado" y la tabla "departamentos" tiene una columna "id_departamento" que se utiliza para identificar el departamento al que pertenece cada empleado.

Para obtener una lista de todos los empleados y el nombre de su departamento correspondiente (si tienen uno), podríamos utilizar la siguiente consulta:

SELECT empleados.nombre, departamentos.nombre_departame

RIGHT JOIN

Combina todas las filas de la tabla de la derecha (la segunda tabla que aparece en la consulta) con las filas correspondientes de la tabla de la izquierda (la primera tabla que aparece en la consulta), basándose en una condición de igualdad entre las columnas especificadas. Se utiliza para obtener todas las filas de la tabla de la derecha, independientemente de si tienen una correspondencia en la tabla de la izquierda, y solo las filas de la tabla de la izquierda que tienen una correspondencia con la tabla de la derecha.

Un ejemplo de RIGHT JOIN se vería así:

Tenemos dos tablas en una base de datos,

una tabla llamada "clientes" y otra tabla llamada "pedidos". La tabla "clientes" tiene una columna "id_cliente" y la tabla "pedidos" tiene una columna "id_cliente" que se utiliza para identificar al cliente que realizó cada pedido.

Para obtener una lista de todos los pedidos realizados por cada cliente, podríamos utilizar la siguiente consulta:

SELECT vendedores.nombre, ventas.producto

nto
FROM empleados
empleados.id_departamento
departamentos.id_departamento; 6
LEFT JOIN departamentos ON
=
= ventas.id_vendedor;
FROM vendedores RIGHT JOIN ventas ON vendedores.id_vendedor

FULL OUTER JOIN

Es una cláusula utilizada en SQL que combina todas las filas de ambas tablas (la tabla de la izquierda y la tabla de la derecha) basándose en una condición de igualdad entre las columnas especificadas. FULL OUTER JOIN obtiene todas las filas de ambas tablas, incluyendo aquellas que no tienen correspondencia en la otra tabla..

Un ejemplo de FULL OUTER JOIN se vería así:

Tenemos tres tablas en una base de datos: "clientes", "pedidos" y "productos". La tabla "clientes" tiene una columna "id_cliente", la tabla "pedidos" tiene una columna "id_pedido" y una columna "id_cliente" que se utiliza para identificar al cliente que realizó cada pedido, y la tabla "productos" tiene una columna "id_producto" y una columna "id_pedido" que se utiliza para identificar el producto que se incluyó en cada pedido.

Para obtener una lista de todos los clientes, sus pedidos correspondientes (si los tienen) y los productos que se incluyeron en cada pedido, incluyendo aquellos clientes que no hayan realizado ningún pedido, aquellos pedidos que no estén asociados a ningún cliente y aquellos productos que no estén asociados a ningún pedido, podríamos utilizar la siguiente consulta:

SELECT clientes.nombre, pedidos.fecha, productos.nombre_producto

FROM clientes

FULL OUTER JOIN pedidos

ON clientes.id_cliente = pedidos.id_cliente

FULL OUTER JOIN productos

ON pedidos.id_pedido = productos.id_pedido;

En este ejemplo estamos seleccionando los nombres de los clientes, la fecha de los pedidos y los nombres de los productos incluidos en cada pedido utilizando FULL OUTER JOIN para combinar todas las filas de las tres tablas basándonos en la igualdad de las columnas "id_cliente" e "id_pedido". Esto nos dará como resultado una tabla que muestra el nombre de cada cliente, la fecha de cada pedido y los productos que se incluyeron en cada pedido, incluyendo aquellos clientes que no hayan realizado ningún pedido, aquellos pedidos que no estén asociados a ningún cliente y aquellos productos que no estén asociados a ningún pedido.

7

Características de la Normalización y Joins

Características de la Normalización

❖ La normalización es un proceso de diseño de bases de datos relacionales que tiene como objetivo reducir la redundancia y mejorar la integridad de los datos.

❖ La normalización se divide en varias formas normales, desde la 1NF hasta la 5NF, cada una con un conjunto de reglas específicas que deben cumplirse para que una tabla esté en esa forma normal.

❖ La normalización se utiliza para eliminar la redundancia de datos, lo que puede mejorar el rendimiento de la base de datos y reducir la posibilidad de errores de datos.

❖ La normalización también puede ayudar a garantizar la integridad de los datos al evitar la inserción de datos duplicados o inconsistentes.

Caracteristicas de los JOINS

❖ Los joins son una forma de combinar datos de dos o más tablas en una consulta de SQL.

❖ Los joins se utilizan para combinar filas de dos o más tablas basándose en una condición de igualdad entre las columnas especificadas.

❖ Los tipos de joins más comunes son INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL OUTER JOIN.

❖ Los joins se utilizan para seleccionar datos de múltiples tablas y mostrarlos en una sola tabla, lo que puede simplificar el proceso de consulta y análisis de datos.

❖ Los joins también pueden ser utilizados para realizar cálculos y agregaciones en conjuntos de datos combinados de múltiples tablas.

8

Ventajas:

Ventajas y Desventajas

❖ Puede dificultar el acceso a los datos en algunas consultas complejas, ya que puede requerir la combinación de múltiples tablas.

JOINs

Normalización

❖ Reduce la redundancia de los datos, lo que resulta en un uso más eficiente del espacio de almacenamiento y una mayor consistencia de los datos.

❖ Proporciona una estructura de datos clara y coherente, lo que facilita la comprensión y el mantenimiento de la base de datos.

❖ Ayuda a garantizar la integridad de los datos, al evitar la inserción de datos duplicados o inconsistentes.

❖ Permite un mejor rendimiento de la base de datos al evitar la necesidad de actualizar datos en varias tablas.

Desventajas:

❖ Puede resultar en un mayor tiempo y esfuerzo de diseño, ya que requiere la identificación de las dependencias funcionales y la división de las tablas en múltiples tablas más pequeñas.

❖ Puede aumentar la complejidad de la base de datos, lo que puede dificultar su gestión y mantenimiento.

Ventajas:

❖ Permiten combinar datos de varias tablas, lo que facilita la realización de consultas complejas y la obtención de información detallada.

❖ Permiten realizar cálculos y agregaciones en conjuntos de datos combinados de múltiples tablas.

❖ Permiten mostrar los datos de una manera coherente y fácilmente comprensible.

Desventajas:

❖ Pueden afectar negativamente el rendimiento de la base de datos, especialmente en consultas que involucran grandes conjuntos de datos y múltiples joins.

❖ Requieren una comprensión sólida de la estructura de la base de datos y de las relaciones entre las tablas para poder escribir consultas efectivas.

❖ Pueden ser propensos a errores si no se especifican correctamente las columnas que se utilizan para combinar las tablas.

9

Implementación de la Normalización y Joins en SQL

La normalización en SQL implica organizar una base de datos relacional de manera eficiente y sin redundancias. Esto se logra mediante la creación de tablas separadas para cada tipo de entidad y asegurando que los datos estén correctamente relacionados a través del uso de claves primarias y foráneas.

Para implementar la normalización en SQL, se deben seguir los siguientes pasos:

1. Identificar las entidades: Determine las distintas entidades o tipos de objetos que estarán presentes en su base de datos.

2. Crear tablas individuales: Cree una tabla separada para cada entidad identificada anteriormente. Defina las columnas adecuadas para almacenar los atributos relevantes para cada entidad.

3. Establecer relaciones entre tablas: Utilice claves primarias y foráneas para establecer relaciones entre las diferentes tablas. Asegúrese de que estas claves estén correctamente definidas y sean únicas dentro de cada tabla.

4. Eliminar redundancias: Verifique si hay redundancia en sus datos y elimínela dividiendo la información repetitiva en otras tablas relacionadas.

5. Normalizar aún más si es necesario: Si es necesario, aplique técnicas adicionales de normalización, como segunda forma normal (2NF), tercera forma normal (3NF) o formas normales superiores, según sea apropiado para su caso específico.

6. Para implementar la normalización en SQL, se deben seguir las reglas para cada forma normal, desde la 1NF hasta la 5NF.

Para implementar la normalización en SQL, debemos seguir las reglas para cada forma normal desde la 1NF hasta la 5NF. Aquí hay una descripción de estas formas normales y cómo aplicarlas:

Primera Forma Normal (1NF):

❖ Cada tabla debe tener una clave primaria única.

❖ No deben haber duplicados en ninguna fila o columna.

Para cumplir con la 1NF, asegúrese de que cada tabla tenga una clave primaria definida correctamente y que no haya duplicados en los registros.

Segunda Forma Normal (2NF):

❖ Cumple con la 1NF.

❖ Todos los atributos no clave dependen completamente de toda la clave primaria.

Para cumplir con la 2FN, si tiene tablas con claves compuestas, asegúrese de que todos los atributos no clave dependan completamente de toda la clave primaria. Si es necesario, descomponga estas tablas en tablas separadas para evitar redundancias.

Tercera Forma Normal (3NF):

❖ Cumple con la 2FN.

❖ Los atributos no clave no deben depender transitivamente de ninguna otra columna no clave.

Para cumplir con la 3FN, asegúrese de que los atributos no clave sean independientes entre sí y solo dependan directamente de las claves primarias.

10

Cuarta Forma Normal (4NF):

❖ Cumple con la 3FN

❖ Los conjuntos multivaluados se tratan como entidades separadas relacionadas por sus propias claves primarias. Si tiene conjuntos multivaluados en su base de datos relacional, puede considerar dividirlos en entidades separadas y establecer relaciones utilizando claves foráneas adicionales según sea necesario para alcanzar el 4NF.

Quinta Forma Normal (5NF):

❖ Cumple con la 4NF.

❖ Las dependencias de unión se tratan como relaciones separadas relacionadas por sus propias claves primarias.

Si tiene dependencias de unión en su base de datos, puede considerar dividirlas en relaciones separadas y establecer relaciones utilizando claves foráneas adicionales según sea necesario para alcanzar el 5NF.

Los Joins son utilizados cuando se necesita combinar información proveniente de varias tablas relacionadas dentro de una consulta SQL.

Para implementar joins en SQL, puedes seguir los siguientes pasos:

1. Comprende los diferentes tipos de joins disponibles en SQL. Algunos de los tipos comunes de joins son:

❖ INNER JOIN: Devuelve los registros que tienen valores coincidentes en ambas tablas.

❖ LEFT JOIN: Devuelve todos los registros de la tabla izquierda y los registros coincidentes de la tabla derecha.

❖ RIGHT JOIN: Devuelve todos los registros de la tabla derecha y los registros coincidentes de la tabla izquierda.

❖ FULL JOIN: Devuelve todos los registros cuando hay una coincidencia en cualquiera de las tablas.

2. Escribe tu consulta SQL utilizando la sintaxis adecuada para el tipo de join que deseas utilizar.

3. Asegúrate de que las columnas utilizadas en la condición de join tengan el mismo nombre o sean compatibles en términos de tipo de datos. Si los tipos de datos no son idénticos, es posible que debas convertir explícitamente el tipo de datos utilizando la función CAST.

4. Verifica que las tablas en las que estás realizando el join tengan una relación lógica establecida mediante una clave extranjera. Esto asegurará que los registros se combinen correctamente.

Los joins en SQL son una herramienta poderosa para combinar datos de múltiples tablas. Asegúrate de comprender bien los diferentes tipos de joins y cómo utilizarlos en tus consultas para obtener los resultados deseados.

11

Insertamos datos en la tabla clientes

EJERCICIO Joins

Creamos las tablas

Realizamos las operaciones Joins

12

Juego Interactivo

(Sopa de letras)

13

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.