Lenguaje Transact SQL
Lenguaje Transact SQL
1. Contenido
Definición
Transact-SQL también es conocido por sus abreviatura como T-SQL, como
definición es una extensión del SQL Microsoft junto son Sybase. Lo que
conocemos a SQL como el lenguaje de búsqueda estructurado lo que viene
hacer T-SQL es expandir los estándares de SQL no incluyendo programación
procedural, como algunas otras funciones para matemáticas, fechas, etc.
Ejerce un control sobre los datos tal como la asignación de privilegios de acceso
a los datos (GRANT/REVOKE), La gestión de transacciones
(COMMIT/ROLLBACK).
Una transacción se puede definir como un conjunto de acciones que se tienen
que realizar todas o ninguna para preservar la integridad de la base de datos.
Por ejemplo supongamos que tenemos una base de datos para las reservas de
avión. Cuando un usuario pide reservar una plaza en un determinado vuelo, el
sistema tiene que comprobar que queden plazas libres, si quedan plazas
reservará la que quiera el usuario generando un nuevo billete y marcando la
plaza como ocupada. Aquí tenemos un proceso que consta de dos operaciones
de actualización de la base de datos (crear una nueva fila en la tabla de billetes
y actualizar la plaza reservada en el vuelo, poniéndola como ocupada) estas dos
operaciones se tienen que ejecutar o todas o ninguna, si después de crear el
billete no se actualiza la plaza porque se cae el sistema, por ejemplo, la base de
datos quedaría en un estado inconsistente ya que la plaza constaría como libre
cuando realmente habría un billete emitido para esta plaza. En este caso el
sistema tiene el mecanismo de transacciones para evitar este error. Las
operaciones se incluyen las dos en una misma transacción y así el sistema sabe
que las tiene que ejecutar las dos, si por lo que sea no se pueden ejecutar las
dos, se encarga de deshacer los cambios que se hubiesen producido para no
ejecutar ninguna.
Las instrucciones que gestionan las autorizaciones serán utilizadas normalmente
por el administrador mientras que las otras, referentes a proceso de
transacciones serán utilizadas también por los programadores.
GRANT, permite otorgar permisos.
REVOKE, elimina los permisos que previamente se han concedido.
El DML (Lenguaje de Manipulación de Datos.)
Funciones - Identificadores
El nombre de un objeto de base de datos se conoce como su identificador.
Cualquier elemento de Microsoft SQL Server puede tener un identificador.
Servidores, bases de datos y objetos de bases de datos, como tablas, vistas,
columnas, índices, desencadenadores, procedimientos, restricciones, reglas,
etc. Pueden tener identificadores.
Se requiere que la mayor parte de los objetos tengan identificadores; pero para
ciertos objetos, como las restricciones, son opcionales.
El identificador de un objeto se crea cuando se define el objeto.
A continuación, el identificador se utiliza para hacer referencia al objeto. Por
ejemplo, la instrucción siguiente crea una tabla con el identificador TableXy dos
columnas con los identificadores KeyCol y Description:
CLASES DE IDENTIFICADORES
Existen dos clases de identificadores:
Identificadores normales.- Siguen las reglas de formato de los identificadores.
Los identificadores normales no están delimitados cuando se usan en
instrucciones Transact-SQL.
SELECT *
FROM TableX
WHERE KeyCol = 124
SELECT *
FROM [TableX] --Delimiter is optional.
WHERE [KeyCol] = 124 --Delimiter is optional.
Ambos identificadores, normales y delimitados, deben tener entre 1 y 128
caracteres. En el caso de las tablas temporales locales, el identificador puede
tener un máximo de 116 caracteres.
El nombre función es un calificado o no calificado que designa una función. El
gestor de bases de datos califica implícitamente un nombre de función no
calificado en una sentencia de SQL según el contexto.
Microsoft SQL Server utiliza palabras clave reservadas para definir, manipular y
tener acceso a las bases de datos. Las palabras clave reservadas forman parte
de la gramática del lenguaje Transact-SQL que utiliza SQL Server para analizar
y comprender las instrucciones y lotes de Transact-SQL. Aunque resulta
sintácticamente posible utilizar palabras clave reservadas de SQL Server como
identificadores y nombres de objetos en secuencias de comandos de Transact-
SQL, sólo se puede hacer utilizando identificadores delimitados.
AS FILLFACTOR PUBLIC
BY GRANT RETURN
COALESCE IF RULE
COLLATE IN SAVE
CONTAINSTABLE IS SETUSER
CURRENT_USER NATIONAL TO
DEFAULT OF TSEQUAL
DESC ON UNPIVOT
ELSE OR VIEW
Un operador es un símbolo que especifica una acción realizada por una o más
expresiones. En las siguientes tablas se incluyen las categorías de operadores
que utiliza SQL Server.
Operadores
Aritméticos
Lógicos
Bit a bit
Comparación
FLUJOS DE CONTROL
2. Resumen
T-SQL es un lenguaje sumamente 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. Podemos hacer uso de T-SQL en lenguajes de programación como
puede ser Visual Basic. NET, C, Java.
El DCL ejerce un control sobre los datos tal como la asignación de privilegios de
acceso a los datos (GRANT/REVOKE), La gestión de transacciones
(COMMIT/ROLLBACK).
El DMIL se compone de las instrucciones para el manejo de los datos, para
insertar nuevos datos, modificar datos existentes, para eliminar datos y la más
utilizada, para recuperar datos de la base de datos.
3. Summary
T-SQL is an extremely powerful language that helps us define tasks while working
with databases. Because this language has some restrictions in the language
itself we almost always see it used in the creation of stored procedures, user
functions and also in triggers. We can make use of T-SQL in programming
languages such as Visual Basic. NET, C, Java.
The DDL is the part of the SQL dedicated to the definition of the database,
consists of statements to define the structure of the database, allow to create the
database, create, modify or eliminate the structure of the tables, create indexes ,
define data validation rules, relationships between tables, etc.
The DCL exercises control over data such as the allocation of data access
privileges (GRANT / REVOKE), transaction management (COMMIT /
ROLLBACK).
The DMIL consists of the instructions for the handling of the data, to insert new
data, modify existing data, to eliminate data and the most used, to recover data
from the database.
4. Recomendaciones
5. Conclusiones
Si una consulta tiene uno o más operadores OR, considera reescribir la consulta
en varias consultas que se unen usando el operador UNION ALL.
El Transact-SQL permite:
7. Glosario de Términos
8. Bibliografía o Linkografía
https://www.codejobs.biz/es/blog/2014/01/28/que-es-transact-sql
https://technet.microsoft.com/es-es/library/ms174290(v=sql.105).aspx
https://es.wikipedia.org/wiki/Transact-SQL
https://docs.microsoft.com/es-es/sql/t-sql/tutorial-writing-transact-sql-statements