Está en la página 1de 12

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES


DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

Facilitador(a): Cristian Pinzón / Carlos Herrera Asignatura: Base de Datos II


Estudiante: Fecha: Grupo:

A. TÍTULO DE LA EXPERIENCIA
Fundamentos del Lenguaje T-SQL

B. TEMAS:
• Tema #3. Fundamentos del Lenguaje SQL

C. OBJETIVO(S):
• Introducir al estudiante en los Fundamentos del Lenguaje T-SQL

D. RECURSOS:
• Microsoft Transact SQL (T-SQL)
• Computadora
• Proyector Multimedia
• Diapositivas en Power Point
• Material utilizado por el profesor

E. RÚBRICAS:
Criterio Ponderación (100%)
Calidad en la presentación del laboratorio 20%
Calidad del contenido del Laboratorio 60%
Puntualidad en la entrega de la tarea 20%

Ponderación
Criterio Indicadores a evaluar en el criterio (100%)

A. Calidad en la • Calidad en la presentación y formalidad del


presentación del informe de laboratorio. Hoja de presentación 20%
laboratorio y estructura del informe
B. Calidad del • Contenido del Laboratorio. Todos los
contenido del problemas resueltos 60%
laboratorio
C. Puntualidad en
• Fecha puntual en la entrega del Informe del
la entrega del 20%
Laboratorio.
laboratorio
Evaluación Final 100%
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

F. ENUNCIADO DE LA EXPERIENCIA O PROCEDIMIENTO:

Los estudiantes estudiarán conceptos básicos del lenguaje SQL:

• Comentarios en el Lenguaje T-SQL


• Variables Locales y Globales
• Precedencia de Operadores
• Funciones de Manejo de Cadenas
• Funciones para el Manejo de Tipo de Datos Fecha y Hora

Los estudiantes practicarán diferentes códigos en el entorno del T-SQL probando el comportamiento de
cada uno de los elementos planteados, realizarán capturas de pantalla y explicarán la salida resultante de
la ejecución de cada caso propuesto. Al finalizar los estudiantes entregarán un informe completo cumpliendo
con la calidad que se exige al nivel de universidad (Hoja de presentación, desarrollo del laboratorio,
conclusiones).
CONTENIDO DEL LABORATORIO PROPUESTO
---------------------------------------------------------------------------------------------------------------------
1. Comportamiento en la colocación de comentarios en Código SQL
---------------------------------------------------------------------------------------------------------------------
Caso #1
--Explique que hace esta línea de código

Caso #2
/*
Explique que hace esta línea de código
Para explicar el código SQL
*/

---------------------------------------------------------------------------------------------------------------------
2. Uso de variables Locales
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------
Caso #3
DECLARE
@numero int,
@copiar int,
@suma int

SELECT @numero = 10
SELECT @copiar = @numero, @suma = @numero + 100
SELECT @copiar AS [Variable Copiar]
SELECT @suma AS [Variable SUMA]
Go
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

Caso #4
SELECT * FROM TB_CLIENTE

DECLARE @Codigo_Cliente CHAR(11)


SELECT @Codigo_Cliente=Codigo_Cliente
FROM TB_Cliente
WHERE Nombre_Cliente = 'Juan'
and PrimerApellido_Cliente = 'Delgado'

SELECT @Codigo_Cliente [Codigo del Cliente]


GO

Caso #5
SELECT * FROM TB_CLIENTE
DECLARE @NombreCliente VarCHAR(40)
DECLARE @ApellidoCliente VarCHAR(40)

UPDATE TB_CLIENTE
SET Nombre_Cliente='Alberto',
PrimerApellido_Cliente = 'Chavez',
@NombreCliente=Nombre_Cliente,
@ApellidoCliente=PrimerApellido_Cliente
WHERE Codigo_Cliente='00001'

SELECT @NombreCliente AS [Nombre del Cliente], @ApellidoCliente [Apellido del


Cliente]
GO

Caso #6
SELECT @Codigo_Cliente=Codigo_Cliente
FROM TB_Cliente
WHERE Nombre_Cliente = 'Juan' and PrimerApellido_Cliente = 'Delgado'
DECLARE @Codigo_Cliente CHAR(11)
SELECT @Codigo_Cliente
GO

Caso #7
SELECT @Codigo_Cliente=Codigo_Cliente
FROM TB_Cliente
WHERE Nombre_Cliente = 'Juan' and PrimerApellido_Cliente = 'Delgado'
DECLARE @Codigo_Cliente CHAR(11)
SELECT @Codigo_Cliente
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

Caso #8
DECLARE @nombre_cliente float
SELECT @nombre_cliente=Nombre_Cliente
FROM TB_Cliente
WHERE Nombre_Cliente = 'Alberto' and PrimerApellido_Cliente = 'Chavez'
SELECT @nombre_cliente
GO

Caso #9
SELECT * FROM tb_cliente
DECLARE @valor SMALLMONEY

SELECT @valor = Saldo_Cliente FROM Tb_Cliente_


WHERE Direccion_Cliente = 'Santiago' and Saldo_Cliente > 0

SELECT @valor AS [Saldo de Clientes de Santiago]

SELECT @valor = Saldo_Cliente FROM Tb_Cliente_


WHERE Direccion_Cliente = 'Chitre' and Saldo_Cliente > 0

SELECT @valor AS [Saldo de Clientes de Chitre]

Caso #10
DECLARE @cliente VARCHAR(5)
-- le asignamos a la variable un valor de la tabla.
SELECT @cliente = codigo_cliente
FROM TB_Cliente
WHERE Email_Cliente = 'claudiasoto@hotmail.com'

--Vemos el valor de la variable.


SELECT @cliente [Codigo del Cliente]

---Usamos el valor de la variable en una nueva consulta


SELECT codigo_cliente, nombre_cliente, PrimerApellido_Cliente, TelefonoMovil_Cliente
FROM TB_Cliente
WHERE codigo_cliente = @cliente

GO --Termina la Ejecución por Lote (batch)


UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

---------------------------------------------------------------------------------------------------------------------
3. Uso de variables GLOBALES
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------

Caso #11
SELECT * FROM TB_PAGO_FACTURA_COMPRA
WHERE Fecha_Pago = '06/03/2012'

SELECT * FROM TB_Pago_Factura_Compra


DELETE FROM TB_Pago_Factura_Compra
SELECT @@rowcount AS [Cantidad de Registros Eliminados]

Caso #12
DELETE FROM TB_Cliente
SELECT @@error [Numero del Error]

---------------------------------------------------------------------------------------------------------------------
4. Precedencia Operadores: Prioridades
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------

Caso #13
DECLARE @Numero int;
SET @Numero = 4 - 2 + 27;
-- Evalúa a 2 + 27 el cual produce el resultado de 29.
SELECT @Numero [Valor de Salida];
Go

Caso #14
DECLARE @Numero int;
SET @Numero = 2 * 4 + 5;
-- Evaluar 8 + 5 debe producir como resultado 13.
SELECT @Numero [Valor de Salida];
Go

Caso #15
DECLARE @Numero int;
SET @Numero = 2 * (4 + 5);
-- Evaluar a 2 * 9 debe producir como resultado 18.
SELECT @Numero [Valor de Salida];
Go
Caso #16
DECLARE @Numero int;
SET @Numero = 2 * (4 + (5 - 3) );
-- Evaluar 2 * (4 + 2) el cual evalúa a 2 * 6, y produce como resultado 12.
SELECT @Numero [Valor de Salida];
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

---------------------------------------------------------------------------------------------------------------------
5. Funciones para el Manejo de Cadenas
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------

Caso #17
-- FUNCION CONCAT
DECLARE @Cadena CHAR(100)
SET @Cadena=CONCAT( 'Feliz ', 'Cumpleaños ', 'hoy ', 15, '/', '09' );
SELECT @Cadena AS [Cadena de Salida]
GO

Caso #18
SELECT CONCAT(Nombre_Cliente, PrimerApellido_Cliente, SegundoApellido_Cliente)
AS [Nombre del Cliente]
FROM TB_CLIENTE
GO

Caso #19
SELECT CONCAT(Nombre_Cliente, +' '+ PrimerApellido_Cliente,
+' '+ SegundoApellido_Cliente) AS [Nombre del Cliente]
FROM TB_CLIENTE
GO

Caso #20
--FUNCION LEN
DECLARE @Cadena CHAR(50)
SET @Cadena = 'Esta es la longitud de la cadena'
SELECT LEN(@Cadena) [Tamaño de la Cadena]

SET @Cadena = ' Esta es la longitud de la cadena'


SELECT LEN(@Cadena) [Tamaño de la Cadena]
GO

Caso #21
SELECT LEN(Nombre_Cliente) AS [Longitud del Nombre],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
WHERE Direccion_Cliente = 'Chitre';
GO

Caso #22
--FUNCION LOWER (Transact-SQL)
SELECT LOWER(Nombre_Cliente) AS [Nombre Minúscula],
PrimerApellido_Cliente
FROM TB_Cliente
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

Caso #23
--FUNCION UPPER (Transact-SQL)
SELECT UPPER(Nombre_Cliente) AS [Nombre Mayúscula],
PrimerApellido_Cliente FROM TB_Cliente
GO

Caso #24
--FUNCION SUBSTRING (Transact-SQL)
SELECT SUBSTRING(Nombre_Cliente,4,8) AS [Primer Caracter del Nombre],
Nombre_Cliente, PrimerApellido_Cliente FROM TB_Cliente
GO

Caso #25
SELECT UPPER(SUBSTRING(Nombre_Cliente,3,2))
AS [Primer Caracter del Nombre en Mayúscula],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
GO

Caso #26
--LTRIM (Transact-SQL)
DECLARE @Cadena CHAR(100)
SET @Cadena=' Esta es una Línea con caracteres para contar'
SELECT @CADENA [Cadena Original ], LEN(@Cadena) [Longitud Original], LTRIM(@CADENA)
[Cadena de Salida], LEN(LTRIM(@CADENA)) [Longitud Real]
GO

Caso #27
DECLARE @Cadena CHAR(100)
SELECT @Cadena=' Esta es una Línea con caracteres para contar'
SELECT LEN(@Cadena), @CADENA, LTRIM(@Cadena), LEN(LTRIM(@Cadena))
GO

Caso #28
--RTRIM
DECLARE @Cadena1 varchar(100)
SET @Cadena1 ='Esta es una Línea con caracteres para contar. '
SELECT @Cadena1 + ' Adicional con nuevos caracteres'
SELECT RTRIM(@Cadena1) + ' Adicional con nuevos caracteres'
GO

Caso #29
--LEFT
SELECT LEFT('00001-Computadoras DEll Inspiron',5);
GO

Caso #30
SELECT CONCAT(Codigo_Cliente, '-', UPPER(LEFT(Nombre_Cliente,3))) AS [Codigo Interno],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

GO

Caso #31
SELECT RIGHT('Computadoras DEll Inspiron-00001',5);
GO

Caso #32
SELECT CONCAT(UPPER(RIGHT(Nombre_Cliente,3)), '-', Codigo_Cliente) AS [Codigo Interno],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
GO

Caso #33
--STUFF
DECLARE @Cadena char(5)
SET @Cadena = '00001'
SELECT STUFF('Juan Peralta--', 14, 5, @Cadena);
GO

Caso #34
DECLARE @Cadena char(5)
SET @Cadena='00001'
SELECT STUFF('Juan Peralta--', 14, 5, @Cadena);
GO

Caso #35
DECLARE @Identificador CHAR(20)
DECLARE @Clave CHAR(5)
SET @Identificador='01-02-999-0205'
SELECT @Identificador
SET @Clave=SUBSTRING(@Identificador,7,5)
SELECT @Clave
SELECT STUFF(Codigo_Cliente,1,3,@Clave) AS [Campo Unico],
Nombre_Cliente, PrimerApellido_Cliente
FROM TB_Cliente
GO

Caso #36
--Función STR
SELECT STR(123.45, 4, 1);
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

Caso #37
--Función CAST
DECLARE @Valor Decimal (20, 15);
SET @Valor = 453.989845686543278;
SELECT @Valor [Valor en Decimal];
SELECT CONCAT(CAST(@Valor as varchar(20)), ' + Valor en Cadena') [Valor en Cadena];
GO

Caso #38
--Función CONVERT
DECLARE @Valor Decimal (20, 15);
SET @Valor = 4567.989845686543278;
SELECT @Valor [Valor en Decimal];
SELECT CONCAT(CONVERT(varchar(20), @Valor), ' + Valor en Cadena') [Valor en Cadena];
GO

Caso #39
DECLARE @Valor Decimal (5, 2);
SELECT CONCAT(Nombre_Cliente, ' - ', PrimerApellido_Cliente) [Nombre del Cliente],
CONCAT(CONVERT(varchar(10), Saldo_Cliente),' + 04-456-890') [Saldo + Nº Cuenta Ahorro]
FROM TB_CLIENTE

---------------------------------------------------------------------------------------------------------------------
6. Funciones para el Manejo de Cadenas
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------

Caso #40
--Función POWER
DECLARE @Valor1 float;
DECLARE @Valor2 float;
SET @Valor1= 2;
SET @Valor2 = 2.5;
SELECT POWER(@Valor1, 3) AS Resultado1, POWER(@Valor2, 3) AS Resultado2;

-- Función ROUND
SELECT ROUND(123.9994, 3), ROUND(123.9995, 3);
GO

Caso #41
DECLARE @Valor float;
SET @Valor = 25.00;
SELECT SQRT(@Valor) [Raíz Cuadrada];

--Función PI
SELECT PI();
GO
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

Caso #42
-- Función SQUARE
DECLARE @Altura float, @Radio float;
SET @Altura = 5;
SET @Radio = 1;
SELECT PI()* SQUARE(@Radio)* @Altura AS [Volumen del Cilindro];
GO

Caso #43
--Función SIGN
DECLARE @Valor1 real
DECLARE @Valor2 real
DECLARE @Valor3 real
SET @Valor1 = -1
SET @Valor2 = 0
SET @Valor3 = +1
SELECT SIGN(@Valor1) AS[Valor Negativo]
SELECT SIGN(@Valor2) AS[Valor Cero]
SELECT SIGN(@Valor3) AS[Valor Positivo]

Caso #44
--Función ABS
SELECT ABS(-1.0), ABS(0.0), ABS(1.0);

Caso #45
--Función EXP
DECLARE @Valor float
SET @Valor = 10
SELECT 'El valor exponencial de la Variable es: ' + CONVERT(varchar,EXP(@Valor))
GO

---------------------------------------------------------------------------------------------------------------------
7. Funciones para el Manejo del Tipo de Datos Fecha y Hora
Ejecute el siguiente código SQL y explique su comportamiento.
---------------------------------------------------------------------------------------------------------------------

Caso #46
-- Función GETDATE
SELECT GETDATE()[Fecha y Hora del Sistema]

SELECT CONVERT(Date, GETDATE())[Fecha]

Caso #47
-- Función DAY
SELECT DAY('2014/09/19');
SELECT DAY('19/09/2014');
SELECT DAY(GETDATE())
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

Caso #48
-- Función MONTH
SELECT MONTH('2014/09/19');
SELECT MONTH('19/09/2014');
SELECT MONTH(GETDATE())

Caso #49
--Función YEAR
SELECT YEAR('2014/09/19');
SELECT YEAR('19/09/2014');
SELECT YEAR(GETDATE())

Caso #50
--Función DATEADD

SELECT DATEADD(DAY, 10, '19/09/2014');


SELECT CONVERT(DATE,DATEADD(DAY, 10, '19/09/2014'));

SELECT DATEADD(month, 1, '19/09/2014');


SELECT CONVERT(DATE,DATEADD(month, 1, '19/09/2014'));

SELECT DATEADD(YEAR, 5, '19/09/2014');


SELECT CONVERT(DATE,DATEADD(YEAR, 5, '19/09/2014'));
GO

Caso #51
--Función DATEPART
SELECT DATEPART(Year, '19/09/2014') [AÑO]
,DATEPART(Month, '19/09/2014') [Mes]
,DATEPART(Day, '19/09/2014') [Día]

Caso #52
-- Función ISDATE
SELECT ISDATE('2014-09-19') [Fecha Válida = 1 / Fecha Inválida = 0 ]
SELECT ISDATE('2014/09/19') [Fecha Válida = 1 / Fecha Inválida = 0 ]
SELECT ISDATE('19/09/2014') [Fecha Válida = 1 / Fecha Inválida= 0 ]
SELECT ISDATE('201409/19') [Fecha Válida = 1 / Fecha Inválida= 0 ]
SELECT ISDATE('2014/0919') [Fecha Válida = 1 / Fecha Inválida = 0 ]
GO

Caso #53
--Función DATENAME
SELECT DATENAME(year, '19/09/2014') [AÑO]
,DATENAME(month, '19/09/2014') [Mes]
,DATENAME(weekday, '19/09/2014') [Día]
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
GUÍA DE LABORATORIO N. #2

G. RESULTADOS:
• Conocimiento de elementos básicos del lenguaje SQL tales como manejo de operadores y
prioridades, funciones de cadenas, funciones de fecha y hora.

H. CONSIDERACIONES FINALES:
Opinión del estudiante sobre el logro del objetivo y el desarrollo de la experiencia.

También podría gustarte