Está en la página 1de 5

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERIA Y ARQUITECTURA


DEPARTAMENTO ACADEMICO DE INGENIERIA DE SISTEMAS
ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS
GUÍA DE LABORATORIO N° 08
TEMA: FUNCIONES TIPO TABLA

I. Datos Informativos
1.1. ASIGNATURA : SISTEMA DE BASE DE DATOS I
1.2. Carrera profesional : Ingeniería de sistemas.
1.3. Plan de Estudios : 2013
1.4. Semestre académico : 2018-I.
1.5. Ciclo de estudios : Sexto ciclo.
1.6. Área curricular : Obligatorio de Formación Profesional.
1.7. Código de la asignatura : IS015.
1.8. Nº de horas : 02 horas practica
1.9. Profesor responsable : Lida León Núñez.
1.10. Fecha: 27 de MARZO 2018.

1.11. Objetivos Educacionales: OEP1,OEP2 y OEP3


1.12. Resultados del estudiante : RE(C)=2 y RE(K)=2
1.13. Indicadores de desempeño :, I8, I5
I. COMPETENCIAS A CONSEGUIR
Tiene un conocimiento claro acerca de los sistemas de base de datos. Permite la
identificación de las necesidades de información de una organización proponiendo
soluciones tecnologías que proporcionen información privilegiada para responder
problemas de negocio.

II. Capacidades
II.1. Conoce y aplica aspectos esenciales de la administración y seguridad de base de datos
mediante el entorno de un gestor de base de datos.

III. Materiales Necesarios


 Equipo de Computo
 Gestor de base de datos SQL Server.
 Proyecto appAhorros
 Datos en Excel DatosFinanciera.xls

IV. Requisitos para el desarrollo de la Guía


 Crear base de datos DBAhorros
 Cargar los datos en la base de datos DBAhorros

V. Fundamento Teórico:
a) Funciones de Tipo Tabla
Las funciones con valores de tabla definidas por el usuario devuelven un tipo de
datos table. Las funciones con valores de tabla insertados no tienen cuerpo; la tabla
es el conjunto de resultados de una sola instrucción SELECT. Se parece a un
procedimiento almacenado.

Estas funciones definidas por el usuario devuelven un tipo de datos table pueden ser
una eficaz alternativa a las vistas. Esas funciones se conocen como funciones con
valores de tabla. Una función definida por el usuario con valores de tabla se puede
usar donde se permiten las expresiones de vista o de tabla en las consultas Transact-
SQL. Mientras que las vistas se limitan a una única instrucción SELECT, las funciones
definidas por el usuario pueden contener instrucciones adicionales que permiten una
lógica más eficaz que en las vistas. Una función definida por el usuario con valores de
tabla también puede reemplazar procedimientos almacenados que devuelven un solo
conjunto de resultados. En la cláusula FROM de una instrucción Transact-SQL es
posible hacer referencia a la tabla que devuelve una función definida por el usuario,
pero esto no es posible con los procedimientos almacenados que devuelven
conjuntos de resultados.

b) Componentes de una función definida por el usuario con valores de tabla


En una función definida por el usuario con valores de tabla se tiene los siguientes
elementos:

 La cláusula RETURNS define el nombre de una variable de retorno local para la


tabla devuelta por la función. La cláusula RETURNS también define el formato de
la tabla. El nombre de una variable de retorno local tiene un ámbito local dentro
de la función.
 Las instrucciones Transact-SQL del cuerpo de la función generan e insertan filas
en la variable de retorno definida por la cláusula RETURNS.
 Al ejecutar una instrucción RETURN, las filas insertadas en la variable se
devuelven desde la función en formato tabular. La instrucción RETURN no puede
tener un argumento.
 Ninguna instrucción Transact-SQL de una función con valores de tabla puede
devolver un conjunto de resultados directamente a un usuario. La única
información que la función puede devolver al usuario es el tipo de datos table
devuelto por la función.

VI. REFERENCIAS BIBLIOGRAFÍA


 Microsoft Official Course.(2012) “Maintaning a Microsoft SQL Server 2008 R2. Curso
6231B”.
 Microsoft Official Course.(2012) “Implementing a Microsoft SQL Server 2008 R2
Database. Curso 623B”.
 Kroenke M. David (2003) “Procesamiento de Bases de Datos” (8va Edicion). Prentice
Hall.
VII. DESARROLLO DE GUIA DE LABORATORIO
1. IMPLEMENTAR LAS SIGUIENTES FUNCIONES DE TIPO TABLA
Ejemplo 01
Use DBPRESTAMOS
GO
If Object_ID (N'fnListarEdadClientes', N'FN') IS NOT NULL
Drop procedure fnListarEdadClientes
GO
Create Function fnListarEdadClientes
(@Dato int)
Returns @ListaEdadClientes table
(
Nombres varchar(180), ---nombre de cliente
Edad int -- edad
)
AS
Begin
insert into @ListaEdadClientes
Select Descliente,Year(GETDATE())-Year(FEcNacimiento)
from Tcliente where TipCliente='1'
return
End
---usar la funcion

select * from dbo.fnListarEdadClientes(1)

Ejemplo 02 Forma 01

If Object_I (N'dbo.ufnListaDepartamentos', N'FN') IS NOT NULL


Drop Function ufnListaDepartamentos
GO
----====================================================================
--OBJETO : ufnListaDepartamentos
--TIPO : function
--DESCRIPCIÓN : funcion que lista una tabla con los
departamentos
--FECHA DE CREACION : 27/03/2018
--AUTOR : cada uno pone su nombre
--OBSERVACIONES : Ninguna
--====================================================================
Create Function ufnListaDepartamentos
(@Dato int)
Returns table
AS
return(select distinct CodDepartamento,NomDepartamento from TUbigeo)

----usar la funcion
SELECT * FROM ufnListaDepartamentos(1)
Ejemplo 02… Forma 2

If Object_I (N'dbo.ufnListaDepartamentos1', N'FN') IS NOT NULL


Drop Function ufnListaDepartamentos1
GO
----====================================================================
--OBJETO : ufnListaDepartamentos1
--TIPO : function
--DESCRIPCIÓN : funcion que lista una tabla con los departamentos
--FECHA DE CREACION 27/03/2018
--AUTOR : cada uno pone su nombre
--OBSERVACIONES : Ninguna
--====================================================================

Create Function ufnListaDepartamentos1


(@Dato int)
Returns @ListaDepartamentos table
(
codDepartamento varchar(2), ---codigo de departamento
Nombre varchar(50) -- El nombre de departamento
)
AS
Begin
Insert into @ListaDepartamentos
select distinct CodDepartamento,NomDepartamento from TUbigeo
return
End

--usar la funcion

SELECT * FROM ufnListaDepartamentos1(1)

2. DESARROLLE LAS SIGUIENTES FUNCIONES


A) Analice los ejercicios y defina las ventajas y desventajas de usar funciones o
procedimientos.
B) Desarrolle una funcion de tipo tabla para obtener la cantidad de mujeres y varones de
clientes que se tiene y los porcentajes que representan.

Cantidad/Porcentaje Cantidad Porcentaje


Varones    
Mujeres    

También podría gustarte