Practica Nº8 Funciones

4
UNIVERSIDAD ANDINA DEL CUSCO FACULTAD DE INGENIERIA DEPARTAMENTO ACADEMICO DE INGENIERIA DE SISTEMAS CARRERA PROFESIONAL DE INGENIERIA DE SISTEMAS LABORATORIO DE BASE DE DATOS I PRACTICA Nº8-FUNCIONES 1. TEMA:PROGRAMACION EN BASE DE DATOS 2. Fecha :12/11/2014 3. OBJETIVOS DE LA PRACTICA a. Crear funciones Escalares sobre la base de dato DBAcademico. b. Crear funciones en Linea sobre la base de dato DBAcademico. c. Realizar operaciones en la base de datos DBAcademico usando funciones d. Comprobar la integridad de datos utilizando funciones 4. DESARROLLO DE LA PRACTICA a) FUNCIONES ESCALARES use DBAcademico go -- ====================================================================== ============== --- CREACION DE FUNCIONES DEFINIDAS POR EL USUARIO EN LA BASE DE DATOS DBACADEMICO --DESCRIPCION : Crea funciones escalares -- ====================================================================== ============== If Object_ID (N'ufnCalcularEdadAlumno', N'if') IS NOT NULL Drop Function ufnCalcularEdadAlumno go -- ====================================================================== ============== --OBJETO : ufnCalcularEdadAlumno --TIPO : Funcion --DESCRIPCIÓN : Crea una funcion para calcular la edad de un alumno

description

BASE DE DATOS

Transcript of Practica Nº8 Funciones

UNIVERSIDAD ANDINA DEL CUSCOFACULTAD DE INGENIERIADEPARTAMENTO ACADEMICO DE INGENIERIA DE SISTEMASCARRERA PROFESIONAL DE INGENIERIA DE SISTEMAS

LABORATORIO DE BASE DE DATOS IPRACTICA N8-FUNCIONES

1. TEMA:PROGRAMACION EN BASE DE DATOS2. Fecha :12/11/20143. OBJETIVOS DE LA PRACTICAa. Crear funciones Escalares sobre la base de dato DBAcademico.b. Crear funciones en Linea sobre la base de dato DBAcademico.c. Realizar operaciones en la base de datos DBAcademico usando funcionesd. Comprobar la integridad de datos utilizando funciones

4. DESARROLLO DE LA PRACTICAa) FUNCIONES ESCALARESuse DBAcademicogo--====================================================================================---CREACION DE FUNCIONES DEFINIDAS POR EL USUARIO EN LA BASE DE DATOS DBACADEMICO--DESCRIPCION : Crea funciones escalares--====================================================================================

If Object_ID (N'ufnCalcularEdadAlumno', N'if') IS NOT NULL Drop Function ufnCalcularEdadAlumnogo--====================================================================================--OBJETO : ufnCalcularEdadAlumno--TIPO : Funcion--DESCRIPCIN : Crea una funcion para calcular la edad de un alumno--FECHA DE CREACION : 12/11/2014--AUTOR : CADA UNO PONE SU NOMBRE--OBSERVACIONES : Ninguna ---===================================================================================--PR MODIFICADO FECHA DESCRIPCIN--=====================================================================================CREATE FUNCTION ufnCalcularEdadAlumno(@CodAlumno varchar(12)) RETURNS numeric(4,0) AS BeginDeclare @FecNacimiento datetimeDeclare @Edad numeric(4,0)select @FecNacimiento=FecNacimiento from TAlumnowhere CodAlumno=@CodAlumnoselect @Edad=year(GETDATE())-Year(@FecNacimiento)Return (@Edad) End go ---ejecutar funcion select dbo.ufnCalcularEdadAlumno('001000125441') ---ejecutar funcion y mostrar datos adicionalesselect DesAlumno, dbo.ufnCalcularEdadAlumno('001000125441') as Edadfrom TAlumnowhere codalumno='001000125441'

If Object_ID (N'ufnCalcularHorasDocente', N'if') IS NOT NULL Drop Function ufnCalcularHorasDocentego--===========================================================================--OBJETO : ufnCalcularHorasDocente--TIPO : Funcion Escalar--DESCRIPCIN : Crea una funcion para calcular la edad de un alumno--FECHA DE CREACION : 12/11/2014--AUTOR : CADA UNO PONE SU NOMBRE--OBSERVACIONES : Ninguna ---===========================================================================--PR MODIFICADO FECHA DESCRIPCIN--========================================================================

CREATE FUNCTION ufnCalcularHorasDocente(@CodDocente varchar(8),@CodCurso varchar(8)) RETURNS int AS BeginDeclare @NroT intDeclare @NroP intDeclare @total intset @NroT=(Select NroHorTeoricas from Tcurso where CodCurso=@CodCurso)set @NroP=(Select NroHorPracticas from Tcurso where CodCurso=@CodCurso)set @total=@NroT+@NroPReturn (@Total) End go ---ejecutar funcion select dbo.ufnCalcularHorasDocente('D00001','is21') Update TCargaAcademica Set TotHoras= (Select dbo.ufnCalcularHorasDocente('D00001','is21')) Where CodDocente='D00001' AND CodCurso='IS21' AND SemAcademico='2014-II' ---Actualizar Datos en Tabla carga academica utilizando funcion Update TCargaAcademica Set TotHoras= (Select dbo.ufnCalcularHorasDocente('D00001','is24')) Where CodDocente='D00001' AND CodCurso='IS24' AND SemAcademico='2014-II' Update TCargaAcademica Set TotHoras= (Select dbo.ufnCalcularHorasDocente('D00099','is31')) Where CodDocente='D00099'FUNCIONES EN LINEA O DE TIPO TABLAuse DBAcademicogo--===========================================================================---CREACION DE FUNCIONES DEFINIDAS POR EL USUARIO EN LA BASE DE DATOS DBACADEMICO--DESCRIPCION : Crea los funciones de tipo tabla o en linea--===========================================================================IF OBJECT_ID(N'ufnListarHorasDocente', N'IF') IS NOT NULL DROP FUNCTION ufnListarHorasDocenteGOCREATE FUNCTION ufnListarHorasDocente (@Semestre varchar(8))--====================================================================--OBJETO : ufnListarHorasDocente--TIPO : Funcion tipo tabla--DESCRIPCIN: Crea una funcion que permite obtener la informacion de las horas que regenta un docente en el semestre--FECHA DE CREACION : 12/11/2014 --AUTOR : CADA UNO PONE SU NOMBRE--OBSERVACIONES : Ninguna --====================================================================--PR MODIFICADO PORFECHA DESCRIPCIN--====================================================================RETURNS TABLEASRETURN(SELECT NomDocente, T.SemAcademico, SUM (T.TotHoras) as TotalHoras FROM TDocente D inner join TCargaAcademica T on (D.CodDocente=T.CodDocente)where T.SemAcademico ='2014-II'group by NomDocente, T.SemAcademico)---Ejecutar Funcion--select * from dbo.ufnListarHorasDocente('2014-II');