SlideShare una empresa de Scribd logo
1 de 16
LENGUAJETRANSACT SQL
• INTEGRANTES:
 Vannesa Del Pilar Salazar Ugaz.
 Thalía Margarita Serrano Díaz.
Universidad Politécnica
Amazónica
Definición
Transact-SQL (T-SQL) es una extensión al SQL de Microsoft y
Sybase. SQL, que frecuentemente se dice ser un Lenguaje de
Búsquedas Estructurado (por sus siglas en inglés), es un
lenguaje de cómputo estandarizado, desarrollado originalmente
por IBM para realizar búsquedas, alterar y definir bases de
datos relacionales utilizando sentencias declarativas. T-SQL
expande el estándar de SQL para incluir programación
procedural, variables locales, varias funciones de soporte para
procesamiento de strings, procesamiento de fechas,
matemáticas, etc, y cambios a las sentencias DELETE y
UPDATE. Estas características adicionales hacen de T-SQL un
lenguaje que cumple con las características de un autómata de
Turing.
El Transact-SQL permite:
 Definir bloques de instrucciones SQL que se tratan como
unidades de ejecución.
 Realizar ejecuciones condicionales.
 Realizar ejecuciones iterativas o repetitivas.
 Garantizar el tratamiento modular con la declaración de
variables locales y el uso de procedimientos almacenados.
 Manipular tupla a tupla el resultado de una consulta.
Características generales del lenguaje Transact-
SQL:
El lenguaje SQL se creó con la finalidad de ser un lenguaje muy
potente y a la vez muy fácil de utilizar, se ha conseguido en gran
medida ya que con una sola frase (instrucción) podemos
recuperar datos complejos (por ejemplo datos que se encuentran
en varias tablas, combinándolos, calculando resúmenes), y
utilizando un lenguaje muy cercano al lenguaje hablado
(¡suponiendo que hablamos inglés, claro!).
Sin embargo no permite:
 Crear interfaces de usuario.
 Crear aplicaciones ejecutables, sino elementos que en
algún momento llegarán al servidor de datos y serán
ejecutados.
 Debido a estas restricciones se emplea generalmente para
crear procedimientos almacenados, triggers y funciones de
usuario. Puede ser utilizado como cualquier SQL como
lenguaje embebido en aplicaciones desarrolladas en otros
lenguajes de programación como Visual Basic, C, Java,
etcétera.
Comando Descripción
CREATE
Utilizado para crear nuevas tablas, stored procedures e
índices
DROP
Empleado para eliminar tablas, stored procedures e
índices
ALTER
Utilizado para modificar las tablas agregando campos o
cambiando la definición de los campos
Comandos DLL:
Comandos DDL (create, alter, y drop), DML (insert,
update, delete y select), DCL (deny y grant), TCL
(commit y rollback) CFL (begin, if, while, etc.)
Comandos DML:
Comando Descripción
SELECT
Utilizado para consultar registros de la base de datos
que satisfagan un criterio determinado.
INSERT
Utilizado para cargar lotes de datos en la base de datos
en una única operación.
DELETE
Utilizado para modificar los valores de los campos y
registros especificados.
UPDATE
Utilizado para eliminar registros de una tabla de una
base de datos.
Comandos DCL:
Comando Descripción
GRANT Permite dar permisos a uno o varios usuarios o roles
para realizar tareas determinadas.
REVOKE Permite eliminar permisos que previamente se han
concedido con GRANT.
Comandos TCL:
Comando Descripción
COMMIT Guarda el trabajo realizado
ROLLBACK Restaura la base de datos a la original,
hasta el último COMMIT
Comandos CFL:
Comando Descripción
BEGIN- END Puede ejecutar un conjunto de
instrucciones TRANSACT SQL
IF…ELSE Evalúa una condición y determina el de
flujo de código
TRY…CATCH Permite el control de errores
Ejemplos:
A. Usar SELECT para recuperar filas y columnas
En el siguiente ejemplo se muestran tres fragmentos de código. En el
primer ejemplo de código, se devuelven todas las filas (no se especifica
la cláusula WHERE) y todas las columnas (con *) de la tabla Product de
la base de datos
USE AdventureWorks2012;
GO
SELECT *
FROM Production.Product
ORDER BY Name ASC;
-- Alternate way.
USE AdventureWorks2012;
GO
SELECT p.*
FROM Production.Product AS p
ORDER BY Name ASC;
GO
B. Usar SELECT con encabezados de columna y cálculos
En los siguientes ejemplos se devuelven todas las filas de la tabla
Producto. En el primer ejemplo se devuelven las ventas totales y
los descuentos de cada producto. En el segundo ejemplo se
calculan los beneficios totales de cada producto.
USE AdventureWorks2012;
GO
SELECT p.Name AS ProductName,
NonDiscountSales = (OrderQty * UnitPrice),
Discounts = ((OrderQty * UnitPrice) * UnitPriceDiscount)
FROM Production.Product AS p
INNER JOIN Sales.SalesOrderDetail AS sod
ON p.ProductID = sod.ProductID
ORDER BY ProductName DESC;
GO
C. Usar DISTINCT con SELECT
En el siguiente ejemplo se utiliza DISTINCT para evitar la
recuperación de títulos duplicados.
USE AdventureWorks2012;
GO
SELECT DISTINCT JobTitle
FROM HumanResources.Employee
ORDER BY JobTitle;
GO
RESUMEN
Transact-SQL es fundamental para trabajar con SQL
Server, es un lenguaje potente que nos ayuda a
definir tareas mientras trabajamos con bases de
datos. Debido a que este lenguaje tiene algunas
restricciones en el propio lenguaje casi siempre lo
vemos utilizado en la creación de los procedimientos
almacenados, funciones de usuario y también en los
triggers.
RECOMENDACIONES
EN SELECT:
- Promover el uso de EXISTS y NOT EXISTS, en lugar de IN y NOT IN.
- Si usa el operador UNION y existe la seguridad de que ambos select NO tienen
registros duplicados, entonces es mejor usar UNION ALL, para evitar que
implícitamente se haga uso del operador DISTINCT el cual puede requerir que se
almacenen todos los datos de salida en una tabla temporal para que luego se reordenen
y se filtren los datos duplicados, lo cual aumenta considerablemente el costo de la
consulta.
PROCEDIMIENTOS ALMACENADOS:
- No usar GOTO… en remplazo usar Try Catch
- Se recomienda que un procedimiento no sobrepase las 400 líneas de código (sin
contemplar los comentarios). En caso que tengas un procedimiento demasiado grande
es más adecuado particionarlo. Tener en cuenta que las tablas temporales y
transacciones se mantienen en procedimientos dependientes.
WHERE:
-Si se usa LIKE en la cláusula WHERE, se debe evitar el uso del
operador “%” al principio de la cadena a buscar dado que originaría que
se tienen que leer todos los datos de la tabla para poder responder dicha
consulta, adicionalmente es recomendable que existan (como mínimo) 3
caracteres antes del operador “%”.
-Las columnas filtro TIENEN QUE SER del mismo tipo de la columna
que existe en la tabla (para evitar conversiones al momento de
ejecución).
CONCLUSIONES
- Que es un lenguaje muy utilizado para definir,
controlar y acceder a los datos almacenados de una
base de datos.
- Es un lenguaje universal que se emplea en
cualquier sistema gestor de base de datos.
- Es un lenguaje muy potente que nos ayuda a definir
tareas mientras trabajamos con bases de datos.

Más contenido relacionado

La actualidad más candente

Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
Blanca Parra
 
Acceso directo a memoria
Acceso directo a memoriaAcceso directo a memoria
Acceso directo a memoria
alan moreno
 
Ejercicios sistemas operativos I
Ejercicios sistemas operativos IEjercicios sistemas operativos I
Ejercicios sistemas operativos I
INÉS ARABIA DíAZ
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
Gerardo
 

La actualidad más candente (20)

Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
LENGUAJE TRANSACT SQL
 LENGUAJE TRANSACT SQL LENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQL
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Acceso directo a memoria
Acceso directo a memoriaAcceso directo a memoria
Acceso directo a memoria
 
Tipos de datos abstractos
Tipos de datos abstractosTipos de datos abstractos
Tipos de datos abstractos
 
Eficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa RamirezEficiencia de algoritmos - Vanessa Ramirez
Eficiencia de algoritmos - Vanessa Ramirez
 
1.1 tipos de datos abstractos
1.1 tipos de datos abstractos1.1 tipos de datos abstractos
1.1 tipos de datos abstractos
 
Busqueda secuencial
Busqueda secuencialBusqueda secuencial
Busqueda secuencial
 
Ejercicios sistemas operativos I
Ejercicios sistemas operativos IEjercicios sistemas operativos I
Ejercicios sistemas operativos I
 
Arbol rojo y negro
Arbol rojo y negroArbol rojo y negro
Arbol rojo y negro
 
Algoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivosAlgoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivos
 
tipos de datos de access
tipos de datos de accesstipos de datos de access
tipos de datos de access
 
Programación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibradosProgramación 3: árboles de búsqueda equilibrados
Programación 3: árboles de búsqueda equilibrados
 
Comandos ddl y dml
Comandos ddl y dmlComandos ddl y dml
Comandos ddl y dml
 
Procesamiento superescalar
Procesamiento superescalarProcesamiento superescalar
Procesamiento superescalar
 
Archivos y Directorios
Archivos y DirectoriosArchivos y Directorios
Archivos y Directorios
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMS
 
Informix
InformixInformix
Informix
 

Similar a Lenguaje transact sql

Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
josecuartas
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
felpe33
 

Similar a Lenguaje transact sql (20)

Diapositivas transact sql
Diapositivas transact sqlDiapositivas transact sql
Diapositivas transact sql
 
Sql dinamico14042011
Sql dinamico14042011Sql dinamico14042011
Sql dinamico14042011
 
SQL avanzado
SQL avanzadoSQL avanzado
SQL avanzado
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
lenguaje transact
lenguaje transactlenguaje transact
lenguaje transact
 
Expo
ExpoExpo
Expo
 
Lenguaje transact
Lenguaje transactLenguaje transact
Lenguaje transact
 
Sentencia select
Sentencia selectSentencia select
Sentencia select
 
Lenguaje Transact sql
Lenguaje Transact sqlLenguaje Transact sql
Lenguaje Transact sql
 
4. sql (autoguardado)
4. sql (autoguardado)4. sql (autoguardado)
4. sql (autoguardado)
 
Lumisaca hector bdii_t7
Lumisaca hector bdii_t7Lumisaca hector bdii_t7
Lumisaca hector bdii_t7
 
LENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQLLENGUAJE TRANSACT SQL
LENGUAJE TRANSACT SQL
 
Taller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DMLTaller de Base de Datos - Unidad 3 lenguage DML
Taller de Base de Datos - Unidad 3 lenguage DML
 
Exposición
ExposiciónExposición
Exposición
 
TRANSACT-SQL
TRANSACT-SQLTRANSACT-SQL
TRANSACT-SQL
 
Exposición
ExposiciónExposición
Exposición
 
Pres17BDII.ppt
Pres17BDII.pptPres17BDII.ppt
Pres17BDII.ppt
 
20 tips para escribir stored procedures en sql server
20 tips para escribir stored procedures en sql server20 tips para escribir stored procedures en sql server
20 tips para escribir stored procedures en sql server
 
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM   TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
TRANSACCIONES, TRIGGERS, PROCEDIMIENTOS ALMACENADOS: DB2/IBM
 
Sql
SqlSql
Sql
 

Más de thalia margarita serrano diaz

Más de thalia margarita serrano diaz (20)

Ip
IpIp
Ip
 
Modelo de referencia osi
Modelo de referencia osiModelo de referencia osi
Modelo de referencia osi
 
Clasificacion de redes
Clasificacion de redesClasificacion de redes
Clasificacion de redes
 
Array bidimensionales
Array bidimensionalesArray bidimensionales
Array bidimensionales
 
Ciclos
CiclosCiclos
Ciclos
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Microcontrolador
MicrocontroladorMicrocontrolador
Microcontrolador
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Procedimientos almacenados
Procedimientos almacenadosProcedimientos almacenados
Procedimientos almacenados
 
Vistas
VistasVistas
Vistas
 
Tablas y tipos de datos
Tablas y tipos de datosTablas y tipos de datos
Tablas y tipos de datos
 
Base de-datos-en-microsoft-sql-server
Base de-datos-en-microsoft-sql-serverBase de-datos-en-microsoft-sql-server
Base de-datos-en-microsoft-sql-server
 
Microsoft sql server 2012
Microsoft sql server 2012Microsoft sql server 2012
Microsoft sql server 2012
 
Normalización
NormalizaciónNormalización
Normalización
 
Calculo relacional
Calculo relacionalCalculo relacional
Calculo relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Modelo entidad
Modelo entidadModelo entidad
Modelo entidad
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Modelo de una b.d
Modelo de una b.dModelo de una b.d
Modelo de una b.d
 

Último

ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
gustavoiashalom
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
Ricardo705519
 

Último (20)

Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
ANALISIS Y DISEÑO POR VIENTO, DE EDIFICIOS ALTOS, SEGUN ASCE-2016, LAURA RAMIREZ
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
Presentacion de la ganaderia en la región
Presentacion de la ganaderia en la regiónPresentacion de la ganaderia en la región
Presentacion de la ganaderia en la región
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Libro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdfLibro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdf
 
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
analisis tecnologico( diagnostico tecnologico, herramienta de toma de deciones)
 
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptxEFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
EFICIENCIA ENERGETICA-ISO50001_INTEC_2.pptx
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico EcuatorianoEstadística Anual y Multianual del Sector Eléctrico Ecuatoriano
Estadística Anual y Multianual del Sector Eléctrico Ecuatoriano
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
 

Lenguaje transact sql

  • 1. LENGUAJETRANSACT SQL • INTEGRANTES:  Vannesa Del Pilar Salazar Ugaz.  Thalía Margarita Serrano Díaz. Universidad Politécnica Amazónica
  • 2. Definición Transact-SQL (T-SQL) es una extensión al SQL de Microsoft y Sybase. SQL, que frecuentemente se dice ser un Lenguaje de Búsquedas Estructurado (por sus siglas en inglés), es un lenguaje de cómputo estandarizado, desarrollado originalmente por IBM para realizar búsquedas, alterar y definir bases de datos relacionales utilizando sentencias declarativas. T-SQL expande el estándar de SQL para incluir programación procedural, variables locales, varias funciones de soporte para procesamiento de strings, procesamiento de fechas, matemáticas, etc, y cambios a las sentencias DELETE y UPDATE. Estas características adicionales hacen de T-SQL un lenguaje que cumple con las características de un autómata de Turing.
  • 3. El Transact-SQL permite:  Definir bloques de instrucciones SQL que se tratan como unidades de ejecución.  Realizar ejecuciones condicionales.  Realizar ejecuciones iterativas o repetitivas.  Garantizar el tratamiento modular con la declaración de variables locales y el uso de procedimientos almacenados.  Manipular tupla a tupla el resultado de una consulta.
  • 4. Características generales del lenguaje Transact- SQL: El lenguaje SQL se creó con la finalidad de ser un lenguaje muy potente y a la vez muy fácil de utilizar, se ha conseguido en gran medida ya que con una sola frase (instrucción) podemos recuperar datos complejos (por ejemplo datos que se encuentran en varias tablas, combinándolos, calculando resúmenes), y utilizando un lenguaje muy cercano al lenguaje hablado (¡suponiendo que hablamos inglés, claro!).
  • 5. Sin embargo no permite:  Crear interfaces de usuario.  Crear aplicaciones ejecutables, sino elementos que en algún momento llegarán al servidor de datos y serán ejecutados.  Debido a estas restricciones se emplea generalmente para crear procedimientos almacenados, triggers y funciones de usuario. Puede ser utilizado como cualquier SQL como lenguaje embebido en aplicaciones desarrolladas en otros lenguajes de programación como Visual Basic, C, Java, etcétera.
  • 6. Comando Descripción CREATE Utilizado para crear nuevas tablas, stored procedures e índices DROP Empleado para eliminar tablas, stored procedures e índices ALTER Utilizado para modificar las tablas agregando campos o cambiando la definición de los campos Comandos DLL: Comandos DDL (create, alter, y drop), DML (insert, update, delete y select), DCL (deny y grant), TCL (commit y rollback) CFL (begin, if, while, etc.)
  • 7. Comandos DML: Comando Descripción SELECT Utilizado para consultar registros de la base de datos que satisfagan un criterio determinado. INSERT Utilizado para cargar lotes de datos en la base de datos en una única operación. DELETE Utilizado para modificar los valores de los campos y registros especificados. UPDATE Utilizado para eliminar registros de una tabla de una base de datos.
  • 8. Comandos DCL: Comando Descripción GRANT Permite dar permisos a uno o varios usuarios o roles para realizar tareas determinadas. REVOKE Permite eliminar permisos que previamente se han concedido con GRANT.
  • 9. Comandos TCL: Comando Descripción COMMIT Guarda el trabajo realizado ROLLBACK Restaura la base de datos a la original, hasta el último COMMIT Comandos CFL: Comando Descripción BEGIN- END Puede ejecutar un conjunto de instrucciones TRANSACT SQL IF…ELSE Evalúa una condición y determina el de flujo de código TRY…CATCH Permite el control de errores
  • 10. Ejemplos: A. Usar SELECT para recuperar filas y columnas En el siguiente ejemplo se muestran tres fragmentos de código. En el primer ejemplo de código, se devuelven todas las filas (no se especifica la cláusula WHERE) y todas las columnas (con *) de la tabla Product de la base de datos USE AdventureWorks2012; GO SELECT * FROM Production.Product ORDER BY Name ASC; -- Alternate way. USE AdventureWorks2012; GO SELECT p.* FROM Production.Product AS p ORDER BY Name ASC; GO
  • 11. B. Usar SELECT con encabezados de columna y cálculos En los siguientes ejemplos se devuelven todas las filas de la tabla Producto. En el primer ejemplo se devuelven las ventas totales y los descuentos de cada producto. En el segundo ejemplo se calculan los beneficios totales de cada producto. USE AdventureWorks2012; GO SELECT p.Name AS ProductName, NonDiscountSales = (OrderQty * UnitPrice), Discounts = ((OrderQty * UnitPrice) * UnitPriceDiscount) FROM Production.Product AS p INNER JOIN Sales.SalesOrderDetail AS sod ON p.ProductID = sod.ProductID ORDER BY ProductName DESC; GO
  • 12. C. Usar DISTINCT con SELECT En el siguiente ejemplo se utiliza DISTINCT para evitar la recuperación de títulos duplicados. USE AdventureWorks2012; GO SELECT DISTINCT JobTitle FROM HumanResources.Employee ORDER BY JobTitle; GO
  • 13. RESUMEN Transact-SQL es fundamental para trabajar con SQL Server, es un lenguaje potente que nos ayuda a definir tareas mientras trabajamos con bases de datos. Debido a que este lenguaje tiene algunas restricciones en el propio lenguaje casi siempre lo vemos utilizado en la creación de los procedimientos almacenados, funciones de usuario y también en los triggers.
  • 14. RECOMENDACIONES EN SELECT: - Promover el uso de EXISTS y NOT EXISTS, en lugar de IN y NOT IN. - Si usa el operador UNION y existe la seguridad de que ambos select NO tienen registros duplicados, entonces es mejor usar UNION ALL, para evitar que implícitamente se haga uso del operador DISTINCT el cual puede requerir que se almacenen todos los datos de salida en una tabla temporal para que luego se reordenen y se filtren los datos duplicados, lo cual aumenta considerablemente el costo de la consulta. PROCEDIMIENTOS ALMACENADOS: - No usar GOTO… en remplazo usar Try Catch - Se recomienda que un procedimiento no sobrepase las 400 líneas de código (sin contemplar los comentarios). En caso que tengas un procedimiento demasiado grande es más adecuado particionarlo. Tener en cuenta que las tablas temporales y transacciones se mantienen en procedimientos dependientes.
  • 15. WHERE: -Si se usa LIKE en la cláusula WHERE, se debe evitar el uso del operador “%” al principio de la cadena a buscar dado que originaría que se tienen que leer todos los datos de la tabla para poder responder dicha consulta, adicionalmente es recomendable que existan (como mínimo) 3 caracteres antes del operador “%”. -Las columnas filtro TIENEN QUE SER del mismo tipo de la columna que existe en la tabla (para evitar conversiones al momento de ejecución).
  • 16. CONCLUSIONES - Que es un lenguaje muy utilizado para definir, controlar y acceder a los datos almacenados de una base de datos. - Es un lenguaje universal que se emplea en cualquier sistema gestor de base de datos. - Es un lenguaje muy potente que nos ayuda a definir tareas mientras trabajamos con bases de datos.