Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UPN.EDU.PE
Semana 01
Logro de sesión
Al término de la sesión los estudiantes comprenden los principios del código de ética del CIP,
además podrán implementar estructuras de bloque y control con Transact SQL para resolver
lógica de programación en una base de datos.
Temario
• Presentación del sílabo del curso. Difusión del protocolo de seguridad del laboratorio
• Código de ética del ingeniero y su relación con el ejercicio profesional.
• Introducción a Transact-SQL (T-SQL)
• Estructuras de Bloques
• Estructuras de Control: IF, CASE, LOOP, FOR, WHILE
Código de ética del ingeniero y su relación
con el ejercicio profesional
LA ÉTICA EN NUESTRA PROFESIÓN
https://cdlima.org.pe/wp-content/uploads/2019/05/C%c3%93DIGO-DE-%c3%89TICA-REVISI%c3%93N-2018.pdf
CÓDIGO DE ÉTICA DEL CIP
El Código de Ética del Colegio de Ingenieros del Perú - Consejo Departamental de Lima
(CIP - CDLima) es un documento que establece los principios éticos y las normas de
conducta que deben seguir los ingenieros colegiados en el ejercicio de su profesión. El
objetivo principal del código de ética es promover una conducta ética y profesional
responsable, que garantice la calidad de los servicios que ofrecen los ingenieros y
fomente la confianza y el respeto hacia la profesión.
CÓDIGO DE ÉTICA DEL CIP
• Tipos de datos.
• Definición de variables.
• Estructuras de control de flujo.
• Gestión de excepciones.
• Funciones predefinidas.
TRANSACT / SQL
TIPOS DE DATOS
time
MANEJO DE VARIABLES
✓ Una variable es una entidad a la que se asigna un valor. Este valor puede cambiar durante el proceso donde se
utiliza la variable. SQL Server tiene dos tipos de variables: locales y globales.
✓ Las variables locales están definidas por el usuario, mientras que las variables globales las suministra el
sistema y están predefinidas.
*La función str() permite convertir un valor numérico en cadena, esto es necesario para concatenar los valores numérico con una cadena
VARIABLES LOCALES
✓ Las variables locales se declaran, nombran y escriben mediante la palabra clave declare, y reciben un valor inicial
mediante una instrucción Select o Set.
✓ Los nombres de las variables locales deben empezar con el símbolo “@”. A cada variable local se le debe asignar
un tipo de dato definido por el usuario o un tipo de dato suministrado por el sistema distinto de text, image o
sysname.
Use Negocios
go --Ejemplo 2
--Ejemplo 1 Declare @v_max_precio decimal
Declare @v_preciouni decimal Select @v_max_precio=MAX(precioUnidad) from
Set @v_preciouni = 5 Compras.productos
Select * From Compras.Productos P --imprimir los valores de las variables
Where P.precioUnidad < @v_preciouni print 'El mayor Precio es:'+str(@v_max_precio)
Go go
ESTRUCTURAS DE CONTROL
ESTRUCTURA DE CONTROL IF
✓ IF se utiliza para definir una condición que determina si se ejecutará la instrucción siguiente. La
instrucción SQL se ejecuta si la condición se cumple, es decir, si devuelve TRUE (verdadero).
✓ La palabra ELSE introduce una instrucción SQL alternativa que se ejecuta cuando la condición IF
devuelva FALSE.
IF
Use Negocios
Go
BEGIN
DECLARE @v_idemp int, @v_cantidad int
SET @v_idemp = 6
--Recuperar la cantidad de pedidos del empleado de codigo
6
SELECT @v_cantidad = COUNT(*)
FROM Ventas.pedidoscabe WHERE IdEmpleado = @v_idemp
--Evalua el valor de cantidad
IF @v_cantidad = 0
PRINT 'El empleado no ha realizado algún pedido'
ELSE IF @v_cantidad = 1
PRINT 'Ha registrado 1 pedido, continúe trabajando'
ELSE
PRINT 'Ha registrado muchos pedidos'
END
GO
ESTRUCTURA DE CONTROL CASE WHEN
✓ La estructura CASE evalúa una lista de condiciones y devuelve una de las varias expresiones de
resultado posibles.
Use Negocios
Go
SELECT IdPedido,
FechaPedido,
Destinatario ,
Case EnvioPedido
When 0 Then 'Envio Pendiente '
When 1 Then 'Ya Enviado'
End As [Estado del Envio]
FROM Ventas.pedidoscabe
go
Begin
Set Dateformat DMY
Declare @v_fna DATE = '18/04/80'
Declare @v_edad Smallint
Declare @v_etapaGeneracional varchar(50)
Set @v_edad = DateDiff(yy,@v_fna,getdate())
Set @v_etapaGeneracional = Case
When @v_edad < 1 Then 'Bebe'
When @v_edad <= 5 Then 'Infante'
When @v_edad <=12 Then 'Niño'
When @v_edad <=14 Then 'Puber'
When @v_edad <=14 Then 'Adolescente'
When @v_edad <=30 Then 'Joven'
When @v_edad <65 Then 'Adulto'
Else 'Adulto Mayor '
End
*La función DATEIFF() devuelve el tiempo transcurrido entre dos fechas, en años YY, meses MM, días DD
ESTRUCTURA DE CONTROL WHILE
✓ Ejecuta en forma repetitiva un conjunto o bloque de instrucciones SQL 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.
WHILE
BEGIN
DECLARE @v_numero tinyint = 0
WHILE @v_numero <= 10
BEGIN
PRINT @v_numero
--SET @v_numero = @v_numero + 1
SET @v_numero += 1
END
END
GO
WHILE
Begin
Set DateFormat DMY
Declare @v_fechaInicial Date='01/01/1990'
Declare @v_fechaFinal Date='31/12/2000'
Declare @v_Flag bit = 1
While @v_Flag = 1
Begin
Print @v_fechaInicial
Set
@v_fechaInicial=DateAdd(dd,1,@v_fechaInicial)
If @v_fechaInicial > @v_fechaFinal
Break
Else
Continue
End
End
go
*La función DATEADD() agrega elementos a una fecha, años YY, meses MM, días DD
Resolución de casos
ESTRUCTURAS DE CONTROL
DECLARE
@v_inicio smallint = 1,
@v_fin smallint = 40
WHILE @v_inicio < @v_fin
begin
IF @v_inicio%4 = 0
BEGIN
PRINT @v_inicio
END
set @v_inicio += 1
end
ESTRUCTURAS DE CONTROL
Enmascarar un nombre con asteriscos, el nombre enmascarado debe tener la misma longitud que el
nombre original
DECLARE
@v_nombre varchar(100),
@v_asteriscos varchar(100) = '',
@V_caracteres int
BEGIN
SET @v_nombre = 'ROBERTO'
SET @V_caracteres = LEN(@v_nombre)
WHILE @V_caracteres > 0
BEGIN
SET @v_asteriscos = @v_asteriscos + '*'
SET @V_caracteres -= 1
END
--mostramos el enmascarado
PRINT @v_nombre +' --> ' + @v_asteriscos
END
ESTRUCTURAS DE CONTROL
DECLARE
@v_frase VARCHAR(100),
@v_limite smallint,
@v_contador smallint,
@v_frase_al_reves VARCHAR(100) = ''
BEGIN
SET @v_frase = 'ESTA ES UNA PRUEBA DE FRASE'
SET @v_limite = LEN(@v_frase)
WHILE @v_limite > 0
BEGIN
SET @v_frase_al_reves = @v_frase_al_reves +
SUBSTRING(@v_frase, @v_limite, 1 )
SET @v_limite = @v_limite - 1
END
PRINT @v_frase_al_reves
END
GO
ESTRUCTURAS DE CONTROL
DECLARE
@v_frase VARCHAR(100),
@v_limite smallint,
@v_contador smallint,
@v_frase_al_reves VARCHAR(100) = ''
BEGIN
SET @v_frase = 'ESTA ES UNA PRUEBA DE FRXASE'
SET @v_limite = LEN(@v_frase)
WHILE @v_limite > 0
BEGIN
IF SUBSTRING(@v_frase, @v_limite, 1 ) = 'X'
BREAK
Introducción a Transact-SQL
https://learn.microsoft.com/es-es/training/modules/get-started-transact-sql-
programming/
Tipos de datos
https://learn.microsoft.com/es-es/sql/t-sql/data-types/data-types-transact-sql?view=sql-
server-ver16
Variables locales
https://learn.microsoft.com/es-es/sql/t-sql/language-elements/select-local-variable-
transact-sql?view=sql-server-ver16