BASE DE DATOS II

Breaking News

Comments

Social

lunes, 26 de marzo de 2018

Lenguaje Transact SQL


       



                                                 



                    EQUIPO      : Investigation Systems

                    Estudiantes : Aguilar Rafael Jaime
                                          Diaz Guerrero Imer Hobet

                    CURSO       :  Base de Datos II

                    TEMA          :  Lenguaje Transact SQL

                    DOCENTE  :  Marco Aurelio Porro Chulli





   I.   Tema: Lenguaje Transact SQL

1.    Contenido
v  Definición
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.
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).

v  Tipos de comandos (DDL, MDL, etc.)
ü  DDL (Data Definition Language): Permite crear y definir bases de datos, tablas, campos, índices.

CREATE: Sirve para crear un nuevo objeto dentro del gestor de bases de datos. Los objetos de unas bases de datos son tablas, índices, procedimientos almacenados y vistas.

Creación de una base de datos:
CREATE DATABASE NOMBRE_BASE_DE_DATOS

Creación de un índice:
CREATE INDEX NOMBRE_ÍNDICE ON "NOMBRE_TABLA" (NOMBRE_COLUMNA)

Creación de un procedimiento almacenado:
CREATE PROCEDURE NOMBRE_PROCEDIMIENTO
[PARAMETROS]
AS
(Sentencias SQL)
[RETURN [VALOR]]

Creación de una vista:
CREATE VIEW NOMBRE_VISTA AS
SUBCONSULTA;

ALTER
El comando ALTER permite realizar modificaciones en un objeto de la base de datos ya existente.

El uso más común del comando ALTER es el enfocado en la edición de una tabla, ALTER TABLE.

Por ejemplo, para agregar una nueva columna a una tabla ya existente ejecutaríamos el siguiente comando:
ALTER TABLE 'NOMBRE_TABLA' ADD NUEVO_CAMPO TIPO;
No obstante, el comando ALTER, como todos los comandos DDL, es aplicable a cualquier objeto de la base de datos.

DROP
Sirve para eliminar objetos de la base de datos. Por ejemplo, podríamos borrar una tabla con la siguiente sentencia:
DROP TABLE 'NOMBRE_TABLA'

ü  DML (Data Manipulation Language): Filtra y ordena los datos que queremos manipular.

SELECT
Este comando sirve para recuperar un conjunto de datos siguiendo unos criterios de filtrado.

La instrucción SELECT se utiliza para seleccionar datos de una base de datos.

Los datos devueltos se almacenan en una tabla de resultados, llamada conjunto de resultados.
No obstante, con indicar la procedencia de los datos ya podríamos crear nuestra primera consulta:

SELECT campos FROM NombreTabla


INSERT
La instrucción INSERT se utiliza para insertar nuevos registros en una tabla.
Sintaxis:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

Si está agregando valores para todas las columnas de la tabla, no necesita especificar los nombres de columna en la consulta SQL. Sin embargo, asegúrese de que el orden de los valores esté en el mismo orden que las columnas de la tabla. La sintaxis INSERT INTO sería la siguiente:

INSERT INTO table_name
VALUES (value1, value2, value3, ...);

UPDATE
La instrucción UPDATE se usa para modificar los registros existentes en una tabla.
Sintaxis:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

DELETE
La declaración DELETE se utiliza para eliminar registros existentes en una tabla.
Sintaxis:

DELETE FROM table_name
WHERE condition;

v  Funciones- Identificadores
FUNCIONES
Funciones de agregado
Las funciones de agregado realizan un cálculo sobre un conjunto de valores y devuelven un solo valor. Se pueden usar en la lista de selección o en la cláusula HAVING de una instrucción SELECT. Puede usar una agregación en combinación con la cláusula GROUP BY para calcular la agregación en las categorías de filas. Use la cláusula OVER para calcular la agregación en un intervalo de valor específico. La cláusula OVER no puede seguir las agregaciones GROUPING o GROUPING_ID.
Todas las funciones de agregación son deterministas; es decir, siempre devuelven el mismo resultado cuando se ejecutan con los mismos valores de entrada.

Funciones analíticas
Las funciones analíticas calculan un valor agregado basándose en un grupo de filas. A diferencia de las funciones de agregado, estas funciones pueden devolver varias filas para cada grupo. Puede usar funciones analíticas para calcular medias móviles, totales acumulados, porcentajes o resultados de N valores superiores dentro de un grupo.

Funciones de categoría
Las funciones de categoría devuelven un valor de categoría para cada fila de una partición. Según la función que se utilice, algunas filas pueden recibir el mismo valor que otras. Las funciones de categoría son no deterministas.

Funciones de conjuntos de filas
Las funciones de conjuntos de filas devuelven un objeto que se puede usar como referencias de tabla en una instrucción SQL.
Funciones escalares
Operan sobre un valor y después devuelven otro valor. Las funciones escalares se pueden utilizar donde la expresión sea válida.

Determinismo de función
Las funciones integradas de SQL Server son deterministas o no deterministas. Las funciones son deterministas cuando devuelven siempre el mismo resultado cada vez que se llaman con un conjunto específico de valores de entrada. Las funciones son no deterministas cuando es posible que devuelvan distintos resultados cada vez que se llaman con un mismo conjunto específico de valores de entrada.

Intercalación de funciones
Las funciones que toman una entrada de cadena de caracteres y devuelven una salida de cadena de caracteres utilizan la intercalación de la cadena de entrada para la salida.

Las funciones que toman entradas que no son de caracteres y devuelven una cadena de caracteres utilizan la intercalación predeterminada de la base de datos actual para la salida.

Las funciones que toman varias entradas de cadena de caracteres y devuelven una cadena de caracteres utilizan las reglas de prioridad de intercalación para establecer la intercalación de la cadena de salida.

IDENTIFICADORES
El identificador se utiliza para hacer referencia al objeto. Por ejemplo, la instrucción siguiente crea una tabla con el identificador Tablex y dos columnas con los identificadores KeyCol y Description:

CREATE TABLE TableX 
(KeyCol INT PRIMARY KEY, Description nvarchar(80)) 

Esta tabla tiene también una restricción sin nombre. La restricción PRIMARY KEY no tiene ningún identificador.

La intercalación de un identificador depende del nivel en que está definido. Se asigna a los identificadores de objetos de instancia, como los inicios de sesión y los nombres de base de datos, la intercalación predeterminada de la instancia. A los identificadores de objetos de una base de datos, como nombres de tablas, vistas y columnas, se asigna la intercalación predeterminada de la base de datos. Por ejemplo, es posible crear dos tablas con nombres que solo se diferencian en las mayúsculas en una base de datos con intercalación que distinga entre mayúsculas y minúsculas, pero no se pueden crear en una base de datos con intercalación que no distinga entre mayúsculas y minúsculas.

Los nombres de variables o los parámetros de funciones y procedimientos almacenados deben cumplir las reglas para los identificadores de Transact-SQL.

Clases de identificadores
ü  Identificadores normales
Siguen las reglas de formato de los identificadores. Los identificadores normales no están delimitados cuando se usan en instrucciones Transact-SQL.
SELECT * FROM TableX 
WHERE KeyCol = 124 




ü  Identificadores delimitados
Se incluyen entre comillas dobles (") o corchetes ([ ]). Los identificadores que siguen las reglas de formato de los identificadores pueden no estar delimitados. Por ejemplo:
SELECT * FROM [TableX]         --Delimiter is optional. 
WHERE [KeyCol] = 124             --Delimiter is optional. 

Los identificadores que no cumplen las reglas de los identificadores deben estar delimitados en las instrucciones Transact-SQL. Por ejemplo:
SELECT * FROM [My Table]      --Identifier contains a space and uses a reserved keyword. 
WHERE [order] = 10   --Identifier is a reserved keyword. 

Ambos identificadores, normales y delimitados, deben tener entre 1 y 128 caracteres. En el caso de las tablas temporales locales, el identificador puede tener un máximo de 116 caracteres.

Reglas de los identificadores normales
Los nombres de variables, funciones y procedimientos almacenados deben cumplir las siguientes reglas para los identificadores de Transact-SQL.

1.    El primer carácter debe ser alguno de los siguientes:
·         Una letra, tal como se define en 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”, además de los caracteres de letras de otros idiomas.

·         El signo de subrayado (), arroba (@) o número (#).

Ciertos símbolos al principio de un identificador tienen un significado especial en SQL Server. Un identificador normal que comience por el signo arroba siempre denotará una variable local o un parámetro, y no se puede usar como nombre de ningún otro tipo de objeto. 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. Aunque es posible utilizar los caracteres de signo de número o doble signo de número para comenzar los nombres de otros tipos de objetos, no se recomienda hacerlo.

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

Los caracteres subsiguientes pueden ser:

Letras, tal como se definen en el estándar Unicode 3,2.

Números decimales del alfabeto latín básico u otros alfabetos de otros idiomas.

El signo de arroba, dólar ($), número o subrayado.

El identificador no debe ser una palabra reservada de Transact-SQL. SQL Server se reserva las versiones en mayúsculas y minúsculas de las palabras reservadas. Cuando se utilizan en instrucciones Transact-SQL, los identificadores que no cumplan estas reglas deben aparecer delimitados por comillas dobles o corchetes. Las palabras reservadas dependen del nivel de compatibilidad de la base de datos. Este nivel se puede establecer mediante la instrucción ALTER DATABASE.

No se permiten los caracteres especiales o los espacios incrustados.

Los caracteres complementarios no están permitidos.

Cuando se utilizan en instrucciones Transact-SQL, los identificadores que no cumplan estas reglas deben aparecer delimitados por comillas dobles o corchetes.

v  Tipos de datos – Palabras Reservadas

TIPOS DE DATOS
Un tipo de datos es un atributo que especifica el tipo de datos que el objeto puede contener: datos de enteros, datos de caracteres, datos de moneda, datos de fecha y hora, cadenas binarias, etc.
SQL Server proporciona un conjunto de tipos de datos del sistema que define todos los tipos de datos que pueden utilizarse con SQL Server. También puede definir sus propios tipos de datos en Transact-SQL o Microsoft .NET Framework. Los tipos de datos de alias están basados en los tipos de datos proporcionados por el sistema.
 Los tipos definidos por el usuario obtienen sus características de los métodos y los operadores de una clase que se crean mediante uno de los lenguajes de programación compatibles con .NET Framework.
Cuando dos expresiones que tienen tipos de datos, intercalaciones, precisión, escala o longitud diferentes son combinadas por un operador, las características del resultado vienen determinadas por lo siguiente:
El tipo de datos del resultado viene determinado por la aplicación de las reglas de precedencia de tipos de datos a los tipos de datos de las expresiones de entrada.
La intercalación del resultado viene determinada por las reglas de precedencia de intercalación cuando el tipo de datos del resultado es char, varchar, text, nchar, nvarchar o ntext.
La precisión, escala y longitud del resultado dependen de la precisión, escala y longitud de las expresiones de entrada.

SQL Server proporciona sinónimos de tipos de datos para la compatibilidad con ISO.
Los tipos de datos de SQL Server se organizan en las siguientes categorías:
ü  Numéricos exactos
ü  Cadenas de caracteres Unicode
ü  Numéricos aproximados   
ü  Cadenas binarias
ü  Fecha y hora
ü  Cadenas de caracteres     
ü  Otros tipos de datos


ü  Numéricos exactos
·         bigint 
·         numeric
·         bit      
·         smallint
·         decimal
·         Smallmoney
·         int      
·         tinyint
·         money          
ü  Numéricos aproximados
·         float   
·         real
ü  Fecha y hora
·         date   
·         datetimeoffset
·         datetime2     
·         smalldatetime
·         datetime       
·         time
ü  Cadenas de caracteres
·         char   
·         varchar
·         varchar(max)           
ü  Cadenas de caracteres Unicode
·         nchar
·         nvarchar
·         ntext  
ü  Cadenas binarias
·         binario          
·         varbinary
·         imagen         
ü  Otros tipos de datos
·         cursor rowversion
·         hierarchyid  
·         uniqueidentifier
·         sql_variant   
·         xml
PALABRAS RESERVADAS
En la tabla siguiente se enumeran las palabras clave reservadas de SQL Server.
ADD
FULL
SAVE
CONTINUE
EXTERNAL
RESTRICT
CLOSE
KILL
PROCEDURE
BETWEEN
IF
SOME
ALL
FUNCTION
SCHEMA
CONVERT
FETCH
RETURN
CLUSTERED
LEFT
PUBLIC
BREAK
IN
STATISTICS
ALTER
GOTO
SECURITYAUDIT
CREATE
FILE
REVERT
COALESCE
LIKE
RAISERROR
BROWSE
INDEX
SYSTEM_USR
AND
GRANT
SELECT
CROSS
FILLFACTOR
REVOKE
COLLATE
LILENO
READ
BULK
INNER
TABLE
ANY
GROUP
COLUMN
CURRENT
FOR
RIGHT
INSERT
LOAD
READTEXT
BY
COMMIT
Tablesample
AS
HAVING
INTERSECT
Current_date
FOREIGN
ROLLBACK
COMPUTE
MARGE
RECONFIGURE
CASCADE
INTO
TEXTSIZE
ASC
HOLDLOCK
SESSION_USER
Current_Time
FREETEXT
ROWCOUNT
CONSTRAINT
NATIONAL
REFERENCES
CASCADE
IS
THEN
ATHORIZATION
IDENTITY
SET
NOCHECK
FREETEXTTABLE
ROWGUIDCOL
CONTAINS
TO
REPLICATION
CHECK
JOIN
Current_User
BACKUP
IDENTITY_INSERT
SETUSER
Nonclustered
FROM
RULE
CONTAINSTABLE
TOP
RESTORE
CHECKPOINT
KEY
CURSOR
BEGIN
IDENTITYCOL
SHUTDOWN
NOT
TRAN
DATABASE
TRANSACTION
NULL
DBCC
NULLIF
TRIGGER
OF
DEALLOCATE
TRUNCATE
DECLARE
OFF
TRY_CONVERTE
DEFAULT
OFFSETS
TSEQUAL
DELETE
ON
UNION
DENY
OPEN
UNIQUE
UNPIVOT
DISK
Opendatasource
UPDATE
DISTINCT
USE
OPENQUERY
OPENROWSET
UPDATETEXT
DOUBLE
DISTRIBUTED
OPENXML
OPTION
USER
DROP
OR
VALUES
DUMP
ORDER
VARYING
ELSE
OUTER
VIEW
END
OVER
WAITFOR
ERRLVL
PERCENT
WHEN
ESCAPE
PIVOT
WHERE
EXCEPT
PLAN
WHILE
EXEC
PRECISION
WITH
EXECUTE
PRIMARY
WITHIN GROUP
EXISTS
PRINT
WRITETEXT
EXIT
PROC


Además, el estándar ISO define una lista de palabras clave reservadas. Evite utilizar las palabras clave reservadas de ISO como identificadores y nombres de objetos.
Nota
La lista de palabras clave reservadas de los estándares ISO puede ser unas veces más restrictiva que SQL Server y otras veces, menos. Por ejemplo, la lista de palabras clave reservadas de ISO contiene INT. SQL Server no tiene que distinguirla como una palabra clave reservada.

Se puede utilizar palabras clave reservadas de Transact-SQL como identificadores o nombres de objetos de base de datos, tales como tablas, columnas, vistas, etc. Utilice identificadores entre comillas o identificadores delimitados. No está restringido el uso de palabras clave reservadas como nombres de variables y parámetros de procedimientos almacenados.


v  Operadores – Flujos de control

Un Operador es un símbolo que especifica una acción en que se realiza una o más expresiones.
OPERADORES ARTMÉTICOS
Son aquellos que se realizan operaciones matemáticas entre dos expresiones numéricas.

OPERADOR
SIGNIFICADO
+
Suma
-
Resta
*
Multiplicación
/
División
%
Devuelve el resto entero de una división


Los operadores de suma (+) y resta (-) son utilizados para realizar operaciones aritméticas son valores dateTime y Smalldatetime.

OPERADOR DE ASIGNACIÓN
El operador igual (=) es sólo el operador de Asignación del SQL Server.
Ejemplo:
DECLARE @NUM INT
SET @NUM=12
PRINT ‘EL NÚMERO INGRESADO ES:’ + STR(@NUM)

 OPERADORES DE COMPARACIÓN
Los operadores de comparación permiten comprobar dos expresiones retornando un valor verdadero o falso, es decir un dato Booleano. Se pueden utilizar en todas las expresiones excepto en las de los tipos de datos Text, nText o imagen.

Operadores de Comparación
Significado
=
Igual a
> 
Mayor que
< 
Menor que
>=
Mayor o igual que
<=
Menor o igual que
< >
Diferente que
!=
Diferente que (no es del estándar ISO)
!<
No es Menor que (no es del estándar ISO)
!>
No es Mayor que (no es del estándar ISO)
  


















OPERADORES LÓGICOS
Los operadores Lógicos comprueban la veracidad de alguna condición. Éstos, como los comparadores de comparación, devuelven el tipo de datos Boolean con el valor TRUE, FALSE O UNKNOWN.




OPERADOR
SIGNIFICADO
ALL
TRUE si el conjunto completo de comparaciones es TRUE
AND
TRUE si ambas expresiones booleanas son TRUE
ANY
TRUE si cualquier miembro del conjunto de comparaciones es TRUE
BETWEEN
TRUE si el operador está dentro de un intervalo.
EXISTS
TRUE si una subconsulta contiene cualquiera de las filas.
IN
TRUE si el operador es igual a uno de la lista de expresiones
LIKE
TRUE si el operando coincide con un patrón
NOT
Invierte el valor de cualquier otro operador booleano
OR
TRUE si cualquiera de las dos expresiones booleanas es TRUE
SOME
TRUE si alguna de las comparaciones de un conjunto es TRUE


FLUJOS DE CONTROL
Las palabras clave del lenguaje de control de flujo de Transact-SQL son:

§  BEGIN…END
§  BREAK
§  RETURN
§  CONTINUE
§  GOTO
§  IF…ELSE
§  THROW
§  TRY…CATCH
§  WAITFOR
§  WHILE

2.    Resumen
v  Definición
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.

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.

v  Tipos de comandos (DDL, MDL, etc.)
ü  DDL (Data Definition Language): Permite crear y definir bases de datos, tablas, campos, índices.

v  CREATE
v  ALTER
v  DROP
ü  DML (Data Manipulation Language): Filtra y ordena los datos que queremos manipular.

v  SELECT
v  INSERT
v  UPDATE
v  DELETE

v  Funciones- Identificadores
FUNCIONES
ü  Funciones de agregado
ü  Funciones analíticas
ü  Funciones de categoría
ü  Funciones de conjuntos de filas
ü  Funciones escalares

IDENTIFICADORES
El identificador se utiliza para hacer referencia al objeto

Clases de identificadores
ü  Identificadores normales
ü  Identificadores delimitados

Reglas de los identificadores normales
Los nombres de variables, funciones y procedimientos almacenados deben cumplir las siguientes reglas para los identificadores de Transact-SQL.
El primer carácter debe ser alguno de los siguientes:
·         Una letra, tal como se define en 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”, además de los caracteres de letras de otros idiomas.

·         El signo de subrayado (), arroba (@) o número (#).

Ciertos símbolos al principio de un identificador tienen un significado especial en SQL Server. Un identificador normal que comience por el signo arroba siempre denotará una variable local o un parámetro, y no se puede usar como nombre de ningún otro tipo de objeto. 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. Aunque es posible utilizar los caracteres de signo de número o doble signo de número para comenzar los nombres de otros tipos de objetos, no se recomienda hacerlo.

Algunas funciones de Transact-SQL tienen nombres que empiezan con un doble signo de arroba (@@). Para evitar

Letras, tal como se definen en el estándar Unicode 3,2.

Números decimales del alfabeto latín básico u otros alfabetos de otros idiomas.

El signo de arroba, dólar ($), número o subrayado.

El identificador no debe ser una palabra reservada de Transact-SQL. SQL Server se reserva las versiones en mayúsculas y minúsculas de las palabras reservadas. Cuando se utilizan en instrucciones Transact-SQL, los identificadores que no cumplan estas reglas deben aparecer delimitados por comillas dobles o corchetes. Las palabras reservadas dependen del nivel de compatibilidad de la base de datos.

v  Tipos de datos – Palabras Reservadas

TIPOS DE DATOS
Un tipo de datos es un atributo que especifica el tipo de datos que el objeto puede contener: datos de enteros, datos de caracteres, datos de moneda, datos de fecha y hora, cadenas binarias, etc.
SQL Server proporciona un conjunto de tipos de datos del sistema que define todos los tipos de datos que pueden utilizarse con SQL Server. También puede definir sus propios tipos de datos en Transact-SQL o Microsoft .NET Framework. Los tipos de datos de alias están basados en los tipos de datos proporcionados por el sistema.

Los tipos de datos de SQL Server se organizan en las siguientes categorías:
ü  Numéricos exactos
·         bigint 
·         numeric
·         bit      
·         smallint
·         decimal
·         Smallmoney
·         int      
·         tinyint
·         money          
ü  Numéricos aproximados
·         float   
·         real

ü  Fecha y hora
·         date   
·         datetimeoffset
·         datetime2     
·         smalldatetime
·         datetime       
·         time
ü  Cadenas de caracteres
·         char   
·         varchar
·         varchar(max)           
ü  Cadenas de caracteres Unicode
·         nchar
·         nvarchar
·         ntext  
ü  Cadenas binarias
·         binario          
·         varbinary
·         imagen         
ü  Otros tipos de datos
·         cursor rowversion
·         hierarchyid  
·         uniqueidentifier
·         sql_variant   
·         xml
PALABRAS RESERVADAS
                                 Microsoft SQL Server utiliza palabras clave reservadas para definir, manipular y tener acceso a las bases de datos. Las palabras clave reservadas forman parte de la gramática del lenguaje Transact-SQL que utiliza SQL Server para analizar y comprender las instrucciones y lotes de Transact-SQL. Aunque resulta sintácticamente posible usar palabras clave reservadas de SQL Server como identificadores y nombres de objetos en scripts de Transact-SQL, solo se puede hacer usando identificadores delimitados.
En la tabla siguiente se enumeran las palabras clave reservadas de SQL Server.
ADD
FULL
SAVE
CONTINUE
EXTERNAL
RESTRICT
CLOSE
KILL
PROCEDURE
BETWEEN
IF
SOME
ALL
FUNCTION
SCHEMA
CONVERT
FETCH
RETURN
CLUSTERED
LEFT
PUBLIC
BREAK
IN
STATISTICS
ALTER
GOTO
SECURITYAUDIT
CREATE
FILE
REVERT
COALESCE
LIKE
RAISERROR
BROWSE
INDEX
SYSTEM_USR
AND
GRANT
SELECT
CROSS
FILLFACTOR
REVOKE
COLLATE
LILENO
READ
BULK
INNER
TABLE
ANY
GROUP
COLUMN
CURRENT
FOR
RIGHT
INSERT
LOAD
READTEXT
BY
COMMIT
Tablesample
AS
HAVING
INTERSECT
Current_date
FOREIGN
ROLLBACK
COMPUTE
MARGE
RECONFIGURE
CASCADE
INTO
TEXTSIZE
ASC
HOLDLOCK
SESSION_USER
Current_Time
FREETEXT
ROWCOUNT
CONSTRAINT
NATIONAL
REFERENCES
CASCADE
IS
THEN
ATHORIZATION
IDENTITY
SET
NOCHECK
FREETEXTTABLE
ROWGUIDCOL
CONTAINS
TO
REPLICATION
CHECK
JOIN
Current_User
BACKUP
IDENTITY_INSERT
SETUSER
Nonclustered
FROM
RULE
CONTAINSTABLE
TOP
RESTORE
CHECKPOINT
KEY
CURSOR
BEGIN
IDENTITYCOL
SHUTDOWN
NOT
TRAN
DATABASE
TRANSACTION
NULL
DBCC
NULLIF
TRIGGER
OF
DEALLOCATE
TRUNCATE
DECLARE
OFF
TRY_CONVERTE
DEFAULT
OFFSETS
TSEQUAL
DELETE
ON
UNION
DENY
OPEN
UNIQUE
UNPIVOT
DISK
Opendatasource
UPDATE
DISTINCT
USE
OPENQUERY
OPENROWSET
UPDATETEXT
DOUBLE
DISTRIBUTED
OPENXML
OPTION
USER
DROP
OR
VALUES
DUMP
ORDER
VARYING
ELSE
OUTER
VIEW
END
OVER
WAITFOR
ERRLVL
PERCENT
WHEN
ESCAPE
PIVOT
WHERE
EXCEPT
PLAN
WHILE
EXEC
PRECISION
WITH
EXECUTE
PRIMARY
WITHIN GROUP
EXISTS
PRINT
WRITETEXT
EXIT
PROC




v  Operadores – Flujos de control
Un Operador es un símbolo que especifica una acción en que se realiza una o más expresiones.

OPERADORES ARTMÉTICOS
Son aquellos que se realizan operaciones matemáticas entre dos expresiones numéricas.

OPERADOR
SIGNIFICADO
+
Suma
-
Resta
*
Multiplicación
/
División
%
Devuelve el resto entero de una división

OPERADOR DE ASIGNACIÓN
El operador igual (=) es sólo el operador de Asignación del SQL Server.
 OPERADORES DE COMPARACIÓN
Operadores de Comparación
Significado
=
Igual a
> 
Mayor que
< 
Menor que
>=
Mayor o igual que
<=
Menor o igual que
< >
Diferente que
!=
Diferente que (no es del estándar ISO)
!<
No es Menor que (no es del estándar ISO)
!>
No es Mayor que (no es del estándar ISO)



OPERADORES LÓGICOS

OPERADOR
SIGNIFICADO
ALL
TRUE si el conjunto completo de comparaciones es TRUE
AND
TRUE si ambas expresiones booleanas son TRUE
ANY
TRUE si cualquier miembro del conjunto de comparaciones es TRUE
BETWEEN
TRUE si el operador está dentro de un intervalo.
EXISTS
TRUE si una subconsulta contiene cualquiera de las filas.
IN
TRUE si el operador es igual a uno de la lista de expresiones
LIKE
TRUE si el operando coincide con un patrón
NOT
Invierte el valor de cualquier otro operador booleano
OR
TRUE si cualquiera de las dos expresiones booleanas es TRUE
SOME
TRUE si alguna de las comparaciones de un conjunto es TRUE

FLUJOS DE CONTROL
Las palabras clave del lenguaje de control de flujo de Transact-SQL son:
§  BEGIN…END
§  BREAK
§  RETURN
§  CONTINUE
§  GOTO
§  IF…ELSE
§  THROW
§  TRY…CATCH
§  WAITFOR
§  WHILE

3.    Summary
Definition
It is a very powerful language that allows us to define any task we want to perform based on data; "personal characteristics of any programming parameter, characteristics that allow us to define the logic necessary for the treatment of information".

It can be used as an alternative language in applications developed in other programming languages ​​such as Visual Basic, C, Java, etc. And of course the languages ​​included in the .NET platform.

Types of commands (DDL, MDL, etc.)
 DDL (Data Definition Language): Allows you to create and define databases, tables, fields, indexes.

ü  CREATE
ü  ALTER
ü  DROP

 DML (Data Manipulation Language): Filter and sort the data that we want to manipulate.

ü  SELECT
ü  INSERT
ü  UPDATE
ü  DELETE
 Functions- Identifiers
FUNCTIONS
  ü  Aggregate functions 
  ü Analytical functions
  ü  Category functions
  ü  Row set functions
  ü  Scalar functions

IDENTIFIER
The identifier is used to refer to the object

Classes of identifiers
  ü  Normal identifiers  
  ü  Defined identifiers

Rules of the normal identifiers
The names of variables, functions and stored procedures must comply with the following rules for Transact-SQL identifiers.
The first character must be one of the following:
• One letter, as defined in the Unicode standard 3.2. The Unicode definition of letters includes the Latin characters from "a" to "z" and from "A" to "Z", in addition to the letters characters of other languages.

• The underscore (), at sign (@) or number (#).

Certain symbols at the beginning of an identifier have a special meaning in SQL Server. A normal identifier that begins with the at sign will always denote a local variable or a parameter, and can not be used as the name of any other type of object. An identifier that starts with the number sign indicates a table or temporary procedure. An identifier that starts with a double number sign (##) indicates a global temporary object. Although it is possible to use the number sign characters or double number sign to start the names of other types of objects, it is not recommended to do so.

Some Transact-SQL functions have names that start with a double at sign (@@). To avoid

Letters, as defined in the Unicode standard 3.2.

Decimal numbers of the basic Latin alphabet or other alphabets of other languages.

The at sign, dollar ($), number or underline.

The identifier must not be a reserved Transact-SQL word. SQL Server reserves the uppercase and lowercase versions of the reserved words. When used in Transact-SQL statements, identifiers that do not comply with these rules must be delimited by double quotes or square brackets. The reserved words depend on the compatibility level of the database.
Types of data - Reserved words

TYPE OF DATA
A data type is an attribute that specifies the type of data that the object can contain: integer data, character data, currency data, date and time data, binary strings, etc.
SQL Server provides a set of system data types that defines all types of data that can be used with SQL Server. You can also define your own data types in Transact-SQL or Microsoft .NET Framework. The alias data types are based on the types of data provided by the system.

The SQL Server data types are organized into the following categories:
   v  Exact numbers
·         bigint
·         numeric
·         bit
·         smallint
·         decimal
·         Smallmoney
·         int
·         tinyint
·         money 
  v  Approximate numbers
·         Float
·         real

     v  Date and time
·         Date
·         Datetimeoffset
·         datetime2
·         smalldatetime
·         datetime
·         time
     v  Character strings
·         Char
·          Varchar
·         varchar (max)
v  Unicode character strings
·         Nchar
·         Nvarchar
·         ntext
     v  Binary chains
·         Binary
·         Varbinary
·         image
    v  Other types of data
·         cursor rowversion
·          hierarchyid
·          Uniqueidentifier
·         sql_variant
·         xml


RESERVED WORDS
Microsoft SQL Server uses reserved keywords to define, manipulate and access databases. Reserved keywords are part of the Transact-SQL language grammar used by SQL Server to analyze and understand Transact-SQL statements and batches. Although it is syntactically possible to use SQL Server reserved key keys as identifiers and object names in Transact-SQL scripts, it can only be done using delimited identifiers.
The SQL Server reserved keywords are listed in the following table.
Operators - Control flows
An Operator is a symbol that specifies an action in which one or more expressions are performed.

ARTMETERS OPERATORS
Are those that perform mathematical operations between two numeric expressions.

MEANING OPERATOR
+ Sum
 - Subtraction
* Multiplication
/ Division
% Returns the entire rest of a division
ALLOCATION OPERATOR
4.    Recomendaciones
Ø  Recomendarle Utilizar el Leguaje Transact SQL para hacer diferentes tipos de tareas.

Ø  Se recomienda hacer uso del comando DDL para crear, modificar y eliminar, tablas, campos a nivel de código.

Ø  Se recomienda hacer el uso de la palabra reservada EXISTS en subconsultas.

5.    Conclusiones
Ø  El equipo de Trabajo concluye que Transact SQL es muy importante para administradores de Base de Datos.

Ø  Concluimos que es Transact SQL es un Lenguaje de programación, pero no se desarrolla aplicaciones.

Ø  También se concluyó, que, esta herramienta que soporta la capacidad de consultas SQL.


6.    Apreciación del Equipo

Ø  Transact-SQL es fundamental para trabajar con SQL SERVER, ya que todas las aplicaciones que se comunican con SQL SERVER, Lo hacen mediante el Lenguaje Transact SQL.

Ø  Gracias al Lenguaje Transact SQL nos permite hacer consultas, procedimientos almacenados, etc. en el SQL SERVER que facilita, tanto a los desarrolladores de Software y a los Usuarios.

Ø  Transact SQL es un lenguaje muy implementado.

7.    Glosario de Términos
Ø  TRUNCATE: Quita todas las filas de una tabla o particiones específicas de una tabla, sin registrar las eliminaciones de fila individuales. TRUNCATE TABLE es similar a la sentencia DELETE sin cláusula WHERE; sin embargo, TRUNCATE TABLE es más rápido y utiliza menos recursos de registro de sistema y de transacción.

Ø  BEGIN: Incluye una serie de instrucciones Transact-SQL para que se pueda ejecutar un grupo de instrucciones Transact-SQL. BEGIN y END son palabras clave del lenguaje de control de flujo.

Ø  COMMIT: Marca el final de una transacción implícita o explícita exitosa. Si @@ TRANCOUNT es 1, COMMIT TRANSACTION realiza todas las modificaciones de datos realizadas desde el inicio de la transacción como parte permanente de la base de datos, libera los recursos que posee la transacción y disminuye @@ TRANCOUNT a 0. Si @@ TRANCOUNT es mayor que 1, COMPRAR TRANSACCIÓN disminuye @@ TRANCOUNT sólo por 1 y la transacción permanece activa.

Ø  INDEX: La instrucción CREATE INDEX se usa para crear índices en tablas.
Ø  Los índices se utilizan para recuperar datos de la base de datos muy rápido. Los usuarios no pueden ver los índices, solo se utilizan para acelerar las búsquedas / consultas.

Ø  UNIQUE: La restricción ÚNICA asegura que todos los valores en una columna sean diferentes.
Ø  Las restricciones ÚNICA y PRIMARY KEY proporcionan una garantía de exclusividad para una columna o conjunto de columnas.
Ø  Una restricción PRIMARY KEY tiene automáticamente una restricción ÚNICA.
Ø  Sin embargo, puede tener muchas restricciones ÚNICAS por tabla, pero solo una restricción PRIMARY KEY por tabla.

Ø  DEFAULT: La restricción DEFAULT se usa para proporcionar un valor predeterminado para una columna.
Ø  El valor predeterminado se agregará a todos los registros nuevos SI no se especifica ningún otro valor.

Ø  TRIGGER: Crea un desencadenador DML, DDL o de inicio de sesión. Un desencadenante es un tipo especial de procedimiento almacenado que se ejecuta automáticamente cuando ocurre un evento en el servidor de la base de datos. Los desencadenadores DML se ejecutan cuando un usuario intenta modificar datos a través de un evento de lenguaje de manipulación de datos (DML). Los eventos DML son instrucciones INSERT, UPDATE o DELETE en una tabla o vista. Estos desencadenantes se activan cuando se activa un evento válido, independientemente de si se afectan o no las filas de una tabla.

Ø  CONSTRAINT: Las restricciones de SQL se utilizan para especificar reglas para los datos en una tabla. Las restricciones se pueden especificar cuando la tabla se crea con la instrucción CREATE TABLE, o después de que la tabla se crea con la sentencia.

Ø  CURSOR: Permite procesar el conjunto de resultados una fila a la vez. Puede asignar un cursor a una variable o parámetro con un tipo de datos de cursor.

Ø  PIVOT: gira una expresión con valores de tabla convirtiendo los valores únicos de una columna de la expresión en varias columnas en la salida y realiza agregaciones donde son necesarias en cualquier valor de columna restante que se desee en la salida final.
Ø  UNPIVOT: realiza la operación contraria a PIVOT girando las columnas de una expresión con valores de tabla a valores de columna.

Ø  SCHEMA: Crea un esquema en la base de datos actual. La transacción CREATE SCHEMA también puede crear tablas y vistas dentro del nuevo esquema, y establecer permisos GRANT, DENY o REVOKE en esos objetos.

Ø  ROLLBACK: Revierte una transacción explícita o implícita al comienzo de la transacción o a un punto de rescate dentro de la transacción. Puede usar ROLLBACK TRANSACTION para borrar todas las modificaciones de datos realizadas desde el inicio de la transacción o hasta un punto de rescate. También libera los recursos que posee la transacción.


8.    Bibliografía o Linkografía



LINK DE DIAPOSITIVAS

https://es.slideshare.net/JaimeAguilarRafael1/lenguaje-transact-sql-91962852

VIDEOS











   

1 comentario :

Designed By Published... James