LENGUAJE 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.
TRANSACT-SQL es un lenguaje muy potente que nos permite
definir casi cualquier tarea que queramos efectuar sobre la base de datos;
incluye características propias de cualquier lenguaje de programación,
características que nos permiten definir la lógica necesaria para el
tratamiento de la información:
• Tipos de datos.
• Definición
de variables.
•
Estructuras de control de flujo.
• Gestión de
excepciones.
• Funciones
predefinidas.
Sin embargo también nos
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. Y por supuesto los
lenguajes incluidos en la plataforma .NET.
También lo podremos ejecutar
directamente de manera interactiva, por ejemplo desde el editor de consultas de
SSMS (SQL Server Management Studio).
DATA DEFINITION LANGUAGE ( DDL)
Se utilizan para definir la estructura de base de datos o
esquema.
Es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.
Un Data Definition Language o Lenguaje de descripción de datos ( DDL ) es un lenguaje de programación para definir estructuras de datos .
El término DDL fue introducido por primera vez en relación con el modelo de base de datos CODASYL, donde el esquema de la base de datos ha sido escrito en un lenguaje de descripción de datos que describe los registros, los campos, y "conjuntos" que conforman el usuario modelo de datos.
Más tarde fue usado para referirse a un subconjunto de SQL, pero ahora se utiliza en un sentido genérico para referirse a cualquier lenguaje formal para describir datos o estructuras de información, como los esquemas XML.
Es un lenguaje proporcionado por el sistema de gestión de base de datos que permite a los usuarios de la misma llevar a cabo las tareas de definición de las estructuras que almacenarán los datos así como de los procedimientos o funciones que permitan consultarlos.
Un Data Definition Language o Lenguaje de descripción de datos ( DDL ) es un lenguaje de programación para definir estructuras de datos .
El término DDL fue introducido por primera vez en relación con el modelo de base de datos CODASYL, donde el esquema de la base de datos ha sido escrito en un lenguaje de descripción de datos que describe los registros, los campos, y "conjuntos" que conforman el usuario modelo de datos.
Más tarde fue usado para referirse a un subconjunto de SQL, pero ahora se utiliza en un sentido genérico para referirse a cualquier lenguaje formal para describir datos o estructuras de información, como los esquemas XML.
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
|
Ejemplos
CREATE TABLE personas
(id INT(11) PRIMARY KEY AUTO_INCREMENT NOT NULL, nombre VARCHAR(40) NOT
NULL,cedula varchar(20) UNIQUE NOT NULL);
ALTER TABLE nombre_actual RENAME TO nuevo_nombre;
ALTER TABLE tabla DROP campo_a_borrar;
DATA MANIPULATION LANGUAGE (DML)
Se utilizan para la gestión de datos dentro de los objetos de esquema.
Es un idioma proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.
Se utilizan para la gestión de datos dentro de los objetos de esquema.
Es un idioma proporcionado por los sistemas gestores de bases de datos que permite a los usuarios de la misma llevar a cabo las tareas de consulta o modificación de los datos contenidos en las Bases de Datos del Sistema Gestor de Bases de Datos. El lenguaje de manipulación de datos más popular hoy día es SQL, usado para recuperar y manipular datos en una base de datos relacional. Otros ejemplos de DML son los usados por bases de datos IMS/DL1, CODASYL u otras.
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.
|
Ejemplo:
CREATE DATABASE mydb;
USE mydb;
CREATE TABLE mitabla ( id INT PRIMARY KEY, nombre
VARCHAR(20) );
INSERT INTO mitabla VALUES ( 1, 'Will' );
INSERT INTO mitabla VALUES ( 2, 'Marry' );
INSERT INTO mitabla VALUES ( 3, 'Dean' );
SELECT id, nombre FROM mitabla WHERE id = 1;
UPDATE mitabla SET nombre = 'Willy' WHERE id = 1;
SELECT id, nombre FROM mitabla;
DELETE FROM mitabla WHERE id = 1;
SELECT id, nombre FROM mitabla;
DROP DATABASE mydb;
SELECT count(1) from mitabla; da el número de registros en
la tabla
DATA CONTROL LANGUAGE (DCL)
Un Lenguaje de Control de Datos (DCL por sus siglas en
inglés: Data Control Language) es un lenguaje proporcionado por el Sistema de
Gestión de Base de Datos que incluye una serie de comandos SQL que permiten al
administrador controlar el acceso a los datos contenidos en la Base de Datos.
Comando
|
Descripción
|
DENY
|
Se puede usar para evitar explícitamente que un
usuario reciba un permiso particular.
Esto es útil cuando un usuario puede ser un miembro de una
función o grupo que se concede un permiso y que desea evitar que el usuario
hereden el permiso mediante la creación de una excepción
|
GRANT
|
Permite dar permisos a uno o varios usuarios o
roles para realizar tareas determinadas.
|
Ejemplo de DENY
Los
parámetros para el comando deny son idénticos a los utilizados para el comando
GRANT. Por ejemplo, si desea asegurarse de que Mateo no recibiría la
capacidad de eliminar la información de la tabla de empleados, usted debe
ejecutar el siguiente comando:
DENY [permiso]
ON [objeto]
A [usuario]
ON [objeto]
A [usuario]
Ejemplo
GRANT
Por ejemplo, suponga que desea conceder al usuario Joe la
capacidad de recuperar información de la tabla empleados en una base de datos
llamada HR. Es posible utilizar
el siguiente SQLcomando:
GRANT SELECT
hr.employees EN
AL Joe
Joe ahora tendrá la posibilidad de recuperar información de la tabla
empleados. Él no, sin embargo,
ser capaz de conceder a otros usuarios permiso para recuperar la información de
que la mesa porque no incluyó la cláusula WITH GRANT OPTION en la sentencia
GRANT.
Denegar ELIMINAR
EN hr.employees
Mateo
EN hr.employees
Mateo
CONTROL DE TRANSACCIÓN (TCL)
Una transacción es una unidad lógica de trabajo. O informalmente y trabajando con SQL, un conjunto de sentencias que se ejecutan como si fuesen una solo. En general, las sentencias que forman parte de una transacción se interrelacionan entre sí, y no tiene sentido que se ejecute una sin que se ejecuten las demás. Una Transacción termina con COMMIT; o ROLLBACK;
Una transacción es una unidad lógica de trabajo. O informalmente y trabajando con SQL, un conjunto de sentencias que se ejecutan como si fuesen una solo. En general, las sentencias que forman parte de una transacción se interrelacionan entre sí, y no tiene sentido que se ejecute una sin que se ejecuten las demás. Una Transacción termina con COMMIT; o ROLLBACK;
Comando
|
Descripción
|
COMMIT
|
guarda el trabajo realizado.
|
ROLLBACK
|
restaurar la base de datos a la original, hasta
el último commit.
|
La mayoría de las transacciones se inician de forma
implícita al utilizar alguna sentencia que empieza con CREATE, ALTER, DROP, SET, DECLARE, GRANT o REVOKE,
aunque existe la sentencia SQL para iniciar transacciones, que es la siguiente:
SET
TRANSACTION {READ ONLY|READ WRITE};
Cada transacción se
inicia explícitamente con la instrucción BEGIN TRANSACTION y se termina
explícitamente con una instrucción COMMIT o ROLLBACK.
Ejemplos:
START TRANSACTION;
INSERT INTO t SET name = ‘William’;
INSERT INTO t SET name = ‘Wallace’;
COMMIT;
INSERT INTO t SET name = ‘William’;
INSERT INTO t SET name = ‘Wallace’;
COMMIT;
START TRANSACTION;
INSERT INTO t SET name = ‘Gromit’;
INSERT INTO t SET name = ‘Wallace’;
ERROR 1062 (23000): Duplicate entry ‘Wallace’ for key 1
ROLLBACK;
INSERT INTO t SET name = ‘Gromit’;
INSERT INTO t SET name = ‘Wallace’;
ERROR 1062 (23000): Duplicate entry ‘Wallace’ for key 1
ROLLBACK;
La transacción más simple en SQL Server es una
única sentencia SQL. Por ejemplo una sentencia como esta:
UPDATE Productos SET Precio_Unitario = 20 WHERE Nombre_Producto =’Palta’
UPDATE Productos SET Precio_Unitario = 20 WHERE Nombre_Producto =’Palta’
(CFL)LENGUAJE DE CONTROL
DE FLUJO
Las palabras clave
del lenguaje de control de flujo de Transact-SQL son:
BEGIN…END
|
RETURN
|
BREAK
|
THROW
|
CONTINUE
|
TRY…CATCH
|
GOTO label
|
WAITFOR
|
IF…ELSE
|
WHILE
|
BEGIN
/ END
Encierra un conjunto de instrucciones Transact-SQL de forma que se pueda ejecutar un grupo de instrucciones Transact-SQL.
BEGIN
{
sql_statement | statement_block
}
END
Encierra un conjunto de instrucciones Transact-SQL de forma que se pueda ejecutar un grupo de instrucciones Transact-SQL.
BEGIN
{
sql_statement | statement_block
}
END
Ejemplo
USE AdventureWorks2012;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT FirstName, MiddleName
FROM Person.Person WHERE LastName = ‘Adams’;
ROLLBACK TRANSACTION;
PRINT N’Rolling back the transaction two times would cause an error.’;
END;
ROLLBACK TRANSACTION;
PRINT N’Rolled back the transaction.’;
GO
/*
Rolled back the transaction.
*/
USE AdventureWorks2012;
GO
BEGIN TRANSACTION;
GO
IF @@TRANCOUNT = 0
BEGIN
SELECT FirstName, MiddleName
FROM Person.Person WHERE LastName = ‘Adams’;
ROLLBACK TRANSACTION;
PRINT N’Rolling back the transaction two times would cause an error.’;
END;
ROLLBACK TRANSACTION;
PRINT N’Rolled back the transaction.’;
GO
/*
Rolled back the transaction.
*/
RESUMEN
(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.
SUMMARY
(T-SQL) is an extension to Microsoft and Sybase SQL. SQL,
which is often said to be a Structured Query language (for its acronym in
English) is a standardized computer language, originally developed by IBM to
search, alter and define relational databases using declarative sentences.
T-SQL expands the SQL standard to include procedural programming, local
variables, various support functions for string processing, date processing,
mathematics, etc., and changes to the DELETE and UPDATE statements. These
additional features make T-SQL language that meets the characteristics of an
automaton Turing.
RECOMENDACIONES
Algunas consultas consumen más recursos
que otras. Por ejemplo, las consultas que devuelven grandes conjuntos de
resultados y las que contienen cláusulas WHERE que no son únicas siempre
consumen muchos recursos.
Sin
embargo, para mejorar el rendimiento de las consultas, puede:
·
Agregar más memoria. Esta solución es especialmente útil si el
servidor ejecuta muchas consultas complejas y varias consultas se ejecutan
lentamente.
·
Utilizar más de un procesador. Varios procesadores permiten que
el Motor de base de datos use consultas en paralelo.
CONCLUSIONES
Transact-SQL es fundamental para
trabajar con SQL Server. Todas las aplicaciones que se comunican con SQL Server
lo hacen enviando instrucciones Transact-SQL al servidor, independientemente de
la interfaz de usuario de la aplicación.
GLOSARIO
Estandarizado: Ajustar o adaptar las cosas para que se asemejen a un tipo, modelo o norma común.
Embebido: Un sistema embebido o empotrado es un sistema
de computación diseñado para realizar una o algunas pocas funciones dedicadas
frecuentemente en un sistema de computación en tiempo rea
BIBLIOGRAFÍAS Y FUENTES DE INFORMACIÓN
No hay comentarios:
Publicar un comentario