sql server fundamentals 3ra sesion
TRANSCRIPT
![Page 1: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/1.jpg)
Julián Castiblanco P.http://julycastiblanco.blogspot.com/[email protected] SQL Server 2008/2005
Líder ITPros-DC
SESIÓN 3
![Page 2: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/2.jpg)
CONTENIDO DEL CURSO
![Page 3: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/3.jpg)
CONTENIDO DEL CURSO
![Page 4: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/4.jpg)
• Teoría Procedimientos Almacenados (2da Sesión)• Consultas Simples• Consultas Complejas• Inserción de datos• Actualización de datos• Eliminación de datos
Agenda Tercera Sesión
![Page 5: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/5.jpg)
Entendiendo Procedimientos Almacenados
![Page 6: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/6.jpg)
Procedimientos
• Son sentencias de T-SQL que se almacenan en el servidor. Utilizado para almacenar tareas repetitivas que se ejecutan eficientemente en el servidor.
• Aceptan parámetros y retornan parámetros cuando son invocados.• Las reglas de negocio encapsuladas en un procedimiento puede ser cambiada en un solo
objeto y todos los clientes utilizan el mismo objeto lo que asegura la consistencia en acceso y modificación de datos
• El modelo ER puede ser oculto a los usuarios finales.• Se pueden otorgar privilegios de ejecución aún si estos no tienen acceso a las tablas y
vistas referenciadas.• Se reduce el tráfico de datos en la red.• Puede mejorar el desempeño de las aplicaciones.
![Page 7: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/7.jpg)
Procedimientos
• Existen propiedades adicionales para los procedimientos como las siguientes:– With Recompile: Cada vez que se ejecuta se recrea el plan de ejecución– With Encryption: Oculta la lógica (TSQL statement) que genera el dataset de respuesta.– Execute AS: La consulta interna en el procedimiento se ejecuta con los privilegios de un usuario diferente al que lo
invocó.
CREATE Procedure pGetEmployeeLogin@NationalIDNumber nvarchar(15)ASSELECT NationalIDNumber,LoginIDFROM HumanResources.Employee WHERE NationalIDNumber = @NationalIDNumber GO
•
![Page 8: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/8.jpg)
Procedimientos
• Porque mejoran el performance de las aplicaciones?– Todo se basa en los planes de ejecución de SQL Server
Parcing Resolving Optimizing Compiling Executing
Cuando se ejecuta un procedimiento almacenado, este utiliza los planes de ejecución creados con anterioridad, lo que reduce el tiempo de ejecución de las consultas.
![Page 9: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/9.jpg)
Procedimientos
Sql Server se divide en 2 motores principales Storage (SE)y Relational (query processor RE).• RE: Optimización y ejecución de
sentencias. Contiene un Cmd Parser que verifica la sintaxis y prepara el árbol de consulta, un Optimizador que es el valor de un DBMS y un QE responsable de la ejecución.
• SE: es responsable de la gestión del I/O y contiene los métodos de acceso que manejan las peticiones de I/O de filas, índices, paginas, bloqueo de filas y al Buffer Manager el cual maneja que información deberá estar disponible en memoria, también maneja al log transaccional.
![Page 10: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/10.jpg)
Consultas Simples
![Page 11: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/11.jpg)
Consultas simples – Filtros Básicos
• Se utilizan para limitar las filas que serán devueltas en una consultan.
Comparación: =,<,>,>=,<=,!=
Cadenas: LIKE, CONTAINTS, FREETEXT
Logical: AND, OR, NOT, IN, ALL, ANY, SOME, EXISTS
![Page 12: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/12.jpg)
Consultas simples – Group By
• Se utiliza para agrupar información por una o varias columnas.• Se aprovecha normalmente para sacar totales, promedios, encontrar valores
máximos y mínimos.• Resuelve preguntas como ¿Cuál es el costo total de la factura?
![Page 13: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/13.jpg)
Consultas simples – Having
• Se utiliza para condicionar los registros de salida resultantes de una agrupación.• Resuelve preguntas como ¿Devuelva los clientes y el promedio de valor de sus
facturas, siempre y cuando el cliente haya realizado compras superiores a $15.000 pesos?
![Page 14: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/14.jpg)
Consultas simples – Roll Up y CUBE
• Generan subtotales para cada una de las combinaciones de la consulta.
![Page 15: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/15.jpg)
Consultas simples – Rank
• Son funciones de Clasificación que permite entregar diferentes análisis de información.• RANK• DENSE_RANK• NTILE• ROW_NUMBER
![Page 16: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/16.jpg)
Consultas simples – Rank
![Page 17: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/17.jpg)
Consultas Complejas
![Page 18: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/18.jpg)
Consultas simples – Subconsultas
• Consultas anidadas dentro de un SELECT, INSERT, UPDATE o DELETE• Puede ser utilizada en cualquier expresión que lo necesite.
![Page 19: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/19.jpg)
Consultas simples – EXISTS
• Devuelve los registros solo si existen en un resultset anterior..
![Page 20: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/20.jpg)
Consultas simples – Tablas Temporales
• Permiten almacenar información en tablas de sesión de usuario.• Estas se almacenan en la base de datos TEMPDB• Pueden ser locales o Globales
![Page 21: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/21.jpg)
Inserción de datos
![Page 22: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/22.jpg)
Inserción de datos
![Page 23: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/23.jpg)
Actualización de datos
![Page 24: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/24.jpg)
Actualización de datos
![Page 25: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/25.jpg)
Actualización de datos
![Page 26: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/26.jpg)
Eliminación de datos
![Page 27: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/27.jpg)
Eliminación de datos
![Page 28: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/28.jpg)
Eliminación de datos
TRUNCATE TABLE se diferencia del comando DELETE por:
1. Utiliza menos espacio en el log transaccional2. Realiza menos bloqueos en la base de datos3. Ninguna página queda en la tabla
![Page 29: SQL Server Fundamentals 3ra Sesion](https://reader033.vdocuments.net/reader033/viewer/2022052507/55832560d8b42a9f3d8b536f/html5/thumbnails/29.jpg)
Bibliografía
• http://msdn.microsoft.com/en-us/library/aa933206(v=sql.80).aspx• http://msdn.microsoft.com/en-us/library/ms189835.aspx• http://msdn.microsoft.com/en-us/library/aa260662(v=sql.80).aspx• http://msdn.microsoft.com/en-us/library/ms189575.aspx• http://msdn.microsoft.com/en-us/library/ms189872.aspx• http://msdn.microsoft.com/en-us/library/ms189305(v=sql.90).aspx• Course 2778A, Writing Queries Using Microsoft® SQL Server® 2008
Transact-SQL