INSTITUTO TECNOLÓGICO
SUPERIOR DE COMALCALCO
INGENIERÍA EN SISTEMAS COMPUTACIONALES
PROYECTO
PTBD15_ACCESOGESTIONVENTAS
PRESENTA
HEYVI ZAHID URIBE PEREGRINO
ASIGNATURA
TALLER DE BASE DE DATOS
DOCENTE
CLAUDIA MORALES BARRÓN
SEMESTRE - GRUPO
5TO B
/*1. Crear una vista llamada cliente_pedido que muestre el nombre del
cliente, apellido1, categoría y fecha de pedido*/
CREATE VIEW cliente_pedido AS SELECT nombre, apellido1, categoria, fecha
FROM cliente JOIN pedido ON
cliente.id = pedido.id_cliente;
SELECT * FROM cliente_pedido;
/*
+--------+-----------+-----------+------------+
| nombre | apellido1 | categoria | fecha |
+--------+-----------+-----------+------------+
| Adela | Salas | 200 | 2017-10-05 |
| Adela | Salas | 200 | 2015-09-10 |
| Adela | Salas | 200 | 2017-04-25 |
| Adolfo | Rubio | NULL | 2016-08-17 |
| Adrián | Suáres | 300 | 2017-10-10 |
| Marcos | Loyola | 200 | 2017-10-05 |
| Marcos | Loyola | 200 | 2017-09-10 |
| María | Santana | 100 | 2019-01-25 |
| María | Santana | 100 | 0000-00-00 |
| Pilar | Ruiz | 300 | 2016-07-27 |
| Pepe | Ruiz | 200 | 2016-08-17 |
| Pepe | Ruiz | 200 | 2016-10-10 |
| Pepe | Ruiz | 200 | 2015-06-27 |
+--------+-----------+-----------+------------+
Realizar las acciones siguientes con dos usuarios y en el orden indicado.
USUARIO 1
2. Crear un usuario (usuario1)*/
CREATE USER usuario1 IDENTIFIED BY '1234';
/*Consultar que fue creado el usuario*/
SELECT USER
FROM user;
/*
+------------------+
| USER |
+------------------+
| usuario1 |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| root |
+------------------+
4. Permitir la consulta y la actualización en la tabla cliente de la base de
datos Gestion Ventas*/
GRANT SELECT, UPDATE ON GestionVentas.cliente TO usuario1;
FLUSH PRIVILEGES;
/*5. Permitir la consulta y actualización en la vista cliente_pedido de la
base de datos GestionVentas*/
GRANT SELECT, UPDATE ON GestionVentas.cliente_pedido TO usuario1;
FLUSH PRIVILEGES;
/*6. Comprobar privilegios de consulta y actualización en la tabla
clientes*/
show databases;
/*
+--------------------+
| Database |
+--------------------+
| gestionventas |
| information_schema |
| performance_schema |
+--------------------+
*/
use gestionventas;
show tables;
/*
+-------------------------+
| Tables_in_gestionventas |
+-------------------------+
| cliente |
| cliente_pedido |
+-------------------------+
*/
select * from cliente;
/*
+----+-----------+-----------+-----------+---------+-----------+
| id | nombre | apellido1 | apellido2 | ciudad | categoria |
+----+-----------+-----------+-----------+---------+-----------+
| 2 | Adela | Salas | Díaz | Granada | 200 |
| 3 | Adolfo | Rubio | Flores | Sevilla | NULL |
| 4 | Adrián | Suáres | NULL | Jaén | 300 |
| 5 | Marcos | Loyola | Méndez | Almería | 200 |
| 6 | María | Santana | Moreno | Cádiz | 100 |
| 7 | Pilar | Ruiz | NULL | Sevilla | 300 |
| 8 | Pepe | Ruiz | Sanatana | Huelva | 200 |
| 9 | Guillermo | López | Gómez | Granada | 225 |
| 10 | Daniel | Santana | Loyola | Sevilla | 125 |
+----+-----------+-----------+-----------+---------+-----------+
*/
UPDATE cliente
SET ciudad = 'México' WHERE nombre = 'Marcos';
SELECT * FROM cliente
/*
+----+-----------+-----------+-----------+---------+-----------+
| id | nombre | apellido1 | apellido2 | ciudad | categoria |
+----+-----------+-----------+-----------+---------+-----------+
| 2 | Adela | Salas | Díaz | Granada | 200 |
| 3 | Adolfo | Rubio | Flores | Sevilla | NULL |
| 4 | Adrián | Suáres | NULL | Jaén | 300 |
| 5 | Marcos | Loyola | Méndez | México | 200 |
| 6 | María | Santana | Moreno | Cádiz | 100 |
| 7 | Pilar | Ruiz | NULL | Sevilla | 300 |
| 8 | Pepe | Ruiz | Sanatana | Huelva | 200 |
| 9 | Guillermo | López | Gómez | Granada | 225 |
| 10 | Daniel | Santana | Loyola | Sevilla | 125 |
+----+-----------+-----------+-----------+---------+-----------+
7. Comprobar privilegios de consulta y actualización en la vista
cliente_pedido*/
SELECT * FROM cliente_pedido;
/*
+--------+-----------+-----------+------------+
| nombre | apellido1 | categoria | fecha |
+--------+-----------+-----------+------------+
| Adela | Salas | 200 | 2017-10-05 |
| Adela | Salas | 200 | 2015-09-10 |
| Adela | Salas | 200 | 2017-04-25 |
| Adolfo | Rubio | NULL | 2016-08-17 |
| Adrián | Suáres | 300 | 2017-10-10 |
| Marcos | Loyola | 200 | 2017-10-05 |
| Marcos | Loyola | 200 | 2017-09-10 |
| María | Santana | 100 | 2019-01-25 |
| María | Santana | 100 | 0000-00-00 |
| Pilar | Ruiz | 300 | 2016-07-27 |
| Pepe | Ruiz | 200 | 2016-08-17 |
| Pepe | Ruiz | 200 | 2016-10-10 |
| Pepe | Ruiz | 200 | 2015-06-27 |
+--------+-----------+-----------+------------+*/
UPDATE cliente_pedido
SET fecha = '2024-11-04' WHERE nombre = 'Pepe';
SELECT * FROM cliente_pedido;
/*
+--------+-----------+-----------+------------+
| nombre | apellido1 | categoria | fecha |
+--------+-----------+-----------+------------+
| Adela | Salas | 200 | 2017-10-05 |
| Adela | Salas | 200 | 2015-09-10 |
| Adela | Salas | 200 | 2017-04-25 |
| Adolfo | Rubio | NULL | 2016-08-17 |
| Adrián | Suáres | 300 | 2017-10-10 |
| Marcos | Loyola | 200 | 2017-10-05 |
| Marcos | Loyola | 200 | 2017-09-10 |
| María | Santana | 100 | 2019-01-25 |
| María | Santana | 100 | 0000-00-00 |
| Pilar | Ruiz | 300 | 2016-07-27 |
| Pepe | Ruiz | 200 | 2024-11-04 |
| Pepe | Ruiz | 200 | 2024-11-04 |
| Pepe | Ruiz | 200 | 2024-11-04 |
+--------+-----------+-----------+------------+
USUARIO 2
8. Crear un usuario (usuario1)*/
CREATE USER usuario2 IDENTIFIED BY '1234';
/*9. Consultar que fue creado el usuario*/
SELECT USER
FROM user;
/*
+------------------+
| USER |
+------------------+
| usuario1 |
| usuario2 |
| mysql.infoschema |
| mysql.session |
| mysql.sys |
| root |
+------------------+
10. Permitir la consulta y actualización de la tabla comerciantes sobre la
columna
nombre y comision de la base de datos GestionVentas*/
GRANT SELECT(nombre, comision), UPDATE(nombre, comision)
ON GestionVentas.comerciantes TO usuario2;
/*11. Comprobar privilegios de consulta y actualizacion en la tabla
comerciantes*/
UPDATE comision = 0.06 WHERE nombre = 'Diego';
USE GestionVentas
SELECT nombre, comision from comerciantes;
/*
+---------+----------+
| nombre | comision |
+---------+----------+
| Daniel | 0.15 |
| Juan | 0.13 |
| Diego | 0.11 |
| Marta | 0.14 |
| Antonio | 0.12 |
| Manuel | 0.13 |
| Antonio | 0.11 |
| Alfredo | 0.05 |
+---------+----------+
12. Permitir la consulta sobre la tabla cliente de la base de datos
GestionVentas*/
GRANT SELECT ON GestionVentas.cliente TO usuario2;
/*13. Permitir la consulta y actulizacion sobre la tabla pedidos de la base
de datos GestionVentas*/
GRANT SELECT, UPDATE ON GestionVentas.pedido TO usuario2;
/*14. Comprobar los privilegios recien otorgados al usuario2*/
USE GestionVentas;
SELECT * FROM cliente;
SELECT * FROM pedido;
/*
+----+-----------+-----------+-----------+---------+-----------+
| id | nombre | apellido1 | apellido2 | ciudad | categoria |
+----+-----------+-----------+-----------+---------+-----------+
| 2 | Adela | Salas | Díaz | Granada | 200 |
| 3 | Adolfo | Rubio | Flores | Sevilla | NULL |
| 4 | Adrián | Suáres | NULL | Jaén | 300 |
| 5 | Marcos | Loyola | Méndez | México | 200 |
| 6 | María | Santana | Moreno | Cádiz | 100 |
| 7 | Pilar | Ruiz | NULL | Sevilla | 300 |
| 8 | Pepe | Ruiz | Sanatana | Huelva | 200 |
| 9 | Guillermo | López | Gómez | Granada | 225 |
| 10 | Daniel | Santana | Loyola | Sevilla | 125 |
+----+-----------+-----------+-----------+---------+-----------+
+----+---------+------------+------------+-----------------+
| id | total | fecha | id_cliente | id_comerciantes |
+----+---------+------------+------------+-----------------+
| 1 | 150.5 | 2017-10-05 | 5 | 2 |
| 2 | 270.65 | 2016-09-10 | 1 | 5 |
| 3 | 65.26 | 2017-10-05 | 2 | 1 |
| 4 | 110.5 | 2024-11-04 | 8 | 3 |
| 5 | 948.5 | 2017-09-10 | 5 | 2 |
| 6 | 2400.6 | 2016-07-27 | 7 | 1 |
| 7 | 5760 | 2015-09-10 | 2 | 1 |
| 8 | 1983.43 | 2017-10-10 | 4 | 6 |
| 9 | 2480.4 | 2024-11-04 | 8 | 3 |
| 10 | 250.45 | 2024-11-04 | 8 | 2 |
| 11 | 75.29 | 2016-08-17 | 3 | 7 |
| 12 | 3045.6 | 2017-04-25 | 2 | 1 |
| 13 | 545.75 | 2019-01-25 | 6 | 1 |
| 14 | 145.82 | 0000-00-00 | 6 | 1 |
| 15 | 370.85 | 2019-03-11 | 1 | 5 |
| 16 | 2389.23 | 2019-03-11 | 1 | 5 |
+----+---------+------------+------------+-----------------+
*/
UPDATE pedido
SET total = 2083
WHERE id = 8;
SELECT * FROM pedido;
/*
+----+---------+------------+------------+-----------------+
| id | total | fecha | id_cliente | id_comerciantes |
+----+---------+------------+------------+-----------------+
| 1 | 150.5 | 2017-10-05 | 5 | 2 |
| 2 | 270.65 | 2016-09-10 | 1 | 5 |
| 3 | 65.26 | 2017-10-05 | 2 | 1 |
| 4 | 110.5 | 2024-11-04 | 8 | 3 |
| 5 | 948.5 | 2017-09-10 | 5 | 2 |
| 6 | 2400.6 | 2016-07-27 | 7 | 1 |
| 7 | 5760 | 2015-09-10 | 2 | 1 |
| 8 | 2083 | 2017-10-10 | 4 | 6 |
| 9 | 2480.4 | 2024-11-04 | 8 | 3 |
| 10 | 250.45 | 2024-11-04 | 8 | 2 |
| 11 | 75.29 | 2016-08-17 | 3 | 7 |
| 12 | 3045.6 | 2017-04-25 | 2 | 1 |
| 13 | 545.75 | 2019-01-25 | 6 | 1 |
| 14 | 145.82 | 0000-00-00 | 6 | 1 |
| 15 | 370.85 | 2019-03-11 | 1 | 5 |
| 16 | 2389.23 | 2019-03-11 | 1 | 5 |
+----+---------+------------+------------+-----------------+
15. Retirar los privilegios sobre la tabal clientes sobre la tabla clientes
de la base de datos
GestionVentas al usuario 2*/
REVOKE SELECT ON GestionVentas.cliente FROM usuario2;
show tables;
/*
+-------------------------+
| Tables_in_gestionventas |
+-------------------------+
| comerciantes |
| pedido |
+-------------------------+*/