NORMALIZACIÓN DE BASE DE DATOS



Es el proceso de organizar los datos que componen una base de datos. Debemos de tener en cuenta la creación de tablas y las reglas que se usan para definirlas relaciones, estas reglas son diseñadas para poder proteger los datos, y para que la base de datos sea flexible con el objetivo de eliminar redundancias y dependencias incoherentes.



Evitar la redundancia de los datos. Disminuir problemas de actualización de los datos de la tabla.
Protege la integridad de los datos. Facilitar el acceso e interpretación de los datos.
Reducir el tiempo y complejidad de revisión de base de datos. Optimizar el espacio de almacenamiento. prevenir borrados indeseados de datos.
N O R M A L I Z A C I Ó N D E B A S E D E D A T O S ¿ P O R Q U É S E N O R M A L I Z A N L A S B A S E S D E D A T O S ?Cada tabla debe de tener un nombre único.
No puede haber dos filas iguales.
No se permiten los duplicados. Todos los datos en una columna deben ser del mismo tipo.
Para normalizar una base de datos existen principalmente 3 reglas, las cuales se deberían de cumplir para evitar redundancias e incoherencias en las dependencias. A estas reglas se les conoce como Forma normal, qué van de la 1 a la 3 y si la base de datos cumple con cada regla se dice que está en la primera o segunda o tercera forma normal

Elimine los grupos repetidos de las tablas individuales. Cree una tabla independiente para cada conjunto de datos relacionados.
Identifique cada conjunto de datos relacionados con una clave principal.
Cree tablas independientes para conjunto de valores que se apliquen a varios registros. Relacione estas tablas con una clave externa.
Elimine los campos que no dependan de la clave.

S E N T E N C I A J O I N S E N S Q L
Los JOINS en SQL se utilizan para combinar filas de dos o más tablas basándose en un campo en común entre ellas, devolviendo por tantos datos de diferentes tablas.

I N N E R J O I N
Selecciona todas las filas de las dos columnas siempre y cuando haya una coincidencia entre las columnas en ambas tablas.
Existen más tipos de JOINS en SQL que los que se explican aquí, como CROSS JOIN, o SELF JOIN, pero no todos ellos son soportados por todos los sistemas de base de datos, los más importantes son los siguientes:


L E F T J O I N
Mantiene todas las filas de la tabla izquierda. Las filas de la tabla derecha se mostrarán si hay una coincidencia con las de la izquierda.
INNER JOIN. LEFT JOIN. RICHT JOIN. OUTER JOIN.Es igual que el LEFT JOIN pero al revés. Ahora se mantienen todas las filas de la tabla derecha. las filas de la tabla izquierda se mostrarán si hay una coincidencia con las de la derecha.
FULL OUTER JOIN devuelve todas las filas de la izquierda y de la tabla derecha. Combina el resultado de los JOINS LEFT y RIGHT.
SELECT nombreColumna(s)
FROM tabla1
INNER JOIN tabla2
ON tabla1.nombreColumna=tabla2.nombreColumna;
L E F T J O I N
SELECT nombreColumna(s)
FROM tabla1
LEFT JOIN tabla2
ON tabla1.nombreColumna=tabla2.nombreColumna;
SELECT nombreColumna(s)
FROM tabla1
RIGHT JOIN tabla2
ON tabla1.nombreColumna=tabla2.nombreColumna;
SELECT nombreColumna(s)
FROM tabla1
OUTER JOIN tabla2

ON tabla1.nombreColumna=tabla2.nombreColumna;

FACTURA DE COMPRA VENTA: La empresa COLOMBIAN SYSTEMS lo ha contratado como el "Ingeniero Encargado" para sistematizar la facturación. En la siguiente FACTURA COMPRA VENTA, usted debe analizar toda la información disponible y aplique el proceso de normalización, hasta llegar a la Tercera Forma Normal.
Factura (NUM FAC, FECHA FAC, NOM CLIENTE, DIR CLIENTE, RIF CLIENTE, CIUDAD CLIENTE, TELEF CLIENTE, CATEGORÍA, COD PROD, DESP PROD, VAL UNIT, CANT PROD)

DONDE:
NUM _ FAC: número de la factura de compra de venta.
FECHA FACT: fecha de factura compra de venta.
NOM CLIENTE: nombre de cliente.
DIR _ CLIENTE: dirección de cliente.
RIF _ CLIENTE: rif de cliente.
CIUDAD CLIENTE: ciudad cliente.
TELEF CLIENTE: teléfono cliente.
CATEGORIA: categoría de producto.

COD _ PROD: código producto.
DESP PROF: descripción del producto.
VAL UNIT: valor unitario de producto.
CANT _ PROD: cantidad de productos que compra el cliente.
La llave primaria es el numero de factura de venta
Ahora hay que separar dependencias de las llaves compuestas
Segunda Forma Normal




Tercera Forma Normal
Para poder lograr la Tercera Forma Normal separamos en un cuarto grupo la información del cliente








Desarrollar una 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, dirección, codpostal, codest, codjefe)
Tabla Articulo (codart, descrip, precio, stock, stock min)
Tabla Facturas (codfac, fecha, codcle, codven, iva, descuento)
Tabla líneas fac (codfac, línea, cant, codart, precio, descuento)
consultas a realizar:
Mostrar el nombre de cada ciudad junto al estado donde pertenece.
Mostrar el código de la factura, la fecha y nombre del vendedor.
Mostrar producto cartesiano de la tabla cliente 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
Mostrar el nombre del vendedor y el nombre del estado donde 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.
C A S O D E C O N S U L T A Shttps://drive.google.com/file/d/1e3TelsvHB0-

s 6CNjIw1u7ZXNJJuVSLT/view?usp=sharing

MySQL es un sistema de gestión de bases de datos que cuenta con una doble licencia. Por una parte es de código abierto, pero por otra, cuenta con una versión comercial gestionada por la compañía Oracle

S Q L S E R V E R
Microsoft SQL Server es uno de los principales sistemas de gestión de bases de datos relacional del mercado que presta servicio a un amplio abanico de aplicaciones de software destinadas a la inteligencia empresarial y análisis sobre entornos corporativos.

D B 2 I B M

Un sistema de gestión de bases de datos relacionales para la empresa diseñado para ofrecer resiliencia, rendimiento y rentabilidad para las cargas de trabajo transaccionales.
C A S S A N D R A
Apache Cassandra es un sistema de gestión de base de datos de código abierto para bases de datos muy grandes, pero estructuradas Gracias a la buena escalabilidad, estas bases de datos se pueden distribuir a diferentes clústeres, por lo que Cassandra no se encuentra unida a un único servidor

En esta pequeña revista digital quisimos compartir como es la "NORMALIZACIÓN DE BASE DATOS" por medio de sus 3 faces, las cuales son las "FORMAR NORMALES" además aplicamos un ejemplo por medio de un ejercicio práctico.
También trabajamos algunas sentencias "JOINS" las cuales nos ayudan a relacionar base de datos en el lenguaje "SQL", aquí de igual manera incluimos un ejercicios de consultas y en el link se encuentra código sql del mismo. Además les quisimos compartir algunos IDE para poder construir base de datos.