Prerrequisitos
Tener experiencia práctica de almacenamiento de datos, específicamente, conocimiento acerca de la distribución de registro, colocación de campo de longitud fija y colocación de campo de longitud variable.
Estar familiarizado con estructuras de índices y utilización de índices, específicamente entender la relación entre índices no agrupados, índices agrupados, y deben conocer porque el índice que cubre puede mejorar su rendimiento
Tener experiencia práctica de desarrollador de base de datos, específicamente tres años de experiencia como desarrolladores de base de datos de tiempo completo en un ambiente empresarial.
Estar familiarizado con el modelo de bloqueo, específicamente, los estudiantes deben de tener un entendimiento de modos de bloqueo, objetos de bloqueo y niveles de aislamiento y estar familiarizado con bloque de proceso.
Entender la sintaxis de T-SQL y lógica de programación, específicamente, los estudiantes deben ser experimentados en consultas avanzadas, consultas de agregación, sub-consultas, funciones definidas por usuario, cursores, sentencias de control de flujo, expresiones CASE y todo tipo de uniones.
Ser capaz de diseñar una base de datos a tercera forma normal (3NF) y conocer los balances cuando regresa del diseño completamente normalizado (desnormalización) y diseñar para rendimiento y requerimientos de negocio, adicionalmente estar familiarizado con modelos de diseño, tales como esquemas de estrella o copo de nieve.
Tener fuertes habilidades de monitoreo y habilidades de solución de problemas, incluyendo el uso de herramientas de monitoreo.
Tener conocimiento básico del sistema operativo y plataforma, esto es, cómo el sistema operativo se integra con la base de datos, qué puede hacer la plataforma o sistema operativo y cómo la interacción entre el sistema operativo y la base de datos funcional.
Tener conocimiento básico de arquitectura de aplicación, esto es, cómo las aplicaciones pueden ser diseñadas en tres capas, hacer aplicaciones, cómo es la interacción entre l la aplicación y la base de datos funciona y cómo la interacción entre aplicación y plataforma o sistema operativo funciona.
Conocer como usar una herramienta de modelado de datos.
Estar familiarizados con funciones, herramientas y tecnologías de SQL Server 2005.
Tener una certificación de Microsoft Certified Technology Specialist: Microsoft SQL Server 2005 o experiencia equivalente.
Adicionalmente, se recomienda, pero no se requiere, que los estudiantes hayan concluido:
Curso 2778: Writing Queries Using Microsoft SQL Server 2005 Transact-SQL.
Curso 2779: Implementing a Microsoft SQL Server 2005 Database.
Curso 2780: Maintaining a Microsoft SQL Server 2005 Database.
El manual de este curso está en inglés. Para obtener el mayor beneficio del mismo, los alumnos deben conoce el idioma y cumplir con todos los requisitos previos.
Los alumnos serán capaces de:
Normalizar base de datos.
Diseñar una base de datos normalizada.
Optimizar un diseño de base de datos al desnormalizar.
Manejar concurrencia.
Manejar concurrencia al seleccionar el nivel de aislamiento de transacción adecuado.
Seleccionar un nivel de granularidad de bloqueo.
Optimizar y afinar consultas para rendimiento.
Optimizar una estrategia de indexación.
Decidir cuándo los cursores son apropiados.
Identificar y resolver problemas de limitación de rendimiento.
Exámenes de certificación Microsoft
El examen por requerimiento es el siguiente: 70 - 442
Módulo 1: Mida el Rendimiento de Base de Datos
Temario:
Importancia de medición de rendimiento.
Medidas principales para rendimiento de consulta: Sysmon.
Medidas principales para rendimiento de consulta: Profiler.
Lineamientos para identificar candados y bloqueos.
Laboratorio:
Mida el rendimiento de base de datos.
Al concluir el módulo
Los estudiantes serán capaces de:
Describir mejores prácticas para medición de rendimiento.
Describir los contadores principales de Sysmon para identificación de problemas.
Describir los eventos principales de Profiler para identificación de problemas.
Seleccionar los mejores métodos para la identificación de
Procedimientos que están causando candados y bloqueos.
Revisar tablas y scripts.
Usar un script para identificar problemas de rendimiento y concurrencia. Capturar línea base de rendimiento.
Priorizar problemas identificados.
Módulo 2: Optimizar el Diseño Físico de Base de Datos
Temario:
Modelo de optimización de rendimiento.
Estrategia de optimización de esquema: llaves.
Estrategia de optimización de esquema: desnormalización responsable.
Estrategia de optimización de esquema: generalización.
Laboratorio:
Optimice esquemas.
Al concluir el módulo
Los estudiantes serán capaces de:
Explicar la estrategia para la optimización de base de datos presentada en el modelo de optimización de rendimiento.
Explicar la importancia del diseño de esquema en optimización de base de datos.
Describir el uso estratégico de llaves naturales y subrogadas, así como sus roles en optimización de esquema.
Describir generalización y el rol de esta estrategia en optimización de esquema.
Normalizar un esquema para optimización.
Generalizar un esquema para optimización.
Desnormalizar un esquema para optimización.
Limpiar un esquema de base de datos al verificar y ajustar tipos de datos y verificación de integridad referencial.
Corregir nombres de tabla y columna en consultas, procedimientos almacenados y triggers para reconciliar cambios de esquema. Convertir datos a un nuevo esquema.
Probar para rendimiento
Módulo 3: Optimice Consultas para Rendimiento
Temario:
Modelo de optimización de rendimiento: consultas.
¿Qué es el flujo lógico de consulta?
Consideraciones para utilizar sub-consultas.
Lineamientos para construcción de consultas eficientes.
Laboratorio:
Optimizar consultas.
Al concluir el módulo
Los estudiantes serán capaces de:
Explicar la importancia de soluciones basadas en conjuntos para la optimización de base de datos.
Explicar la utilidad del diagrama de flujo lógico de consulta en optimización de consulta.
Discutir consideraciones cuando se usan sub-consultas en optimización de consulta.
Describir estrategias para construcción de consultas eficientes.
Pre escribir procedimientos almacenados para optimización.
Pre escribir vistas para optimización.
Pre escribir consultas de agregación sin cursor para optimización.
Probar consultas para rendimiento.
Módulo 4: Cambio de Forma Cursores hacia Consultas
Temario:
Modelo de optimización de rendimiento: soluciones de consulta basadas en conjunto
Cinco pasos para construir un cursor.
Estrategias para cambio de forma de cursores.
Laboratorio:
Cambio de forma cursores hacia consultas.
Al concluir el módulo
Los estudiantes serán capaces de:
Explicar la importancia de soluciones basadas en conjuntos en optimización de base de datos.
Listar cinco pasos para la construcción de un cursor.
Describir estrategias para cambio de forma de cursores.
Cambiar la forma cursores hacia consultas al reconstruir lógica como múltiples. consultas, funciones definidas por usuario y consultas complejas con expresiones case.
Probar consultas para rendimiento.
Módulo 5: Optimice una Estrategia de Indexación
Temario:
Modelo de optimización de rendimiento: Índices.
Consideraciones para uso de índices.
Mejores usos para el índice de grupo.
Mejores prácticas para el diseño de índices de no-grupo.
Cómo documentar una estrategia de indexación.
Laboratorio:
Optimice una estrategia de indexación.
Al concluir el módulo
Los estudiantes serán capaces de:
Explicar la importancia de optimizar las estrategias de índice en la base de datos.
Explicar consideraciones para uso de índices en optimización de base de datos.
Describir los mejores usos de índices de grupo y cómo estos se relacionan con optimización de base de datos.
Describir las mejores prácticas para el diseño de base de datos de no-grupo.
Explicar la metodología para el uso de una hoja de trabajo de estrategia de indexación.
Determinar tablas que necesitan ser optimizadas en código de ejecución lenta.
Diseñar, implementar y ajustar índices de grupo y de no-grupo.
Probar para rendimiento.
Módulo 6: Maneje Concurrencia
Temario:
Modelo de optimización de rendimiento: Poner cadados y bloqueo.
Multimedia: Cómo usar consultas eficientes para reducir puesta de candados y bloqueo.
Estrategias para reducir puesta de candados y bloqueo.
Laboratorio:
Reduzca bloqueo
Al concluir el módulo
Los estudiantes serán capaces de:
Explicar la importancia del manejo de concurrencia en optimización de la base de datos.
Explicar cómo las consultas eficientes reducen la puesta de candados y bloqueo.
Listar estrategias para la reducción de puesta de candados y bloqueo.
Identificar código con cuestiones de puesta de candados y bloqueo.
Apretar y optimizar transacciones lógicas en código con cuestiones de concurrencia.
Ajustar niveles de aislamiento de transacción en código con cuestiones de concurrencia.
Probar base de datos para rendimiento.
Determinar porcentaje de ganancia en rendimiento de la base de datos desde línea base.