Práctica DML sobre a base de datos traballadores
Sumario
- 1 Introdución
- 2 Tarefas
- 2.1 Tarefa 1.1. Inserir unha fila
- 2.2 Tarefa 1.2. Inserir vairas filas
- 2.3 Tarefa 1.3. Aumentar o salario
- 2.4 Tarefa 1.4. Cambiar data de ingreso
- 2.5 Tarefa 1.5. Aumento de salario os traballadores dun departamento
- 2.6 Tarefa 1.6. Reducir presuposto anual
- 2.7 Tarefa 1.7. Script para facer cambios
- 2.8 Tarefa 1.8. Borrar empregado
- 2.9 Tarefa 1.9. Borrar determinados empregados
- 2.10 Tarefa 1.10. Borrar departamento e empregados
- 2.11 Tarefa 1.11. Táboa temporal
- 3 Solución
Introdución
Partimos da base de datos de traballadores.
A tarefa consiste en realizar as seguintes operacións de manipulación de datos utilizando sentenzas:
- INSERT (manual de referencia e titorial e outros [1][2],[3])
- REPLACE (manual de referencia e titorial e outros [4])
- UPDATE (manual de referencia e titorial)
- DELETE (manual de referencia e titorial)
Tarefas
Tarefa 1.1. Inserir unha fila
Inserir unha fila na táboa centros cos seguintes datos:
| Nome columna | Valor ou observacións |
|---|---|
| cenNumero | 40 |
| cenNome | FRANQUICIA LUGO |
| cenEnderezo | C/ PROGRESO, 8 - LUGO |
Tarefa 1.2. Inserir vairas filas
Inserir na táboa empregado, nunha única sentenza INSERT, as filas cos datos do seguintes empregados:
| Nome columna | Valor ou observacións |
|---|---|
| empNome | BARCIA, ANGELES |
| empNumero | 750 |
| empDepartamento | 110 |
| empExtension | 25 |
| empDataNacemento | 12 de febreiro de 1990 |
| empDataIngreso | Hoxe |
| empSalario | 825 |
| empComision | 50 |
| empFillos | 1 |
| Nome columna | Valor ou observacións |
|---|---|
| empNome | MENDEZ, RICARDO |
| empNumero | 751 |
| empDepartamento | 110 |
| empExtension | 25 |
| empDataNacemento | 22 de outubro de 1985 |
| empDataIngreso | Fai 15 días |
| empSalario | 900 |
| empComision | Descoñecida polo momento |
| empFillos | 0 |
| Nome columna | Valor ou observacións |
|---|---|
| empNome | BERNARDEZ, LUCIA |
| empNumero | 752 |
| empDepartamento | 120 |
| empExtension | 45 |
| empDataNacemento | 9 de maio de 1992 |
| empDataIngreso | Descoñecida. Pendente de facer contrato |
| empSalario | 1200 |
| empComision | 150 |
| empFillos | 2 |
| Nome columna | Valor ou observacións |
|---|---|
| empNome | VALIN, EVA |
| empNumero | 753 |
| empDepartamento | 100 |
| empExtension | 200 |
| empDataNacemento | 5 de novembro de 1980 |
| empDataIngreso | Hoxe |
| empSalario | 1000 |
| empComision | 300 |
| empFillos | 1 |
Tarefa 1.3. Aumentar o salario
Acórdase aumentar o salario a todos os empregados un 5% e a comisión un 6,5% como consecuencia da revisión do convenio. Facer as modificacións correspondentes na base de datos.
Pistas -- Se da erro -- Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. -- pódese solucionar executando previamente -- SET SQL_SAFE_UPDATES = 0;
A función round pode ser interesante para axustar o número de decimales
Tarefa 1.4. Cambiar data de ingreso
Cambiarlle a data de ingreso na empresa do empregado número 752, asignándolle a data que corresponde ao día 1 do mes seguinte ao mes actual.
Pistas adddate last_date curdate
Tarefa 1.5. Aumento de salario os traballadores dun departamento
Aumentar un 2% o salario a todos os empregados do departamento 120.
Pista Con round podes redondear o valor
Tarefa 1.6. Reducir presuposto anual
Reducir nun 10% o presuposto anual do departamento que teña o presuposto máis alto na actualidade.
Pistas ifnull
Tarefa 1.7. Script para facer cambios
Escribir un script para facer todos os seguintes cambios nos presupostos dos departamentos pero sen modificar o presuposto total:
- Traspasar 20000 do presuposto do departamento de 'PERSOAL' ao departamento de PROCESO DE DATOS.
- Reducir en 10000 o presuposto do departamento de 'SECTOR INDUSTRIAL', dos que 4000 se traspasan ao departamento de 'ORGANIZACION' e 6000 ao departamento de 'DIRECCION COMERCIAL'.
Tarefa 1.8. Borrar empregado
Borra o empregado co número 380.
Tarefa 1.9. Borrar determinados empregados
Borrar da táboa dos empregados aos que teñan cumpridos os 60 anos.
Tarefa 1.10. Borrar departamento e empregados
Escribir unha única sentenza que permita borrar da táboa departamento o departamento número 121 e da táboa empregado todos os empregados que traballan nese departamento.
Pista Join
Tarefa 1.11. Táboa temporal
Executar o seguinte script para poder crear unha táboa temporal co nome empregado_120:
1 create temporary table empregado_120 like empregado;
Inserir na táboa empregado_120 os datos de todas as filas da táboa empregado que teñan o valor 120 na columna empDepartamento;
Pista Unha táboa temporal se usa coa palabra clave temporary; e é so visible durante a actual sesión, perndéndose a mesma ó finalizar a sesión. Podes atopar máis información no manual de referencia de MySQL ou en titoriais.
Solución
Podes consultar a solución á practica DML sobre a base de datos traballadores.