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