UD7 Practicas
UD7 Practicas
UD7 Practicas
Bases de datos
JCCA
[Unidad 7
Prácticas]
DML - DCL
Unidad 7: Prácticas Bases de datos
Sumario
Práctica 1. Gestión de empleados........................................................................................................3
Práctica 2. Transacciones......................................................................................................................4
Práctica 3. Usuarios y privilegios..........................................................................................................6
2
Unidad 7: Prácticas Bases de datos
Nombre de las bases de datos: pZ_ud7_pX (donde Z es el número de puesto y X el número de actividad solucionada).
Ejemplo: Rosa está en el puesto 61 y crea la base de datos de la práctica 2, entonces el nombre de la base de datos
será: p61_ud7_p2
Renombrar el archivo suministrado por el profesor, realizar los cambios necesarios en el código y ejecutar el spript.
6. Crea una nueva tabla con el nombre departamento_backup que tenga las mismas columnas
que la tabla departamento. Una vez creada copia todos las filas de tabla departamento en
departamento_backup.
9. Actualiza el código del departamento Recursos Humanos y asígnale el valor 30. ¿Es posible
actualizarlo? Si no fuese posible, ¿qué cambios debería realizar para que fuese actualizarlo?
10. Actualiza el código del departamento Publicidad y asígnale el valor 40. ¿Es posible
actualizarlo? Si no fuese posible, ¿qué cambios debería realizar para que fuese actualizarlo?.
Hay que suponer que no tenemos permisos de modificación de la estructura de tabla.
11. Actualiza el presupuesto de los departamentos sumándole 50000 € al valor del presupuesto
actual, solamente a aquellos departamentos que tienen un presupuesto menor que 20000€.
12. Realiza una transacción que elimine todas los empleados que no tienen un departamento
asociado.
3
Unidad 7: Prácticas Bases de datos
Práctica 2. Transacciones
Base de datos original: bd_ud7_p2
4
Unidad 7: Prácticas Bases de datos
5
Unidad 7: Prácticas Bases de datos
Nota: la clave para todos los usuarios, salvo que se indique lo contrario será: alumno
Realiza las siguientes operaciones y almacena los comandos y los resultados en un único archivo
asociado a esta práctica:
1. Crea un usuario llamado paco@localhost con permisos de solo conexión y comprueba que
se pueda conectar.
2. Crea un usuario llamado juan@localhost con permisos de solo conexión y comprueba que
se pueda conectar.
7. Conéctate con root y elimina todos los permisos que has concedido a Paco y Juan.
8. Otorga a juan los permisos de SELECT sobre las columnas CodigoOıcina y Ciudad de la tabla
Oıcinas de la base de datos jardineria.
9. Conéctate con juan y ejecuta la query: SELECT * from jardineria.Oficinas ¿Qué sucede?.
11. Crea un nuevo usuario llamado usuario@direccion_ip donde direccion_ip es una máquina
de un compañero tuyo y usuario su nombre.
12. Otórgale permisos de selección en todas las tablas de la base de datos jardineria. Ten
cuidado, es posible que tu servidor solo permita conexiones desde el ordenador local, para
permitir conexiones remotas debes comentar la linea bind-adress de tu fichero my.cnf que
impide conexiones desde otros sitios que no sea el especificado (127.0.0.1). Asegúrate de
reiniciar el servidor.
13. Pide a tu compañero que se conecte desde su máquina y que averigüe qué permisos le has
otorgado. El a ti te pedirá lo mismo, es decir, que te conectes a su máquina, indica qué
instrucción sql ejecutas para conocer los permisos que tienes.
6
Unidad 7: Prácticas Bases de datos
15. Concédele ahora permisos de creación de tablas en una nueva base de datos que has
creado.
16. Solicítale que se conecte y que pruebe a crear una tabla. ¿Puede consular la información?
18. Con la bbdd mysql consulta qué privilegios tiene el usuario juan@localhost a nivel de
servidor, a nivel de base de datos, a nivel de tablas y a nivel de columnas. Utiliza el
comando show grants for usuario.