Upload
johann-chambilla
View
215
Download
1
Embed Size (px)
DESCRIPTION
base de datos
Citation preview
Universidad José Carlos Mariátegui Base de Datos II C.P. Ingeniería de Sistemas e Informática Semestre 2015 - II
Docente: Ing. Melina Alférez García 1
PRÁCTICA N° 02
Expresiones
Son una unidad de sintaxis que Microsoft SQL Server puede resolver en un valor único.
Ejemplos de expresiones son las constantes, las funciones que devuelven un valor único, una
referencia a una columna o una variable.
Control de flujo
Transact SQL proporciona una serie de herramientas que permite el control de flujo como en
cualquier lenguaje de programación. A continuación se describe los diferentes comandos
utilizados en el control de flujo de programa.
IF … ELSE
Define una ejecución condicional y, opcionalmente una alternativa cuando la condición es falsa.
Ejemplo P02_01
DECLARE @NUMDIA INT SET @NUMDIA=DATEPART(DW,GETDATE()) IF (@NUMDIA=1) PRINT 'LUNES' IF (@NUMDIA=2) PRINT 'MARTES' IF (@NUMDIA=3) PRINT 'MIERCOLES' IF (@NUMDIA=4) PRINT 'JUEVES' IF (@NUMDIA=5) PRINT 'VIERNES' IF (@NUMDIA=6) PRINT 'SABADO' IF (@NUMDIA=7) PRINT 'DOMINGO' GO
BEGIN .. END
Define un bloque de instrucciones que se procesaran como un bloque. Se utiliza normalmente
después de IF, ELSE o WHILE.
Ejemplo P02_02
DECLARE @VAR VARCHAR(20) IF USER_NAME()='DBO' BEGIN PRINT'Personal' set @var='autorizado' END ELSE BEGIN
Universidad José Carlos Mariátegui Base de Datos II C.P. Ingeniería de Sistemas e Informática Semestre 2015 - II
Docente: Ing. Melina Alférez García 2
PRINT'Personal' set @var='no autorizado' END PRINT @VAR GO
RETURN [N]
La instrucción RETURN termina incondicionalmente una consulta, procedimiento almacenado o
lote. Ninguna de las instrucciones de un procedimiento almacenado o lote que siga a la
instrucción RETURN se ejecutará.
Cuando se usa en un procedimiento almacenado, la instrucción RETURN puede especificar un
valor entero para devolver a la aplicación, lote o procedimiento que realiza la llamada. Si no se
especifica ningún valor en la instrucción RETURN, un procedimiento almacenado devuelve el
valor 0.
GOTO etiqueta
Continúa el procedimiento en la instrucción que va después de la etiqueta especificada.
WHILE
Es la construcción repetitiva básica para SQL Server. Repite una instrucción (o un bloque de
instrucciones) mientras una condición lógica sea verdad.
Ejemplo P02_03
DECLARE @NUM INT DECLARE @SUMA INT SET @NUM=0 SET @SUMA=0 WHILE (@NUM<10) BEGIN SET @NUM=@NUM+1 PRINT @NUM SET @SUMA=@SUMA+@NUM END PRINT 'LA SUMA ES='+STR(@SUMA,3) GO
CASE
La función CASE es una expresión especial de Transact-SQL que permite que se muestre un
valor alternativo dependiendo del valor de una columna. Este cambio es temporal, con lo que no
hay cambios permanentes en los datos. Por ejemplo, la función CASE puede mostrar Moquegua
en un conjunto de resultados de una consulta de las filas que tengan el valor CA en la columna
Ciudad.
Universidad José Carlos Mariátegui Base de Datos II C.P. Ingeniería de Sistemas e Informática Semestre 2015 - II
Docente: Ing. Melina Alférez García 3
La función CASE está compuesta de:
- La palabra clave CASE.
- El nombre de columna que se va a transformar.
- Cláusulas WHEN que especifican las expresiones que se van a buscar y cláusulas THEN
que especifican las expresiones que las van a reemplazar.
- La palabra clave END.
- Una cláusulas AS opcional que define un alias de la función CASE.
Ejemplo P02_04
DECLARE @NUMDIA INT SET @NUMDIA=DATEPART(DW,GETDATE()) SELECT CASE @NUMDIA WHEN 1 THEN 'LUNES' WHEN 2 THEN 'MARTES' WHEN 3 THEN 'MIERCOLES' WHEN 4 THEN 'JUEVES' WHEN 5 THEN 'VIERNES' WHEN 6 THEN 'SABADO' WHEN 7 THEN 'DOMINGO' END AS 'DIA DE SEMANA' GO
Ejemplo P02_05
SELECT IDCLIENTE, FECHAENTREGA, DESTINATARIO, PAISDESTINATARIO, CASE FORMAENVIO WHEN 1 THEN 'Transporte marítimo' WHEN 2 THEN 'Transporte aéreo' WHEN 3 THEN 'Transporte terrestre' END AS [FORMA DE ENVIO] FROM NWIND.DBO.PEDIDOS ORDER BY IDCLIENTE
Ejercicios propuestos Tablas
1. Escriba los comandos necesarios para mostrar los siguientes mensajes.
Bienvenido <<usuario>>
Hoy es <<Fecha del sistema>>
Universidad José Carlos Mariátegui Base de Datos II C.P. Ingeniería de Sistemas e Informática Semestre 2015 - II
Docente: Ing. Melina Alférez García 4
2. Calcular la suma de los números pares e impares comprendidos entre 1 y 100.
3. Crear los siguientes tipos de datos definidos por el usuario en la base de datos
DBEjemplo_02.
Testudiante
Codigo char 5
Apellidos varchar 50
Telefono char 9
Nota decimal 5,2
Promedio integer
Universidad José Carlos Mariátegui Base de Datos II C.P. Ingeniería de Sistemas e Informática Semestre 2015 - II
Docente: Ing. Melina Alférez García 5
4. Crear las siguientes tablas.
TCurso
Idcurso char (4) NOT NULL
Curso varchar(50) NOT NULL
FeInicio datetime
FeTermino datetime
Costo decimal(10,2)
TAlumno
Idalumno codigo NOT NULL
Apellidos apellidos NOT NULL
Nombres varchar(30) NOT NULL
Direccion varchar(50) NOT NULL
Telefono teléfono
TNota
Idalumno char(5) NOT NULL
Idcurso char (4) NOT NULL
Nota_01 Nota NOT NULL
Nota_02 Nota NOT NULL
Nota_03 Nota NOT NULL
Nota_04 Nota NOT NULL
Promedio promedio NOT NULL
5. Ingresar los siguientes datos en la Tcurso
Idcurso curso FeInicio FeTermino Costo
PB01 Power Builder 25/07/2014 26/08/2014 300
VB01 Visual Basic 19/08/2014 20/09/2014 500
6. Agregar un campo llamado DNI de tipo char(8), que acepte valores nulos en la Talumno.
7. Agregar un campo llamado FeEvaluacion de tipo fecha que acepte el valor predeterminado
GETDATE en la tabla Nota.
8. Agregar un campo Observacion de tipo varchar(20), en la Tnota
9. Cambiar el nombre de la Tnota por el de Tevaluacion.
10. Eliminar las tablas creadas en la base de datos DBejemplo_02.
Universidad José Carlos Mariátegui Base de Datos II C.P. Ingeniería de Sistemas e Informática Semestre 2015 - II
Docente: Ing. Melina Alférez García 6
Ejercicios propuestos Integridad Referencial
1. Crear las siguientes tablas en la base de datos DBejemplo_03
TCurso
Idcurso char (4) NOT NULL
Curso varchar(50) NOT NULL
FeInicio datetime
FeTermino datetime
Costo decimal(10,2)
TAlumno
Idalumno char(5) NOT NULL
Apellidos apellidos NOT NULL
Nombres varchar(30) NOT NULL
Direccion varchar(50) NOT NULL
Telefono char(9)
TNota
Idalumno char(8) NOT NULL
Idcurso char (3) NOT NULL
Nota_01 integer
Nota_02 integer
Nota_03 integer
Nota_04 integer
Promedio integer
2. Agregar las respectivas restricciones PRIMARY KEY a las tablas Tcurso, Talumno de la
base de datos BDejemplo_03.
3. Agregar un campo en la Talumno llamado DNI, con una restricción de tipo UNIQUE.
4. Modificar el campo teléfono de la Talumno, para que acepte solo dígitos.
5. Agregar las respectivas restricciones FOREING KEY a la Tnota de la base de datos
DBejemplo_03.
6. Para el siguiente ejercicio crear la Tprofesores con siguientes campos:
Idprofesor int NOT NULL
Nombre varchar(30) NOT NULL
Apellidos varchar(50) NOT NULL
Teléfono char(9)