Practicas

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Practicas as PDF for free.

More details

  • Words: 2,783
  • Pages: 17
ASIGNATURA: BASE DE DATOS DISTRIBUIDAS PRACTICA 1. Titulo: Creación del ambiente de aprendizaje. Introducción La creación del ambiente de aprendizaje en asignaturas de bases de datos principalmente para la realización de prácticas de laboratorio, nos lleva a construir bases de datos quesean de forma general un ejemplo de las sentencias y desarrollo de sintaxis en los lenguajes de manipulación y consulta de datos de los sistemas de gestión de base de datos (SGBD). Además de permitir la reafirmación de conocimientos adquiridos en asignaturas antecesoras de esta permiten al alumno adquirir un aprendizaje significativo que les permite incrementar su conocimiento profundizando en un determinado SGBD. Es por ello que la presente práctica pretende que el alumno cree su propio ambiente de aprendizaje que le permita practicar sus conocimientos previos y adquirir nuevo aprendizaje en esta asignatura. Objetivo El alumno practicará los conocimientos adquiridos en asignaturas antecedentes en la creación de bases de datos y tablas en Microsoft SQL Server 2005. Instrucciones 1. Ingrese a Microsoft SQL Server2005 y cree una base de datos de nombre: SistEduc. 2. Genere las siguientes tablas dentro de su base de datos: Tabla Escuela Idescuela Nombreesc Telefono Nombreresponsable Totalmatricula Idcarrera Idmatricula idzona

Numerico Texto Entero Texto Numero Numero Numero numero

Tabla zona Idzona Nombre_zona CodPostal Clave_zona

Numero Texto Numero texto

Tabla Matricula idmatricula 12

grado quinto

Totalmatricula 456

Carrera idcarrera 156

Nombre_carrera Lic. Informática

Clave INF12006

Copie el siguiente código fuente para crear la base de datos: CREATE DATABASE SistEduc ON PRIMARY ( NAME= SistEduc _data, FILENAME='C:\BDD\grupo6601.mdf', SIZE=50MB, MAXSIZE=70MB, FILEGROWTH=1MB ) LOG ON ( NAME= SistEduc _log, FILENAME='C:\BDD\grupo6601.ldf', SIZE=15MB, MAXSIZE=20MB, FILEGROWTH=1MB ) GO

Copie el siguiente código fuente para crear las tablas: create table Escuela (idescuela smallint IDENTITY primary key, NomEscuela varchar (25), Telefono int, NomResponsable Varchar (25), Totalmatric int, idCarrera smallint, idMatricula int, idZona int, constraint fk_carreraesc foreign key (idCarrera) references Carrera (idCarrera), constraint fk_matriculaesc foreign key (idMatricula) references Matricula (idMatricula), constraint fk_zonaesc foreign key (idZona) references Zona (idZona)) use SistEduc create table Matricula(idMatricula int primary key not null, grado varchar(10), TotalMatricula int) Create table Zona(idZona int primary key not null, Nombre_zona varchar(10), Cod_postal int, Clave_zona varchar(10)) Create Table Carrera(idCarrera smallint primary key not null, nombreCarrera varchar(10), claveCarrera varchar(10)) select select select select

* * * *

from from from from

Carrera Zona Matricula Escuela

3.- Inserte 10 registros en cada una de las tablas. Recuerde que por establecerse la restricción del constraint debe coincidirlos registros del id en las tablas. Ejercicios a) Realice dos bases de datos con las sentencias utilizadas anteriormente. b) Cree cuatro tablas relacionadas para cada una de las bases de datos creadas utilizando las sentencias anteriores. c) Inserte diez registros en cada una de las tablas.

PRACTICA 2. SENTENCIAS INNER JOIN Introducción

E

s la sentencia que permite combinar registros de dos tablas relacionadas, siempre que existan valores coincidentes en un campo común, esto es, que ambas tengan un campo con el mismo nombre y dominio. Su sintaxis es: FROM INNER JOIN ON [operador de condición (=, >,<, etc)] ; También se puede vincular varias cláusulas ON en una instrucción JOIN, mediante la sintaxis siguiente: SELECT FROM INNER JOIN ON AND ON OR ON [operador de condición]; Objetivo. El alumno aprenderá a relacionar tablas mediante la utilización de la sintaxis INNER JOIN. Instrucciones de Práctica. 1. A la base de datos SistEduc, 2. Copie la siguiente sintaxis: 3. SELECT * FROM Escuela INNER JOIN Zona ON Escuela.idZona = Zona.idZona. 4. Compile y ejecute. 5. Anote el resultado. Ejercicios a) Con las bases de datos creadas en los ejercicios de la práctica 1 realice 5 ejercicios en cada base de datos como el realizado en esta práctica.

PRACTICA 3 Consultas de Datos en Tablas Relacionales

Introducción.

C

omo se mencionó en la sesión pasada, los querys son consultas o relaciones temporales que se establecen entre las tablas existentes en una base de datos. En esta sesión continuaremos realizando consultas relacionales en las cuales podemos establecer estas relaciones anteponiendo las columnas a la derecha o izquierda de acuerdo a los requerimientos de información. En esta sesiòn se utilizara el LEFT OUTER JOIN, esta consulta muestra en la columna derecha el campo de la tabla que se desea consultar y en la izquierda las combinaciones con la tabla 2 donde los valores sean nulos, en el caso que se utiilice el where y ademas la sentencia is null. Su formato es: Select nombretabla 1.nombre campo (columna izquierda), nombretabla2.nombrecampo (columna derecha) FROM tabla 1 LEFT OUTER JOIN tabla 2 ON tabla 1.campo clave principal = tabla2. campo clave principal WHERE nombre tabla 2.nombrecampo IS NULL. El mismo resultado obtendremos utilizado el RIGHT OUTER JOIN, solo que en este caso las columnas quedan invertidas, es decir la de la izquierda del ejemplo anterior queda a la derecha. Es importante mencionar que debe existir una relaciòn directa entre las dos tablas en la cual la clave primaria de la primera tabla debe estar contenida como clave ajena en la segunda tabla y además tener valores iguales para la combinación. Para realizar consultas se pueden utilizar diversos operadores, estos son: Operador <> < > <= >=

Resultado de la comparación No es igual que Menor que Mayor que Menor o igual que Mayor o igual que

Objetivo El participante realizara consultas relacionales con el uso del LEFT OUTER JOIN, Instrucciones. I. - Uso del LEFT OUTER JOIN 1. Ingrese a SQL Server 2005. 2. En el editor de consulta capture o copie el siguiente código:

SELECT Escuela.idCarrera, Escuela.NomEscuela, Carrera.idCarrera,Carrera.nombreCarrera FROM Escuela LEFT OUTER JOIN Carrera ON Escuela.idCarrera = Carrera.idCarrera

3.- Compile y ejecute II.- Uso del RIGHT OUTER JOIN 4.- Inserte el siguiente código en el analizador de consulta SELECT Escuela.idCarrera, Escuela.NomEscuela, Carrera.idCarrera, Carrera.nombreCarrera FROM Escuela RIGHT OUTER JOIN Carrera ON Escuela.idCarrera = Carrera.idCarrera

5.- Compile y ejecute 6.- Anote los resultados y explique el funcionamiento de ambas sentencias. Ejercicios Realice cuatro consultas por operador que se encuentra en la tabla.

PRACTICA 5 FUNCIONES DE AGREGADO EN LA LISTA DE SELECCIÓN. Introducción.

L

as funciones de agregado son aquellas que generan valores de resumen en los conjuntos de resultados de las consultas. Una función de agregado procesa todos los valores seleccionados en una única columna para generar un único resultado. Las funciones de agregado se pueden aplicar a todas las filas de una tabla, a un subconjunto de la tabla especificado por una cláusula WHERE o a uno o varios grupos de filas de la tabla. Cuando se aplica una función de agregado, se genera un valor individual por cada conjunto de filas. Las funciones de agregado son: SUM, AVG (los cuales solo se pueden usar con columnas numéricas), MIN y MAX (no se puede utilizar con tipo de datos bit). Estas funciones permiten obtener valores medios, máximos y mínimos, de comparativo de una columna. Mientras que SUM permite sumar los valores de la columna.

Instrucciones de la Práctica. Utilice la tabla la tabla Escuela y copie las siguientes sintaxis anotando los resultados a continuación: a) select sum(totalmatric) from Escuela Resultado: b) select MAX(totalmatric) from Escuela Resultado: c) Select MINtotalmatric) FROM Escuela Resultado: d) Select AVG(totalmatric) From Escuela Resultado: Ejercicios Realice 4 ejercicios como el planteado en esta práctica enlas bases dedatos generados en los ejercicios anteriores.

PRACTICA 6 CREACIÒN DE RESPALDO DE LA BASE DE DATOS EN SQL 2005 SERVER. Introducción.

L

a seguridad de las Bases de Datos, son alteradas por la intrusión de usuarios que desean destruir los datos o modificarlos, pero en algunas ocasiones las fallas de energía eléctrica o del propio sistema operativo pueden dar como consecuencia la perdida de información. Es por ese motivo que en muchas ocasiones es necesario realizar copias de las bases de datos, para que en caso de suceder cualquier tipo de accidente puedan restaurarse los datos con la mayor confiabilidad posible evitando pérdidas que en algunos casos son cuantiosas para las empresas. Los periodos entre los que se deben realizar los respaldos es acorde al número de transacciones que se realizan dentro de la base de datos. Objetivo: El alumno aprenderá a realizar copias de seguridad de la Base de Datos con SQL Server 2005. Instrucciones de la Práctica: 1. Accese la base de datos de la cual se va a realizar el respaldo de la BD. (vea figura 23.1) 2. En la carpeta de Servers Object busque la etiqueta de Backup Device. Oprima botón derecho del Mouse y de clic en la opción backup a DataBase. (Figura 23.2). 3.

Figura 23.1. Acceso y localización del servicio de backup Devices.

Figura 23.2. Inicio del backup de la base de datos.

3.- Se activa una ventana la cual permite elegir el nombre de la base de datos a respaldar y el periodo de tiempo en el que va a estar realizando la copia. Busque su base de datos y actívela y en el periodo cerciórese que tenga la opción de la fecha de hoy. (vea figura 23.3)

Figura 3. Ventana activa para respaldar la BD. 4.- Activa otra ventana en la cual se le determina la ruta donde debe guardar la copia de respaldo o el dispositivo de almacenamiento donde debe realizarla. Puede usted cambiar la opción que le proporciona por default. (ver figura 23.4)

Figura 23.4. Ventana que permite establecer la ruta de copiado de la Base de Datos 5.- Presenta activa una ventana en la cual mediante un árbol de exploración le determina donde se encuentra ubicado su respaldo. (Ver figura 23.6)

Figura 23.6. Árbol de exploración que muestra respaldo de la BD 7.- Cuando se realiza satisfactoriamente el backup muestra la ventana de terminación. (Ver figura 23.7).

Figura 23.7. Ventana de conclusión del backup Actividades de reafirmación: •

Realice 3 veces el mismo procedimiento con bases de datos diferentes.

PRACTICA 7. CREACIÓN DE REPLICAS DE LA BASE DE DATOS CON TRANSACT-SQL Objetivo El alumno aprenderá a realizar replica de la base de datos con sintaxis de SQL_TRANSAC para posteriormente implementarlo en una transacción. Instrucciones 1.- Guarde su base de datos SistEduc. 2.- Para realizar esta pràctica deberà haber compilado y ejecutado la base de datos, tablas y registros. 3.- Capture el siguiete còdigo: BACKUP DATABASE [SistEduc] TO DISK = N'C:\Archivos de programa\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\SistEduc.bak' WITH RETAINDAYS = 5, NOFORMAT, NOINIT, NAME = N'SistEduc-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO

4.- Explique cada una de las lìneas anteriores. 5.- El resultado es: 72 percent processed. 99 percent processed. Processed 176 pages for database 'SistEduc', file 'SistEduc_data' on file 2. 100 percent processed. Processed 1 pages for database 'SistEduc', file 'SistEduc_log' on file 2. BACKUP DATABASE successfully processed 177 pages in 0.244 seconds (5.942 MB/sec). 6.- Explique el resultado línea por línea.

Ejercicios Realice tres veces este ejercicio.

PRACTICA 8 MANEJO DE TRANSACCIONES Introducción

L

as transacciones es un concepto muy utilizado principalmente por que sed piensa en transacciones financieras. Principalmente se utilizan para realizar modificaciones en los registros que se encuentran en una tabla, en el cual puede ser de manera generalizada para todos los registros o para uno específicamente. Estas transacciones se realizan de manera atómica, es decir una vez que inician deben concluirse o de lo contrario los mecanismos de seguridad de la base de datos pueden anularla o abortarla dependiendo de la técnica que se utilice, principalmente cuando suceden fallos del sistema ya sea de tipo físico o lógico. SQL Server 2005 utiliza tres tipos de transacciones: • La transacción explicita, la cual es definida por el programador utilizando BEGIN TRANSACTION para especificar el dato que se va a modificar la cual es completada con la sentencia COMMIT TRANSACTION y realiza excepciones de errores –esto es – hace verificaciones de errores mediante el ROLLBACK TRANSACTION. • Transacciones Implícitas, son aquellas que se realizan cuando dos tablas están relacionadas y la modificación de la primera genera una modificación implícita de la segunda para asegurar la integridad de dominios en ambas tablas. Se utiliza la sentencia SET IMPLICIT_TRANSACTIONS ON y el comando, principalmente cuando no se realiza atómicamente la transacción de la primera. • Auto-Commit Transacction. Esta transacción se realiza se puede decir de manera automática, en los casos en que la modificación se datos se realiza fuera de las explicitas e implícitas. Las cuatro principales características de las transacciones son: • • • •

Atómicas. como se mencionó anteriormente, todas las operaciones que se realicen en la transacción deben ejecutarse como si fuese una sola. Consistente. Cuando la transacción se realiza verificando que todos los datos establecidos en ella se realicen asegurando la integridad de ellos. Aislada. Cada transacción debe ser ejecutada en sus operaciones para la tabla o registro que se modifica. Durable. El dato modificado por la transacción debe ser guardado de manera permanente en la base de datos y a su vez en el disco donde se encuentre almacenada.

Objetivo El participante realizará transacciones de modificación en los registros de una tabla. Instrucciones. 1.- Accese SQL Server 2005. 2.- Utilizando la base de datos y tablas vistas en el tema anterior de esta sesión, se realizarà la siguiente transacción: --Inicio de la transacción BEGIN transaction UPDATE Escuela SET totalmatric =(totalmatric * 0.05) + totalmatric /* modificación del campo totalmatric al cual se le incrementa 5% su valor.*/ WHERE Nomescuela = 'Sor Juana' /* a la escuela que tenga por nombre Sor Juana*/ IF @@ERROR != 0 /*excepcion de error*/ BEGIN ROLLBACK transaction RETURN END COMMIT transaction --Fin de la transacciòn begin tran commit tran rollback tran --consulta del resultado select * from Escuela

3.- Compile y ejecute 4.- Anote el resultado a continuaciòn: 5.- Capture la siguiente lìnea: insert into Escuela values('Sor Juana', 89, 'Rocio',500, 3,156,20)

6.- Compile y ejecute. 7.- ¿Cuál es el resultado? Ejercicios a) Realice dos transacciones de inserción de registros en la tabla Zona de la Base de datos SistEduc. b) Realice dos transacciones de eliminación de registros en la tabla Escuela de la base de datos SistEduc. c) Realice dos transacciones de modificaciòn en la tabla Matricula de la base de datos SistEduc

PRACTICA 9 TRANSACCIÓN DE CONSULTA EN TABLAS RELACIONALES. Introducción Objetivo El alumno aprenderà a realizar transacciones en tablas relacionadas. Instrucciones 1.- Compile y ejecute su base de datos SistEduc, tablas y registros. 2.- Capture el siguiente código: BEGIN transaction SELECT Escuela.idCarrera, Escuela.NomEscuela, Carrera.idCarrera,Carrera.nombreCarrera FROM Escuela LEFT OUTER JOIN Carrera ON Escuela.idCarrera = Carrera.idCarrera where Escuela.NomEscuela= 'TESE' /* a la escuela que tenga por nombre Sor Juana*/ IF @@ERROR != 0 /*excepcion de error*/ BEGIN ROLLBACK transaction RETURN END COMMIT transaction --Fin de la transacciòn begin tran commit tran rollback tran

3.- Compile y ejecute 4.- Anote a continuación el resultado. Ejercicios a) Realice tres transacciones con sus bases de datos realizadas en ejercicios anteriores. b) Realice tres transacciones utilizando el left outer join con sus bases de datos realizadas en los ejercicios anteriores. c) Realice tres transacciones utilizando el RIGHT OUTER JOIN

Practica 10 TRANSACCIÓN DE CONSULTA EN BASES DE DATOS DISTRIBUIDAS Introducción Objetivo Instrucciones Ejercicios

PRACTICA 11 SENTENCIAS GROUP BY y HAVING Introducción

E

sta sentencia especifica una condición de búsqueda de un grupo o agregado y normalmente se utiliza con la cláusula GROUP BY. Cuando no se utiliza con esta sentencia, HAVING se comporta como la cláusula WHERE. Su sintaxis es: HAVING . Con esta sentencia no puede utilizarse los tipos de datos text, image y ntext. Group By especifica las agrupaciones que van a realizar en las filas de salida. Cuando se especifica GROUP BY , cada columna que no este en una expresión de agregado de la lista de selección, esto es, todas las columnas de la tabla, se deben incluir en la lista de GROUP BY o esta debe coincidir exactamente con la expresión de la lista de selección. Su sintaxis es: SELECT * FROM <nombre de la tabla> GROUP BY HAVING

Objetivo. Enseñar al alumno el agrupamiento de columnas a través de las sentencias Group By y HAVING.

Instrucciones de la práctica: 1. Cree una base de datos Escuela. 2. Copie el siguiente código: SELECT * FROM Escuela GROUP BY idescuela, NomEscuela, Telefono, NomResponsable, Totalmatric, idCarrera, idMatricula, idZona HAVING Totalmatric >500

3. Compile y ejecute. 4. Anote el resultado a continuación. 5. Copie el siguiente còdigo: SELECT * FROM Escuela GROUP BY idescuela, NomEscuela, Telefono, NomResponsable, Totalmatric, idCarrera, idMatricula, idZona HAVING Totalmatric > =5600 6.- ¿Cuàl es el resultado? Anotelo a continuaciòn

7.- ¿Cuàl es la diferencia en el resultado entre las dos sintaxis y porqué?

Ejercicios Realice la agrupación de columnas utilizando ambas sintaxis en 3 tablas.

Investigue: La sintaxis y resultado de la utilización de ALL conjuntamente con GROUP BY.

Investigar los operadores and, or, xor en Transact-SQL.

Related Documents

Practicas
April 2020 20
Practicas
June 2020 18
Practicas
May 2020 20
Practicas
May 2020 20
Practicas
November 2019 26
Practicas
June 2020 26