0% encontró este documento útil (0 votos)
12 vistas8 páginas

PTBD15 Accesogestionventas

El documento describe un proyecto de base de datos en el que se crea una vista llamada 'cliente_pedido' y se gestionan usuarios con permisos específicos para consultar y actualizar tablas en la base de datos 'GestionVentas'. Se realizan acciones como la creación de usuarios, la concesión de permisos y la verificación de privilegios, así como actualizaciones en las tablas y vistas. Finalmente, se revocan algunos privilegios a uno de los usuarios.

Cargado por

Zahid Uribe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
12 vistas8 páginas

PTBD15 Accesogestionventas

El documento describe un proyecto de base de datos en el que se crea una vista llamada 'cliente_pedido' y se gestionan usuarios con permisos específicos para consultar y actualizar tablas en la base de datos 'GestionVentas'. Se realizan acciones como la creación de usuarios, la concesión de permisos y la verificación de privilegios, así como actualizaciones en las tablas y vistas. Finalmente, se revocan algunos privilegios a uno de los usuarios.

Cargado por

Zahid Uribe
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

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 |
+-------------------------+*/

También podría gustarte