Fundamentos de datos relacionales

Aprende como funcionan las bases de datos relacionales, que hace SQL y que producto Azure SQL usar, explicado con analogias cotidianas y sin necesidad de programar.

El examen DP-900 evalua si entiendes como funcionan las bases de datos relacionales y que servicio de Azure SQL usar en cada situacion. Esta guia explica todo desde las tablas hasta la sintaxis SQL y los productos de base de datos de Azure, sin necesidad de experiencia en programacion.

 

Que son los datos relacionales?

Piensa en una agenda de contactos. Cada persona ocupa una fila y cada columna guarda un tipo de informacion: nombre, telefono, ciudad. Eso es esencialmente una tabla de base de datos relacional. Los datos se organizan en filas y columnas con una estructura fija, y varias tablas pueden vincularse entre si para representar relaciones del mundo real de forma eficiente.

| Concepto | Descripcion | Analogia cotidiana | |---------|-------------|-------------------| | Tabla | Almacena datos en filas y columnas | Una hoja de calculo | | Fila | Un registro de datos individual | Una persona en la agenda | | Columna | Un atributo del dato | La columna "telefono" | | Esquema | La definicion de la estructura de la tabla | Las reglas de nombres y tipos de datos |

 

Claves — como se vinculan las tablas

La clave primaria (Primary Key) identifica de forma unica cada fila de una tabla. No puede repetirse ni estar vacia. Es como el numero de estudiante: aunque dos alumnos se llamen igual, su numero es siempre distinto.

La clave foranea (Foreign Key) es una referencia a la clave primaria de otra tabla. En lugar de copiar todos los datos del cliente en cada pedido, guardas solo el customer_id como referencia. Esto evita duplicados y garantiza la consistencia: si cambia el telefono del cliente, solo lo actualizas en un lugar.

!Clave primaria vs clave foránea

Normalizacion — eliminar datos duplicados

Guardar el telefono del cliente en cada fila de la tabla de pedidos es un problema: si cambia el numero, tienes que actualizarlo en todas partes y si olvidas una fila, los datos quedan inconsistentes. La normalizacion resuelve esto guardando cada dato en un solo lugar y usando referencias (claves foraneas) para conectar las tablas. Los objetivos principales son minimizar la redundancia, evitar inconsistencias y prevenir anomalias al modificar o eliminar datos.

 

Sintaxis SQL basica

SQL es el idioma con el que hablas con una base de datos relacional. Se lee casi como ingles natural.

SELECT lee datos de una tabla. INSERT agrega una nueva fila. UPDATE modifica filas existentes — siempre usa WHERE o modificaras todas las filas. DELETE elimina filas — siempre usa WHERE o borraras toda la tabla. JOIN combina datos de dos tablas usando una clave compartida, como unir una lista de alumnos con sus notas.

| Sentencia | Que hace | Analogia | |-----------|---------|----------| | SELECT | Leer datos | Buscar un nombre en la agenda | | INSERT | Agregar una fila | Registrar una nueva persona | | UPDATE | Modificar una fila | Corregir un telefono | | DELETE | Eliminar una fila | Borrar una entrada | | JOIN | Combinar dos tablas | Unir lista de clase con notas |

 

Objetos de base de datos

Una vista (View) es una consulta guardada que parece una tabla. Es como un filtro favorito: en lugar de escribir una consulta compleja cada vez, le das un nombre y la usas como si fuera una tabla. Tambien ayuda con la seguridad, mostrando solo las columnas necesarias.

Un procedimiento almacenado (Stored Procedure) es una coleccion de comandos SQL guardados con un nombre. Como una receta guardada: escribes las instrucciones una vez y las reutilizas para operaciones comunes de negocio.

Un indice (Index) es como el indice al final de un libro: en lugar de leer cada pagina para encontrar una palabra, saltas directamente a la pagina correcta. Acelera mucho las consultas SELECT, pero ralentiza ligeramente las escrituras.

 

Productos Azure SQL — cual usar?

Azure SQL Database es la opcion completamente administrada. Azure se ocupa de los parches, copias de seguridad y alta disponibilidad. Ideal para nuevas aplicaciones en la nube o cuando quieres la menor carga administrativa posible.

Azure SQL Managed Instance es para migrar bases de datos SQL Server locales a la nube con minimos cambios de codigo. Soporta el conjunto completo de funciones de SQL Server, incluyendo SQL Server Agent.

SQL Server en Azure VM te da control total. Instalas y gestionas SQL Server en una maquina virtual. Eleigelo cuando necesitas una version especifica o configuraciones especiales, o para traer tu propia licencia (BYOL).

Azure Database for MySQL y PostgreSQL son servicios de bases de datos de codigo abierto completamente administrados, ideales para aplicaciones basadas en MySQL o PostgreSQL.

| Servicio | Nivel de gestion | Mejor para | |---------|----------------|-----------| | Azure SQL Database | Totalmente administrado (PaaS) | Nuevas apps en la nube | | SQL Managed Instance | Casi totalmente administrado (PaaS) | Migracion de SQL Server local | | SQL Server en VM | Autogestionado (IaaS) | Control total, BYOL | | Azure DB for MySQL | Totalmente administrado (PaaS) | Apps basadas en MySQL | | Azure DB for PostgreSQL | Totalmente administrado (PaaS) | Apps basadas en PostgreSQL |

 

Puntos clave para el examen

"filas y columnas, esquema fijo" -- base de datos relacional "identifica unicamente cada fila" -- clave primaria "referencia la clave primaria de otra tabla" -- clave foranea "reducir duplicados, evitar inconsistencias" -- normalizacion "leer datos" -- SELECT / "agregar fila" -- INSERT / "modificar fila" -- UPDATE / "eliminar fila" -- DELETE "combinar dos tablas con clave compartida" -- JOIN "consulta guardada como tabla virtual" -- vista "coleccion de SQL guardada con nombre" -- procedimiento almacenado "acelera SELECT, ralentiza escrituras" -- indice "totalmente administrado, nuevas apps" -- Azure SQL Database "migracion SQL Server con funciones completas" -- SQL Managed Instance "control total, BYOL" -- SQL Server en VM

Volver a la lista del blog