Practicas BDD

17
ASIGNATURA: BASE DE DATOS DISTRIBUIDAS PRACTICA 1. Titulo: Creación del ambiente de aprendizaje. Introducción a 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 Tabla zona Idescuela Numerico Idzona Numero Nombreesc Texto Nombre_zona Texto Telefono Entero CodPostal Numero Nombreresponsable Texto Clave_zona texto Totalmatricula Numero Idcarrera Numero Idmatricula Numero idzona numero Tabla Matricula idmatricula grado Totalmatricula 12 quinto 456 Carrera idcarrera Nombre_carrera Clave 156 Lic. Informática INF12006 L

Transcript of Practicas BDD

Page 1: Practicas BDD

ASIGNATURA: BASE DE DATOS DISTRIBUIDAS PRACTICA 1. Titulo: Creación del ambiente de aprendizaje.

Introducción

a 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 Tabla zona Idescuela Numerico Idzona Numero Nombreesc Texto Nombre_zona Texto Telefono Entero CodPostal Numero Nombreresponsable Texto Clave_zona texto Totalmatricula Numero Idcarrera Numero Idmatricula Numero idzona numero

Tabla Matricula idmatricula grado Totalmatricula 12 quinto 456

Carrera idcarrera Nombre_carrera Clave 156 Lic. Informática INF12006

L

Page 2: Practicas BDD

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 * from Carrera select * from Zona select * from Matricula select * from Escuela

Page 3: Practicas BDD

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

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 <tabla1> INNER JOIN <tabla2> ON <tabla1.campo1 > [operador de condición (=, >,<, etc)] <tabla2.campo2>; También se puede vincular varias cláusulas ON en una instrucción JOIN, mediante la sintaxis siguiente: SELECT <campos> FROM <tabla1> INNER JOIN <tabla2> ON <tabla1.campo1 [operador de condición] <tabla2.campo1> AND ON <tabla1.campo2 [operador de condición] <tabla2.campo2> OR ON <tabla1.campo3> [operador de condición]<tabla2.campo3>;

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.

E

Page 4: Practicas BDD

PRACTICA 3

Consultas de Datos en Tablas Relacionales

Introducción.

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:

C

Page 5: Practicas BDD

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.

Page 6: Practicas BDD

PRACTICA 5

FUNCIONES DE AGREGADO EN LA LISTA DE SELECCIÓN.

Introducción.

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.

L

Page 7: Practicas BDD

PRACTICA 6

CREACIÒN DE RESPALDO DE LA BASE DE DATOS EN SQL 2005 SERVER.

Introducción.

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.

L

Page 8: Practicas BDD

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)

Page 9: Practicas BDD

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).

Page 10: Practicas BDD

Figura 23.7. Ventana de conclusión del backup

Actividades de reafirmación:

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

Page 11: Practicas BDD

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.

Page 12: Practicas BDD

PRACTICA 8

MANEJO DE TRANSACCIONES

Introducción

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.

L

Page 13: Practicas BDD

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

Page 14: Practicas BDD

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

Page 15: Practicas BDD

Practica 10 TRANSACCIÓN DE CONSULTA EN BASES DE DATOS DISTRIBUIDAS

Introducción

Objetivo

Instrucciones

Ejercicios

Page 16: Practicas BDD
Page 17: Practicas BDD

PRACTICA 11

SENTENCIAS GROUP BY y HAVING

Introducción

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 <condición_busqueda>. 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 <campos de la tabla> HAVING <campo de búsqueda [condición]=registro>

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.

E