NERI PIÑA ALIN MONSERRAT
PRACTICA 2
Diseño físico de la Base de Datos
mediante sentencias SQL.
1.Verifica que
el equipo de cómputo se encuentra conectado.
2. Enciende
equipo de cómputo.
3. Abre sesión
de ambiente gráfico.
Enter password: ****
4. Ingresa al
Sistema Gestor de Base de Datos.
5. Escribe las
sentencias SQL requeridas para crear una Base de Datos denominada Biblioteca.
mysql> create database biblioteca;
Query OK, 1 row affected (0.06 sec)
mysql> use biblioteca;
Database changed
6. Escribe las
sentencias SQL requeridas para crear las siguientes tablas y campos de la base
de datos, asimismo a la información que almacenaran.
mysql>
create table autor(codigo integer primary key,nombre varchar(20));
Query OK, 0
rows affected (0.09 sec)
mysql> create table libro(codigo integer primary
key,titulo varchar(20),isbn varchar(20),editorial varchar(20),paginas integer);
Query OK, 0
rows affected (0.08 sec)
mysql> create table ejemplar(codigo integer primary
key,localizacion varchar(20));
Query OK, 0
rows affected (0.11 sec)
mysql> create table usuario(codigo integer primary
key,nombre varchar(20),telefono varchar(20),direccion varchar(20));
Query OK, 0
rows affected (0.03 sec)
mysql> create table escribe(codigo_autor integer primary
key,codigo_libro integer);
Query OK, 0
rows affected (0.03 sec)
mysql> create table saca(codigo_usuario integer primary
key,codigo_ejemplar integer,fecha_devolucion date,fecha_prestamo date);
Query OK, 0
rows affected (0.03 sec)
mysql> create table temporal(codigo integer,prueba
varchar(20));
Query OK, 0
rows affected (0.09 sec)
mysql> create table borrar(codigo integer,prueba
varchar(20));
Query OK, 0
rows affected (0.03 sec)
7. Transcribe
el código con las sentencias generadas en el editor SQL.
8. Guarda el
archivo que contiene las sentencias SQL elaboradas.
9. Ejecuta el
archivo que contiene las sentencias SQL elaboradas.
10. Imprime las
sentencias elaboradas.
PRACTICA 3
Eliminación y Modificación de la
estructura de la base de datos mediante sentencias SQL.
1.Verifica que el equipo de cómputo se
encuentra conectado.
2.Enciende equipo de cómputo.
3.Abre sesión de ambiente gráfico.
Enter
password: ****
4.Ingresa al
Sistema Gestor de Base de Datos.
5. Selecciona la base de datos
Biblioteca.
mysql>
use biblioteca;
Database
changed
6. Escribe las sentencias SQL requeridas
para eliminar la tabla denominada Borrar
de la Base de Datos Biblioteca.
mysql> show tables;
+----------------------+
| Tables_in_biblioteca |
+----------------------+
| autor |
|
borrar |
|
ejemplar |
|
escribe |
| libro |
| saca |
| temporal |
| usuario |
+----------------------+
8 rows in set (0.00 sec)
mysql> drop table borrar;
Query OK, 0 rows affected (0.02 sec)
mysql> show tables;
+----------------------+
| Tables_in_biblioteca |
+----------------------+
| autor |
|
ejemplar |
|
escribe |
| libro |
| saca |
| temporal |
|
usuario |
+----------------------+
7 rows in
set (0.00 sec)
7. Escribe las sentencias SQL requeridas
para modificar la estructura de las siguientes tablas de la Base de Datos Biblioteca, debiendo presentar las
tablas como se indica a continuación:
mysql>
alter table libro add Ano_de_Edicion varchar(20);
Query OK, 0 rows affected (0.22 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> describe libro;
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
|
codigo | int(11) | NO
| PRI | NULL | |
|
titulo | varchar(20) | YES | |
NULL | |
| isbn | varchar(20) | YES | |
NULL | |
|
editorial | varchar(20) | YES | |
NULL | |
|
paginas | int(11) | YES
| | NULL |
|
|
Ano_de_Edicion | varchar(20) | YES
| | NULL |
|
+----------------+-------------+------+-----+---------+-------+
6 rows in set (0.01 sec)
mysql> describe usuario;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
|
codigo | int(11) | NO
| PRI | NULL | |
|
nombre | varchar(20) | YES | |
NULL | |
|
telefono | varchar(20) | YES | |
NULL | |
| direccion | varchar(20) | YES | |
NULL | |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.02 sec)
mysql> alter table usuario drop
column direccion;
Query OK, 0 rows affected (0.12 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> describe usuario;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
|
codigo | int(11) | NO
| PRI | NULL | |
| nombre | varchar(20) | YES | |
NULL | |
| telefono |
varchar(20) | YES | | NULL
| |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.02 sec)
mysql> alter table usuario add calle varchar(20);
Query OK, 0 rows affected (0.14 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> alter table usuario add numero integer;
Query OK, 0 rows affected (0.15 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> alter table usuario add colonia varchar(20);
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> alter table usuario add ciudad varchar(20);
Query OK, 0 rows affected (0.12 sec)
Records:
0 Duplicates: 0 Warnings: 0
mysql>
alter table usuario add codigo_postal
integer;
Query OK, 0 rows affected (0.13 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> describe usuario;
+---------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
|
codigo | int(11) | NO
| PRI | NULL | |
|
nombre | varchar(20) | YES | |
NULL | |
|
telefono | varchar(20) | YES | |
NULL | |
| calle | varchar(20) | YES | |
NULL | |
|
numero | int(11) | YES
| | NULL |
|
|
colonia | varchar(20) | YES | |
NULL | |
|
ciudad | varchar(20) | YES | |
NULL | |
|
codigo_postal | int(11) | YES | | NULL
| |
+---------------+-------------+------+-----+---------+-------+
8 rows in
set (0.03 sec)
mysql>
8. Guarda el
archivo que contiene las sentencias SQL elaboradas.
9. Ejecuta el
archivo que contiene las sentencias SQL elaboradas.
10. Imprime las
sentencias elaboradas.
PRACTICA 4
Establecer relaciones mediante
sentencias SQL.
1. Verifica que el equipo de cómputo se
encuentra conectado.
2. Enciende
equipo de cómputo.
3. Abre sesión de ambiente gráfico.
Enter
password: ****
4. Ingresa al
Sistema Gestor de Base de Datos.
5. Selecciona la base de datos
Biblioteca.
mysql>
use biblioteca;
Database
changed
6. Escribe las
sentencias SQL para establecer las relaciones entre las siguientes tablas de la
Base de Datos Biblioteca.
ü
Escribe
– Autor
ü
Escribe
– Libro
ü
Saca
– Usuario
ü
Saca
- Ejemplar
7. Guarda el
archivo que contiene las sentencias SQL elaboradas.
8. Ejecuta el
archivo que contiene las sentencias SQL elaboradas.
9. Imprime las
sentencias elaboradas.
PRACTICA 5
Relacionar tablas de la base de datos
usando Herramientas CASE.
1. Verifica que el equipo de
cómputo se encuentra conectado.
2. Enciende equipo de
cómputo.
3. Abre sesión de ambiente
gráfico.
4. Ingresa a la herramienta CASE.
5. Elabora el siguiente
Modelo Lógico.
6. Obtiene el Modelo Físico a
partir del Modelo Lógico diseñado.
7. Selecciona el Sistema
Gestor de Base de Datos de salida.
8. Genera las instrucciones
SQL de acuerdo al Sistema Gestor de Base de Datos seleccionado.
9. Guarda el Modelo
diseñado.
10. Guarda el archivo que
contiene las sentencias SQL elaboradas.
11. Imprime el listado
elaborado.
PRACTICA 6
Inserción de registro usando sentencias
SQL
1. Verifica que el equipo de
cómputo se encuentra conectado.
2. Enciende equipo de
cómputo.
3. Abre sesión de ambiente
gráfico.
4. Ingresa al Sistema Gestor
de Base de Datos.
5. Selecciona
la base de datos Biblioteca.
mysql> use biblioteca;
Database changed
6. Inserta al menos 2
registros a cada una de las tablas de la base de datos Biblioteca, empleando la orden INSERT
INTO del lenguaje SQL.
mysql> insert into Autor
values(2984037,'Tudela Perez Cesar');
Query OK, 1 row affected (0.00 sec)
mysql> insert into Autor
values(2184930,'Murail Aude Marie');
Query OK, 1 row affected (0.00 sec)
mysql>
insert into Libro values(4200857,'UNA AMIGO EN LA
SELVA','ISBN978-950-42-0085','Edelvives',152,'2004');
Query OK, 1 row affected, 1 warning
(0.00 sec)
mysql>
insert into Libro values(6130053,'PIPEPACO EN LA
SELVA','ISBN978-84-613-0053','Magisterio Español',148,'2007');
Query OK, 1 row affected, 1 warning
(0.00 sec)
mysql> insert into Ejemplar
values(63512,'Interactivo');
Query OK, 1 row affected (0.01 sec)
mysql> insert into Ejemplar
values(57383,'Interactivo');
Query OK, 1 row affected (0.00 sec)
mysql> insert into Usuario
values(389023,'CastroBrecherEduardo','55-28-93-67-83','Mango',56,'Olimpica
Radio','Naucalpan',53698);
Query OK, 1 row affected (0.00 sec)
mysql>
insert into Usuario
values(458903,'MartinezFuentesDiana','55-68-90-12-45','Durango',123,'OlivarConde','Alvaro
Obregon',14000);
Query OK, 1 row affected (0.00 sec)
mysql> insert into escribe
values(2984037,4200857);
Query OK, 1 row affected (0.01 sec)
mysql> insert into escribe
values(2184930,6130053);
Query OK, 1 row affected (0.00 sec)
mysql> insert into saca
values(389023,63512,'2015/03/11','2015/01/14');
Query OK, 1 row affected (0.02 sec)
mysql> insert into saca values(458903,57383,'2015/05/03','2015/03/01');
Query OK, 1 row affected (0.00 sec)
mysql> insert into temporal
values(2375,'Estudios');
Query OK, 1 row affected (0.01 sec)
mysql> insert into temporal
values(4684,'Informacion');
Query OK, 1 row affected (0.00 sec)
Aquí se Creara la Tabla Borrar ya que se
Borró en la practica 3 .
mysql>
create table borrar(codigo integer,prueba varchar(20));
Query OK, 0 rows affected (0.19 sec)
mysql> insert into borrar
values(72674,'Interes');
Query OK, 1 row affected (0.01 sec)
mysql> insert into borrar
values(83692,'Estudiar');
Query OK, 1 row affected (0.00 sec)
mysql>
7. Guarda el archivo que
contiene las sentencias SQL elaboradas.
8. Ejecuta el archivo que
contiene las sentencias SQL elaboradas.
9. Imprime las instrucciones
SQL elaboradas.
PRACTICA 7
Eliminación de registros usando
sentencias SQL.
1. Verifica que el equipo de
cómputo se encuentra conectado.
2. Enciende equipo de
cómputo.
3. Abre sesión de ambiente
gráfico.
4. Ingresa al Sistema Gestor
de Base de Datos.
5. Selecciona la base de
datos Biblioteca.
mysql> use biblioteca;
Database changed
6. Elimina 1
registros de la tabla Temporal en la
base de datos Biblioteca, empleando la orden DELETE FROM del lenguaje SQL, especificando una condición mediante
la cláusula WHERE.
mysql> delete from temporal where
codigo=2375;
Query OK, 1 row affected (0.00 sec)
mysql> select * from temporal;
+--------+-------------+
| codigo |
prueba |
+--------+-------------+
| 4684 | Informacion |
+--------+-------------+
1 row in set
(0.00 sec)
mysql>
7. Guarda el archivo que
contiene las sentencias SQL elaboradas.
8. Ejecuta el archivo que
contiene las sentencias SQL elaboradas.
9. Imprime las instrucciones
SQL elaboradas.
PRACTICA 8
Actualización de registros usando
sentencias SQL.
1. Verifica que el equipo de
cómputo se encuentra conectado.
2. Enciende equipo de
cómputo.
3. Abre sesión de ambiente
gráfico.
4. Ingresa al Sistema Gestor
de Base de Datos.
5. Selecciona la base de
datos Biblioteca.
mysql> use biblioteca;
Database changed
6. Actualiza la información
de 1 registros de la tabla Usuario en la base de datos Biblioteca, empleando la orden UPDATE
del lenguaje SQL, especificando una condición mediante la cláusula WHERE.
mysql> select * from usuario;
+--------+----------------------+----------------+--------------------+
| codigo | nombre |
telefono | direccion |
+--------+----------------------+----------------+--------------------+
| 389023 | CastroBrecherEduardo | 55-28-93-67-83 |
MangoNo56Olimpic |
| 458903 | MartinezFuentesDiana | 55-68-90-12-45 | DurangoNo123Olivar |
+--------+----------------------+----------------+--------------------+
2 rows in set (0.00 sec)
mysql> update
usuario set nombre='AngelesPenaDilan' where nombre='CastroBrecherEduardo';
Query OK, 1 row
affected (0.01 sec)
Rows matched: 1 Changed: 1
Warnings: 0
mysql> select *
from usuario;
+--------+----------------------+----------------+--------------------+
| codigo | nombre |
telefono | direccion |
+--------+----------------------+----------------+--------------------+
| 389023 | AngelesPenaDilan |
55-28-93-67-83 | MangoNo56Olimpic |
| 458903 | MartinezFuentesDiana | 55-68-90-12-45 | DurangoNo123Olivar |
+--------+----------------------+----------------+--------------------+
2 rows in set (0.00 sec)
mysql>
7. Guarda el archivo que
contiene las sentencias SQL elaboradas.
8. Ejecuta el archivo que
contiene las sentencias SQL elaboradas.
9. Imprime las instrucciones
SQL elaboradas.
PRACTICA 9
Consultas de selección de registros
mediante el SGBD.
1. Verifica que el equipo de
cómputo se encuentra conectado.
2. Enciende equipo de
cómputo.
3. Abre sesión de ambiente
gráfico.
4. Ingresa al Sistema Gestor
de Base de Datos.
5. Selecciona la base de
datos Biblioteca.
mysql> use biblioteca;
Database changed
6. Realiza una consulta de
selección en el que muestre todos los registros de la tabla Libros.
mysql>
select * from libro;
+---------+----------------------+---------------------+-----------------+---------+----------------+
|
codigo | titulo | isbn | editorial | paginas | Ano_de_Edicion |
+---------+----------------------+---------------------+-----------------+---------+----------------+
| 4200857 |
UNA AMIGO EN LA SELV | ISBN978-950-42-0085 | Edelvives |
152 | 2004 |
| 6130053 |
PIPEPACO EN LA SELVA | ISBN978-84-613-0053 | Magisterio Espa | 148 | 2007 |
+---------+----------------------+---------------------+-----------------+---------+----------------+
2 rows in
set (0.00 sec)
mysql>
7. Realiza una consulta en
la que muestre los autores de cada Libro.
mysql> select autor from libro;
ERROR 1054 (42S22): Unknown column
'autor' in 'field list'
mysql> select * from autor inner
join libro;
+---------+--------------------+---------+----------------------+---------------------+--------------------+---------+----------------+
|
codigo | nombre | codigo | titulo | isbn | editorial | paginas | Ano_de_Edicion |
+---------+--------------------+---------+----------------------+---------------------+--------------------+---------+----------------+
| 2984037 |
Tudela Perez Cesar | 4200857 | UNA AMIGO EN LA SELV | ISBN978-950-42-0085 |
Edelvives |
152 | 2004 |
| 2184930 |
Murail Aude Marie | 4200857 | UNA AMIGO
EN LA SELV | ISBN978-950-42-0085 | Edelvives |
152 | 2004 |
| 2984037 |
Tudela Perez Cesar | 6130053 | PIPEPACO EN LA SELVA | ISBN978-84-613-0053 | Magisterio
Español | 148 | 2007 |
| 2184930 |
Murail Aude Marie | 6130053 | PIPEPACO
EN LA SELVA | ISBN978-84-613-0053 | Magisterio Español | 148 | 2007 |
+---------+--------------------+---------+----------------------+---------------------+--------------------+---------+----------------+
4 rows in
set (0.00 sec)
mysql>
select titulo,paginas,ano_de_edicion from libro;
8. Realiza una consulta en
la que muestre el título del libro, las páginas y año de edición de cada libro.
mysql>
select titulo,paginas,ano_de_edicion from libro;
+----------------------+---------+----------------+
|
titulo | paginas |
ano_de_edicion |
+----------------------+---------+----------------+
| UNA AMIGO
EN LA SELV | 152 | 2004 |
| PIPEPACO
EN LA SELVA | 148 | 2007 |
+----------------------+---------+----------------+
2 rows in
set (0.00 sec)
mysql>
9. Realiza una consulta en
la que muestre el título del libro, y año de edición de un libro en particular.
mysql>
select titulo,ano_de_edicion from libro where titulo='UNA AMIGO EN LA SELV';
+----------------------+----------------+
|
titulo | ano_de_edicion |
+----------------------+----------------+
| UNA AMIGO
EN LA SELV | 2004 |
+----------------------+----------------+
1 row in set
(0.00 sec)
mysql>
10. Guarda los archivos que
contiene las sentencias SQL elaboradas.
11. Ejecuta los archivos que
contiene las sentencias SQL elaboradas.
12. Imprime las instrucciones
SQL elaboradas.
PRACTICA 11
Solución Practica 11: Manejo de
Disparadores con criterios de Selección.
Enter
password: *************
Welcome to
the MySQL monitor. Commands end with ;
or \g.
Your MySQL
connection id is 2
Server
version: 6.0.4-alpha-community-log MySQL Community Server (GPL)
Type 'help;'
or '\h' for help. Type '\c' to clear the buffer.
mysql>
create database biblioteca1;
Query OK, 1
row affected (0.02 sec)
mysql>
use biblioteca1;
Database
changed
mysql>
create table autor(codigo int not null auto_increment primary key,nombre
varchar(30));
Query OK, 0
rows affected (0.11 sec)
mysql>
describe autor;
+--------+-------------+------+-----+---------+----------------+
| Field | Type
| Null | Key | Default | Extra
|
+--------+-------------+------+-----+---------+----------------+
| codigo |
int(11) | NO | PRI | NULL | auto_increment |
| nombre |
varchar(30) | YES | | NULL
| |
+--------+-------------+------+-----+---------+----------------+
2 rows in
set (0.01 sec)
mysql>
create table libros (codigo int not null auto_increment primary key,titulo
varchar(30),isbn varchar(30),editorial varchar(30),num_paginas int);
Query OK, 0
rows affected (0.09 sec)
mysql>
describe libros;
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
|
codigo | int(11) | NO
| PRI | NULL | auto_increment |
|
titulo | varchar(30) | YES | |
NULL | |
| isbn | varchar(30) | YES | |
NULL | |
|
editorial | varchar(30) | YES | |
NULL | |
|
num_paginas | int(11) | YES | |
NULL | |
+-------------+-------------+------+-----+---------+----------------+
5 rows in
set (0.01 sec)
mysql>
create table usuarios(codigo_usuario int not null auto_increment primary
key,nombre varchar(30),direccion varchar(50),telefono
varchar(30),codigo_ejemplar int);
Query OK, 0
rows affected (0.06 sec)
mysql>
describe usuarios;
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
|
codigo_usuario | int(11) | NO
| PRI | NULL | auto_increment |
|
nombre | varchar(30) | YES | |
NULL | |
|
direccion | varchar(50) | YES | |
NULL | |
|
telefono | varchar(30) | YES | |
NULL | |
|
codigo_ejemplar | int(11) | YES | |
NULL | |
+-----------------+-------------+------+-----+---------+----------------+
5 rows in
set (0.02 sec)
mysql>
create table ejemplares(codigo_ejemplar int not null auto_increment primary
key,localizacion varchar(30));
Query OK, 0
rows affected (0.11 sec)
mysql>
describe ejemplares;
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
|
codigo_ejemplar | int(11) | NO | PRI | NULL | auto_increment |
|
localizacion | varchar(30) | YES | |
NULL | |
+-----------------+-------------+------+-----+---------+----------------+
2 rows in
set (0.01 sec)
mysql>
insert into usuarios(nombre,direccion,telefono,codigo_ejemplar) values
('miguel','ave_signos_23','53221234',3),('pedro','calle_tulipanes','54321234',4),('amanda','ave_constelacion','56432345',5);
Query OK, 3
rows affected (0.05 sec)
Records:
3 Duplicates: 0 Warnings: 0
mysql>
select * from usuarios;
+----------------+--------+------------------+----------+-----------------+
|
codigo_usuario | nombre | direccion
| telefono | codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
| 1 | miguel | ave_signos_23 | 53221234 | 3 |
| 2 | pedro | calle_tulipanes | 54321234 | 4 |
| 3 | amanda | ave_constelacion |
56432345 | 5 |
+----------------+--------+------------------+----------+-----------------+
3 rows in
set (0.00 sec)
mysql>
create table copia_usuarios (codigo int not null auto_increment primary
key,nombre_ant varchar(30),direccion_anterior varchar(50),telefono_anterior
varchar(50),codigo_ejemplar_anterior int,nombre_nuevo
varchar(30),direccion_nueva varchar(50),telefono_nuevo
varchar(30),codigo_ejemplar_nuevo in
t,usuario
varchar(40),modificado datetime,codigo_usuario int(4));
Query OK, 0
rows affected (0.09 sec)
mysql>
describe copia_usuarios;
+--------------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------------+-------------+------+-----+---------+----------------+
|
codigo | int(11) | NO
| PRI | NULL | auto_increment |
|
nombre_ant | varchar(30) |
YES |
| NULL | |
|
direccion_anterior | varchar(50) |
YES |
| NULL | |
| telefono_anterior | varchar(50) | YES | |
NULL | |
|
codigo_ejemplar_anterior | int(11) |
YES |
| NULL | |
|
nombre_nuevo | varchar(30) |
YES |
| NULL | |
|
direccion_nueva | varchar(50) |
YES |
| NULL | |
|
telefono_nuevo | varchar(30) |
YES |
| NULL | |
|
codigo_ejemplar_nuevo | int(11) | YES
| | NULL | |
|
usuario | varchar(40) | YES | |
NULL | |
|
modificado | datetime | YES
| | NULL | |
|
codigo_usuario | int(4) | YES
| | NULL | |
+--------------------------+-------------+------+-----+---------+----------------+
12 rows in
set (0.01 sec)
mysql>
delimiter //
mysql>
create trigger
-> elimina_usuarios_ejemplares
-> after delete on usuarios
-> for each row
-> begin
-> insert into
-> copia_usuario(nombre_ant,direccion_anterior,
->
telefono_anterior,codigo_ejemplar_anterior,usuario,modificado,
-> codigo_usuario)
-> values (old.nombre,
-> old.direccion,old.telefono,old.
-> old.codigo_ejemplar,current_user(),
-> now (),old.codigo_usuario);
-> end;
-> //
Query OK, 0
rows affected (0.11 sec)
mysql>
select * from usuarios;
-> delimiter;
-> select * from usuarios;
-> //
+----------------+--------+------------------+----------+-----------------+
| codigo_usuario
| nombre | direccion | telefono |
codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
| 1 | miguel | ave_signos_23 | 53221234 | 3 |
| 2 | pedro | calle_tulipanes | 54321234 | 4 |
| 3 | amanda | ave_constelacion |
56432345 | 5 |
+----------------+--------+------------------+----------+-----------------+
3 rows in
set (0.02 sec)
mysql>
delete from usuarios where codigo_ejemplar=4; //
Query OK, 0
rows affected (0.00 sec)
mysql>
delete from usuarios where codigo_ejemplar=4;
-> //
Query OK, 0
rows affected (0.02 sec)
mysql>
select * from usuarios;
-> //
+----------------+--------+------------------+----------+-----------------+
|
codigo_usuario | nombre | direccion
| telefono | codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
| 1 | miguel | ave_signos_23 | 53221234 | 3 |
| 3 | amanda | ave_constelacion | 56432345
| 5 |
+----------------+--------+------------------+----------+-----------------+
2 rows in
set (0.00 sec)
mysql>
select * from copia_usuarios;
-> //
Empty set
(0.00 sec)
FIN de la Practica 11: Manejo de
Disparadores con criterios de Selección.
PRÁCTICA COMPLEMENTO TEMA
DISPARADORES:
Enter
password: *************
Welcome to
the MySQL monitor. Commands end with ;
or \g.
Your MySQL
connection id is 3
Server
version: 6.0.4-alpha-community-log MySQL Community Server (GPL)
Type 'help;'
or '\h' for help. Type '\c' to clear the buffer.
mysql>
create database dbclientes;
Query OK, 1
row affected (0.00 sec)
mysql>
use dbclientes;
Database
changed
mysql>
create table tbclientes(codigo_cli int primary key,nombre_cli varchar(250
),trabajo_cli
varchar(250));
Query OK, 0
rows affected (0.06 sec)
mysql>
describe tbclientes;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
|
codigo_cli | int(11) | NO
| PRI | NULL | |
|
nombre_cli | varchar(250) | YES | |
NULL | |
|
trabajo_cli | varchar(250) | YES | | NULL
| |
+-------------+--------------+------+-----+---------+-------+
3 rows in
set (0.02 sec)
mysql>
insert into tbclientes(codigo_cli,nombre_cli,trabajo_cli) values
(1,'Edith_Martinez_Hernandez','Informatica'),(2,'Juan_Carmona_Hernandez','Control_de_la_contaminacion'),(3,'Fernanda_Lopez_Perez','Productividad');
Query OK, 3
rows affected (0.00 sec)
Records:
3 Duplicates: 0 Warnings: 0
mysql>
select * from tbclientes;
+------------+--------------------------+-----------------------------+
| codigo_cli
| nombre_cli | trabajo_cli |
+------------+--------------------------+-----------------------------+
| 1 | Edith_Martinez_Hernandez |
Informatica |
| 2 | Juan_Carmona_Hernandez | Control_de_la_contaminacion |
| 3 | Fernanda_Lopez_Perez | Productividad |
+------------+--------------------------+-----------------------------+
3 rows in
set (0.00 sec)
mysql>
create table tbcopiaclientes(codigo_cop int primary key,nombre_cop varchar(50),trabajo_cop
varchar(50),usuario_cop varchar(50),modificado_cop datetime);
Query OK, 0
rows affected (0.08 sec)
mysql>
describe tbclientes;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
|
codigo_cli | int(11) | NO
| PRI | NULL | |
|
nombre_cli | varchar(250) | YES | |
NULL | |
|
trabajo_cli | varchar(250) | YES | | NULL
| |
+-------------+--------------+------+-----+---------+-------+
3 rows in
set (0.00 sec)
mysql>
delimiter //
mysql>
create trigger nuevocliente after insert on tbclientes for each row begin
insert into tbcopiaclientes(codigo_cop,nombre_cop,trabajo_cop,usuario_cop,modificado_cop)
values (new.codigo_cli,new.nombre_cli,new.trabajo_cli,current_user(),now());
-> end;
-> //
Query OK, 0
rows affected (0.08 sec)
mysql>
show triggers;
-> //
+--------------+--------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------+--------------------------------------------+----------------+--
--------------------+----------------------+--------------------+
|
Trigger | Event | Table
| Statement
| Timing | Created
| sql_mode
| Definer | c
haracter_set_client
| collation_connection | Database Collation |
+--------------+--------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------+--------------------------------------------+----------------+--
--------------------+----------------------+--------------------+
|
nuevocliente | INSERT | tbclientes | begin insert into
tbcopiaclientes(codigo_cop,nombre_cop,trabajo_cop,usuario_cop,modificado_cop)
values (new.codigo_cli,new.nombre_cli,new.trabajo_cli,current_user(),now());
end |
AFTER | NULL |
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@localhost | utf8 | utf8_general_ci | utf8_general_ci |
+--------------+--------+------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------+--------------------------------------------+----------------+--
--------------------+----------------------+--------------------+
1 row in set
(0.06 sec)
mysql>
insert into tbclientes() values (4,'Carlos_Manuel_Zavala','informatica');
-> //
Query OK, 1
row affected (0.06 sec)
mysql>
select * from tbclientes;
-> //
+------------+--------------------------+-----------------------------+
| codigo_cli
| nombre_cli |
trabajo_cli |
+------------+--------------------------+-----------------------------+
| 1 | Edith_Martinez_Hernandez |
Informatica |
| 2 | Juan_Carmona_Hernandez | Control_de_la_contaminacion |
| 3 | Fernanda_Lopez_Perez | Productividad |
| 4 | Carlos_Manuel_Zavala | informatica |
+------------+--------------------------+-----------------------------+
4 rows in set
(0.00 sec)
mysql>
select * tbcopiaclientes;
-> //
ERROR 1064
(42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
'tbcopiaclientes' at line 1
mysql>
select * from tbcopiaclientes;
-> //
+------------+----------------------+-------------+----------------+---------------------+
| codigo_cop
| nombre_cop | trabajo_cop |
usuario_cop | modificado_cop |
+------------+----------------------+-------------+----------------+---------------------+
| 4 | Carlos_Manuel_Zavala |
informatica | root@localhost | 2015-05-06 20:28:06 |
+------------+----------------------+-------------+----------------+---------------------+
1 row in set
(0.00 sec)
PRÁCTICA COMPLEMENTO
DISPARADORES:
Enter
password: *************
Welcome to
the MySQL monitor. Commands end with ;
or \g.
Your MySQL
connection id is 4
Server
version: 6.0.4-alpha-community-log MySQL Community Server (GPL)
Type 'help;'
or '\h' for help. Type '\c' to clear the buffer.
mysql>
create database pruebas_dispara;
Query OK, 1
row affected (0.00 sec)
mysql>
use pruebas_dispara;
Database
changed
mysql>
create table clientes(id_cliente int not null auto_increment,nombre varch
ar(100),seccion
varchar(20),accion varchar(100) default 'insertado',primary key
(id_cliente),key
(nombre));
Query OK, 0
rows affected (0.08 sec)
mysql>
describe clientes;
+------------+--------------+------+-----+-----------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-----------+----------------+
| id_cliente
| int(11) | NO | PRI | NULL | auto_increment |
| nombre | varchar(100) | YES | MUL | NULL | |
|
seccion | varchar(20) | YES
| | NULL | |
|
accion | varchar(100) | YES | |
insertado | |
+------------+--------------+------+-----+-----------+----------------+
4 rows in
set (0.01 sec)
mysql>
insert into clientes(nombre,seccion) values
('Miguel','Informatica'),('Rosa','Comida'),('Maria','Ropa'),('Albert','Informatica'),('Jordi','Comida');
Query OK, 5
rows affected (0.00 sec)
Records:
5 Duplicates: 0 Warnings: 0
mysql>
select * from clientes;
+------------+--------+-------------+-----------+
| id_cliente
| nombre | seccion | accion |
+------------+--------+-------------+-----------+
| 1 | Miguel | Informatica | insertado
|
| 2 | Rosa | Comida
| insertado |
| 3 | Maria | Ropa
| insertado |
| 4 | Albert | Informatica | insertado
|
| 5 | Jordi | Comida
| insertado |
+------------+--------+-------------+-----------+
5 rows in
set (0.00 sec)
mysql>
create table auditoria_clientes(id int not null auto_increment,nombre_anterior
varchar(100),seccion_anterior varchar(20),nombre_nuevo
varchar(100),seccion_nueva varchar(20),usuario varchar(40),modificado
datetime,proceso varchar(10),id_cliente int(4),primary key(id));
Query OK, 0
rows affected (0.05 sec)
mysql>
describe auditoria_clientes;
+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO
| PRI | NULL | auto_increment |
|
nombre_anterior | varchar(100) |
YES |
| NULL | |
|
seccion_anterior | varchar(20) |
YES |
| NULL | |
|
nombre_nuevo | varchar(100) |
YES |
| NULL | |
|
seccion_nueva | varchar(20) | YES
| | NULL | |
|
usuario | varchar(40) | YES
| | NULL | |
|
modificado | datetime | YES
| | NULL | |
|
proceso | varchar(10) | YES
| | NULL | |
|
id_cliente | int(4) | YES
| | NULL | |
+------------------+--------------+------+-----+---------+----------------+
9 rows in
set (0.01 sec)
mysql>
delimiter //
mysql>
create trigger inserta_auditoria_clientes after insert on clientes for each row begin insert into
auditoria_clientes
(nombre_nuevo,seccion_nueva,usuario,modificado,proceso,id_cliente) values
(new.nombre,new.seccion,current_user(),now(),new.accion,new.id_cliente);
-> end;
-> //
Query OK, 0
rows affected (0.01 sec)
mysql>
create trigger modifica_auditoria_clientes before update on clientes for each
row begin insert into
auditoria_clientes(nombre_anterior,seccion_anterior,nombre_nuevo,seccion_nueva,usuario,modificado,id_cliente)
values(old.nombre,old.seccion,new.nombre,new.seccion,current_user(),now(),new.id_cliente);
-> end;
-> //
Query OK, 0
rows affected (0.01 sec)
mysql>
create trigger elimina_auditoria_clientes after delete on clientes for each row
begin insert into
auditoria_clientes(nombre_anterior,seccion_anterior,usuario,modificado,id_cliente)
values(old.nombre,old.seccion,current_user(),now(),old.id_cliente);
-> end;
-> //
Query OK, 0
rows affected (0.02 sec)
mysql>
delimiter;
-> //
mysql>
show triggers;
-> //
+-------
----------------------+--------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------+--------------------------------------------+----------
------+----------------------+----------------------+--------------------+
|
Trigger | Event | Table
| Statement |
Timing | Created | sql_mode | Definer
| character_set_client |
collation_connection | Database Collation |
+-----------------------------+--------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------+--------------------------------------------+----------
------+----------------------+----------------------+--------------------+
| inserta_auditoria_clientes | INSERT | clientes | begin insert into
auditoria_clientes
(nombre_nuevo,seccion_nueva,usuario,modificado,proceso,id_cliente) values
(new.nombre,new.seccion,current_user(),now(),new.accion,new.id_cliente);
end | AFTER
| NULL |
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@localhost | utf8 | utf8_general_ci | utf8_general_ci |
|
modifica_auditoria_clientes | UPDATE | clientes | begin insert into
auditoria_clientes(nombre_anterior,seccion_anterior,nombre_nuevo,seccion_nueva,usuario,modificado,id_cliente)
values(old.nombre,old.seccion,new.nombre,new.seccion,current_user(),now(),new.id_cliente);
end | BEFORE
| NULL |
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@localhost | utf8 | utf8_general_ci | utf8_general_ci |
|
elimina_auditoria_clientes | DELETE |
clientes | begin insert into
auditoria_clientes(nombre_anterior,seccion_anterior,usuario,modificado,id_cliente)
values(old.nombre,old.seccion,current_user(),now(),old.id_cliente);
end
| AFTER | NULL |
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@localhost | utf8 | utf8_general_ci | utf8_general_ci |
+-----------------------------+--------+----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------+---------+--------------------------------------------+----------
------+----------------------+----------------------+--------------------+
3 rows in
set (0.01 sec)
mysql>
insert into clientes(nombre,seccion) values('Edith_Martinez','Informatica'); //
Query OK, 1
row affected (0.00 sec)
mysql>
select * from clientes; //
+------------+----------------+-------------+-----------+
| id_cliente
| nombre | seccion | accion
|
+------------+----------------+-------------+-----------+
| 1 | Miguel | Informatica | insertado |
| 2 | Rosa | Comida | insertado |
| 3 | Maria | Ropa | insertado |
| 4 | Albert | Informatica | insertado |
| 5 | Jordi | Comida | insertado |
| 6 | Edith_Martinez | Informatica |
insertado |
| 7 | Edith_Martinez | Informatica |
insertado |
+------------+----------------+-------------+-----------+
7 rows in
set (0.00 sec)
mysql>
select * from auditoria_clientes; //
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| id |
nombre_anterior | seccion_anterior | nombre_nuevo | seccion_nueva | usuario | modificado | proceso | id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| 1 | NULL | NULL | Edith_Martinez | Informatica | root@localhost | 2015-05-06 20:38:38 |
insertado | 6 |
| 2 | NULL | NULL | Edith_Martinez |
Informatica | root@localhost | 2015-05-06
20:39:01 | insertado | 7 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
2 rows in
set (0.00 sec)
mysql>
update clientes set nombre='Jordi_Apolinar',seccion='Productividad' where
id_cliente=5; //
Query OK, 1
row affected (0.03 sec)
Rows
matched: 1 Changed: 1 Warnings: 0
mysql>
select * from clientes; //
+------------+----------------+---------------+-----------+
| id_cliente
| nombre | seccion | accion |
+------------+----------------+---------------+-----------+
| 1 | Miguel | Informatica | insertado |
| 2 | Rosa | Comida | insertado |
| 3 | Maria | Ropa | insertado |
| 4 | Albert | Informatica | insertado |
| 5 | Jordi_Apolinar | Productividad |
insertado |
| 6 | Edith_Martinez | Informatica | insertado |
| 7 | Edith_Martinez | Informatica | insertado |
+------------+----------------+---------------+-----------+
7 rows in
set (0.00 sec)
mysql>
select * from auditoria_clientes; //
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| id |
nombre_anterior | seccion_anterior | nombre_nuevo | seccion_nueva | usuario | modificado | proceso | id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| 1 | NULL | NULL | Edith_Martinez |
Informatica | root@localhost | 2015-05-06
20:38:38 | insertado | 6 |
| 2 | NULL | NULL | Edith_Martinez |
Informatica | root@localhost | 2015-05-06
20:39:01 | insertado | 7 |
| 3 | Jordi | Comida | Jordi_Apolinar | Productividad |
root@localhost | 2015-05-06 20:39:38 | NULL
| 5 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
3 rows in
set (0.00 sec)
mysql>
delete from clientes where nombre='Edith_Martinez'; //
Query OK, 2
rows affected (0.00 sec)
mysql>
select * from clientes; //
+------------+----------------+---------------+-----------+
| id_cliente
| nombre | seccion | accion |
+------------+----------------+---------------+-----------+
| 1 | Miguel | Informatica | insertado |
| 2 | Rosa | Comida | insertado |
| 3 | Maria | Ropa | insertado |
| 4 | Albert | Informatica | insertado |
| 5 | Jordi_Apolinar | Productividad |
insertado |
+------------+----------------+---------------+-----------+
5 rows in
set (0.00 sec)
mysql>
select * from auditoria_clientes; //
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| id |
nombre_anterior | seccion_anterior | nombre_nuevo | seccion_nueva | usuario | modificado | proceso | id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| 1 | NULL | NULL | Edith_Martinez |
Informatica | root@localhost | 2015-05-06
20:38:38 | insertado | 6 |
| 2 | NULL | NULL | Edith_Martinez |
Informatica | root@localhost | 2015-05-06
20:39:01 | insertado | 7 |
| 3 | Jordi | Comida | Jordi_Apolinar | Productividad |
root@localhost | 2015-05-06 20:39:38 | NULL
| 5 |
| 4 | Edith_Martinez | Informatica | NULL | NULL | root@localhost | 2015-05-06
20:40:12 | NULL | 6 |
| 5 | Edith_Martinez | Informatica | NULL | NULL | root@localhost | 2015-05-06
20:40:12 | NULL | 7 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
5 rows in
set (0.00 sec)
CRUZ MORALES CLARA JAZMIN
Práctica 2
1. Verifique que el equipo de cómputo se
encuentra conectado
2. Enciende el equipo de cómputo.
3. Abre sesión de ambiente gráfico.
4. Ingresa al Sistema Gestor de Base de Datos.
5. Escribe las sentencias SQL requeridas para
crear una Base de Datos denominada Biblioteca
·
mysql>
create database biblioteca;
·
Query OK, 1 row affected (0.09 sec)
6. Escribe las sentencias SQL requeridas para
crear las siguientes tablas y campos de base de datos, así mismo establecer las
llaves primarias y los tipos de datos de acuerdo a la información que
almacenaran.
mysql> create
database biblioteca;
Query OK, 1 row
affected (0.08 sec)
mysql> use
biblioteca;
Database changed
mysql> create
table autor(codigo integer primary key, nombre varchar(20));
Query OK, 0 rows
affected (0.16 sec)
mysql> create table libro(codigo integer primary
key, titulo varchar(20),isbn va
rchar(20),editorial varchar(20),paginas integer);
Query OK, 0 rows
affected (0.14 sec)
mysql> create table ejemplar(codigo integer
primary key, localizacion varchar(20));
Query OK, 0 rows
affected (0.14 sec)
mysql> create table usuario(codigo integer
primary key, nombre varchar(20),telefono varchar(20),direccion varchar(20));
Query OK, 0 rows
affected (0.16 sec)
mysql> create table escribe(codigo_autor integer
primary key,codigo_libro integer);
Query OK, 0 rows
affected (0.14 sec)
mysql> create table saca(codigo_usuario integer
primary key,codigo_ejemplar inte
ger,fecha_devoluacion date,fecha_presatamo date);
Query OK, 0 rows
affected (0.16 sec)
mysql> create table temporal(codigo
integer,prueba varchar(20));
Query OK, 0 rows
affected (0.11 sec)
mysql> create table borrar(codigo integer, prueba
varchar(20));
Query OK, 0 rows
affected (0.19 sec)
7. Transcribe el código con las sentencias
generadas en el editor SQL.
8. Guarda el archivo que contiene las sentencias
SQL elaboradas.
9. Ejecuta el archivo que contiene las
sentencias SQL elaboradas.
10.
Imprime
las sentencias elaboradas.
Práctica 3
Eliminación y Modificación de la estructura
de la base de datos mediante sentencias SQL
1. Verifique que el equipo de cómputo se
encuentra conectado.
2. Enciende equipo de computo
3. Abre sesión de ambiente gráfico.
4. Ingresa al Sistema Gestor de Bases de Datos.
5. Selecciona la base de datos biblioteca.
mysql> use biblioteca;
Database changed
6. Escribe las sentencias SQL requeridas para
eliminar la tabla denominada Borrar de la Base de Datos biblioteca.
7. Escribe las sentencias SQL requeridas para
modificar la estructura de las siguientes tablas de la Base de Datos
biblioteca, debiendo presentar las tablas como se indica a continuación
mysql> show
tables;
+----------------------+
|
Tables_in_biblioteca |
+----------------------+
|
autor |
|
borrar |
|
ejemplar |
|
escribe |
|
libro |
| saca |
| temporal |
| usuario |
+----------------------+
8 rows in set (0.23
sec)
mysql> drop table
borrar;
Query OK, 0 rows
affected (0.06 sec)
mysql> show
tables;
+----------------------+
|
Tables_in_biblioteca |
+----------------------+
|
autor |
|
ejemplar |
|
escribe |
|
libro |
|
saca |
|
temporal |
|
usuario |
+----------------------+
7 rows in set (0.20
sec)
mysql>
alter table libro add Ano_de_Edicion varchar(20);
Query OK, 0 rows
affected (5.72 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> describe
libro;
+----------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+-------------+------+-----+---------+-------+
| codigo | int(11) | NO
| PRI | NULL | |
| titulo | varchar(20) | YES | |
NULL | |
| isbn | varchar(20) | YES | |
NULL | |
| editorial | varchar(20) | YES | |
NULL | |
| paginas | int(11) | YES
| | NULL |
|
|
Ano_de_Edicion | varchar(20) | YES
| | NULL |
|
+----------------+-------------+------+-----+---------+-------+
6 rows in set (0.34
sec)
mysql> describe
usuario;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| codigo | int(11) | NO
| PRI | NULL | |
| nombre | varchar(20) | YES | |
NULL | |
| telefono | varchar(20) | YES | |
NULL | |
| direccion |
varchar(20) | YES | | NULL
| |
+-----------+-------------+------+-----+---------+-------+
4 rows in set (0.16 sec)
mysql> alter table
usuario drop column direccion;
Query OK, 0 rows
affected (0.72 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> describe
usuario;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| codigo | int(11)
| NO | PRI | NULL |
|
| nombre | varchar(20) | YES | |
NULL | |
| telefono |
varchar(20) | YES | | NULL
| |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.20
sec)
mysql> alter table
usuario add calle integer;
Query OK, 0 rows
affected (0.78 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> alter table
usuario add numero integer;
Query OK, 0 rows
affected (0.47 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> alter table
usuario add colonia varchar(20);
Query OK, 0 rows
affected (0.22 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> alter table
usuario add ciudad varchar(20);
Query OK, 0 rows
affected (1.53 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql>
alter table usuario add codigo_postal integer;
Query OK, 0 rows
affected (0.61 sec)
Records: 0 Duplicates: 0
Warnings: 0
mysql> describe
usuario;
+---------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------------+-------------+------+-----+---------+-------+
| codigo | int(11) | NO
| PRI | NULL | |
| nombre | varchar(20) | YES | |
NULL | |
| telefono | varchar(20) | YES | |
NULL | |
| calle | int(11) | YES
| | NULL |
|
| numero | int(11) | YES
| | NULL |
|
| colonia | varchar(20) | YES | |
NULL | |
| ciudad | varchar(20) | YES | |
NULL | |
|
codigo_postal | int(11) | YES | |
NULL | |
+---------------+-------------+------+-----+---------+-------+
8 rows in set (0.06
sec)
8. Guarda el archivo que contiene las sentencias
SQL elaboradas
9. Ejecuta el archivo que contiene las
sentencias SQL elaboradas
10.
Imprime
las sentencias elaboradas.
Práctica 4
Establecer relaciones mediante sentencias SQL
1. Verifica que el equipo de cómputo se
encuentra conectado
2. Enciende equipo de computo
3. Abre sesión de ambiente grafico
4. Ingresa al Sistema Gestor de Bases de Datos
5. Selecciona la base de datos biblioteca
6. Escribe las sentencias SQL para establecer
las relaciones entre las siguientes tablas de la Base de Datos Biblioteca
ü
Escribe
– Autor
ü
Escribe
– Libro
ü
Saca –
Usuario
ü
Saca –
Ejemplar
7. Guarda el archivo que contiene las sentencias
SQL elaboradas
8. Ejecuta el archivo que contiene las
sentencias SQL elaboradas
9. Imprime el listado elaborado
Práctica 5
Relacionar tablas de la base de datos usando
Herramientas CASE
1. Verifica que el equipo de cómputo se
encuentra conectado
2. Enciende equipo de computo
3. Abre sesión en ambiente grafico
4. Ingresa a la herramienta CASE
5. Elabora el siguiente Modelo Lógico
6. Obtiene el Modelo Físico a partir de Modelo Lógico
diseñado
7. Selecciona el Sistema Gestor de Bases de
Datos de salida
8. Genera las instrucciones SQL de acuerdo al
sistema Gestor de Bases de Datos seleccionado
9. Guarda el Modelo diseñado
10.
Guarda
el archivo que contiene las sentencias SQL elaboradas
11.
Imprime
el listado elaborado
Práctica 6
Inserción de registros usando sentencias SQL
1. Verifica que el equipo de cómputo se
encuentra conectado
2. Enciende equipo de computo
3. Abre sesión de ambiente grafico
4. Ingresa al Sistema de Gestor de Bases de
Datos
5. Selecciona la base de datos biblioteca
mysql> use
biblioteca;
Database changed
6. Inserta al menos 2 registros a cada una de
las tablas de la base de datos biblioteca, empleado la orden INSERT INTO del
lenguaje SQL
mysql> insert into autor values(01,'Erich Formm');
Query OK, 1 row affected (0.00 sec)
mysql> insert into autor values(02,'Sigmund
Freud');
Query OK, 1 row affected (0.00 sec)
mysql> insert
into libro values(100,'El Arte de Amar','978-968-853-089-4','Ediciones Paidos
Iberica',128,'1923');
Query OK, 1 row affected (0.00 sec)
mysql> insert
into libro values(200,'La interpretacionde los
sueños','674-578-219-023-7','Biblioteca Nueva',335,'1959');
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> insert into ejemplar values(001,'Madrid');
Query OK, 1 row affected (0.01 sec)
mysql> insert
into ejemplar values(002,'Ciudad de Mexico');
Query OK, 1 row affected (0.00 sec)
mysql> insert
into usuario values(010,'Karla','54-78-73-72',12,5,'Ampliacion Buena
Vista','Edo. Mexico',55468);
Query OK, 1 row affected (0.00 sec)
mysql> insert
into usuario values(020,'Sofia','55-44-33-21',30,6,'Izcalli del Valle','Edo.
Mexico',55028);
Query OK, 1 row affected (0.00 sec)
mysql> insert into escribe values(01,100);
Query OK, 1 row affected (0.00 sec)
mysql> insert into escribe values(02,200);
Query OK, 1 row affected (0.00 sec)
mysql> insert into saca values(010,001,'2015/04/24','2015/04/17');
Query OK, 1 row affected (0.01 sec)
mysql> insert into
sacavalues(020,002,'2015/04/22','2015/04/15');
Query OK, 1 row affected (0.00 sec)
mysql> insert into temporal
values(1000,'filosofia');
Query OK, 1 row affected (0.21 sec)
mysql> insert into temporal
values(2000,'filosofia');
Query OK, 1 row affected (0.00 sec)
7. Guarda el archivo que contiene las sentencias
SQL elaboradas
8. Ejecuta el archivo que contiene las
sentencias SQL elaboradas
9. Imprime las instrucciones SQL elaboradas
Práctica 7
Eliminación de registros usando sentencias
SQL
1. Verifica que el equipo de cómputo se
encuentra conectado
2. Enciende equipo de computo
3. Abre sesión de ambiente grafico
4. Ingresa al Sistema Gestor de Bases de Datos
5. Selecciona la base de datos Biblioteca
mysql> use biblioteca;
Database changed
6. Elimina 1 registro de la tabla Temporal en la
base de datos biblioteca, empleando la orden DELETE FROM del lenguaje SQL,
especificado una condición mediante la Cláusula WHERE
mysql> delete from
temporal where codigo=1000;
Query OK, 1 row
affected (0.97 sec)
mysql> select *
from temporal;
+--------+-----------+
| codigo |
prueba |
+--------+-----------+
| 2000 | filosofia |
+--------+-----------+
1 row in set (0.19
sec)
7. Guarda el archivo que contiene las sentencias
SQL elaboradas
8. Ejecuta el archivo que contiene las
sentencias SQL elaboradas
9. Imprime las instrucciones SQL elaboradas
Práctica 8
Actualización de registros usando sentencias
SQL
1. Verifica que el equipo de cómputo de computo
se encuentra conectado
2. Enciende equipo de computo
3. Abre sesión de ambiente grafico
4. Ingresa al Sistema Gestor de Bases de Datos
5. Selecciona la base de datos biblioteca
mysql> use biblioteca;
Database changed
6. Actualiza la información de 1 registros de la
tabla Usuario en la base de datos Biblioteca, empleando la orden UPDATE del
lenguaje SQL, especificando una condición mediante a clausula WHERE
mysql> update
usuario set nombre='Karla' where nombre='karla';
Query OK, 0 rows
affected (0.00 sec)
Rows matched: 1 Changed: 0
Warnings: 0
mysql> select *
from usuario;
+--------+--------+-------------+-------+--------+------------------------+-------------+---------------+
|
codigo | nombre | telefono | calle |
numero | colonia |
ciudad | codigo_postal |
+--------+--------+-------------+-------+--------+------------------------+-------------+---------------+
| 10 | Karla
| 54-78-73-72 | 12 | 5 | Ampliacion Buena Vista | Edo. Mexico
| 55468 |
| 20 | Sofia
| 55-44-33-21 | 30 | 6 | Izcalli del Valle | Edo. Mexico | 55028 |
+--------+--------+-------------+-------+--------+------------------------+-------------+---------------+
2
rows in set (0.01 sec)
7. Guarda el archivo que contiene las sentencias
SQL elaboradas
8. Ejecuta el archivo que contiene las
sentencias SQL elaboradas
9. Imprime las instrucciones SQL elaboradas
Práctica 9
Consultas de selección de registros mediante
el SGBD
1. Verifica que el equipo de cómputo se
encuentra conectado
2. Enciende equipo de computo
3. Abre sesión de ambiente grafico
4. Ingresa al Sistema Gestor de Bases de Datos
5. Selecciona la base de datos biblioteca
mysql> use biblioteca;
Database changed
6. Realiza una consulta de selección en el que
muestre todos los registros de la tabla Libro
mysql>
select * from libro;
+--------+---------------------------+-------------------+--------------------------+---------+----------------+
| codigo |
titulo | isbn | editorial | paginas | Ano_de_Edicion |
+--------+---------------------------+-------------------+--------------------------+---------+----------------+
| 100 | El Arte de Amar | 978-968-853-089-4 | Ediciones Paidos
Iberica | 128 | 1923 |
| 200 | La interpretacionde los s |
674-578-219-023-7 | Biblioteca Nueva
| 335 | 1959 |
+--------+---------------------------+-------------------+--------------------------+---------+----------------+
2 rows in set (0.00
sec)
7. Realiza una consulta en la que muestre los
autores de cada libro
8. Realiza una consulta en la que muestre el
título del libro, las páginas y año de edición de cada libro
mysql>
select titulo,paginas,ano_de_edicion from libro;
+---------------------------+---------+----------------+
|
titulo | paginas |
ano_de_edicion |
+---------------------------+---------+----------------+
|
El Arte de Amar | 128 | 1923 |
|
La interpretacionde los s | 335 |
1959 |
+---------------------------+---------+----------------+
2
rows in set (0.03 sec)
9. Realiza una consulta en la que muestre el
título del libro, y año de edición de un libro en particular
mysql>
select titulo,ano_de_edicion from libro where titulo='El Arte de Amar';
+-----------------+----------------+
| titulo | ano_de_edicion |
+-----------------+----------------+
| El Arte de Amar |
1923 |
+-----------------+----------------+
1 row in set (0.03
sec)
10.
Guarda
los archivos que contiene las sentencias SQL elaboradas
11.
Ejecuta
los archivos que contienen las sentencias SQL elaboradas
12.
Imprime
las instrucciones SQL elaboradas
Práctica 11
Solución práctica 11: Manejo de Disparadores
con criterios de selección
mysql> create database biblioteca;
Query OK, 1 row affected (0.00 sec)
mysql> use biblioteca;
Database changed
mysql> create table autor(codigo int not null
auto_increment primary key,nombre varchar(30));
Query OK, 0 rows affected (0.08 sec)
mysql> describe autor;
+--------+-------------+------+-----+---------+----------------+
| Field |
Type | Null | Key | Default |
Extra |
+--------+-------------+------+-----+---------+----------------+
| codigo |
int(11) | NO | PRI | NULL | auto_increment |
| nombre | varchar(30) | YES | |
NULL | |
+--------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
mysql> create table libros(codigo int not null
auto_increment primary key,titulo varchar(30),ISBN varchar(30),editorial
varchar(30),num_paginas int);
Query OK, 0 rows affected (0.07 sec)
mysql> describe libros;
+-------------+-------------+------+-----+---------+----------------+
| Field |
Type | Null | Key | Default |
Extra |
+-------------+-------------+------+-----+---------+----------------+
| codigo | int(11) | NO
| PRI | NULL | auto_increment |
| titulo | varchar(30) | YES | |
NULL | |
| ISBN | varchar(30) | YES | |
NULL | |
| editorial | varchar(30) | YES | |
NULL | |
| num_paginas |
int(11) | YES | |
NULL | |
+-------------+-------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
mysql> create
table usuarios(codigo_usuario int not null auto_increment primary key, nombre
varchar(30),direccion varchar(50),telefono varchar(30),codigo_ejemplar int);
Query OK, 0 rows affected (0.12 sec)
mysql> describe usuarios;
+-----------------+-------------+------+-----+---------+----------------+
| Field
| Type | Null | Key |
Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
|
codigo_usuario | int(11) | NO
| PRI | NULL | auto_increment |
| nombre | varchar(30) | YES | |
NULL | |
| direccion | varchar(50) | YES | |
NULL | |
| telefono | varchar(30) | YES | |
NULL | |
| codigo_ejemplar |
int(11) | YES | |
NULL | |
+-----------------+-------------+------+-----+---------+----------------+
5 rows in set (0.03 sec)
mysql> create table ejemplares(codig_ejemplar int
not null auto_increment primary key,localizacion varchar(30));
Query OK, 0 rows affected (0.07 sec)
mysql> describe ejemplares;
+----------------+-------------+------+-----+---------+----------------+
| Field
| Type | Null | Key |
Default | Extra |
+----------------+-------------+------+-----+---------+----------------+
| codig_ejemplar |
int(11) | NO | PRI | NULL | auto_increment |
| localizacion
| varchar(30) | YES | | NULL
| |
+----------------+-------------+------+-----+---------+----------------+
2 rows in set (0.05 sec)
mysql> insert
into usuarios(nombre,direccion,telefono,codigo_ejemplar) values('miguel','ave.
signos 23','53221234',3),('pedro','calle
tulipanes','54321234',4),('amanda','ave. constelacion','56432345',5);
Query OK, 3 rows affected (0.14 sec)
Records: 3
Duplicates: 0 Warnings: 0
mysql> select * from usuarios;
+----------------+--------+-------------------+----------+-----------------+
| codigo_usuario |
nombre | direccion | telefono |
codigo_ejemplar |
+----------------+--------+-------------------+----------+-----------------+
| 1 | miguel | ave. signos 23 | 53221234 | 3 |
| 2 | pedro | calle tulipanes | 54321234 | 4 |
| 3
| amanda | ave. constelacion | 56432345 | 5 |
+----------------+--------+-------------------+----------+-----------------+
3 rows in set (0.01 sec)
mysql> create
table copia_usuario(codigo int not null auto_increment primary key,nombre_ant
varchar(30),direccion_anterior varchar(50),telefono_anterior
varchar(50),codigo_ejemplar_anterior int,nombre_nuevo
varchar(30),direccion_nueva varchar(50),telefono_nuevo
varchar(30),codigo_ejemplar_nuevo int,usuario varchar(40),modificado
datetime,codigo_usuario int(4));
Query OK, 0 rows affected (0.07 sec)
mysql> describe copia_usuario;
+--------------------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------------+-------------+------+-----+---------+----------------+
| codigo | int(11) | NO
| PRI | NULL | auto_increment |
| nombre_ant | varchar(30) | YES | |
NULL | |
|
direccion_anterior | varchar(50) | YES | |
NULL | |
|
telefono_anterior | varchar(50) |
YES |
| NULL | |
|
codigo_ejemplar_anterior | int(11) |
YES |
| NULL | |
| nombre_nuevo | varchar(30) | YES | |
NULL | |
|
direccion_nueva | varchar(50) |
YES |
| NULL | |
|
telefono_nuevo | varchar(30) |
YES |
| NULL | |
|
codigo_ejemplar_nuevo | int(11) | YES
| | NULL | |
| usuario | varchar(40) | YES | |
NULL | |
| modificado | datetime | YES
| | NULL | |
|
codigo_usuario | int(4) | YES
| | NULL | |
+--------------------------+-------------+------+-----+---------+----------------+
12 rows in set (0.04 sec)
mysql> delimiter //
mysql> CREATE TRIGGER
->
Elimina_usuarios_ejemplares
-> AFTER
DELETE ON usuarios
-> FOR
EACH ROW
-> BEGIN
-> INSERT
INTO
->
copia_usuario(nombre_ant,direccion_anterior,telefono_anterior,codigo_ejemplar_anterior,usuario,modificado,codigo_usuario)
->
VALUES(OLD.nombre,OLD.direccion,OLD.telefono,OLD.codigo_ejemplar,CURRENT_USER(),NOW(),OLD.codigo_usuario);
-> END;
-> //
Query OK, 0 rows affected (0.02 sec)
mysql>
delimiter;
-> delimiter ;
ERROR
1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near
'delimiter' at line 1
mysql> select *
from usuarios;
+----------------+--------+-------------------+----------+-----------------+
| codigo_usuario |
nombre | direccion | telefono |
codigo_ejemplar |
+----------------+--------+-------------------+----------+-----------------+
| 1 | miguel | ave. signos 23 | 53221234 | 3 |
| 2 | pedro | calle tulipanes | 54321234 | 4 |
| 3
| amanda | ave. constelacion | 56432345 | 5 |
+----------------+--------+-------------------+----------+-----------------+
3 rows in set (0.01 sec)
mysql> delete
from usuarios where codigo_ejemplar=4;
Query OK, 1 row affected (0.15 sec)
mysql> select *
from usuarios;
+----------------+--------+-------------------+----------+-----------------+
| codigo_usuario |
nombre | direccion | telefono |
codigo_ejemplar |
+----------------+--------+-------------------+----------+-----------------+
| 1 | miguel | ave. signos 23 | 53221234 | 3 |
| 3 | amanda | ave. constelacion |
56432345 | 5 |
+----------------+--------+-------------------+----------+-----------------+
2 rows in set (0.00 sec)
mysql> select * from copia_usuario;
+--------+------------+--------------------+-------------------+--------------------------+--------------+-----------------+----------------+-----------------------+----------------+---------------------+----------------+
| codigo |
nombre_ant | direccion_anterior | telefono_anterior | codigo_ejemplar_anterior
| nombre_nuevo | direccion_nueva | telefono_nuevo | codigo_ejemplar_nuevo |
usuario | modificado | codigo_usuario |
+--------+------------+--------------------+-------------------+--------------------------+--------------+-----------------+----------------+-----------------------+----------------+---------------------+----------------+
| 1 | pedro | calle tulipanes | 54321234 |
4 |
NULL | NULL | NULL | NULL | root@localhost |
2015-05-02 17:21:55 | 2 |
+--------+------------+--------------------+-------------------+--------------------------+--------------+-----------------+----------------+-----------------------+----------------+---------------------+----------------+
1 row in set (0.09
sec)
PRÁCTICA COMPLEMENTO TEMA DISPARADORES
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 6.0.4-alpha-community-log MySQL
Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the
buffer.
mysql> create database dbclientes;
Query OK, 1 row affected (0.01 sec)
mysql> use dbclientes;
Database changed
mysql> create table tbclientes(codigo_cli int
primary key,nombre_cli varchar(250),trabajo_cli varchar(250));
Query OK, 0 rows affected (0.19 sec)
mysql> describe tbclientes;
+-------------+--------------+------+-----+---------+-------+
| Field |
Type | Null | Key | Default |
Extra |
+-------------+--------------+------+-----+---------+-------+
| codigo_cli |
int(11) | NO | PRI | NULL |
|
| nombre_cli |
varchar(250) | YES | | NULL
| |
| trabajo_cli |
varchar(250) | YES | | NULL
| |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.02
sec)
mysql> insert
into tbclientes(codigo_cli,nombre_cli,trabajo_cli) values
-> (1,'Edith Martinez
Henandez','Informatica'),
-> (2,'Juan Carmona Hernandez','Control
de la Contaminacion'),
-> (3,'Fernanda Lopez
Perez','Productividad');
Query OK, 3 rows affected (0.00 sec)
Records: 3
Duplicates: 0 Warnings: 0
mysql> select * from tbclientes;
+------------+-------------------------+-----------------------------+
| codigo_cli |
nombre_cli |
trabajo_cli |
+------------+-------------------------+-----------------------------+
| 1 | Edith Martinez Henandez |
Informatica |
| 2 | Juan Carmona Hernandez | Control de la Contaminacion |
| 3 | Fernanda Lopez Perez | Productividad |
+------------+-------------------------+-----------------------------+
3 rows in set (0.00
sec)
mysql> create
table tbcopiaclientes
-> (codigo_cop int primary
key,nombre_cop varchar(50),
-> trabajo_cop varchar(50),usuario_cop
varchar(50),
-> modificado_cop datetime);
Query OK, 0 rows affected (0.10 sec)
mysql> describe tbclientes;
+-------------+--------------+------+-----+---------+-------+
| Field |
Type | Null | Key | Default |
Extra |
+-------------+--------------+------+-----+---------+-------+
| codigo_cli |
int(11) | NO | PRI | NULL |
|
| nombre_cli |
varchar(250) | YES | | NULL
| |
| trabajo_cli |
varchar(250) | YES | | NULL
| |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.01
sec)
mysql> delimiter //
mysql> create trigger nuevocliente after insert on
tbclientes
-> for
each row
-> begin
-> insert
into tbcopiaclientes
->
(codigo_cop,nombre_cop,trabajo_cop,usuario_cop,modificado_cop)
-> values(new.codigo_cli,new.nombre_cli,new.trabajo_cli,CURRENT_USER(),now());
-> end;
-> //
Query OK, 0 rows affected (0.02 sec)
mysql> show triggers nuevocliente;
-> insert
into tbclientes() values(4,'Carlos Manuel Zavala','informatica');
-> select
* from tbclientes;
-> select * from tbcopiaclientes;
PRACTICA COMPLETO DISPARADORES
mysql> create
database pruebas_dispara;
Query OK, 1 row affected (0.00 sec)
mysql> use
pruebas_dispara;
Database changed
mysql> create
table clientes(id_cliente int not null auto_increment,nombre
varchar(100),seccion varchar(20),
-> accion varchar(10) default
'Insertado',
-> PRIMARY KEY(id_cliente),
-> KEY(nombre));
Query OK, 0 rows affected (0.25 sec)
mysql> DESCRIBE clientes;
+------------+--------------+------+-----+-----------+----------------+
| Field |
Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-----------+----------------+
| id_cliente | int(11) | NO
| PRI | NULL | auto_increment
|
| nombre |
varchar(100) | YES | MUL | NULL | |
| seccion |
varchar(20) | YES | |
NULL | |
| accion |
varchar(10) | YES | |
Insertado | |
+------------+--------------+------+-----+-----------+----------------+
4 rows in set (0.01 sec)
mysql> insert into clientes(nombre,seccion) values
->
('Miguel','informatica'),
->
('Rosa','comida'),
->
('Maria','ropa'),
->
('Albert','informatica'),
->
('Jordi','comida');
Query OK, 5 rows affected (0.02 sec)
Records: 5
Duplicates: 0 Warnings: 0
mysql> select * from clientes;
+------------+--------+-------------+-----------+
| id_cliente |
nombre | seccion | accion |
+------------+--------+-------------+-----------+
| 1 | Miguel | informatica | Insertado
|
| 2 | Rosa | comida
| Insertado |
| 3 | Maria | ropa
| Insertado |
| 4 | Albert | informatica | Insertado
|
| 5 |
Jordi | comida | Insertado |
+------------+--------+-------------+-----------+
5 rows in set (0.00 sec)
mysql> CREATE TABLE auditoria_clientes(id int not
null auto_increment,
-> nombre_anterior varchar(100),
-> seccion_anterior varchar(20),
-> nombre_nuevo varchar(100),
-> seccion_nueva varchar(20),
-> usuario varchar(40),
-> modificado datetime,
-> proceso varchar(10),
-> Id_Cliente int(4),
->
primary key(id));
Query OK, 0 rows affected (0.22 sec)
mysql> describe auditoria_clientes;
+------------------+--------------+------+-----+---------+----------------+
| Field
| Type | Null | Key |
Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| id
| int(11) | NO | PRI | NULL | auto_increment |
| nombre_anterior
| varchar(100) | YES | | NULL
| |
| seccion_anterior |
varchar(20) | YES | |
NULL | |
| nombre_nuevo | varchar(100) | YES | |
NULL | |
| seccion_nueva | varchar(20) | YES
| | NULL | |
| usuario | varchar(40) | YES
| | NULL | |
| modificado | datetime | YES
| | NULL | |
| proceso | varchar(10) | YES
| | NULL | |
| Id_Cliente | int(4) | YES
| | NULL | |
+------------------+--------------+------+-----+---------+----------------+
9 rows in set (0.01 sec)
mysql> DELIMITER //
mysql> CREATE TRIGGER Inserta_auditoria_clientes
-> AFTER
INSERT ON clientes
-> FOR EACH ROW
-> BEGIN
-> INSERT INTO
auditoria_clientes(nomrbre_nuevo,seccion_nueva,usuario,modificado,proceso,Id_Cliente)
-> VALUES (NEW.nombre,NEW.seccion,
CURRENT_USER(),NOW(),
->
NEW.Accion, NEW.id_cliente);
-> END;
-> //
Query OK, 0 rows affected (0.02 sec)
mysql> CREATE TRIGGER Modifica_auditoria_clientes
-> BEFORE
UPDATE ON clientes
-> FOR EACH ROW
-> BEGIN
-> INSERT INTO
auditoria_clientes(nombres_anterior,seccion_anterior,
->
nombre_nuevo,seccion_nueva,usuario,modificado,Id_cliente)
-> VALUES (OLD.nombre, OLD.seccion,
NEW.nombre, NEW.seccion,
->
CURRENT_USER(),NOW(),NEW.id_cliente);
-> END;
-> //
Query OK, 0 rows affected (0.02 sec)
mysql> CREATE TRIGGER Elimina_auditoria_clientes
-> AFTER
DELETE ON clientes
-> FOR
EACH ROW
-> BEGIN
-> INSERT NTO
auditoria_clientes(nombre_anterior,seccion_anterior,
-> usuario,modificado,Id_Cliente)
-> VALUES(OLD.nombre,
OLD.seccion,CURRENT_USER(), NOW(),
-> OLD.id_cliente);
-> END;
-> //
ERROR 1064 (42000): You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for the
right syntax to use near 'auditoria_clientes(nombre_anterior,seccion_anterior,
usuario,modificado,Id_Clien' at line 5
mysql> DELIMITER;
-> SHOW
TRIGGERS;
-> INSERT
INTO CLIENTES(nombre,seccion) VALUES('Edith Martinez','Informatica');
-> select
* from clientes;
-> select
* from auditoria_clientes;
-> UPDATE
CLIENTES SET NOMRBE='JORDI APOLINAR',SECCON='PRODUCTIVIDAD' WHERE ID_CLIENTE)5;
-> select
* from clientes;
-> select
* from auditoria_clientes;
-> DELETE
FROM CLIENTES WHERE NOMBRE='Edith Martinez';
-> select * from clientes;
-> select * from auditoria_clientes;
No hay comentarios:
Publicar un comentario