Colegio
Nacional de Educación Profesional Técnica
Alumna: González
Sánchez Esmeralda
Modulo:
Construcción de Base de Datos
Siglema:
COBD -02 Grupo: M403-I
Profesora: Lic. Edith Martínez Hernández
Fecha de entrega: 12-Junio-2015
Unidad
de aprendizaje.
Asegurabilidad
de la información contenida en la base de datos.
Resultado
de Aprendizaje 3.1
Programa las transacciones en las bases de datos con base a
protocolo, que mantenga la integridad de la información.
Actividad
de evaluación 3.1.1
Programa y
ejecuta transacciones en la base de datos elaborada en la actividad de
evaluación 1.3.1 utilizando el protocolo de bloqueo de dos fases y control de
concurrencia.
PRÁCTICA PROCEDIMIENTOS.
1.
Verifica que el equipo de cóputo se encuentre conectado.
2.
Enciende equipo de cómputo.
3.
Ingresa al Sistema Gestor de Bases de Datos.
Enter
password:*************
Welcome
to the MySQL monitor. Commands end with
; or \g.
Your MySQL connection id is 3
Server version:
5.0.51b-community-nt-log MySQL Community Edition (GPL)
Type 'help;' or '\h' for help.
Type '\c' to clear the buffer.
4.
Crea la una base de datos llamada TALLER.
mysql>
create database taller;
Query OK, 1 row affected (0.19 sec)
5.
Usa la base de datos TALLER.
mysql>
use taller;
Database
changed
6.
Crea las siguientes tablas. Con los campos que corresponden
a cada una
ü Alumnos
ü Profesores
ü Materias
ü Calificaciones
ü Carreras
ü Grupos
mysql> create table
alumnos(cvealumno varchar(30) primary key,nombre varchar(30),aPaterno
varchar(50),aMaterno varchar(50),calle varchar(150),numero int,colonia varchar(50),municipio varchar(50),estado
varchar(50),telefono varchar(20),email varchar(100));
Query OK, 0 rows affected (0.29 sec)
mysql> create table
profesores(cveprofesor varchar(50) primary key,nombre varchar(50),aPaterno
varchar(50),aMaterno varchar(50),calle varchar(150),numero int,colonia
varchar(50),municipio varchar(50),estado varchar(50),telefono
varchar(20),especialidad varchar(150),email varchar(100));
Query OK, 0 rows affected (0.13 sec)
mysql> create table materias(cvemateria varchar(50)
primary key,nombre varchar(5
0),semestre char);
Query OK, 0 rows affected (0.08 sec)
mysql> create table calificaciones(cvealumno
varchar(30) primary key,cvemateria varchar(50),par1 double,par2 double,par3
double,par4 double,par5 double,par6 double,par7 double,par8 double,par9
double,calificacionfinal double,periodo varchar(20));
Query OK, 0 rows affected (0.11 sec)
mysql> create table
carreras(cvecarrera varchar(20) primary key,nombre varchar(50));
Query OK, 0 rows affected (0.04 sec)
mysql> create table
grupos(cvegrupo varchar(50) primary key,nombre varchar(50),cveprofesor
varchar(50),cvealumno varchar(50),cvemateria varchar(50),cvecarrera
varchar(50),periodo varchar(20));
Query OK, 0 rows affected (0.04 sec)
7.
Crea un procedimiento para agregar los registros de las
tablas que ya fueron creadas. Con los mismos campos que tienen cada una de las
tablas.
·
Crea un procedimiento para agregar_alumno
mysql> delimiter //
mysql> create procedure
agregar_alumno(cvealumno varchar(30),nombre varchar(50),
aPaterno varchar(50),aMaterno
varchar(150),calle varchar(20),numero int,colonia
varchar(50),municipio varchar(50),estado
varchar(50),telefono varchar(20),email
varchar(100))
-> begin
-> insert into alumnos
values(cvealumno,nombre,aPaterno,aMaterno,calle,numero,colonia,municipio,estado,telefono,email);
-> end;
-> //
Query OK, 0 rows affected (0.08 sec)
mysql> call
agregar_alumno('002','luis','perez','gonzalez','1 de mayo',7,'consor
cio','cuatitlan
Izcalli','edo de mex','58892572','luis.perez@hotmial.com')//
Query OK, 1 row affected (0.12 sec)
mysql> select * from
alumnos//
+-----------+--------+----------+----------+-----------+--------+-----------+---
----------------+------------+----------+------------------------+
| cvealumno | nombre |
aPaterno | aMaterno | calle | numero
| colonia | mu
nicipio | estado | telefono | email |
+-----------+--------+----------+----------+-----------+--------+-----------+---
----------------+------------+----------+------------------------+
| 002 | luis
| perez | gonzalez | 1 de mayo
| 7 | consorcio | cu
atitlan Izcalli | edo
de mex | 58892572 | luis.perez@hotmial.com |
+-----------+--------+----------+----------+-----------+--------+-----------+---
----------------+------------+----------+------------------------+
1 row in set (0.01 sec)
·
Crea un procedimiento para agregar_profesor
mysql> create procedure
agregar_profesor(in cveprofesor varchar(50),nombre varchar(50),aPaterno
varchar(50),aMaterno varchar(50),calle varchar(150),numero int,colonia
varchar(50),municipio varchar(50),estado varchar(50),telefono
varchar(20),especialidad varchar(150),email varchar(100))
-> begin
-> insert into
profesores
values(cveprofesor,nombre,aPaterno,aMaterno,calle,numero,colonia,municipio,estado,telefono,especialidad,email);
->
end;
-> //
Query
OK, 0 rows affected (0.02 sec)
mysql> call
agregar_profesor('526','Patricia','Torres','Rangel','Cisneros',89,'Hidalgo','Atizapan','Mexico','58497612','Programador','paty.torres@hotmail.com')//
Query
OK, 1 row affected (0.01 sec)
mysql> select * from
profesores//
+-------------+----------+----------+----------+----------+--------+---------+--
---------+--------+----------+--------------+-------------------------+
| cveprofesor | nombre | aPaterno | aMaterno | calle | numero | colonia | m
unicipio | estado | telefono |
especialidad | email |
+-------------+----------+----------+----------+----------+--------+---------+--
---------+--------+----------+--------------+-------------------------+
| 526 | Patricia | Torres | Rangel
| Cisneros | 89 | Hidalgo | A
tizapan | Mexico | 58497612 | Programador | paty.torres@hotmail.com |
+-------------+----------+----------+----------+----------+--------+---------+--
---------+--------+----------+--------------+-------------------------+
1 row in set (0.00 sec)
·
Crea un procedimiento para agregar_materia
mysql> create procedure
agregar_materia(in cvemateria varchar(50),nombre varchar(50),semestre char)
-> begin
-> insert into materias values(cvemateria,nombre,semestre);
->
end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> call
agregar_materia('45','Bases de datos',4)//
Query
OK, 1 row affected (0.01 sec)
mysql> select * from
materias//
+------------+----------------+----------+
| cvemateria | nombre | semestre |
+------------+----------------+----------+
| 45 | Bases de datos | 4 |
+------------+----------------+----------+
1 row in set (0.00 sec)
·
Crea un procedimiento para agregar_calificacion
mysql> create procedure
agregar_calificacion(in cvealumno varchar(30),cvemateriavarchar(50),par1
double,par2 double,par3 double,par4 double,par5 double,par6 double,par7
double,par8 double,par9 double,calificacionfinal double,periodo varchar(20))
-> begin
-> insert into calificaciones
values(cvealumno,cvemateria,par1,par2,par3,par
4,par5,par6,par7,par8,par9,calificacionfinal,periodo);
-> end;
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> call
agregar_calificacion('007','45',5,9,7,8,9,7,10,8,8,7.8,'2013-2016')/
/
Query OK, 1 row affected (0.09 sec)
mysql>
select * from calificaciones//
+-----------+------------+------+------+------+------+------+------+------+-----
-+------+-------------------+-----------+
|
cvealumno | cvemateria | par1 | par2 | par3 | par4 | par5 | par6 | par7 | par8
| par9 | calificacionfinal | periodo |
+-----------+------------+------+------+------+------+------+------+------+-----
-+------+-------------------+-----------+
|
007 | 45 |
5 | 9 | 7 |
8 | 9 |
7 | 10 | 8
| 8
| 7.8 | 2013-2016 |
+-----------+------------+------+------+------+------+------+------+------+-----
-+------+-------------------+-----------+
1 row
in set (0.00 sec)
·
Crea un procedimiento para agregar_carrera
mysql> create procedure
agregar_carrera(in cvecarrera varchar(20),nombre varchar(50))
-> begin
-> insert into carreras values(cvecarrera,nombre);
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql>
call agregar_carrera('INFO03','Informatica')//
Query
OK, 1 row affected (0.03 sec)
mysql> select * from carreras//
+------------+-------------+
| cvecarrera | nombre |
+------------+-------------+
| INFO03 | Informatica |
+------------+-------------+
1 row in set (0.00 sec)
·
Crea un procedimiento para agregar_grupo.
mysql> create procedure
agregar_grupo(in cvegrupo varchar(50),nombre varchar(50)
,cveprofesor varchar(50),cvealumno
varchar(50),cvemateria varchar(50),cvecarrera
varchar(50),periodo varchar(20))
-> begin
-> insert into
grupos
values(cvegrupo,nombre,cveprofesor,cvealumno,cvemateria,cvecarrera,periodo);
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql>
call agregar_grupo('12','M403-I','526','002','45','INFO03','2013-2016')//
Query
OK, 1 row affected (0.00 sec)
mysql> select * from grupos//
+----------+--------+-------------+-----------+------------+------------+-------
----+
| cvegrupo | nombre | cveprofesor |
cvealumno | cvemateria | cvecarrera | period
o
|
+----------+--------+-------------+-----------+------------+------------+-------
----+
| 12
| M403-I | 526 | 002 | 45 | INFO03 | 2013-2
016 |
+----------+--------+-------------+-----------+------------+------------+-------
----+
1 row in set (0.00 sec)
8.
Crea un procedimiento para editar los registros de las
tablas que ya fueron creadas. Con los mismos campos que tienen cada una de las
tablas.
·
Crea un procedimiento para editar_alumno
mysql> create procedure
editar_alumno(in cvealumno varchar(30),nombre varchar(50
),aPaterno varchar(50),aMaterno
varchar(50),calle varchar(150),numero int,coloni
a varchar(50),municipio varchar(50),estado
varchar(50),telefono varchar(20),emai
l varchar(100))
-> begin
-> update alumnos set
cvealumno=cvealumno,nombre=nombre,aPaterno=aPaterno,aM
aterno=aMaterno,calle=calle,numero=numero,colonia=colonia,municipio=municipio,es
tado=estado,telefono=telefono,email=email;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> call
editar_alumno('03','Alfredo','Gonzalo','Flores','San francisco',8,'v
icente','atizapan','mexico','52487961','Alfredo.gon_@homail.com')//
Query
OK, 1 row affected (0.00 sec)
mysql> select * from alumnos//
+-----------+---------+----------+----------+---------------+--------+---------+
-----------+--------+----------+-------------------------+
| cvealumno | nombre | aPaterno | aMaterno | calle | numero | colonia |
municipio | estado | telefono | email |
+-----------+---------+----------+----------+---------------+--------+---------+
-----------+--------+----------+-------------------------+
| 03
| Alfredo | Gonzalo | Flores | San francisco | 8 | vicente |
atizapan
| mexico | 52487961 | Alfredo.gon_@homail.com |
+-----------+---------+----------+----------+---------------+--------+---------+
-----------+--------+----------+-------------------------+
1 row in set (0.00 sec)
·
Crea un procedimiento para editar_profesor
mysql> create procedure
editar_profesor(in cveprofesor varchar(50),nombre varcha
r(50),aPaterno varchar(50),aMaterno
varchar(50),calle varchar(150),numero int,colonia varchar(50),municipio
varchar(50),estado varchar(50),telefono varchar(20),especialidad varchar(150))
-> begin
->update profesores
set
cveprofesor=cveprofesor,nombre=nombre,aPaterno=aPaterno,aMaterno=aMaterno,calle=calle,numero=numero,colonia=colonia,municipio=municipio,estado=estado,telefono=telefono,especialidad=especialidad;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> call
editar_profesor('56','Alma','Rodriguez','Escalona','Vestigio',456,'Berdines','Nicolas
romero','Mexico','5512897492','Doctorado')//
Query
OK, 1 row affected (0.00 sec)
mysql> select * from profesores//
+-------------+--------+-----------+----------+----------+--------+----------+--
--------------+--------+------------+--------------+-------------------------+
| cveprofesor | nombre | aPaterno | aMaterno | calle | numero | colonia | m
unicipio | estado | telefono | especialidad | email |
+-------------+--------+-----------+----------+----------+--------+----------+--
--------------+--------+------------+--------------+-------------------------+
| 56 | Alma | Rodriguez | Escalona | Vestigio | 456 | Berdines | N
icolas romero | Mexico | 5512897492 |
Doctorado | paty.torres@hotmail.com |
+-------------+--------+-----------+----------+----------+--------+----------+--
--------------+--------+------------+--------------+-------------------------+
1 row in set (0.00 sec)
·
Crea un procedimiento para editar_materia
mysql> create procedure
editar_materia(in cvemateria varchar(50),nombre varchar(50),semestre char)
-> begin
-> update materias set
cvemateria=cvemateria,nombre=nombre,semestre=semestre;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql>
call editar_materia('h458','Matematicas',5)//
Query
OK, 1 row affected (0.00 sec)
mysql> select * from materias//
+------------+-------------+----------+
| cvemateria | nombre | semestre |
+------------+-------------+----------+
| h458 | Matematicas | 5 |
+------------+-------------+----------+
1 row in set (0.00 sec)
·
Crea un procedimiento para editar_calificacion
mysql> create procedure
editar_calificacion(in cvealumno varchar(30),cvemateria
varchar(50),par1 double,par2 double,par3
double,par4 double,par5 double,par6 dou
ble,par7 double,par8 double,par9
double,calificacionfinal double,periodo varchar
(20))
-> begin
-> update calificaciones set
cvealumno=cvealumno,cvemateria=cvemateria,par1=
par1,par2=par2,par3=par3,par4=par4,par5=par5,par6=par6,par7=par7,par8=par8,par9=
par9,calificacionfinal=calificacionfinal,periodo=periodo;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql>
call editar_calificacion('256','598',9,10,6,7,8,8,8,10,10,8.4,'2015-2018'
)//
Query
OK, 1 row affected (0.00 sec)
mysql> select * from calificaciones//
+-----------+------------+------+------+------+------+------+------+------+-----
-+------+-------------------+-----------+
| cvealumno | cvemateria | par1 | par2 |
par3 | par4 | par5 | par6 | par7 | par8
|
par9 | calificacionfinal | periodo |
+-----------+------------+------+------+------+------+------+------+------+-----
-+------+-------------------+-----------+
| 256
| 598 | 9 |
10 | 6 | 7 |
8 | 8 | 8 |
10
| 10
| 8.4 | 2015-2018 |
+-----------+------------+------+------+------+------+------+------+------+-----
-+------+-------------------+-----------+
1 row in set (0.00 sec)
·
Crea un procedimiento para editar_carrera
mysql> create procedure
editar_carrera(in cvecarrera varchar(20),nombre varchar(50))
-> begin
-> update carreras set
cvecarrera=cvecarrera,nombre=nombre;
->
end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> call
editar_carrera('FD45','Conservacion')//
Query
OK, 1 row affected (0.00 sec)
mysql> select * from
carreras//
+------------+--------------+
| cvecarrera | nombre |
+------------+--------------+
| FD45 | Conservacion |
+------------+--------------+
1 row in set (0.00 sec)
·
Crea un procedimiento para editar_grupo
mysql> create procedure editar_grupo(in
cvegrupo varchar(50),nombre varchar(50),
cveprofesor varchar(50),cvealumno
varchar(50),cvemateria varchar(50),cvecarrera
varchar(50),periodo varchar(20))
-> begin
-> update grupos set
cvegrupo=cvegrupo,nombre=nombre,cveprofesor=cveprofesor
,cvealumno=cvealumno,cvemateria=cvemateria,cvecarrera=cvecarrera,periodo=periodo
;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> call
editar_grupo('58','tercero','58','85','9','02','2015-2016')//
Query
OK, 1 row affected (0.00 sec)
mysql> select * from grupos//
+----------+---------+-------------+-----------+------------+------------+------
-----+
| cvegrupo | nombre | cveprofesor | cvealumno | cvemateria |
cvecarrera | perio
do
|
+----------+---------+-------------+-----------+------------+------------+------
-----+
| 58
| tercero | 58 | 85 | 9 | 02 | 2015-
2016 |
+----------+---------+-------------+-----------+------------+------------+------
-----+
1 row in set (0.00 sec)
9.
Crea un procedimiento para eliminar los registros de las
tablas que ya fueron creadas. Con los mismos campos que tienen cada una de las
tablas.
·
Crea un procedimiento para eliminar_alumno
mysql> create procedure eliminar_alumno(in
cvealumno varchar(30))
-> begin
-> delete from alumnos where
cvealumno=cvealumno;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> select * from alumnos//
Empty set (0.00 sec)
·
Crea un procedimiento para eliminar_profesor
mysql>
create procedure eliminar_profesor(in cveprofesor varchar(50))
-> begin
-> delete from profesores where
cveprofesor=cveprofesor;
-> end;
-> //
Query
OK, 0 rows affected (0.27 sec)
mysql> select * from profesores//
Empty set (0.00 sec)
·
Crea un procedimiento para eliminar_materia
mysql>
create procedure eliminar_materia(in cvemateria varchar(50))
-> begin
-> delete from materias where
cvemateria=cvemateria;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> select * from materias//
Empty set (0.00 sec)
·
Crea un procedimiento para eliminar_calificacion
mysql> create procedure
eliminar_calificacion(in cvealumno varchar(30))
-> begin
-> delete from calificaciones where cvealumno=cvealumno;
-> end;
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> select * from calificaciones//
Empty set (0.00 sec)
·
Crea un procedimiento para eliminar_carrera
mysql>
create procedure eliminar_carrera(in cvealumno varchar(30))
-> begin
->
delete from carreras where cvealumno=cvealumno;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> select * from carreras//
Empty set (0.00 sec)
·
Crea un procedimiento para eliminar_grupo.
mysql>
create procedure eliminar_grupo(in cvegrupo varchar(50))
-> begin
-> delete from grupos where
cvegrupo_cvegrupo;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql> select * from grupos//
Empty set (0.00 sec)
10.
Crea un procedimiento para visualizar los registros de las
tablas que ya fueron creadas.
·
Crea un procedimiento para agregar_alumno
mysql> create procedure ver_alumno()
-> begin
-> select * from alumnos;
-> end;
-> //
Query
OK, 0 rows affected (1.51 sec)
mysql> call ver_alumno//
Empty set (0.63 sec)
Query
OK, 0 rows affected (0.63 sec)
·
Crea un procedimiento para agregar_profesor
mysql>
create procedure ver_profesor()
-> begin
-> select * from profesores;
-> end;
-> //
Query
OK, 0 rows affected (0.06 sec)
mysql>
call ver_profesor//
Empty
set (0.27 sec)
Query
OK, 0 rows affected (0.27 sec)
·
Crea un procedimiento para agregar_materia
mysql>
create procedure ver_materia()
-> begin
-> select * from materias;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql>
call ver_materia//
Empty
set (0.08 sec)
Query
OK, 0 rows affected (0.08 sec)
·
Crea un procedimiento para agregar_calificacion
mysql>
create procedure ver_calificacion()
-> begin
-> select * from calificaciones;
-> end;
-> //
Query OK,
0 rows affected (0.00 sec)
mysql>
call ver_calificacion//
Empty
set (0.09 sec)
Query
OK, 0 rows affected (0.09 sec)
·
Crea un procedimiento para agregar_carrera
mysql>
create procedure ver_carrera()
-> begin
-> select * from carreras;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql>
call ver_carrera//
Empty
set (0.10 sec)
Query
OK, 0 rows affected (0.11 sec)
·
Crea un procedimiento para agregar_grupo.
mysql>
create procedure ver_grupo()
-> begin
-> select * from grupos;
-> end;
-> //
Query
OK, 0 rows affected (0.00 sec)
mysql>
call ver_grupo//
Empty
set (0.10 sec)
Query
OK, 0 rows affected (0.11 sec)
No hay comentarios.:
Publicar un comentario