bd 03

6
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

Upload: johann-chambilla

Post on 05-Jan-2016

215 views

Category:

Documents


1 download

DESCRIPTION

base de datos

TRANSCRIPT

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)