Base de Datos- Politécnico Santiago Mariño

Page 6

DATOS

OPTIMIZA TU BD

Logra mejorar el rendimiento de tus consultas con los mejores tips

COMIENZA A SIMPLIFICAR TU BD

Usa las mejores técnicas para simplificar tu base de datos

TOP

SENTENCIAS

JOIN www.basededatos.com

Conoce las tendencias y el uso de las sentencias joins

JUN 2023

Tabla de Contenido

¿

La ciencia de hoy es la tecnología del mañana BASE DE DATOS Sección 1 Sección 2
Qué es la normalización? Características de la normalización Razones para implementar la normalización Procedimiento a seguir para aplicar la normalización Formas normales de la normalización Desnormalización
¿
Qué son las sentencias joins? Características de las sentencias joins Ventajas de las joins Desventajas de las joins Tipos de sentencias joins 01 01 01 02 02 04 05 05 06 07 07 Sección 3 Ejercicio de Normalización Ejercicio de Sentencias Joins 10 12 Sección 4 Entretenimiento 18

NORMALIZACIÓN

El proceso de normalización consiste en verificar el cumplimiento de ciertas reglas que aseguran la eliminación de redundancias e inconsistencias, con el objetivo de conseguir tablas con una estructura óptima y eficaz. Esto se hace mediante la aplicación de ciertos procedimientos y en ocasiones se traduce en la separación de los datos en diferentes relaciones

Cada tabla debe tener su nombre único.

No puede haber dos filas iguales. No se permiten los datos duplicados.

Todos los datos en una columna deben ser del mismo tipo

CARACTERÍSTICAS RAZONES PARA IMPLEMENTARLAS

Estructurar los datos de forma que se puedan representar las relaciones pertinentes entre los datos.

Permitir la recuperación sencilla de los datos en respuesta a las solicitudes de consultas y reportes

Simplificar el mantenimiento de los datos actualizándolos, insertándolos y borrándolos.

Reducir la necesidad de reestructurar o reorganizar los datos cuando surjan nuevas aplicaciones

Evitar la redundancia de los datos.

Proteger la integridad de los datos

No abuses de la normalización, ya que esta crea más tablas al avanzar hacia formas normales más altas y puede llegar a afectar el rendimiento de las consultas

1

PROCEDIMIENTO A SEGUIR PARA APLICAR LA NORMALIZACIÓN

Identifica una clave primaria para la entidad sin normalizar (antes de iniciar el proceso).

Identifica y resuelve las violaciones a la primera forma normal (1FN), removiendo todos los grupos repetitivos

Identifica y resuelve las violaciones a la segunda forma normal (2FN), asegurándote de que cada atributo que no sea clave dependa de la totalidad de la clave primaria.

Identifica y resuelve las violaciones a la tercera forma normal (3FN), asegurándote de que cada atributo no clave no dependa de otro atributo que no sea la clave primaria.

FORMAS DE LA NORMALIZACIÓN DE RELACIONES

L a s f o r m a s n o r m a l e s s o n u s a d a s p a r a m e j o r a r e l d e s e m p e ñ o d e u n a b a s e d e d a t o s , c o n e l f i n d e e v i t a r r e d u n d a n c i a e n l a i n f o r m a c i ó n q u e c o n t i e n e ; y g e n e r a n d o c o n d i c i o n e s p a r a u n m e j o r d i s e ñ o a t r a v é s d e l a s i m p l i f i c a c i ó n a c u m u l a t i v a d e l a s d e p e n d e n c i a s e n t r e c o l u m n a s
2

Primera forma normal (1FN):

• Todos los atributos, valores almacenados en las columnas, deben ser indivisibles

• No deben existir grupos de valores repetidos.

• Los Campos no clave deben identificarse por la clave (Dependencia Funcional)

Segunda forma normal (2FN):

• Está en 1FN.

• No deben existir dependencias funcionales parciales(Todos los atributos deben de ser dependientes solo de la llave primaria).

Cabe recalcar que una tabla 1FN automáticamente está en 2FN si su clave primaria está basada solamente en un atributo simple.

Como norma general debemos volver a aplicar la primera y segunda forma normal, cuando: La primera sólo en el caso de que hallamos añadido nuevas columnas, la segunda siempre.

Tercera forma normal (3 FN):

• Está en 2FN

• No deben existir dependencias transitivas (las columnas que no forman parte de la clave primaria deben depender sólo de la clave, nunca de otra columna no clave).

Forma Normal de Boyce - Codd:

• La tabla se encuentra en FNBC si cada determinante, atributo que determina completamente a otro, es clave candidata Es decir, que una relación está en FNBC si cualquier atributo sólo facilita información sobre claves candidatas, y no sobre atributos que no formen parte de ninguna clave candidata.

Formalmente, un esquema de ón está en FNBC, si y sólo si, toda dependencia funcional en , se cumple que: es lave o clave Esto significa no deben existir elaciones entre atributos de las claves candidatas ta forma, todo esquema que e FNBC, está además en sin embargo, no todo ma que cumple con 3FN, n FNBC.

3

FORMAS NORMALES DE ALTO NIVEL

Cuarta forma normal (4 FN):

• Una tabla se encuentra en 4FN si, y sólo si, para cada una de sus dependencias múltiples no funcionales X->->Y, siendo X una super-clave que, X es o una clave candidata o un conjunto de claves primarias. En otras palabras, la cuarta forma normal (4FN) tiene por objetivo eliminar las dependencias multivaluadas.

Quinta forma normal (5 FN):

• Una tabla se encuentra en 5FN si:

• La tabla esta en 4FN

• No existen relaciones de dependencias no triviales que no siguen los criterios de las claves Es decir, una tabla que se encuentra en la 4FN se dice que esta en la 5FN si, y sólo si, cada relación de dependencia se encuentra definida por las claves candidatas En otras palabras, las únicas dependencias que existen son las denominadas dependencias de Join de una tabla con sus proyecciones, relacionándose entre sí mediante la clave primaria, o cualquier clave alternativa.

DESNORMALIZACIÓN DE LAS RELACIONES

La desnormalización es la duplicación intencionada de columnas en varias tablas, lo cual aumenta la redundancia de datos. Esto se hace para mejorar el rendimiento, ya que las reglas de normalización no consideran el rendimiento.

4

SENTENCIAS JOINS

Las operaciones JOIN son un conjunto de cláusulas SQL utilizadas para combinar filas de dos o más tablas relacionadas basándose en un atributo o columna compartida. Por ende, permiten recuperar datos de múltiples tablas como si vinieran de una sola tabla

CARACTERÍSTICAS

El principio de las sentencias SQL JOIN se basa en la operación homónima del álgebra relacional, una combinación entre producto cartesiano y selección Mediante la selección del tipo de JOIN y de la definición de una condición de selección, el usuario puede establecer qué datos de las tablas originales aparecerán en la tabla de resultados

Las sentencias Joins se caracterizan por estar enfocados en la combinación de dos aspectos del álgebra relacional para poder funcionar:

Producto cartesiano: es una operación de la teoría de conjuntos en la que dos o más conjuntos se combinan entre sí.

Selección: es la operación del álgebra relacional que permite seleccionar unas tuplas determinadas de un conjunto inicial y mostrarlas como conjunto de resultados

5

VENTAJAS

Obtener una visión completa de los datos: Al combinar información de tablas relacionadas, nos permite obtener una visión completa y coherente de los datos. Podemos acceder a múltiples atributos y propiedades de diferentes tablas en una sola consulta, lo que nos brinda información valiosa y detallada para nuestros análisis y decisiones.

Realizar consultas más sofisticadas: Nos permite realizar consultas más complejas y sofisticadas en pudiendo aplicar filtros, condiciones y criterios específicos para seleccionar y combinar los registros que nos interesan. Esto nos brinda flexibilidad y precisión en nuestras consultas, lo que resulta fundamental para obtener resultados específicos y relevantes

Relacionar y vincular información relevante: Nos permite establecer relaciones y vínculos entre datos relacionados Podemos acceder a atributos y propiedades relacionadas de diferentes tablas y utilizar esta información para generar informes, realizar análisis y tomar decisiones fundamentadas

Optimizar el rendimiento de las consultas: Al combinar datos en una sola consulta en lugar de realizar múltiples consultas separadas, reducimos la carga en el servidor y mejoramos la eficiencia de nuestras operaciones Esto es especialmente importante cuando trabajamos con grandes volúmenes de datos o consultas complejas.

6

Desventajas de las sentencias JOIN

Rendimiento: En bases de datos grandes con muchas tablas y relaciones complejas, el uso excesivo de sentencias JOIN puede afectar el rendimiento de las consultas. Una mala implementación o falta de índices adecuados puede provocar un tiempo de ejecución más lento

Mayor complejidad de consulta: Las sentencias JOIN pueden requerir una comprensión sólida de las relaciones entre tablas y cómo combinar los datos correctamente. Consultas complejas con múltiples JOINs pueden ser difíciles de entender y mantener

TIPOS

I N N E R J O I N : D e v u e l v e ú n i c a m e n t e l o s r e g i s t r o s q u e t i e n e n a l m e n o s u n a c o i n c i d e n c i a e n a m b a s t a b l a s q u e s e e s t á n c o m b i n a n d o .

S E L E C T n o m b r e C o l u m n a ( s )

F R O M t a b l a 1

I N N E R J O I N t a b l a 2

O N

t a b l a 1 . n o m b r e C o l u m n a = t a b l e 2 . n o m b r e C o l u m n a ;

7

L E F T J O I N : D e v u e l v e t o d o s l o s r e g i s t r o s d e l a p r i m e r a t a b l a

( t a b l a i z q u i e r d a ) y l o s r e g i s t r o s

c o i n c i d e n t e s d e l a s e g u n d a t a b l a

(

t a b l a d e r e c h a ) . S i n o h a y

c o i n c i d e n c i a s e n l a s e g u n d a

t a b l a , l o s v a l o r e s d e e s a s

c o l u m n a s s e r á n N U L L .

S E L E C T n o m b r e C o l u m n a ( s )

F R O M t a b l a 1

L E F T J O I N t a b l a 2

O N

t a b l a 1 n o m b r e C o l u m n a = t a b l a 2 n o m b r e C o l u m n a ;

R I G H T J O I N : F u n c i o n a d e m a n e r a s i m i l a r a L E F T J O I N , p e r o d e v u e l v e

t o d o s l o s r e g i s t r o s d e l a s e g u n d a

t a b l a ( t a b l a d e r e c h a ) y l o s r e g i s t r o s c o i n c i d e n t e s d e l a p r i m e r a t a b l a ( t a b l a i z q u i e r d a ) S i n o h a y c o i n c i d e n c i a s e n l a p r i m e r a t a b l a , l o s v a l o r e s d e e s a s

c o l u m n a s s e r á n N U L L .

S E L E C T n o m b r e C o l u m n a ( s )

F R O M t a b l a 1

R I G H T J O I N t a b l a 2

O N

t a b l a 1 . n o m b r e C o l u m n a = t a b l a 2 . n o

m b r e C o l u m n a ;

F U L L J O I N : d e v u e l v e f i l a s c u a n d o h a y c o i n c i d e n c i a s e n u n a , a m b a s o n i n g u n a t a b l a .

S E L E C T n o m b r e C o l u m n a ( s )

F R O M t a b l a 1

F U L L J O I N t a b l a 2

O N

t a b l a 1 n o m b r e C o l u m n a = t a b l a 2 n o

m b r e C o l u m n a ;

W H E R E c o n d i t i o n ;

8

N A T U R A L J O I N e s u n t i p o e s p e c i a l d e J O I N q u e j u n t a d o s t a b l a s u s a n d o c o l u m n a s c o n e l m i s m o n o m b r e . A s i m i s m o , b u s c a a u t o m á t i c a m e n t e c o l u m n a s c o n e l m i s m o n o m b r e e n t r e d o s t a b l a s , n o r e q u i e r e e s p e c i f i c a r l a s c o l u m n a s e n l a c l á u s u l a O N y e s u n a f o r m a s i m p l i f i c a d a d e h a c e r J O I N S .

S E L E C T *

F R O M t a b l a 1

N A T U R A L J O I N t a b l a 2 ;

S E L F J O I N c o n s i s t e e n u n a

c o n s u l t a e n l a q u e u n a

t a b l a s e u n e c o n s i g o m i s m a . P o r l o q u e , e s ú t i l c u a n d o l a t a b l a t i e n e u n a c o l u m n a q u e h a c e r e f e r e n c i a a s í m i s m a , p e r m i t i e n d o v i n c u l a r l o s r e g i s t r o s d e l a t a b l a

S E L E C T c o l u m n n a m e ( s )

F R O M t a b l e 1 T 1 , t a b l e 1 T 2

W H E R E c o n d i t i o n ;

C R O S S J O I N g e n e r a t o d a s l a s c o m b i n a c i o n e s p o s i b l e s e n t r e d o s c o n j u n t o s d e d a t o s , s i n a p l i c a r n i n g u n a c o n d i c i ó n d e u n i ó n . C o m o r e s u l t a d o , e l n ú m e r o d e f i l a s e n e l r e s u l t a d o d e l c r o s s j o i n e s i g u a l a l p r o d u c t o d e l n ú m e r o d e f i l a s e n l a p r i m e r a t a b l a y e l n ú m e r o d e f i l a s e n l a s e g u n d a t a b l a .

S E L E C T c o l u m n a s

F R O M t a b l a 1

C R O S S J O I N t a b l a 2 ;

9

Ejercicio de Norm

Aplicar las reglas de normalizac

FACTURA DE COMPRA VENTA: L COLOMBIAN SYSTEMS lo ha con “Ingeniero Encargado” para siste facturación En la siguiente factu usted debe analizar toda la inform aplique el proceso de normalizació

Tercera Forma Normal. Se pide rea justificación detallada de cada uno conduzcan al resultado final

Factura( NUM FAC,FECHA FAC,NOM CLIENTE, DIR CLIENTE, RIF CLIENTE, CIUDAD CLIENTE, TELEF CLIENTE, CATEGORIA, COD PROD, DESP PROD, VAL UNIT, CANT PROD)

La 1era forma normal(1FN), prohibe los grupos repetidos en una tabla, por ende, queda de la siguiente forma, al dividir los datos en grupos ( repetidos (CATEGORIA, COD PROD, DESP PROD, VAL UNIT, CANT PROD)y no repetidos (NUM FAC,FECHA FAC,NOM CLIENTE, DIR CLIENTE, RIF CLIENTE, CIUDAD CLIENTE, TELEF CLIENTE,) ) y luego colocando esos mismo datos repetidos en una tabla aparte con la misma PK de la tabla original (base):

10

La 2da forma normal (2FN), implica que hay que eliminar cualquier columna no clave, que no dependa de la clave primaria de la tabla. Para hacer esto, se tiene que determinar cuales columnas no son clave y no dependan de la PK (CATEGORIA, COD PROD, DESP PROD, VAL UNIT), para luego eliminar esas columnas en la tabla que se detecten (Detalle Factura) y luego agregarlas nuevamente, pero en otra tabla (Producto) con su propia PK de la que si dependan. En este caso queda de la siguiente forma:

Factura( NUM _ FAC,FECHA FAC,NOM CLIENTE, DIR CLIENTE, RIF CLIENTE, CIUDAD CLIENTE, TELEF CLIENTE)

Detalle _ Factura( NUM _ FAC,COD PROD, CANT PROD)

Producto( COD _ PROD,CATEGORIA, DESP PROD, VAL UNIT)

La 3era forma normal(3FN), implica que hay que eliminar cualquier columna no clave que sea dependiente de otra columna no clave en una tabla Para lograr esto, se tiene que determinar las columnas que son dependientes de otra columna no clave (NOM CLIENTE, DIR CLIENTE, CIUDAD CLIENTE, TELEF CLIENTE), para así poder eliminarlas,y posteriormente agregarlas en una nueva tabla (Cliente), junto con la columna no clave de la cual son dependientes (RIF CLIENTE).

Cliente (RIF _ CLIENTE,NOM CLIENTE, DIR CLIENTE, CIUDAD CLIENTE, TELEF CLIENTE)

Factura( NUM _ FAC,FECHA FAC,RIF CLIENTE)

Detalle Factura( NUM FAC,COD PROD, CANT PROD)

Producto( COD _ PROD,CATEGORIA, DESP PROD, VAL UNIT)

11

Ejercicio de Sentencias Joins

Desarrollar Base de datos para El Control de Stock y Facturación de una Determinada Empresa. Con las Siguientes Tablas:

Tabla Estados (codest, nombre)

Tabla Ciudad (codciudad, nombre, codest)

Tabla clientes (codcli, nombre, dirección, codpostal, codciudad)

Tabla vendedores (codven, nombre, direccion, codpostal, codest, codjefe)

Tabla Articulos (codart, descrip, precio, stock, stock min )

Tabla facturas (codfac, fecha, codcli, codven, iva, descuento )

Tabla lineas fac( codfac, linea, cant, codart, precio, descuento )

12

Datos que contienen las tablas

13

Mostrar El Nombre de cada Ciudad

Junto al Estado donde Pertenece

14

Mostrar el código de la factura, la fecha y nombre del cliente destinatario de la factura

Mostrar el código de la factura, la fecha y nombre del vendedor

15

Mostrar Producto Cartesiano de la Tabla

Clientes y Vendedores

Mostrar el código de factura, el número de línea, el código del artículo, la descripción del artículo, y el número de unidades vendidas en dicha línea para todas las líneas de la factura cuyo código es 15

16

Mostrar Nombre del Vendedor y el Nombre del Estado en el que reside, para aquellos vendedores cuyo código se encuentre entre 100 y 200 inclusive.

Mostrar Código y fecha de cada factura junto al nombre del cliente y el nombre del vendedor de la factura

17

SOPA DE LETRAS

Base de datos Desnormalizar Joins MySql Normalizacion 1 2. 3. 4 5. 6 SelfJoin 7. Servidor 8. SqlServer 9 CrossJoin 10. Inner Join 18 11 Left Join 12. Natural Join 13. Right Join 14 Sentencia 15. Sql
las palabras
Encuentra

1. Permite combinar registros de una o más tablas en una base de datos

6 Aparato informático que almacena, distribuye y suministra información

8 Se usa para generar una combinación emparejada de cada fila de la primera tabla con cada fila de la segunda tabla

2. Recopilación organizada de información o datos estructurados

3. Se usa cuando los campos por los cuales se enlazan las tablas tienen el mismo nombre

4. Permite unir una tabla a sí misma

5. Proceso importante en el diseño de bases de datos 7. permiten a los usuarios realizar consultas, modificaciones, inserciones y procesos de eliminación de los datos que se hayan g

9. Devuelve todas las fila tabla de la derecha, se utilizan NULL

10 Se utiliza esta sentencia para unir las filas de una tablas con todas las filas de otra tabla

11 Comienza a seleccionar datos de la tabla de la derecha y a coincidir con las filas de la tabla de la izquierda

1 9 7 11 4 2 5 8 3 10 6
Vertical
Horizontal
19
Crucigrama Complete el crucigrama

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.