Preparación para la Certificación Microsoft DP-900
Datos Relacionales, Normalización, SQL y Objetos de Base de Datos
Tablas relacionales, claves, normalización, dialectos SQL, DDL, DCL, DML, combinaciones, vistas, procedimientos almacenados y contrapartidas de rendimiento de los índices
Tiempo de estudio sugerido: 70 minutos • Nivel principiante • Alineado con la guía de estudio DP-900 y la documentación oficial de Microsoft Learn
Por João Ricardo Dutra••Material completo
1. Por qué existe el modelo relacional
Las primeras aplicaciones solían guardar datos en estructuras propietarias difíciles de compartir, mantener y optimizar. El modelo relacional sustituyó esos formatos aislados por una representación estándar que muchas aplicaciones pueden consultar. Las tablas hacen que la información estructurada sea intuitiva, flexible y eficiente.
Las organizaciones usan bases relacionales para inventario, comercio electrónico, operaciones financieras y registros críticos de clientes. Son idóneas cuando los datos relacionados deben seguir reglas explícitas y permanecer coherentes.
Resumen del tema
El modelo relacional estandariza los datos estructurados para almacenarlos, relacionarlos y consultarlos de forma coherente.
2. Entidades, tablas, filas y columnas
Una entidad es un objeto o evento del mundo real que merece registrarse, como cliente, producto, pedido o línea de pedido. Cada tipo se modela como tabla, cada fila representa una instancia y las columnas contienen sus atributos.
Los datos relacionales son estructurados: las filas comparten columnas. Un valor opcional, como segundo nombre, puede usar una columna que acepte valores NULL; NULL significa ausente o desconocido, no texto vacío ni cero.
Resumen del tema
Las tablas representan tipos de entidad, las filas representan instancias y las columnas almacenan atributos definidos de forma coherente.
3. Tipos de datos y restricciones de columna
Una columna posee un tipo de datos que limita los valores válidos y orienta el almacenamiento. El texto usa tipos de longitud fija o variable, los precios usan decimales, las cantidades enteros y las fechas tipos de fecha y hora.
Los nombres exactos varían según el motor, aunque los conceptos ANSI están ampliamente admitidos. NOT NULL hace obligatorio un valor; sin esa restricción se permite NULL.
Resumen del tema
Los tipos y las restricciones protegen el significado y la validez de cada columna.
4. Relaciones, claves y un esquema minorista
Las tablas se relacionan mediante claves. La clave primaria identifica una fila de forma única. La clave externa almacena la clave primaria de una fila relacionada, como CustomerID en un pedido o ProductID en una línea.
Un esquema minorista separa Cliente, Producto, Pedido y LíneaPedido y conserva las conexiones, evitando repetir todos los datos en cada transacción.
Figura 1 - Relaciones, claves y un esquema minorista.
Resumen del tema
Las claves primarias identifican filas; las claves externas conectan filas relacionadas entre tablas normalizadas.
5. Principios de normalización
La normalización refactoriza el esquema para reducir duplicación y favorecer la integridad. Una secuencia práctica separa cada entidad en su tabla, cada atributo discreto en su columna, asigna una clave primaria y conecta entidades con claves externas.
Una hoja desnormalizada repite direcciones y precios. Tras normalizar, la dirección cambia una vez en Cliente y el precio una vez en Producto, reduciendo anomalías de actualización.
Figura 2 - Principios de normalización.
Resumen del tema
La normalización separa entidades y atributos para almacenar cada dato una sola vez y conectarlo mediante claves.
6. Integridad referencial y claves compuestas
Un SGBDR puede rechazar una clave externa sin fila principal correspondiente, evitando pedidos para clientes inexistentes.
Una clave puede incluir varias columnas. OrderID y LineNumber pueden identificar una línea y formar una clave primaria compuesta. En tercera forma normal, cada atributo no clave depende de la clave completa y solo de ella.
Resumen del tema
La integridad referencial preserva relaciones válidas; las claves compuestas identifican filas mediante una combinación única.
7. Estándares, motores y dialectos SQL
SQL es el lenguaje estándar para SGBDR. Lo utilizan Microsoft SQL Server, ,,, MySQL, PostgreSQL, Oracle y otros motores.
ANSI estandarizó SQL en 1986 e ISO en 1987. Las extensiones crearon dialectos: Transact-SQL en Microsoft, extensiones procedimentales de PostgreSQL y PL/SQL de Oracle. también ofrece asistencia de IA para escribir y entender consultas en lenguaje natural.
Resumen del tema
SQL está estandarizado, pero cada plataforma añade un dialecto cuyos detalles importan en producción.
8. Tres familias de instrucciones SQL
Las instrucciones se agrupan por intención. DDL cambia objetos; DCL administra permisos; DML lee y modifica filas.
CREATE, ALTER, DROP y RENAME son DDL; GRANT, DENY y REVOKE son DCL; SELECT, INSERT, UPDATE y son DML. Clasificar el verbo agiliza DP-900.
Figura 3 - Tres familias de instrucciones SQL.
CREATE TABLE Product (
ProductID INT PRIMARY KEY,
ProductName VARCHAR(40) NOT NULL,
Price DECIMAL(10,2) NULL
);
Resumen del tema
DDL define objetos, DCL controla acceso y DML trabaja con filas.
9. DDL y creación de tablas
DDL crea, modifica, cambia el nombre y elimina tablas, vistas y procedimientos. La definición indica nombres, tipos, nulabilidad y claves. Se recomienda una clave primaria por tabla.
DROP es destructivo: al quitar una tabla elimina sus filas. La recuperación suele depender de una copia de seguridad válida.
Resumen del tema
DDL da forma al esquema; CREATE y ALTER lo construyen, mientras DROP puede eliminar objetos y datos.
10. DCL y permisos
Los administradores usan DCL para conceder, denegar o revocar acceso a usuarios y grupos. Los permisos pueden cubrir lectura, inserción o actualización de una tabla.
GRANT concede, DENY bloquea y REVOKE retira un permiso anterior según la plataforma. Esto no manipula filas de negocio.
GRANT SELECT, INSERT, UPDATE
ON Product
TO analyst1;
Resumen del tema
DCL expresa quién puede realizar qué acciones sobre los objetos.
11. Consultas DML, filtros y ordenación
SELECT recupera filas. Enumerar columnas devuelve solo los campos necesarios; el asterisco solicita todos. WHERE filtra y ORDER BY define el orden.
Sin ORDER BY no se garantiza el orden. SELECT ProductName, Price FROM Products WHERE Price < 10 es correcto: columnas antes de FROM y condición después de WHERE.
SELECT ProductName, Price
FROM Product
WHERE Price < 10
ORDER BY ProductName;
Resumen del tema
SELECT lee, WHERE filtra y ORDER BY hace explícito el orden.
12. Combinación de tablas relacionadas
JOIN combina tablas normalmente haciendo coincidir una clave externa con la primaria referenciada. Los alias acortan nombres y eliminan ambigüedad.
Una combinación entre Pedido y Cliente devuelve fechas y direcciones sin duplicar la dirección en cada pedido.
Figura 4 - Combinación de tablas relacionadas.
SELECT o.OrderID, o.OrderDate, c.LastName, c.City
FROM SalesOrder AS o
JOIN Customer AS c ON o.CustomerID = c.CustomerID;
Resumen del tema
JOIN recorre relaciones de claves para presentar datos de varias tablas.
13. INSERT, UPDATE, y predicados seguros
INSERT indica tabla, columnas y valores. Algunos dialectos aceptan varios grupos. UPDATE modifica y elimina filas.
UPDATE y afectan todas las filas sin WHERE. SQL no ofrece confirmación universal; predicados, transacciones, copias y revisión son protecciones esenciales.
INSERT INTO Product (ProductID, ProductName, Price)
VALUES (99, 'Cordless drill', 49.90);
UPDATE Customer
SET Address = '123 High Street'
WHERE CustomerID = 1;
DELETE FROM Product
WHERE ProductID = 162;
Resumen del tema
INSERT agrega filas; UPDATE y requieren predicados bien delimitados.
14. Vistas como tablas virtuales reutilizables
Una vista es una tabla virtual definida por SELECT. Presenta filas y columnas subyacentes como un objeto más sencillo.
Las aplicaciones consultan y filtran una vista como una tabla. Una vista Entregas puede ocultar la combinación sin almacenar otra copia.
CREATE VIEW Deliveries AS
SELECT o.OrderID, o.OrderDate, c.FirstName, c.LastName, c.Address, c.City
FROM SalesOrder AS o
JOIN Customer AS c ON o.CustomerID = c.CustomerID;
Resumen del tema
Una vista empaqueta una consulta como tabla virtual reutilizable.
15. Procedimientos almacenados y parámetros
Un procedimiento almacenado es un conjunto de instrucciones SQL con nombre que se ejecuta a petición y encapsula lógica reutilizada por aplicaciones.
Los parámetros aportan flexibilidad. RenameProduct recibe identificador y nombre y actualiza solo la fila correspondiente.
CREATE PROCEDURE RenameProduct
@ProductID INT,
@NewName VARCHAR(40)
AS
UPDATE Product
SET ProductName = @NewName
WHERE ProductID = @ProductID;
Resumen del tema
Los procedimientos centralizan acciones repetibles y aceptan parámetros.
16. Índices: velocidad y costo
Un índice conserva valores ordenados con referencias a filas. El optimizador puede encontrar coincidencias sin explorar toda la tabla; en tablas pequeñas puede preferir una exploración.
Los índices mejoran consultas en tablas grandes y columnas como SaleDate. Consumen almacenamiento y se mantienen durante INSERT, UPDATE y , por lo que se equilibra lectura y escritura.
Figura 5 - Índices: velocidad y costo.
CREATE INDEX idx_ProductName
ON Product(ProductName);
Resumen del tema
Los índices aceleran lecturas selectivas, pero consumen espacio y añaden trabajo a las modificaciones.
17. Razonamiento de la evaluación y recapitulación
Los nueve escenarios evalúan sintaxis, normalización y objetos. Una columna NULL sirve para segundo nombre opcional; redundancia y anomalías indican desnormalización; un índice reduce exploraciones; su cantidad equilibra consultas y mantenimiento.
Cree un índice en SaleDate; la tercera forma normal mantiene atributos no clave dependientes solo de la clave; SELECT devuelve filas y no las modifica. Las bases relacionales combinan tablas, claves, SQL, vistas, procedimientos e índices.
Resumen del tema
En el examen, determine si el requisito trata de estructura, permiso, filas, lógica reutilizable o rendimiento.