DP-900: comprender y usar vistas en Azure SQL Database
Enseñaré la habilidad de crear y usar vistas (views) en Azure SQL Database — un tema útil en el DP-900 porque demuestra comprensión de abstracción y optimización de consultas en datos relacionales, y es práctico en el diseño de soluciones seguras y gestionables en la nube.
Qué necesitas saber
Una view es una consulta almacenada que aparece al usuario como una tabla virtual. No almacena datos (excepto si es una view indexada/materializada, que es menos común en Azure SQL Database), pero simplifica el acceso a datos complejos, encapsula lógica y puede reforzar la seguridad al exponer solo columnas/filas específicas.
Ejemplo conceptual: supón dos tablas, Customers y Orders. Para obtener el total de pedidos por cliente, puedes crear una view que haga el join y la agregación. Quien use la view no necesita conocer los detalles del join o de las funciones agregadas.
CREATE VIEW Sales.CustomerOrderTotals AS
SELECT c.CustomerID,
c.Name,
SUM(o.TotalAmount) AS TotalOrders
FROM dbo.Customers c
JOIN dbo.Orders o ON c.CustomerID = o.CustomerID
GROUP BY c.CustomerID, c.Name;
Después de creada, puedes consultar: SELECT * FROM Sales.CustomerOrderTotals WHERE TotalOrders > 1000;
Cómo funciona / En la práctica
Puntos prácticos y pasos para usar views en Azure SQL Database:
- Modela la necesidad: define si la view es para simplificar queries, imponer reglas de seguridad (exponer solo ciertas columnas) o para compatibilizar esquema entre aplicaciones.
- Escribe la query base: prueba la query SELECT que será la definición de la view, optimizando joins y filtros antes de crear la view.
- Crea la view: usa
CREATE VIEW schema.Name AS <select>. Preferiblemente cualifica nombres con schema (dbo, Sales...). - Usa la view como si fuera una tabla: puedes hacer SELECT, JOIN e incluso aplicar filtros. Ten en cuenta que el rendimiento depende de la query subyacente — la view no reduce automáticamente costes de ejecución.
- Actualizaciones vía view: algunas views son actualizables (pueden usarse en INSERT/UPDATE/DELETE) si cumplen reglas (por ejemplo, una única tabla sin agregaciones). Si la view no es actualizable, usa stored procedures o DML directo en las tablas base.
- Seguridad: aplica permisos en la view (GRANT SELECT ON Sales.CustomerOrderTotals TO ReportRole) para limitar el acceso a las columnas sensibles en las tablas base.
- Verificación de rendimiento: usa el Query Store y las herramientas de diagnóstico de Azure SQL para analizar planes de ejecución de la query que la view encapsula y evitar sorpresas de rendimiento.
-- Ejemplo: conceder acceso solo a la view
CREATE ROLE reporting_role;
GRANT SELECT ON Sales.CustomerOrderTotals TO reporting_role;
-- No es necesario dar acceso directo a las tablas subyacentes
Errores comunes
1) Confiar en que una view mejora el rendimiento por sí sola: la view es solo una capa de abstracción; el motor sigue ejecutando la consulta subyacente. Es necesario revisar planes de ejecución.
2) Crear views con SELECT *: esto puede ocultar cambios de esquema y traer columnas innecesarias, afectando el consumo de red y las aplicaciones. Define explícitamente columnas.
3) Usar views complejas y anidadas sin considerar actualizaciones de datos y mantenimiento: views con agregaciones y joins complejos pueden dificultar la depuración y hacer que el mantenimiento sea más costoso. Documenta y prueba cada nivel.
Cómo practicar
Pasos prácticos para ejercicio con recursos oficiales:
- Crea una instancia de Azure SQL Database (puedes usar la capa gratuita/tiempo limitado o un entorno de desarrollo local con SQL Server Express para aprender la sintaxis).
- Crea tablas de ejemplo (Customers, Orders, Products), puebla con datos de prueba y escribe queries SELECT que sinteticen información.
- Convierte esas queries en views, aplica permisos y prueba escenarios de lectura y escritura (cuando sea aplicable).
- Analiza planes de ejecución y usa el Query Store para comparar rendimiento de consultas directas vs vía view.
Para alinearte con el examen DP-900, practica también con los recursos oficiales: realiza el Practice Assessment OFICIAL gratuito de Microsoft y consulta el study guide oficial (ambos gratuitos). Estos recursos ayudan a verificar el conocimiento de las áreas medidas por el examen.
En resumen
- Una view es una tabla virtual que encapsula una query — útil para simplificar acceso y aplicar seguridad.
- Las views no mejoran automáticamente el rendimiento; optimiza la query subyacente y usa herramientas de diagnóstico de Azure SQL.
- Evita SELECT * en views; especifica columnas y documenta la finalidad de cada view.
- Practica en Azure SQL Database, usa Query Store y experimenta la concesión de permisos sobre views en lugar de tablas base.