miércoles, 28 de marzo de 2018

LENGUAJE TRANSACT SQL




UNIVERSIDAD POLITECNICA AMAZONICA




INGENIERÍA DE SISTEMAS Y TELEMÁTICAS


                       Docente         : Marco Aurelio Porro Chulli

                       Asignatura     :BASE DE DATOS II.

                       Ciclo               : VIII  "A"

                       Integrantes     : Yanina Bustamante Jibaja.

                                                  Yenny Isabel Cuello Morón.






 1.    CONTENIDO

LENGUAJE 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.
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 procedimental, 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.

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.


ü  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.


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.


TIPOS DE COMANDOS (DLL-DML-ETC)

DDL (Data Definition Language)
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.

Muchos piensan que sql son solo sentencias para realizar consultas en la base de datos, de tal manera conociendo la cláusula select y poco mas ya es suficiente.
Pero DDL es la parte de lenguaje sql que tiene como finalidad la definición de estructura de datos.
Las diversas operaciones que podemos realizar con DDL se basan en 3 ordenes distintas: CREATE, ALTER, DROP

Algunas instrucciones DDL

CREATE DATABASE : Crea una nueva base de datos y el archivo usado para almacenarla.
CREATE TABLE: Crea una nueva tabla.
ALTER TABLE: Modifica la definición de una tabla alterando, agregando o eliminando columnas y restricciones.
CREATE INDEX: Crea un índice en una tabla determinada.
DROP INDEX: Quita uno o varios índices de la base de datos actual.
DROP TABLE: Quita la definición de una tabla y todos sus datos, índices y restricciones.

DML (Data Manipulation Language)

Es un lenguaje 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 en 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.

El subconjunto de Sql dedicado a la manipulación de datos. El más conocido
Su finalidad no es actuar sobre la estructura de datos sino sobre los datos contenidos en ellas

SELECT, INSERT, UPDATE, DELETE, FOR, FROM TOP


WITH: Especifica un conjunto de resultados o vista con nombre temporal definidos en el ámbito de una instrucción SELECT, INSERT, UPDATE o DELETE.

DCL (Data Control Language)

Es la parte menos conocida de Sql, siendo la finalidad controlar el acceso a datos denegando y otorgando privilegios sobre los objetos existentes.

COMMIT: Guarda los trabajos realizados en las transacciones
ROLLBACK: Restaura la base de datos al estado original desde el comando COMMIT pasado en las transacciones.
SAVEPOINT: establecer un punto en que es posible un ROLLBACK.
SAVE TRANSACTION: Establece un punto de almacenamiento dentro de una transacción

FUNCIONES – IDENTIFICADORES

·         Funciones

ü  Funciones de conjuntos de filas, devuelven un objeto que se puede utilizar, en instrucciones Transact-SQL, en lugar de una referencia a una tabla.
ü Funciones de agregado (también llamadas funciones de columna), operan sobre una colección de valores y devuelven un solo valor de resumen.
ü  Funciones de categoría, devuelven un valor de categoría para cada fila de un conjunto de filas, por ejemplo, devuelve el número de la fila, el ranking de la fila en una determinada ordenación, etc.
ü  Funciones escalares, operan sobre un valor y después devuelven otro valor. Las funciones escalares se clasifican según el tipo de datos de sus operandos.
·       
          Identificadores

Los identificadores son los nombres de los objetos de la base de datos: servidores, bases de datos, tablas, vistas, columnas, índices, desencadenadores, procedimientos, restricciones, reglas, etcétera. Las reglas de formato de los identificadores normales dependen del nivel de compatibilidad de la base de datos, utilizando la cláusula SET COMPATIBILITY_LEVEL de la instrucción ALTER TABLE. Cuando el nivel de compatibilidad es 90, (el asignado por defecto) se aplican las reglas siguientes para los nombres de los identificadores:

  ü  No puede ser una palabra reservada.
  ü  El nombre debe tener entre 1 y 128 caracteres, excepto para algunos tipos de objetos en los que el número es más limitado.
  ü  El nombre debe empezar por:
  ü  Una letra, como aparece definida por el estándar Unicode 3.2. La definición Unicode de letras incluye los caracteres latinos de la "a" a la "z" y de la "A" a la "Z".
  ü  El carácter de subrayado (_), arroba (@) o número ( # ).
  ü  Ciertos símbolos al principio de un identificador tienen un significado especial en SQL Server. Un identificador que empieza con el signo de arroba indica un parámetro o una variable local. Un identificador que empieza con el signo de número indica una tabla o procedimiento temporal. Un identificador que empieza con un signo de número doble (##) indica un objeto temporal global.
  ü  Algunas funciones de Transact-SQL tienen nombres que empiezan con un doble signo de arroba (@@). Para evitar confusiones con estas funciones, se recomienda no utilizar nombres que empiecen con @@.
  ü  No se permiten los caracteres especiales o los espacios incrustados.

TIPOS DE DATOS - PALABRAS RESERBADAS

En SQL Server 2005, cada columna, expresión, variable y parámetro está asociado a un tipo de datos. Un tipo de datos realmente define el conjunto de valores válidos para los campos definidos de ese tipo. Indica si el campo puede contener: datos numéricos, de caracteres, moneda, fecha y hora, etcétera. SQL Server proporciona un conjunto de tipos de datos del sistema que define todos los tipos de datos que pueden utilizarse. También podemos definir nuestros propios tipos de datos en Transact-SQL.

Los tipos de datos más utilizados son

v  Los numéricos: int, decimal, money
v  Los de fecha y hora: datetime
v  y las cadenas de caracteres: varchar

·        
      OPERADORES

  v  Operadores numéricos
  v  Operadores bit a bit: realizan manipulaciones de bits entre dos expresiones de cualquiera de los tipos de datos de la categoría del tipo de datos entero.
  v  Operadores de comparación.
  v  Operadores lógicos.
  v  Operadores de cadenas.
·        
      Flujo de control  

  Ø  Begin...end
  Ø  Return
  Ø  Break
  Ø  Throw
  Ø  Continue
  Ø  Try...catch
  Ø  Goto label

  Ø  If...else
  Ø  While

  2.    RESUMEN

Transact-SQL ó T-SQL es un lenguaje muy potente que permite definir casi cualquier tarea que se quiera efectuar sobre la base de datos, va más allá de un lenguaje SQL cualquiera ya que incluye características propias de cualquier lenguaje de programación, características que permiten definir la lógica necesaria para el tratamiento de la información.

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.

Lenguaje Estructurado de Consulta es el lenguaje utilizado para definir, controlar y acceder a los datos almacenados en una base de datos relacional. Las ventajas que tiene este lenguaje es que, es fácil de entender y aprender ya que cuenta con un lenguaje muy parecido al natural (inglés); las sentencias SQL además siguen todas el mismo patrón. Los comandos del lenguaje Transact SQL son muy fáciles de aprender, entre ellos están DDL, DML, DCL, entre otros. Se muestra la importancia de este lenguaje, ya que nos permite trabajar con bases de datos de una forma fácil pero eficaz, haciendo uso de un lenguaje entendible.

  3.    SUMMARY

Transact-SQL or T-SQL is a very powerful language that allows you to define almost any task that you want to perform based on data, it goes beyond any SQL language since it includes characteristics of any programming language, characteristics that allow define the logic necessary for the treatment of information.
The Transact-SQL allows:

  Ø  Define blocks of SQL statements that are treated as execution units.
  Ø  Perform conditional executions.
  Ø  Perform iterative or repetitive executions.
  Ø  Ensure modular treatment with the declaration of local variables and the use of stored procedures.
  Ø  Manipulate tuple to tuple the result of a query.

Structured Query Language is the language used to define, control and access data stored in a relational database. The advantages of this language is that it is easy to understand and learn since it has a language very similar to natural (English); SQL statements also follow all the same pattern. The Transact SQL language commands are very easy to learn, among them DDL, DML, DCL, among others. The importance of this language is shown, since it allows us to work with databases in an easy but effective way, using an understandable language.


   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 reescribe 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.  Es recomendable usar joins a un subquery.
  ü  Promover el uso de EXISTS y NOT EXISTS, en lugar de IN y NOT IN.

   5.    CONCLUSIONES

ü  El Lenguaje Transact SQL, 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.
ü  Con este lenguaje 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).

    6.    APRECIACION DEL EQUIPO
Es fundamental para trabajar con SQL Server. Ya que 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.

    7.    GLOSARIO DE TERMINOS

BEGIN...END: Encierra un conjunto de instrucciones Transact-SQL de forma que estas instrucciones formen un bloque de instrucciones.
ROLLBACK: Restaura la base de datos al estado original desde el comando COMMIT pasado en las transacciones.
DDL Un Data Definition Language o Lenguaje de descripción de datos (DDL) es un lenguaje de programación para definir estructuras de datos.
DML Lenguaje de Manipulación de Datos (Data Manipulation Language, DML) es un lenguaje 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.
OUTPUT: Devuelve filas insertadas, actualizadas o eliminadas a la aplicación que realiza la llamada como parte de la instrucción INSERT, UPDATE o DELETE.
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.
WHILE: Establece una condición para la ejecución repetida de una instrucción o bloque de instrucciones SQL. Las instrucciones se ejecutan repetidamente siempre que la condición especificada sea verdadera. Se puede controlar la ejecución de instrucciones en el bucle WHILE con las palabras clave BREAK y CONTINUE.
WAITFOR: Bloquea la ejecución de un lote, un procedimiento almacenado o una transacción hasta alcanzar la hora o el intervalo de tiempo especificado, o hasta que una instrucción especificada modifique o devuelva al menos una fila.
THROW: Produce una excepción y transfiere la ejecución a un blo
que CATCH de una construcción TRY...CATCH en SQL Server 2014.
GOTO LABEL: Altera el flujo de ejecución y lo dirige a una etiqueta. Las instrucciones Transact-SQL que siguen a una instrucción GOTO se pasan por alto y el procesamiento continúa en el punto que marca la etiqueta
     
     8.    LINKOGRAFIA


Aqui el link de las Diapositivas