Base de datos I Facultad de Ingeniería. Escuela de computación.



Documentos relacionados
9- Procedimientos almacenados.

Base de datos I Facultad de Ingeniería. Escuela de computación.

Base de datos I Facultad de Ingeniería. Escuela de computación.

Modelamiento y Diseño de Base de Datos

5- Uso de sentencias avanzadas

4- Uso de sentencias para el envió y extracción de datos

10 - Desencadenadores.

Combinar comentarios y cambios de varios documentos en un documento

6- Combinación de tablas

ESCUELA DE ADMINISTRACIÓN

Guía de Laboratorio Base de Datos I.

Base de datos I Facultad de Ingeniería. Escuela de computación.

ADMINISTRACIÓN DE BASE DE DATOS

T12 Vistas y tablas temporales

7- Sub consultas y vistas

Otros tipos de Consultas

6 - Recuperar algunos registros (where)

Programa Presupuestos de Sevillana de Informática.

OBTENER DATOS EXTERNOS

OBJETIVO: Introducción al editor de páginas web Macromedia Dreamweaver.

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

MATERIAL 2 EXCEL 2007

Toda base de datos relacional se basa en dos objetos

MACROS Y FORMULARIOS

Autor: Microsoft Licencia: Cita Fuente: Ayuda de Windows

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

Base de datos relacional

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

ESPOCH ESCUELA DE MEDICINA HERNANDEZ MAYRA FORMULAS Y DUNCIONES BASICAS ESPOCH

MANUAL DE AYUDA MÓDULO GOTELGEST.NET PREVENTA/AUTOVENTA

Estimado usuario. Tabla de Contenidos

Creación y administración de grupos locales

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

SQL (Structured Query Language)

Introducción a Visual Studio.Net

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

RESOLUCIÓN DE ERRORES EN MOODLE CAMPUS VIRTUAL-BIRTUALA UPV-EHU

CÓMO CREAR NUESTRO CATÁLOGO

CONSULTAS BASICAS EN SQL SERVER

Creación y administración de grupos de dominio

Comerciales. Comisiones en Documentos de Venta WhitePaper Enero de 2008

SEPARAR Y ADJUNTAR UNA BASE DE DATOS. Separar una base de datos

OPTIMIZACIÓN DE CONSULTAS EN SQL. Análisis de Consultas y Transacciones Ajuste de Indices Ajuste de Consultas

Tema: CREACIÓN DE TABLAS DE RDBMS (RELATIONAL DATA BASE MANAGEMENT SYSTEM).

Dividir automáticamente las palabras en todo un documento

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT

Muchos programas de aplicación contienen herramientas para proteger la información, por ejemplo, Microsoft Word que te permite:

12 Minería de Datos Reglas de asociación.

BASE DE DATOS RELACIONALES

Guía rápida. Nero BackItUp. Ahead Software AG

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro

Carteleras. Elaborar una agenda de conciertos y actividades musicales

Acronis License Server. Guía del usuario

Análisis de esquemas XML [1]

Manual de uso de la plataforma para monitores. CENTRO DE APOYO TECNOLÓGICO A EMPRENDEDORES -bilib

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Usando los disparadores de la base de datos con el Blended Agent para hacer el proceso específico a la aplicación

Tareas básicas en OneNote 2010 Corresponde a: Microsoft Office OneNote 2010

CORREO ELECTRÓNICO GMAIL. 1 Enviar correo electrónico Acceder a una cuenta de correo electrónico... 2

Manual de OpenOffice Impress

Figure 16-1: Phase H: Architecture Change Management

Informática I Notas del curso

MANUAL DE USUARIO. Sistema de Administración de Proyectos de Vinculación con la Colectividad (SAPVC) MANUAL DE USUARIO DOCENTE

Manual de configuración de Adobe Reader para la validación de la firma de un documento Versión 1.0

Dando nuestros primeros pasos con 3DS Max. 1. Objetivos

Manual de ayuda para la utilización del Correo Interno en el Campus Virtual

Trabajos de Ampliación. Bases de datos NoSQL.


Base de Datos Práctica 1.

INSTALACIÓN DE SQL SERVER 2008 Y SQL SERVER 2008 EXPRESS

Manual etime para supervisores

Curso Online de Microsoft

Sophos Anti-Virus para Mac OS X Ayuda

Formato para prácticas de laboratorio

Recursos de Aprendizaje

UNYDOS CONSULTING S.A MANUAL DE USUARIO PLATAFORMA WEB DE INTERPRISE ADMINISTRATIVO 4.0

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

2. Seleccione OneDrive en la parte superior de los sitios de SharePoint u Office 365 de su organización.

Operación Microsoft Access 97

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

11/06/2011. Alumno: José Antonio García Andreu Tutor: Jairo Sarrias Guzman

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

Estructurar la información dentro del ordenador:

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

Taller 2. Universidad: Ana G. Méndez COIS 202. Herramientas para la integración de tecnología. Presentado por: María de los A.

TUTORIAL. Edición de contenido y creación de entradas y páginas Wordpress

TEMA 6: MODIFICACIÓN DE LA BASE DE DATOS EN SQL

Microsoft Dynamics. Instalación de Management Reporter for Microsoft Dynamics ERP

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

EDICIÓN Y FORMATO (II)

Kaldeera Advanced Forms 2009 Guía del usuario

MANUAL DE USUARIOS DEL MODULO DE EVALUACIÓN DE DESEMPEÑO SISTEMA DE ADMINISTRACIÓN DE SERVIDORES PÚBLICOS (SASP)

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INTRODUCCIÓN INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES INSTRUCCIONES DE DEFINICIÓN DE TABLAS E ÍNDICES

Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos

OPERACIONES BASICAS. 1. Menú. 2. Barra de Herramientas. 3. Área de trabajo. 3.1 Operaciones Básicas. Revisión 3.0

El sistema está solicitandome ingresar nuevamente porque mi sesión ha expirado. Qué significa esto?

Transcripción:

Base de datos I Facultad de Ingeniería. Escuela de computación. 1

2 Base de datos I, Guía 9 Introducción Este manual ha sido elaborado para orientar al estudiante de Bases de datos I en el desarrollo de sus prácticas de laboratorios, haciendo uso de este antes, durante y después de la práctica, de tal forma que ofrece un método facilitador en su proceso de enseñanza/aprendizaje durante esta asignatura. En el desarrollo de esta asignatura se ha designado realizar las prácticas en 16 sesiones semanales de laboratorios, los que incluyen 11 prácticas, dos parciales y un proyecto final durante los cuales, el estudiante aplicará los conceptos y las técnicas fundamentalmente necesarias para el dominio de programas para el uso, configuración y administración de SQL Server 2008 o superior. Todas las guías de laboratorio están estructuradas de la siguiente forma: - Objetivos - Materiales y equipos - Introducción teórica - Procedimiento - Bibliografía - Hoja de evaluación (En caso de que la actividad sea evaluada)

Base de datos I. Guía 9 3 Facultad: Ingeniería. Escuela: Computación. Asignatura: Base de datos I. Tabla de Contenido Pág. Guía 9. Procedimientos almacenados. Guía 6 Contenido a 1 ----------------------------------------------- 4 Objetivos ----------------------------------------------- 4 Materiales y equipos ------------------------------------ 4 Introducción -------------------------------------------- 4 Procedimientos almacenados ------------------------------ 4 Ventajas de usar procedimientos almacenados ------------- 5 Ejemplo: Utilizando SQL Server Management Studio -------- 6 Modificar procedimientos almacenados -------------------- 11 Ejemplo: Utilizar Transact SQL -------------------------- 12 Ejercicios ---------------------------------------------- 14 Investigación ------------------------------------------- 15 Bibliografía -------------------------------------------- 15

4 Base de datos I, Guía 9 Tema: Procedimientos almacenados. Contenidos En la guía se presentarán conceptos que les permitan a los estudiantes poder hacer uso de procedimientos almacenados. Objetivo Específico Crear procedimientos almacenados para ser usados en el desarrollo de software. Materiales y Equipo SQL SERVER 2008 o superior. Guía de práctica. Base de datos de ejemplo: autos. https://msdn.microsoft.com/es-sv/library/ms345415.aspx https://msdn.microsoft.com/es-es/library/ms190782.aspx Introducción Teórica Uno de los procedimientos más usados en el diseño de la base de datos, son los Procedimiento almacenados, pues estos permiten agilizar los procesos de consultas de datos, aumentar la seguridad, reutilizar código y permiten desarrollo de software más ágil evitar hacer más código. Procedimientos almacenados. Un procedimiento almacenado de SQL Server es un grupo de una o varias instrucciones Transact-SQL o una referencia a un método de Common Runtime Language (CLR) de Microsoft.NET Framework. Los procedimientos se asemejan a las construcciones de otros lenguajes de programación, porque pueden:

Base de datos I. Guía 9 5 Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de salida al programa que realiza la llamada. Contener instrucciones de programación que realicen operaciones en la base de datos. Entre otras, pueden contener llamadas a otros procedimientos. Devolver un valor de estado a un programa que realiza una llamada para indicar si la operación se ha realizado correctamente o se han producido errores, y el motivo de estos. Ventajas de usar procedimientos almacenados. Tráfico de red reducido entre el cliente y el servidor Los comandos de un procedimiento se ejecutan en un único lote de código. Esto puede reducir significativamente el tráfico de red entre el servidor y el cliente porque únicamente se envía a través de la red la llamada que va a ejecutar el procedimiento. Mayor seguridad Varios usuarios y programas cliente pueden realizar operaciones en los objetos de base de datos subyacentes a través de un procedimiento, aunque los usuarios y los programas no tengan permisos directos sobre esos objetos subyacentes. El procedimiento controla qué procesos y actividades se llevan a cabo y protege los objetos de base de datos subyacentes. Esto elimina la necesidad de conceder permisos en cada nivel de objetos y simplifica los niveles de seguridad. Reutilización del código El código de cualquier operación de base de datos redundante resulta un candidato perfecto para la encapsulación de procedimientos. De este modo, se elimina la necesidad de escribir de nuevo el mismo código, se reducen las inconsistencias de código y se permite que cualquier usuario o aplicación que cuente con los permisos necesarios pueda acceder al código y ejecutarlo.

6 Base de datos I, Guía 9 Mantenimiento más sencillo Cuando las aplicaciones cliente llaman a procedimientos y mantienen las operaciones de base de datos en la capa de datos, solo deben actualizarse los cambios de los procesos en la base de datos subyacente. El nivel de aplicación permanece independiente y no tiene que tener conocimiento sobre los cambios realizados en los diseños, las relaciones o los procesos de la base de datos. Rendimiento mejorado De forma predeterminada, un procedimiento se compila la primera vez que se ejecuta y crea un plan de ejecución que vuelve a usarse en posteriores ejecuciones. Como el procesador de consultas no tiene que crear un nuevo plan, normalmente necesita menos tiempo para procesar el procedimiento. Procedimiento Bibliografía Ejemplo: Utilizando SQL Server Management Studio Guía 1 Utilizando la base de datos Autos, crearemos un procedimiento almacenado para realizar búsquedas de repuestos por su nombre y que cumplan la condición que estén arriba de un precio dado. En primer lugar vamos a buscar la base de datos Autos y la expandiremos, después buscaremos Programmability (programación) y la expandiremos, y nos quedara como lo muestra la siguiente figura.

Base de datos I. Guía 9 7 Haga clic con el botón secundario en Procedimientos almacenados y, a continuación, haga clic en Nuevo procedimiento almacenado. Este procedimiento nos devolverá la una pestaña de consulta, el siguiente código: -- ================================================ -- Template generated from Template Explorer using: -- Create Procedure (New Menu).SQL - - -- Use the Specify Values for Template Parameters -- command (Ctrl-Shift-M) to fill in the parameter -- values below. - - -- This block of comments will not be included in -- the definition of the procedure. -- ===============================================

8 Base de datos I, Guía 9 Es importante hacer ver que por default me presenta para realizar un procedimiento con dos parámetros, pero si necesito más o menos, se puede borrar o aumentar según sea conveniente para la consulta que queremos utilizar. Además se presentan opciones para poner valores por Default a las variables, estos no son obligatorios y pueden usarse según sea conveniente o borrarse. En el menú Query (Consulta), haga clic en Specify Values for Template Parameters (Especificar valores para parámetros de plantilla), como lo muestra la siguiente figura.

Base de datos I. Guía 9 9 Esta opción me mostrar un cuadro de dialogo, en cual usted debe especificar valores para los parámetros de plantilla, especifique los siguientes valores para los parámetros mostrados. Después en el Editor de consultas, reemplace la instrucción SELECT por la siguiente instrucción: SELECT repuestos.nombre,repuestos.precio,repuestos.descuento FROM repuestos WHERE repuestos.nombre like @Nombre and precio > @valor Es importante corregir una línea donde se encuentra los paramentos Debemos borrar el signo de igual, y dejar la instrucción con la figura siguiente.

10 Base de datos I, Guía 9 Para probar la sintaxis, en el menú Query (Consulta), haga clic en Parse (Analizar). Si se devuelve un mensaje de error, compare las instrucciones con la información anterior y corrija lo que sea necesario. Una vez todo listo proceda a Execute (Ejecutar). El procedimiento se crea como un objeto de la base de datos, tal como lo muestra la figura. Para ejecutar el procedimiento, en el Explorador de objetos, haga clic con el botón derecho en el nombre del procedimiento almacenado BRepuestos y seleccione Execute Store Procedure (Ejecutar procedimiento almacenado). En esta opción veremos que la ventana nos pide el valor de los dos parámetros, para el ejemplo hacemos que busque todos los repuestos que empiecen con Pren agregamos el comodin %, y en el valor ponemos 10. Ahora para ver el resultado presionamos aceptar, y nos mostrara los siguientes resultados.

Base de datos I. Guía 9 11 Modificar procedimientos almacenados. Para modificar un procedimiento almacenado lo primero es buscarlo en el explorador de objetos y después clic derecho sobre el, como lo muestra la figura. Lo cual nos colocara el código para ser editado en el manejador de consultas, como se muestra en la siguiente imagen.

12 Base de datos I, Guía 9 Cambiaremos un poco la consulta, aumentándole dos campos y cambiando el orden de ella, quedando la consulta de esta manera: SELECT marca.marca,marca.pais,modelos.modelo, modelos.precio,modelos.year_modelo FROM marca INNER JOIN modelos ON marca.id_marca = modelos.id_marca ORDER BY modelos.year_modelo Una vez efectuados los cambios, ejecutamos el procedimiento almacenado, y ya podemos utilizarlo. EXEC ListaPrecio Ejemplo: Utilizando Transact SQL También puede escribir directamente el código y crear un procedimiento almacenado directamente, un ejemplo seria el siguiente código: USE autos GO CREATE PROCEDURE ModelosXMarca @busca varchar(15) AS BEGIN SELECT marca.marca, modelos.modelo, modelos.precio FROM marca INNER JOIN modelos ON marca.id_marca = modelos.id_marca WHERE marca.marca like @busca END Este procedimiento muestra los modelos de una marca de carros, a partir de nombre de marca de búsqueda. Para probar este procedimiento, lo ejecutamos usando la palabra Execute o Exce, por ejemplo: O EXEC ModelosXMarca 'Che%'

Base de datos I. Guía 9 13 EXECUTE ModelosXMarca 'Che%' El resultado será el siguiente: También puede crear procedimientos almacenados sin parámetros, un ejemplo seria el siguiente: USE autos GO CREATE PROCEDURE ListaPrecios AS BEGIN SELECT marca.marca, modelos.modelo, modelos.precio FROM marca INNER JOIN modelos ON marca.id_marca = modelos.id_marca ORDER BY modelos.precio END Lo probamos ejecutando el siguiente código: EXEC ListaPrecios Y el resultado es el siguiente:

14 Base de datos I, Guía 9 Ejercicios Guía 3 Cree un procedimiento almacenado para mostrarme una Guía 4 fía lista de repuestos con su nombre, precio, porcentaje de descuento y el valor que tuviera si se aplica dicho descuento. Elabore otro que tenga un parámetro que me pida el modelo del auto, y que me muestre todos los repuestos que pertenecen a ese modelo de auto. Ahora elabore uno que muestre la marca, el país, el nombre del modelo y el precio, pero que me pida dos parámetros, país y precio, para usarlo en la búsqueda. También elabore uno que me muestre los datos del repuesto, modelo y marca, a partir de que el precio de los repuestos, este entre dos valores. Cree una lista de modelos y que muestre la cantidad de repuestos que hay por cada modelo. Pruebe realizando cambios en cualquiera de los procedimientos, y después use las demás tablas que hemos visto en otra prácticas y realice más ejercicios. Anexos Guía 3 CREATE DATABASE autos GO Guía 4 USE autos GO fía CREATE TABLE marca ( id_marca int identity(1,1), marca varchar(15), pais varchar(15), CONSTRAINT pk_marca PRIMARY KEY(id_marca) )

Base de datos I. Guía 9 15 CREATE TABLE modelos ( id_modelos int identity(1,1), modelo varchar(15), asientos int, combustible varchar(10), precio smallmoney, year_modelo varchar(4), id_marca int, CONSTRAINT pk_modelos PRIMARY KEY(id_modelos), CONSTRAINT fk_modelos FOREIGN KEY(id_marca) REFERENCES marca(id_marca) ) CREATE TABLE repuestos ( id_rep int identity(1,1), nombre varchar(40), precio smallmoney, descuento int, id_modelos int, CONSTRAINT pk_repuesto PRIMARY KEY(id_rep), CONSTRAINT fk_repuestos FOREIGN KEY(id_modelos) REFERENCES modelos(id_modelos) ) INSERT INTO marca VALUES ('Toyota','Japon') INSERT INTO marca VALUES ('Kia','Corea') INSERT INTO marca VALUES ('Fiat','Italia') INSERT INTO marca VALUES ('Chevrolet','USA') INSERT INTO marca VALUES ('Mercedez','Alemania') INSERT INTO marca VALUES ('Honda','Japon') INSERT INTO modelos VALUES ('Civic',4,'Gasolina',10000,'2010',6) INSERT INTO modelos VALUES ('CRX',4,'Gasolina',6800,'1995',6) INSERT INTO modelos VALUES ('300 SL',4,'Gasolina',16800,'2004',5) INSERT INTO modelos VALUES ('Chevy',4,'Gasolina',9800,'1999',4) INSERT INTO modelos VALUES ('Camaro',5,'Gasolina',12800,'2001',4) INSERT INTO modelos VALUES ('Aveo',5,'Gasolina',9300,'2000',4) INSERT INTO modelos VALUES ('Malibu',5,'Gasolina',8000,'2007',4)

16 Base de datos I, Guía 9 INSERT INTO modelos VALUES ('Uno',5,'Gasolina',6800,'2007',3) INSERT INTO modelos VALUES ('Cerato',5,'Gasolina',9000,'2011',2) INSERT INTO modelos VALUES ('Rio',5,'Gasolina',13000,'2010',2) INSERT INTO repuestos VALUES ('Manecia',12.3,10,1) INSERT INTO repuestos VALUES ('Empaque de Culata',21.6,10,2) INSERT INTO repuestos VALUES ('Bomper delantero',25.7,10,9) INSERT INTO repuestos VALUES ('Filtro de aire',10,10,1) INSERT INTO repuestos VALUES ('Parabrisas delantero',17.8,10,3) INSERT INTO repuestos VALUES ('Timon ajustable',58.5,10,8) INSERT INTO repuestos VALUES ('Liquido de Frenos',3.43,10,1) INSERT INTO repuestos VALUES ('Amortiguadores',50,10,2) INSERT INTO repuestos VALUES ('Perno Llantas',7,10,1) INSERT INTO repuestos VALUES ('PUerta conductor',8.98,10,1) INSERT INTO repuestos VALUES ('Bonba de Gasolina',37.7,10,2) INSERT INTO repuestos VALUES ('Bujillas especiales',22,10,4) INSERT INTO repuestos VALUES ('Asiento',125,10,1) INSERT INTO repuestos VALUES ('Chapa baul',25.8,10,3) INSERT INTO repuestos VALUES ('Faja Distribuidor',34.3,10,1) INSERT INTO repuestos VALUES ('Pintura carroceria',65,10,7) INSERT INTO repuestos VALUES ('Cable alternador',14,10,2) INSERT INTO repuestos VALUES ('Cable bateria',4.60,10,1) INSERT INTO repuestos VALUES ('Aditivos Motor',9.7,10,1) INSERT INTO repuestos VALUES ('Aditivos Motor',13.6,20,2) INSERT INTO repuestos VALUES ('Prensa de Clocth',140.3,20,1) INSERT INTO repuestos VALUES ('Prensa de Clocth',100.3,20,2) INSERT INTO repuestos VALUES ('Disco Frenos',21.2,20,4) INSERT INTO repuestos VALUES ('Disco Frenos',29.90,20,5) INSERT INTO repuestos VALUES ('Pastillas',2.3,20,2) INSERT INTO repuestos VALUES ('ROLES PILOTO',10,20,6) INSERT INTO repuestos VALUES ('Manecia',22,20,1) INSERT INTO repuestos VALUES ('Manecia',43.1,20,2) INSERT INTO repuestos VALUES ('Relay de arranque',11,20,9) INSERT INTO repuestos VALUES ('Relay de arranque',37.2,20,7) INSERT INTO repuestos VALUES ('BUSHING DE CREMALLERA',25,30,8) INSERT INTO repuestos VALUES ('BUSHING DE CREMALLERA',15,30,3) INSERT INTO repuestos VALUES ('Manecia',20,30,2) INSERT INTO repuestos VALUES ('Silvines',32,30,2) INSERT INTO repuestos VALUES ('Silvines',56,45,7) INSERT INTO repuestos VALUES ('Silvines',7.8,30,2) INSERT INTO repuestos VALUES ('Platinos',21.6,30,1) INSERT INTO repuestos VALUES ('Platinos',17.3,30,2) INSERT INTO repuestos VALUES ('Condensador',45,30,4)

Base de datos I. Guía 9 17 INSERT INTO repuestos VALUES ('Condensador',2.3,30,3) INSERT INTO repuestos VALUES ('Alternadores',34.23,30,5) Investigación Complementaria Investigar el siguiente comando que se detallan a continuación: - Concepto, - Sintaxis, - Ejemplo. Guía 3 Desencadenadores / Triggers Guía 4 Bibliografía Peter Rob, Carlos Coronel, SISTEMAS DE BASES DE DATOS, THOMSON, México, 2006 Thomas Connolly, Carolyn Begg, SISTEMAS DE BASES DE DATOS, PERSON, España, 2007 Abraham Silberschatz, FUNJDAMENTOS DE BASES DE DATOS, MCGRAW-HILL, Edición Digital, 2006 Salazar Francisco, APRENDA SQL SERVER 2012. Ross Mistry and Stacia Misner. Introducing Microsoft SQL Server 2012. MicroSoft Press. Disponible digitalmente en Recursos electronicos de la biblioteca en Google Académico. Guía 3 Guía 4 fía