“AÑO DE LA CONSOLIDACIÓN DEL MAR DE GRAU”
FACULTAD
DE
INGENIERÍA
ESCUELA
ACADÉMICA PROFESIONAL DE INGENIERÍA DE SISTEMAS Y TELEMÁTICA
LENGUAJE DE PROGRAMACIÓN II
“TRABAJO DE INVESIGACIÓN”
LENGUAJE TRANSACT-SQL
AUTORES
MARCHENA
HUANUIRE, Greinder Alexis
VASQUEZ
VENTURA, Liz Evelin
DOCENTE
PORRO
CHULLI, Marco Aurelio
BAGUA GRANDE -
AMAZONAS
2016
LENGUAJE TRANSACT-SQL
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.
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 no 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).
CARACTERÍSTICAS
GENERALES
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.
Por ejemplo:
SELECT codigo, nombre FROM Clientes WHERE
localidad=’Valencia’;
Esta instrucción nos permite SELECCIONAR
el código y nombre DE los Clientes CUYA localidad sea Valencia.
La sencillez también radica en que lo que
indicamos es lo que queremos obtener, no el cómo lo tenemos que obtener, de eso
se encargará el sistema automáticamente.
Las sentencias SQL además siguen todas el
mismo patrón:
·
Empiezan por un
verbo que indica la acción a realizar,
·
Completado por el
objeto sobre el cual queremos realizar la acción,
·
seguido de una
serie de cláusulas (unas obligatorias, otras opcionales) que completan la
frase, y proporcionan más detalles acerca de lo que se quiere hacer.
Si sabemos algo de inglés nos será más
fácil interpretar a la primera lo que quiere decir la instrucción, y de lo
contrario, como el número de palabras que se emplean es muy reducido, enseguida
nos las aprenderemos.
Por
ejemplo en el DDL (acciones sobre la definición de la base de datos), tenemos 3
verbos básicos:
- CREATE (Crear)
- DROP (Eliminar)
- ALTER (Modificar)
Completados por el tipo de objeto sobre el
que actúan y el objeto concreto:
v CREATE DATABASE mibase.......;
Permite crear una base de datos llamada
mibase, a continuación escribiremos las demás cláusulas que completarán la
acción, en este caso dónde se almacenará la base de datos, cuánto ocupará,
etc...
v CREATE TABLE mitabla (.....);
Permite crear una nueva tabla llamada
mitabla, entre paréntesis completaremos la acción indicando la definición de
las columnas de la tabla.
v CREATE INDEX miindex...;
Lo mismo para crear un índice.
v DROP DATABASE
mibase;
Permite borrar, eliminar la base de datos mibase.
v DROP TABLE mitabla;
Elimina la tabla mitabla.
v ALTER TABLE mitabla.....;
Permite modificar la definición de la
tabla mitabla.
En
el DML (acciones sobre los datos almacenados) utilizaremos los verbos:
v INSERT (Crear, es decir, insertar una nueva fila de
datos)
v DELETE (Eliminar filas de datos)
v UPDATE (Modificar filas de datos)
v SELECT (Seleccionar, obtener)
Por ejemplo:
INSERT INTO mitabla ..... Inserta nuevas
filas en mitabla
DELETE FROM mitabla Eliminar filas de
mitabla
UPDATE mitabla ....... Actualiza filas de
mitabla
Como ejemplo de cláusula dentro de una
instrucción tenemos:
SELECT codigo, nombre
FROM Clientes
WHERE localidad=’Valencia’;
En esta sentencia nos aparecen dos
cláusulas, la cláusula FROM que nos permite indicar de dónde hay que coger los
datos y la cláusula WHERE que permite indicar una condición de selección.
Otra característica de una sentencia SQL es
que acaba con un punto y coma (;) originalmente éste era obligatorio y servía
para indicar el fin de la instrucción, pero ahora se puede omitir, aunque se
recomienda su uso.
En
una sentencia utilizaremos palabras reservadas (las fijas del lenguaje), y
nombres de objetos y variables (identificadores).
Las palabras reservadas no se pueden
utilizar para otro propósito, por ejemplo una tabla no se puede llamar FROM, y
los nombres (los identificadores) siguen las reglas detalladas en el punto
siguiente.
Nombres cualificados. En ocasiones deberemos
utilizar nombres cualificados, por ejemplo cuando se escribe un nombre de
tabla, SQL presupone que se está refiriendo a una de las tablas de la base de
datos activa, si queremos hacer referencia a una tabla de otra base de datos
utilizamos su nombre cualificado nombrebasedatos.nombredeesquema.nombretabla,
utilizamos el punto para separar el nombre del objeto y el nombre de su
contenedor.
O por ejemplo si en una consulta cuyo
origen son dos tablas, queremos hacer referencia a un campo y ese nombre de
campo es un nombre de campo en las dos tablas, pues utilizaremos su nombre
cualificado nombretabla.nombrecampo.
El
valor NULL.
Puesto que una base de datos es un modelo
de una situación del mundo real, ciertos datos pueden inevitablemente faltar,
ser desconocidos o no ser aplicables, esto se debe de indicar de alguna manera
especial para no confundirlo con un valor conocido pero que sea cero por
ejemplo, SQL tiene para tal efecto el valor NULL que indica precisamente la
ausencia de valor.
Por ejemplo: no es lo mismo que el alumno
no tenga nota a que tenga la nota cero, esto afectaría también a todos los cálculos
que se pueden realizar sobre la columna
nota.
COMANDOS
1. DDL
(Data Definition Language) Lenguaje de definición de datos: Es un vocabulario utilizado para definir estructuras
de datos en SQL Server 2016. El uso de estas declaraciones para crear, modificar
o quitar las estructuras de datos en una instancia de SQL Server.
CREATE
SQL Server Transact-SQL contiene las
siguientes instrucciones CREATE. Utilice sentencias CREATE para definir nuevas
entidades. Por ejemplo, utilice CREATE TABLE para añadir una nueva tabla a una
base de datos.
ALTER
SQL Server Transact-SQL contiene las
siguientes instrucciones ALTER. Utilice las instrucciones ALTER para modificar
la definición de las entidades existentes. Por ejemplo, utilizar ALTER TABLE
para añadir una nueva columna a una tabla o utilice ALTER DATABASE para
establecer las opciones de base de datos.
DROP
SQL Server Transact-SQL contiene las
siguientes instrucciones DROP. Utilice DROP para eliminar las entidades
existentes. Por ejemplo, usar DROP TABLE para eliminar una tabla de una base de
datos.
2. DML
(Lenguaje de manipulación de datos) Es
un vocabulario usado para recuperar y trabajar con datos en SQL Server 2016.
Use estas instrucciones para agregar, modificar, consultar o quitar datos de
una base de datos de SQL Server.
INSERT
Agrega una o varias filas a una tabla o
una vista en SQL Server.
UPDATE
Cambia los datos de una tabla o vista de
SQL Server.
DELETE
Quita una o varias filas de una tabla o
vista de SQL Server.
SELECT
Recupera filas de la base de datos y
habilita la selección de una o varias filas o columnas de una o varias tablas
en SQL Server.
3. DCL
(Data Control Language) Es el lenguaje de
control de datos, que incluye una serie de comandos que permiten al
administrador controlar el acceso a los datos contenidos en la base de datos.
DENY
Deniega los permisos sobre los objetos de
la base de datos. Este es la orden que siempre prevalece.
GRANT
Permite a un usuario trabajar con los
datos o ejecutar determinadas instrucciones Transact - SQL.
4. DTL
(Lenguaje de transacción de datos)
Una transacción en un Sistema de Gestión de Bases de Datos (SGBD), es un
conjunto de órdenes que se ejecutan formando una unidad de trabajo, es decir,
en forma indivisible o atómica. Un SGBD se dice transaccional, si es capaz de
mantener la integridad de los datos, haciendo que estas transacciones no puedan
finalizar en un estado intermedio. Cuando por alguna causa el sistema debe
cancelar la transacción, empieza a deshacer las órdenes ejecutadas hasta dejar
la base de datos en su estado inicial (llamado punto de integridad), como si la
orden de la transacción nunca se hubiese realizado. Una transacción debe contar
con ACID (un acrónimo inglés) que quiere decir: Atomicidad, Consistencia,
Aislamiento y Durabilidad. Entonces para que un Sistema de Gestión de Bases de
Datos sea considerado Transaccional, debe cumplir con estos criterios (ACID). Para
esto, el lenguaje de consulta de datos SQL (Structured Query Language), provee
los mecanismos para especificar que un conjunto de acciones deben constituir
una transacción.
COMMIT
Le indica al motor que puede considerar la
transacción completada con éxito. Marca
el final de una transacción implícita o explícita éxito. Si @@ TRANCOUNT es 1,
COMMIT TRANSACTION hace que todas las modificaciones de datos realizadas desde
el inicio de la operación en una parte permanente de la base de datos, libera
los recursos en poder de la transacción, y decrementos @@ TRANCOUNT a 0. Si @@
TRANCOUNT es mayor que 1, confirmar la transacción disminuye @@ TRANCOUNT solamente
por 1 y la transacción se mantiene activo.
ROLLBACK
Indica que se ha alcanzado un fallo y que
debe restablecer la base al punto de integridad.
Es una transacción explícita o implícita
al principio de la transacción, o a un punto de almacenamiento dentro de la
transacción. Puede usar ROLLBACK TRANSACTION para borrar todas las
modificaciones de datos realizadas desde el inicio de la operación o de un
punto de salvaguarda. También libera recursos en poder de la transacción.
RESUMEN
En este trabajo de investigación hemos
presentado los comandos más utilizadas del lenguaje Transact-SQL.
Como ya comentamos el Lenguaje 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 la aplicación.
Nos ayuda a definir tareas mientras
trabajamos con base de datos, debido a que este lenguaje tiene algunas
restricciones en el propio lenguaje, casi siempre lo utilizamos en la creación
de los procedimientos almacenados, funciones de usuario y también en los
triggers.
SUMMARY
In this research we have presented the
most used of Transact-SQL language commands.
As we discussed Transact-SQL Language is
essential to work with SQL Server. All applications that communicate with SQL
Server do by sending Transact-SQL statements to the server, regardless of the
application interface.
It helps us to define tasks while working
with database, because this language has some restrictions on the language
itself, almost always used in creating stored procedures, user roles and also
in triggers.
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.
·
Consta de
instrucciones Transact-SQL que pueden ejecutarse para crear índices nuevos y
más eficaces o para eliminar aquellos que ya no son efectivos.
·
No usar funciones
sobre columnas que están en el Where dado que SQL no tiene índices basados en
funciones por lo que tendría que recorrer toda la tabla.
CONCLUSIONES
·
El Lenguaje
Transact-SQL es un lenguaje muy utilizado para controlar, definir y acceder a
los datos almacenados de una base de datos.
·
El Lenguaje
Transact-SQL es un lenguaje universal que se emplea en cualquier sistema gestor
e base de datos.
·
El Lenguaje
Transact-SQL es un lenguaje muy potente que nos ayuda a definir tareas mientras
trabajamos con bases de datos.
APRECIACION DEL
EQUIPO
Como equipo de trabajo damos nuestra apreciación sobre
el tema:
El lenguaje Transact-SQL suma una gran importancia ya
que con esto podemos entender claramente lo que es manejo de la información y
además teniendo en cuenta que es el lenguaje mejor pagado en el mercado laboral
y es fácilmente adaptarse a otros (SGBD) Sistema de Gestión de Bases de Datos
como ORACLE, MYSQL, etc.
GLOSARIO
- IBM: International Business Machines, es una reconocida empresa multinacional estadounidense de tecnología y consultoría con sede en Armonk, Nueva York.
- STRING: Es un tipo de datos inmutable. Esto significa que una vez que uno ha creado un string, uno no puede cambiar su valor. Es por esto que todas las operaciones que uno efectúa sobre un string crean strings nuevos, y no modifican el original.
- TRIGGERS: También llamados disparadores son objetos que se asocian con tablas y se almacenan en la base de datos. Su nombre se deriva por el comportamiento que presentan en su funcionamiento, ya que se ejecutan cuando sucede algún evento sobre las tablas a las que se encuentra asociado.
- ACID: Es un acrónimo de Atomicity, Consistency, Isolation and Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en español.
REFERENCIAS
aulaclic. (Febrero de 2010). aulaclic.
Obtenido de aulaclic: http://www.aulaclic.es/sqlserver/t_2_2.htm
Diaz,
R. (06 de marzo de 2014 ). robertodiazg.blogspot.pe. Obtenido de
robertodiazg.blogspot.pe:
http://robertodiazg.blogspot.pe/2014/03/sentencias-sql-ddl-dml-dcl-y-tcl.html
Gutirrez,
J. (s.f). dryvalleycomputer.com. Obtenido de dryvalleycomputer.com:
http://dryvalleycomputer.com/index.php/bases-de-datos/mysql/111-dcl-lenguaje-de-control-de-datos
HE_JIA_YUAN.
(9 de September de 2016). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/en-us/library/ms190295.aspx
Kutedragon11761.
(17 de 10 de 2016). microsoft. Obtenido de microsoft:
https://msdn.microsoft.com/en-us/library/ff848799.aspx
microsoft.
(2 de Mayo de 2016). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/en-us/library/cc879259.aspx
microsoft.
(2 de Mayo de 2016). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/en-us/library/cc879314.aspx
microsoft.
(2 de Mayo de 2016). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/en-us/library/cc879262.aspx
microsoft.
(10 de Junio de 2016). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/en-us/library/ms181299.aspx
microsoft.
(s.f). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/es-es/library/ms189835.aspx
microsoft.
(s.f). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/es-es/library/ms177523.aspx
microsoft.
(s.f). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/es-es/library/ff848766.aspx
microsoft.
(s.f). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/es-es/library/ms174335.aspx
microsoft.
(s.f). microsoft.com. Obtenido de microsoft.com:
https://msdn.microsoft.com/es-es/library/ms189499.aspx
mitecnologico.
(s.f). mitecnologico.com. Obtenido de mitecnologico.com:
http://mitecnologico.com/Main/LenguajeDeControlDeDatos
wikipedia.
(17 de Octubre de 2016). wikipedia. Obtenido de wikipedia:
https://es.wikipedia.org/wiki/Transact-SQL
wikipedia.
( 8 de junio de 2016). wikipedia. Obtenido de wikipedia: https://es.wikipedia.org/wiki/Transacci%C3%B3n_(base_de_datos)
VÍDEOS

Agregar VIDEO sobre el TEMA:Buena PRESENTACION. Se recomienda ILUSTRAR el TEMA. Gracias por su investigación y aporte. Saludos
ResponderEliminarIngeniero voy a subir un vídeo mediante Youtube y poner el link en este blogg
Eliminar