1.
CONTENIDO
- Definicion
Transact-SQL
es una extensión del lenguaje SQL,
propiedad de Microsoft y Sybase. La implementación de Microsoft funciona en los productos Microsoft SQL Server.
En tanto, Sybase utiliza el lenguaje en su Adaptative Server Enterprise, el
sucesor de Sybase SQL Server.
Para hacer a SQL más poderoso, le fueron agregados algunas características como:
-Mejora en las declaraciones DELETE y UPDATE.
-Variables locales.
-Soporte de varias funciones para el procesamiento de cadenas, datos,matemática, etc.
-Un lenguaje de control de flujos.
Para el lenguaje de control de flujos utiliza palabras claves como BEGIN y END, BREAK, CONTINUE, GOTO, IF y ELSE, RETURN, WAITFOR y WHILE.
Para las variables locales utiliza DECLARE para declararlas y SET para proveerles un valor.
En tanto las mejoras en las declaraciones DELETE Y UPDATE se debe a que ambas permiten una cláusula FROM.
Los críticos de Transact-SQL dicen que las características adicionales rompen la compatibilidad con el SQL estándar. También critican que lo que Transact-SQL hace es posible implementarse a través de los lenguajes de programación y SQL embebido.
Para hacer a SQL más poderoso, le fueron agregados algunas características como:
-Mejora en las declaraciones DELETE y UPDATE.
-Variables locales.
-Soporte de varias funciones para el procesamiento de cadenas, datos,matemática, etc.
-Un lenguaje de control de flujos.
Para el lenguaje de control de flujos utiliza palabras claves como BEGIN y END, BREAK, CONTINUE, GOTO, IF y ELSE, RETURN, WAITFOR y WHILE.
Para las variables locales utiliza DECLARE para declararlas y SET para proveerles un valor.
En tanto las mejoras en las declaraciones DELETE Y UPDATE se debe a que ambas permiten una cláusula FROM.
Los críticos de Transact-SQL dicen que las características adicionales rompen la compatibilidad con el SQL estándar. También critican que lo que Transact-SQL hace es posible implementarse a través de los lenguajes de programación y SQL embebido.
Comandos
SENTENCIAS SQL (DDL, DML, DCL Y TCL)
Ø 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.
CREATE - PARA CREAR OBJETOS EN LA BASE DE DATOS
ALTER - ALTERA LA ESTRUCTURA DE LA BASE DE DATOS
DROP - ELIMINA LOS OBJETOS DE LA BASE DE DATOS
TRUNCATE - ELIMINAR TODOS LOS REGISTROS DE UNA TABLA , INCLUYENDO TODOS LOS ESPACIOS ASIGNADOS A LOS REGISTROS SE ELIMINAN
COMMENT - AGREGAR COMENTARIOS AL DICCIONARIO DE DATOS
RENAME - CAMBIAR EL NOMBRE DE UN OBJETO
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.
CREATE - PARA CREAR OBJETOS EN LA BASE DE DATOS
ALTER - ALTERA LA ESTRUCTURA DE LA BASE DE DATOS
DROP - ELIMINA LOS OBJETOS DE LA BASE DE DATOS
TRUNCATE - ELIMINAR TODOS LOS REGISTROS DE UNA TABLA , INCLUYENDO TODOS LOS ESPACIOS ASIGNADOS A LOS REGISTROS SE ELIMINAN
COMMENT - AGREGAR COMENTARIOS AL DICCIONARIO DE DATOS
RENAME - CAMBIAR EL NOMBRE DE UN OBJETO
Ø 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.
SELECT - RECUPERAR DATOS DE LA BASE DE DATOS.
INSERT - INSERTAR DATOS EN UNA TABLA .
UPDATE - ACTUALIZACIONES DE DATOS EXISTENTES EN UNA TABLA.
DELETE - ELIMINA TODOS LOS REGISTROS DE UNA TABLA.
MERGE - OPERACIÓN UPSERT (INSERCIÓN O ACTUALIZACIÓN).
CALL - LLAMA A UN PL / SQL O SUBPROGRAMA JAVA.
EXPLAIN PLAN - EXPLICAR LA RUTA DE ACCESO A LOS DATOS.
LOCK TABLE - CONCURRENCIAS DE CONTROL.
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.
SELECT - RECUPERAR DATOS DE LA BASE DE DATOS.
INSERT - INSERTAR DATOS EN UNA TABLA .
UPDATE - ACTUALIZACIONES DE DATOS EXISTENTES EN UNA TABLA.
DELETE - ELIMINA TODOS LOS REGISTROS DE UNA TABLA.
MERGE - OPERACIÓN UPSERT (INSERCIÓN O ACTUALIZACIÓN).
CALL - LLAMA A UN PL / SQL O SUBPROGRAMA JAVA.
EXPLAIN PLAN - EXPLICAR LA RUTA DE ACCESO A LOS DATOS.
LOCK TABLE - CONCURRENCIAS DE CONTROL.
Ø 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.
Algunos ejemplos de comandos incluidos en el DCL son los siguientes:
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.
Las tareas sobre las que se pueden conceder o denegar permisos son las siguientes:
CONNECT
SELECT
INSERT
UPDATE
DELETE
USAGE
En Oracle, la ejecución de un comando DCL implica un COMMIT de forma implícita. Sin embargo, en PostgreSQL, la ejecución de un comando DCL forma parte de una transacción, por lo que puede ser deshecha mediante el comando ROLLBACK.
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.
Algunos ejemplos de comandos incluidos en el DCL son los siguientes:
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.
Las tareas sobre las que se pueden conceder o denegar permisos son las siguientes:
CONNECT
SELECT
INSERT
UPDATE
DELETE
USAGE
En Oracle, la ejecución de un comando DCL implica un COMMIT de forma implícita. Sin embargo, en PostgreSQL, la ejecución de un comando DCL forma parte de una transacción, por lo que puede ser deshecha mediante el comando ROLLBACK.
Ø CONTROL DE TRANSACCIÓN (TCL)
Es un lenguaje de programación y un subconjunto de SQL , que se utiliza para controlar el procesamiento de transacciones en una base de datos.
Una transacción es una unidad lógica de trabajo que comprende una o más sentencias SQL, por lo general un grupo de Data Manipulation Language (DML).
Ejemplos de comandos de TCL incluyen:
COMMIT - GUARDA EL TRABAJO REALIZADO.
SAVEPOINT - IDENTIFICA UN PUNTO EN UNA TRANSACCIÓN A LA QUE MÁS TARDE SEVPUEDE VOLVER.
ROLLBACK - RESTAURAR LA BASE DE DATOS A LA ORIGINAL, HASTA EL ÚLTIMO COMMIT.
SET TRANSACTION - CAMBIA LAS OPCIONES DE TRANSACCIÓN COMO NIVEL DE AISLAMIENTO Y QUÉ SEGMENTO DE CANCELACIÓN UTILIZA.
Es un lenguaje de programación y un subconjunto de SQL , que se utiliza para controlar el procesamiento de transacciones en una base de datos.
Una transacción es una unidad lógica de trabajo que comprende una o más sentencias SQL, por lo general un grupo de Data Manipulation Language (DML).
Ejemplos de comandos de TCL incluyen:
COMMIT - GUARDA EL TRABAJO REALIZADO.
SAVEPOINT - IDENTIFICA UN PUNTO EN UNA TRANSACCIÓN A LA QUE MÁS TARDE SEVPUEDE VOLVER.
ROLLBACK - RESTAURAR LA BASE DE DATOS A LA ORIGINAL, HASTA EL ÚLTIMO COMMIT.
SET TRANSACTION - CAMBIA LAS OPCIONES DE TRANSACCIÓN COMO NIVEL DE AISLAMIENTO Y QUÉ SEGMENTO DE CANCELACIÓN UTILIZA.
Ø CFL
While
Con while aumentamos la familia de los bucles para el control
de flujo de un programa, ya que ejecuta de forma continua un bloque de
código mientras la condición de cabecera se cumpla. Al igual que pasaba con el
bucle for, la condición se evalúa con cada repetición del bloque de código
hasta que se deje de cumplir, continuando entonces con el código que haya
después del bucle while.
Do…While
Terminamos
los bucles con una modificación del bucle while en el que la condición se
evalúa al final del bloque de código entre llaves. Por tanto, el bule do…while
no deja de ser un bucle while que se va a ejecutar al menos una vez.
Break aborta cualquier
instrucción de control de flujo vista hasta ahora. Cuando nuestro programa
ejecuta, por ejemplo, un bucle for, y llegado a un punto necesita abandonarlo,
sea por la razón que sea, incluiremos una sentencia break, y el programa
continuará su ejecución justo después del bloque donde la hemos incluido.
Continue, por su parte, aborta la ejecución actual dentro de un bucle de
control de flujo. A diferencia de break, el bucle no se abandona, sino que se
seguirá ejecutando mientras la condición se cumpla.
- Ejemplos
El DCL
·
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.
·
No
todos los sistemas disponen de ellas.
2. RESUMEN
·
Transact-SQL.
El SQL es un lenguaje universal que se emplea en cualquier sistema gestor de
bases de datos relacional. Tiene un estándar definido, a partir del cual cada
sistema gestor ha desarrollado su versión propia. En SQL Server la versión de
SQL que se utiliza se llama Transact-SQL.
3. SUMMARY
• Transact-SQL.
SQL is a universal language that is used in any database management system
relational database. It has a defined standard, from which each manager system
has developed its own version. In SQL Server SQL version used it is called
Transact-SQL.
4. RECOMENDACIONES
Ø No use la cláusula into nombre de tabla (“SELECT…
INTO”). Esto bloqueará mientras se ejecuta la consulta las tablas del sistema.
En su lugar cree primero las tablas y luego re-escribe la sentencia como INSERT
INTO tabla_name SELECT.
Ø 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.
Ø Como el optimizador
de consultas de SQL Server suele seleccionar el mejor plan de ejecución para
las consultas, se recomienda que solo los desarrolladores y administradores de
bases de datos experimentados usen estas sugerencias y que lo hagan como último
recurso.
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.
6. APRECIACIÓN DEL EQUIPO
Para este trabajo de investigación fue
sencillo ya que conté con material específicamente sobre el tema e investigue
un poco más en Internet, espero te ayude.
7. GLOSARIO
Transact-SQL: Es
una extensión del lenguaje SQL,
8. BIBLIOGRAFIA O LINKOGRAFIA
http://www.aulaclic.es/sqlserver/t_2_1.htm
Ver Diapositivas Aquí
Plantear 3 RECOMENDACIONES y CONCLUSIONES.En su GLOSARIO plantear 10 terminos al menos. Gracias por su investigación. Saludos
ResponderEliminarentiendo que este articulo pueden aportar mucho: comandos TCL
ResponderEliminar, comandos DCL
y comandos ddl y dml entiendo podrias completara todos los ejemplos