Normalización de Bases de Datos
La normalización de bases de datos es un proceso que consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad-relación al modelo relacional, con el objeto de minimizar la redundancia de datos y facilitar su gestión posterior.
Las bases de datos relacionales se normalizan para:
- Evitar la redundancia de los datos.
- Proteger la integridad de los datos.
- Facilitar el acceso e interpretación de los datos.
- Optimizar el espacio de almacenamiento.
Formas Normales
- Primera Forma Normal (1FN): Elimine los grupos repetidos de las tablas individuales. Cree una tabla independiente para cada conjunto de datos relacionados e identifique cada conjunto con una clave principal.
- Segunda Forma Normal (2FN): Una relación está en 2FN si está en 1FN y los atributos que no forman parte de ninguna clave dependen de forma completa de la clave principal (no existen dependencias parciales).
- Tercera Forma Normal (3FN): La tabla se encuentra en 3FN si es 2FN y no existe ninguna dependencia transitiva en los atributos que no son clave.
Conceptos Clave
- Dependencia funcional: Relación donde un atributo B depende funcionalmente de A.
- Dependencia transitiva: Si Y depende funcionalmente de X y Z depende de Y, entonces Z depende transitivamente de X.
Introducción a SQL y SGBD
Un SGBD (Sistema Gestor de Base de Datos) es el software que permite administrar bases de datos (ejemplos: MySQL, MySQL Workbench, SQL Server).
SQL (Structured Query Language) es el lenguaje diseñado para administrar y recuperar información de sistemas de gestión de bases de datos relacionales. Los tipos de datos comunes incluyen int, float y varchar().
Tipos de Comandos
- DDL (Lenguaje de Definición de Datos): Incluye comandos como
CREATEyDROP. - DML (Lenguaje de Manipulación de Datos): Incluye comandos como
INSERTySELECT.
Comandos de Manipulación
- INSERT: Permite insertar datos en una tabla. Ejemplo:
INSERT INTO nombre_tabla...(los valoresvarchardeben ir entre comillas simples, ej: ‘Victor’). - SELECT: Permite realizar consultas. El asterisco (
*) selecciona todas las columnas. Se pueden especificar columnas concretas:SELECT columna1, columna2 FROM nombre_tabla. - WHERE: Cláusula utilizada para filtrar registros que cumplen una condición específica.
- UPDATE: Modifica valores existentes. Sintaxis:
UPDATE nombre_tabla SET columna1 = valor1 WHERE columna3 = valor3. - DELETE: Borra registros específicos de una tabla.
- TRUNCATE: Elimina todos los datos de una tabla, dejándola vacía.
- DROP: Borra de forma permanente una tabla (
DROP TABLE) o una base de datos (DROP DATABASE).
Cláusulas y Operadores
- ORDER BY: Especifica el orden de los datos.
- GROUP BY / HAVING: Agrupa datos y establece condiciones sobre ellos.
- Operadores Lógicos:
AND(todas verdaderas),OR(al menos una verdadera),NOT(invierte la condición). - Operadores Relacionales:
<,>,>=,<=,=,<>(distinto). - Operadores Especiales:
BETWEEN(rango),LIKE(comparación con modelo),IN(lista de valores),DISTINCT(elimina duplicados).
Funciones de Agregación
- AVG: Promedio de valores.
- COUNT: Número de registros.
- SUM: Suma de valores.
- MAX: Valor más alto.
- MIN: Valor más bajo.
