Professional Documents
Culture Documents
Ejercicios
En este Manual de Trabajo a aparece el acceso a los distintos ejercicios
opcionales
obligatorios
del
curso
de
SQL
con
MySQL.
Los ejercicios estn divididos segn los bloques del curso: Parte I, Parte
II y Parte III. Selecciona cada uno de los bloques para acceder a los
ejercicios correspondientes.
Todas estas tareas (salvo en Temas 1 y 2) deben quedar reflejadas en
sentencias sql y guardadas en un fichero de script llamado, por ejemplo,
actividad_temaXX.sql con los comentarios necesarios que consideres
pertinentes.
Si encuentras problemas o dificultades en la realizacin del ejercicio, no
tengas duda en preguntar al tutor o incluso enviarle las sentencias que no
funcionan como deben, para que lo vea y te ayude en la resolucin de
esta actividad. No obstante, ten en cuenta que no se trata de un ejercicio
de autoevaluacin, sino de evaluacin por parte del tutor, por lo cual
debes intentar resolverlo por tu cuenta.
Cuando acabes la actividad propuesta, comprime el fichero .sql en nico
fichero tipo .zip o .rar y envalo al tutor, para que pueda comprobar el
grado de tu aprendizaje y orientarte adecuadamente, si lo precisas.
Parte I, tema 1
El lenguaje de gestin de base de datos
Obligatorio
NOTA: el objetivo es familiarizarse con una base de datos relacional observando la
estructura de las tablas y las relaciones entre ellas. Estos ejercicios deben realizarse
estudiando el contenido de las tablas y la forma de relacionarse entre ellas
para
verificar
la
Parte I, tema 2
Elementos del lenguaje
Obligatorio
NOTA: el objetivo es familiarizarse con una base de datos relacional observando la
estructura de las tablas y las relaciones entre ellas. Estos ejercicios deben realizarse
estudiando el contenido de las tablas y la forma de relacionarse entre ellas
a. LPAD(cad)
b. LOWER(cad)
c. LENGTH(cad)
8.- Para calcular en nmero de das entre dos fechas (fecha1 y fecha2)
utilizaremos la funcin:
a. DATESUBB(fecha1, fecha2)
b. DATEDIFF( fecha1,fecha2)
c. DUBDATE( fecha1,fecha2)
9.- Para sumar las columnas salario (no puede contener nulos) y comision
(si puede contener nulos) necesitaremos la expresin:
a. salario + comision
b. IFNULL (salario,0) + comision
c. salario + IFNULL(comision,0)
Parte I, tema 3
Creacin de tablas
Obligatorio
NOTA: No se pueden crear tablas con el mismo nombre que otras ya existentes en la
misma base de datos. Si estuviesen ya creadas con ese nombre, es necesario
borrarlas previamente
Tipo
alfanumrico
alfanumrico
alfanumrico
alfanumrico
alfanumrico
alfanumrico
Tabla ARTICULOS
Campo
Referencia_articulo
Descripcin_articulo
Precio_unidad
IVA
Existencias_actuales
Tipo
alfanumrico de 12 caracteres
alfanumrico de 30 caracteres
numrico de 6 posiciones, con dos decimales
numrico de 2 posiciones
numrico de 5 posiciones
Tabla FACTURAS
Campo
Factura_no
Fecha_factura
CIF_cliente
Tipo
numrico de 6 posiciones
tipo fecha
alfanumrico de 11 caracteres
Tabla LINEAS_FACTURA
Campo
Factura_no
Referencia_articulo
Unidades
Tipo
numrico de 6 posiciones
alfanumrico de 12 caracteres
numrico de 3 posiciones
de
de
de
de
de
de
11 caracteres
30 caracteres
30 caracteres
30 caracteres
5 caracteres
9 caracteres
Enunciado
1. Creacin de las tablas con las restricciones.
a. Crear la tabla COMPRADORES con la columna de columna cif_comprador
como clave primaria con nombre PK_COMPRADORES_CIF, y la columna
nombre_social nica con nombre UQ_COMPRADORES_NOMBRE_SOCIAL. La
columna telefono debe ser obligatoria.
Parte I, tema 4
Actualizacin de tablas
Obligatorio
NOTA: si se quiere hacer pruebas y que las actualizaciones de las tablas no sean validadas,
se puede trabajar con el parmetro AUTOCOMMIT = 0. As, en cualquier momento,
tendremos la posibilidad de hacer ROLLBACK para deshacer los cambios o COMMIT para
validarlos.
Enunciado
Para poder trabajar con las tablas creadas en el tema anterior vamos a insertar
algunos valores. Estas inserciones son indispensables para poder realizar los
siguientes ejercicios
1. Realizar las inserciones de las siguientes filas:
Tabla COMPRADORES
Cif_comprador Nombre_social
Domicilio
Localidad C postal Telefono
111111-L
TELARES ASUNCION C. LA RUA 5
ALBACETE 02002
97223141
222222-J
TEXTIL LAGO
PLAZA MAYOR 2 ALMERIA
04131
95434567
Tabla ARTICULOS
Referencia_articuloDescricion_articuloPrecio_unidadIVAExistencias_actuales
01-LANA
LANA 100% NATURAL 31.09
10 100
02-ALGODON
ALGODN DE 2 CABOS 18.00
10 155
03-SEDA
SEDA CHINA
55.50
15 190
04-LINO
LINO EUROPEO
44.00
12 250
Tabla FACTURAS
Factura_no
1
2
3
4
Fecha_factura
12 de mayo de 2004
18 de julio de 2004
31 de julio de 2004
10 de agosto de 2004
Cliente_no
111111-L
111111-L
222222-J
222222-J
Tabla LINEAS_FACTURAS
Factura_no
Referencia_articulo
1
01-LANA
1
04-LINO
2
01-LANA
2
02-ALGODN
Cod_oficina
1212
1231
1406
1212
Unidades
120
75
20
50
Precio_unidad
10.99
IVA
10
indicar
que
ha
descripcion_articulo
BLOQUE I (temas 1, 2, 3 y 4)
SQL CON MYSQL
"Evaluacin I"
Marca la casilla con la respuesta correcta
el
objetos
la
acceso
en
informacin
a
una
almacenada
la
informacin
base
en
de
la
base
datos
de
datos
IS
COMISION
COMISION
NULL
0
NULL
LIKE
'A%'
Nombre
LIKE
'A_'
11. Para indicar que una columna va a ser clave ajena se necesitan
las clusulas:
FOREIGN KEY
FOREIGN KEY con REFERENCES
FOREIGN KEY con REFERENCES y ON DELETE CASCADE
FOREIGN KEY y PRIMARY KEY
13.
La
clusula
ON
DELETE
CASCADE:
15. Para cambiar de nombre la tabla Uno por Dos podemos utilizar:
ALTER TABLE Uno RENAME TO Dos;
RENAME TABLE Uno TO Dos;
Los dos anteriores
Ninguno de los anteriores
departamentos
(dnombre,
localidad)
VALUES
INSERT
INTO
(50,'MARKETING');
departamentos
(dep_no,
dnombre)
VALUES
INSERT
INTO
('MARKETING',50);
departamentos
(dnombre,
dep_no)
VALUES
salario
FROM
empleados
SET
salario
100;
BLOQUE I (temas 5, 6, 7, 8 y 9)
SQL CON MYSQL
"Evaluacin II"
Marca la casilla con la respuesta correcta
1. La clusula WHERE:
Selecciona
las
filas
seleccionadas
que
cumplan
una
condicin
FROM
empleados
ORDER
BY salario
LIMIT 3;
6. La clusula HAVING:
Establece unas condiciones para la seleccin de grupos formados con
GROUP BY
Realiza lo mismo que la clusula WHERE
Sustituye a WHERE cuando existe GROUP BY
Ordena los resultados de la agrupacin
FROM
empleados
WHERE
filas
todas
de
las
filas
ms
resultantes
de
de
una
multiplicar
tabla
tablas
FROM
SELECT
pedido_no,nombre,descripcin,unidades
pedidos,productos,clientes
WHERE
cliente_no=cliente_no
producto_no=producto_no;
FROM
AND
SELECT
pedido_no,nombre,descripcin,unidades
FROM
pedidos
p,productos
pr,clientes
c
WHERE
p.cliente_no=c.cliente_no
AND
p.producto_no=pr.producto_no;
SELECT
pedido_no,nombre,descripcin,unidades
FROM
pedidos
p,productos
pr,clientes
c
WHERE
p.cliente_no=c.cliente_no
AND
p.producto_no=pr.producto_no AND p.pedido=pr.pedido_no;
16. Para listar los clientes con sus pedidos, incluyendo aquellos que
no
tengan
ningn
pedido:
SELECT c.cliente_no,nombre,pedido_no FROM clientes c RIGHT JOIN
pedidos
p
ON
c.cliente_no=p.cliente_no;
SELECT c.cliente_no,nombre,pedido_no FROM clientes c LEFT JOIN
pedidos
p
ON
c.cliente_no=p.cliente_no;
SELECT c.cliente_no,nombre,pedido_no FROM clientes c JOIN pedidos p
ON
c.cliente_no=p.cliente_no;
SELECT c.cliente_no,nombre,pedido_no FROM clientes c,pedidos p
WHERE c.cliente_no=p.cliente_no;
se
que
puede
crearla
idntica
20. Al eliminar una vista, los datos de las tablas en las que se basa la
vista quedarn afectados:
Se eliminan todos los datos de las tablas en las que se basa la vista.
Se eliminan solamente las filas que estaban incluidas en la seleccin de la
vista.
Se elimina la vista y las tablas y vistas asociadas.
Ninguna de las anteriores
EMPLEADOS
necesariamente debe haber un fichero asociado llamado empleados.frm donde
estn los datos almacenados.
necesariamente debe haber un fichero asociado llamado empleados.frm donde
estn los ndices almacenados.
necesariamente debe haber un fichero asociado llamado empleados.MYD
donde estn los datos almacenados.
la
tabla
empleados
tipo
InnoDB.
la
tabla
empleados
mediante
una
desfragmentacin.
IDENTIFIED
BY
de
una
sentencia
GRANT.
sentencia
La
sentencia
La
sentencia
tiene
error
encripta
tiene
la
error
de
sintaxis
password
de
la
la
sintaxis
la
est
sentencia
1
est
correcta.
1
no.
correcta.
es
es
solo
solo
para
para
tablas
tablas
InnoDB.
MyISAM.
configurar
el
balanceo
de
carga
en
las
consultas.
configurar el balanceo
de carga en las
transacciones.
maestro
Un
esclavo
puede
solo
tener
debe
muchos
tener
esclavos.
un
maestro.
tener
Deben
acceder
las peticiones
dos
a
por dos
directorios
distintos
de
datos
fichero
de
diferentes.
configuracin.
TABLE
INDEX
INDEX
mitabla
ADD
miindice
miindice
ON
INDEX
micampo
FROM
miindice(micampo);
FROM
mitabla
mitabla;
(micampo);
Enunciado
1. Escribir los apellidos de los empleados junto con sus fechas de alta en
formato: <<numero del da>> de <<nombre del mes>> de <<ao con 4
dgitos>>
2. Hallar por orden alfabtico los apellidos de los empleados, suprimiendo
las tres ltimas letras, mostrando solo aquellos cuyo apellido tenga ms
de seis caracteres
3. Se desea hacer un regalo de un 3% del salario a los empleados que no
tienen comisin. Obtener el listado ordenado por orden alfabtico con los
apellidos y el importe de los regalos
4. Obtener los datos de los empleados cuyo salario total
(salario+comisin) supere los 2.000 euros, siempre que adems su
salario supere los 1800 euros o su comisin supere los 500 euros
5. Visualizar los datos del empleado de oficio DIRECTOR ms antiguo en
la empresa.
6. Visualizar los datos de los dos empleados que ganan ms salario entre los empleados
de los departamento 20 y 30
BLOQUE II (temas 1, 2, 3 y 4)
SQL CON MYSQL
"Evaluacin I"
Marca la casilla con la respuesta correcta
clausula
WHERE
sera
la
adecuada:
9. Para
crear
una
tabla
se
necesita:
Un nombre de tabla
Las definiciones de las columnas
El nombre de la tabla y las definiciones de las columnas
El nombre de la tabla y sus restricciones
NULL
FOREIGN
KEY
CHECK
PRIMARY KEY
11. Para indicar que una columna va a ser clave ajena se necesitan
las
clusulas:
FOREIGN KEY
FOREIGN
KEY
con
REFERENCES
13.
La
Es
clusula
obligatoria
ON
para
DELETE
crear
CASCADE:
una
clave
ajena
Es obligatoria para crear una clave ajena que permita el borrado automtico
de
filas
cuando
se
ha
borrado
la
clave
principal
Sirve
para
borrar
filas
seleccionadas
con
un
WHERE
14. Para
aadir
una
columna
una
tabla
ya
creada:
INTO
departamentos
VALUES
(50,
'MARKETING');
departamentos
(dnombre,
localidad)
VALUES
INSERT
INTO
(50,'MARKETING');
departamentos
(dep_no,
dnombre)
VALUES
INSERT
INTO
('MARKETING',50);
departamentos
(dnombre,
dep_no)
VALUES
salario
FROM
empleados
SET
salario
100;
BLOQUE II (temas 5, 6, 7, 8 y 9)
SQL CON MYSQL
"Evaluacin II"
Marca la casilla con la respuesta correcta
1. La clusula WHERE:
Selecciona
las
filas
seleccionadas
que
cumplan
una
condicin
BY
salario,apellido
ORDER
BY
apellido,salario
ORDER
BY
salario
DESC
DESC,apellido
FROM
empleados
ORDER
BY salario
LIMIT 3;
4.
Las
funciones
de
grupo
exigen
GROUP
BY:
Siempre
Nunca
No siempre, si se considera que todas las filas de la tabla forman un nico
grupo
Da lo mismo
las
Son
las
que
que
se
se
quiera
han
especificar
puesto
en
la
sin
otra
clusula
restriccin
GROUP
BY
6. La clusula HAVING:
Establece unas condiciones para la seleccin de grupos formados con
GROUP BY
Realiza lo mismo que la clusula WHERE
Sustituye a WHERE cuando existe GROUP BY
Ordena los resultados de la agrupacin
MAX(salario),dep_no
FROM
empleados
FROM
empleados
WHERE
una
los
consulta
resultados
sobre
de
un
una
subconjunto
consulta
dentro
de
de
datos
otra
WHERE cliente_no=(SELECT
localidad='BARCELONA');
filas
todas
de
las
filas
ms
resultantes
de
de
una
multiplicar
tabla
tablas
FROM
SELECT
pedido_no,nombre,descripcin,unidades
pedidos,productos,clientes
WHERE
cliente_no=cliente_no
producto_no=producto_no;
FROM
AND
SELECT
pedido_no,nombre,descripcin,unidades
FROM
pedidos
p,productos
pr,clientes
c
WHERE
p.cliente_no=c.cliente_no
AND
p.producto_no=pr.producto_no;
SELECT
pedido_no,nombre,descripcin,unidades
FROM
pedidos
p,productos
pr,clientes
c
WHERE
p.cliente_no=c.cliente_no
AND
p.producto_no=pr.producto_no AND p.pedido=pr.pedido_no;
16.Para listar los clientes con sus pedidos, incluyendo aquellos que
no tengan ningn pedido:
SELECT c.cliente_no,nombre,pedido_no FROM clientes c RIGHT JOIN
pedidos
p
ON
c.cliente_no=p.cliente_no;
SELECT c.cliente_no,nombre,pedido_no FROM clientes c LEFT JOIN
pedidos
p
ON
c.cliente_no=p.cliente_no;
ON
No se puede
Hay que crearla idntica
Se puede crear a partir de una consulta sobre la tabla ya creada
Se puede hacer usando dos sentencias CREATE concatenadas
20.Al eliminar una vista, los datos de las tablas en las que se basa la
vista quedarn afectados:
Se eliminan todos los datos de las tablas en las que se basa la vista.
Se eliminan solamente las filas que estaban incluidas en la seleccin de la
vista.
Se
elimina
la
vista
las
tablas
vistas
asociadas.
EMPLEADOS
necesariamente debe haber un fichero asociado llamado empleados.frm donde
estn los datos almacenados.
necesariamente debe haber un fichero asociado llamado empleados.frm donde
estn los ndices almacenados.
necesariamente debe haber un fichero asociado llamado empleados.MYD
donde estn los datos almacenados.
la
tabla
empleados
tipo
InnoDB.
la
tabla
empleados
mediante
una
desfragmentacin.
sentencia
La
sentencia
La
sentencia
tiene
error
encripta
tiene
la
error
de
sintaxis
password
de
la
la
sintaxis
la
est
sentencia
1
est
correcta.
1
no.
correcta.
es
es
solo
solo
para
para
tablas
tablas
InnoDB.
MyISAM.
configurar
el
balanceo
de
carga
en
las
consultas.
configurar el balanceo
de carga en las
transacciones.
maestro
Un
esclavo
puede
solo
tener
debe
muchos
tener
un
esclavos.
maestro.
tener
Deben
acceder
las peticiones
dos
a
por dos
directorios
distintos
de
fichero
diferentes.
configuracin.
TABLE
mitabla
INDEX
CREATE
ADD
miindice
INDEX
ON
miindice
INDEX
miindice(micampo);
micampo
FROM
FROM
mitabla
mitabla;
(micampo);
se
activa
el
binary
log
file.
Que
se
activa
el
query
log
file.
Que
se
activa
el
error
log
file.
un
servicio
de
activado
el
binary
log
file.
19.
Para
poder
iniciar
tener
replicacin:
Es
aconsejable
Es
necesario
tener
activado
el
query
log
file.
Es
necesario
tener
activado
el
binary
log
file.
id_nac
3
6
2
4
5
6
1
id_aut
de
las
2
3
4
5
6
7
El secuestro de Miss
6
Blandish
Una princesa en Berln 2
Solal
4
Los Indiferentes
5
El cabra
6
Asuntos Exteriores
1
Enunciado
Se pide:
1. Debes acceder al servidor como root y crear la base de datos LIBROS y
a continuacin crear un usuario con password llamado librero con
derechos totales en la base de datos LIBROS y con el permiso FILE que
permite importar ficheros a tablas y exportar tablas a ficheros.
2. Establecer una conexin al servidor MySQL con el usuario librero y
acceder a la base de datos LIBROS. Realizar con este usuario las tareas
necesarias de administracin de BD para pasar la informacin desde el
fichero TituloAutorNacionalidad.txt a las tablas NACIONALIDADES ,
AUTORES y TITULOS. Habr que tener en cuenta que los campos
llamados Id en cada una de las tablas deben ser de tipo auto_increment.
3. Incluye las restricciones de integridad que consideres necesarias entre
las tres tablas.
4. Genera los ficheros ASCII nacionalidades.txt, autores.txt y titulos.txt
exportando las tablas NACIONALIDADES , AUTORES y TITULOS como
ficheros de texto de campos delimitados. El carcter delimitador ser # y
los campos de texto deben ir entrecomillados
Todas estas tareas deben quedar reflejadas en sentencias sql y guardadas
en un fichero de script llamado, por ejemplo, act1_administracion.sql con
los comentarios necesarios que consideres pertinentes.
Si encuentras problemas o dificultades en la realizacin del ejercicio, no
tengas duda en preguntar al tutor o incluso enviarle las sentencias que no
funcionan como deben, para que lo vea y te ayude en la resolucin de
esta actividad. No obstante, ten en cuenta que no se trata de un ejercicio
de autoevaluacin, sino de evaluacin por parte del tutor, por lo cual
debes intentar resolverlo por tu cuenta.
Cuando acabes la actividad propuesta, comprime el fichero .sql en nico
fichero tipo .zip o .rar y envalo al tutor o tutora, para que pueda
comprobar el grado de tu aprendizaje y orientarte adecuadamente, si lo
precisas.
Enunciado
Este ejercicio consiste en hacer una simulacin de un error de actuacin
sobre una base de datos que obliga al Administrador del servidor de base
de datos MySQL a iniciar un proceso de recuperacin de los datos a partir
de la ltima copia de seguridad realizada y posteriormente ejecutar las
sentencias almacenadas en el fichero de log para dejar la base de datos
exactamente como se encontraba inmediatamente antes de producirse el
error.
Pasos a dar para la ejecucin de la prctica.
1. Activa el binary log en el servidor MySQL y comprueba su
funcionamiento correcto. (Lee detenidamente el punto 12.1.4 de la
Documentacin del curso)
2. Crea una base de datos para nuestra prueba llamado por ejemplo
PRUEBACOPIA y crgala con dos tablas a partir del script siguiente:
CREATE DATABASE PRUEBACOPIA;
USE PRUEBACOPIA;
CREATE
TABLE
(
DEP_NO
DNOMBRE
LOCALIDAD
CONSTRAINT
PK_DEPARTAMENTOS_DEP_NO
) engine=myisam;
PRIMARY
DEPARTAMENTOS
INT(2),
VARCHAR(14),
VARCHAR(10),
KEY
(DEP_NO)
INSERT
INTO
DEPARTAMENTOS
VALUES(10,
'CONTABILIDAD',
'BARCELONA');
INSERT
INTO
DEPARTAMENTOS
VALUES(20,
'INVESTIGACION',
'VALENCIA');
INSERT INTO DEPARTAMENTOS VALUES(30, 'VENTAS', 'MADRID');
INSERT
INTO
DEPARTAMENTOS
VALUES(40,
'PRODUCCION',
'SEVILLA');
CREATE
(
APELLIDO
TABLE
EMP_NO
EMPLEADOS
INT(4),
VARCHAR(8),
OFICIO
VARCHAR(10),
DIRECTOR
INT(4),
FECHA_ALTA
DATE,
SALARIO
FLOAT(6,2),
COMISION
FLOAT(6,2),
DEP_NO
INT
(2),
CONSTRAINT
PK_EMPLEADOS_EMP_NO
PRIMARY
KEY
(EMP_NO),
CONSTRAINT
FK_EMP_DIRECTOR
FOREIGN
KEY
(DIRECTOR)
REFERENCES
EMPLEADOS(EMP_NO),
CONSTRAINT
FK_EMP_DEP_NO
FOREIGN
KEY
(DEP_NO)
REFERENCES
DEPARTAMENTOS(DEP_NO)
)engine=myisam;
INSERT
INTO
EMPLEADOS
VALUES
(7839,'REY',
'PRESIDENTE',NULL,'1981-11-17',6000.00,
NULL,
10);
INSERT INTO EMPLEADOS VALUES (7698,'GARRIDO', 'DIRECTOR',
7839,'1981-5-1',3850.00,
NULL,
30);
INSERT INTO EMPLEADOS VALUES (7782,'MARTINEZ','DIRECTOR',
7839,'1981-6-1',2450.00,
NULL,
10);
INSERT
INTO
EMPLEADOS
VALUES(7499,'ALONSO',
'VENDEDOR',
7698,'1981-2-20',1400.00,400.00,30);
INSERT INTO EMPLEADOS VALUES (7521,'LOPEZ', 'EMPLEADO',
7782,'1981-5-8',1350.00,
NULL,10);
INSERT INTO EMPLEADOS VALUES (7654,'MARTIN', 'VENDEDOR',
7698,'1981-9-28',1500.00,
1600.00,
30);
INSERT INTO EMPLEADOS VALUES (7844,'CALVO', 'VENDEDOR',
7698,'1981-9-8',1800.00,
0,
30);
INSERT
INTO
EMPLEADOS
VALUES
(7876,'GIL',
'ANALISTA',
7782,'1982-5-6',3350.00,
NULL,
20);
INSERT INTO EMPLEADOS VALUES (7900,'JIMENEZ', 'EMPLEADO',
7782,'1983-3-24',1400.00, NULL, 20);
el
objetos
la
acceso
en
informacin
a
una
almacenada
la
informacin
base
en
de
la
base
datos
de
datos
9.
Para
crear
una
tabla
se
necesita:
Un nombre de tabla
Las definiciones de las columnas
El
nombre
de
la
tabla
las
definiciones
de
las
columnas
11. Para indicar que una columna va a ser clave ajena se necesitan
las clusulas:
FOREIGN KEY
FOREIGN KEY con REFERENCES
FOREIGN KEY con REFERENCES y ON DELETE CASCADE
FOREIGN KEY y PRIMARY KEY
12. Una restriccin se puede definir a nivel de columna:
Siempre se puede definir
Si
no
Si
le
afecta
queremos
a
dar
una
un
sola
nombre
columna
13.
La
Es
de
clusula
obligatoria
ON
para
DELETE
crear
CASCADE:
una
clave
ajena
Es obligatoria para crear una clave ajena que permita el borrado automtico
filas
cuando
se
ha
borrado
la
clave
principal
Sirve
para
borrar
filas
seleccionadas
con
un
WHERE
14. Para
aadir
una
columna
una
tabla
ya
creada:
TABLE
Uno
RENAME
TO
Dos;
INTO
departamentos
VALUES
(50,
'MARKETING');
departamentos
(dnombre,
localidad)
VALUES
INSERT
INTO
(50,'MARKETING');
departamentos
(dep_no,
dnombre)
VALUES
INSERT
INTO
('MARKETING',50);
departamentos
(dnombre,
dep_no)
VALUES
salario
FROM
empleados
SET
salario
100;
19.
La
instruccin
Es
DELETE
incorrecta
FROM
empleados:
errnea
Elimina
el
ltimo
empleado
de
la
tabla
empleados
Elimina
el
primer
empleado
de
la
tabla
empleados
1. La clusula WHERE:
Selecciona
las
Establece
Indica
filas
seleccionadas
un
sobre
qu
que
criterio
tabla
se
cumplan
de
est
una
condicin
ordenacin
realizando
la
consulta
alfabticamente
por
apellido:
ORDER BY salario,apellido
ORDER
BY
apellido,salario
ORDER
BY
salario
DESC
DESC,apellido
FROM
empleados
ORDER
BY salario
LIMIT 3;
4.
Las
funciones
de
grupo
exigen
GROUP
BY:
Siempre
Nunca
No siempre, si se considera que todas las filas de la tabla forman un nico
grupo
Da lo mismo
las
Son
las
que
que
se
se
quiera
han
especificar
puesto
en
la
sin
otra
clusula
restriccin
GROUP
BY
6.
La
clusula
HAVING:
lo
mismo
que
WHERE
cuando
la
clusula
existe
WHERE
GROUP
BY
MAX(salario),dep_no
FROM
empleados
FROM
empleados
WHERE
9.
Una
Realizar
Utilizar
una
los
subconsulta
consulta
consiste
sobre
resultados
de
un
una
en:
subconjunto
consulta
dentro
de
datos
de
otra
10.
Una
subconsulta
se
describe
en:
WHERE
HAVING
WHERE
HAVING
WHERE cliente_no=(SELECT
localidad='BARCELONA');
SELECT
AVG(salario)
FROM
empleados
GROUP
BY
oficio);
filas
todas
de
las
filas
ms
resultantes
de
de
una
multiplicar
tabla
tablas
FROM
SELECT
pedido_no,nombre,descripcin,unidades
pedidos,productos,clientes
WHERE
cliente_no=cliente_no
producto_no=producto_no;
FROM
AND
SELECT
pedido_no,nombre,descripcin,unidades
FROM
pedidos
p,productos
pr,clientes
c
WHERE
p.cliente_no=c.cliente_no
AND
p.producto_no=pr.producto_no;
SELECT
pedido_no,nombre,descripcin,unidades
FROM
pedidos
p,productos
pr,clientes
c
WHERE
p.cliente_no=c.cliente_no
AND
p.producto_no=pr.producto_no AND p.pedido=pr.pedido_no;
16. Para listar los clientes con sus pedidos, incluyendo aquellos que
no
tengan
ningn
pedido:
SELECT c.cliente_no,nombre,pedido_no FROM clientes c RIGHT JOIN
pedidos
p
ON
c.cliente_no=p.cliente_no;
SELECT c.cliente_no,nombre,pedido_no FROM clientes c LEFT JOIN
pedidos
p
ON
c.cliente_no=p.cliente_no;
SELECT c.cliente_no,nombre,pedido_no FROM clientes c JOIN pedidos p
ON
c.cliente_no=p.cliente_no;
SELECT c.cliente_no,nombre,pedido_no FROM clientes c,pedidos p
WHERE c.cliente_no=p.cliente_no;
se
Hay
que
puede
crearla
idntica
19.
Al
crear
una
vista:
20. Al eliminar una vista, los datos de las tablas en las que se basa la
vista
quedarn
afectados:
Se eliminan todos los datos de las tablas en las que se basa la vista.
Se eliminan solamente las filas que estaban incluidas en la seleccin de la
vista.
Se
elimina
la
vista
las
tablas
vistas
asociadas.
acceso
Consumen
los
datos
menos
Permiten
es
espacio
control
de
ms
de
rpido.
disco.
transacciones
definir
bloqueo
integridad
a
referencial
nivel
entre
de
tablas.
fila.
la
tabla
empleados
tipo
InnoDB.
la
tabla
empleados
mediante
una
desfragmentacin.
myisamchk
mysqlshow
mysqldump
mysqlimport
sentencia
La
sentencia
La
sentencia
tiene
error
encripta
tiene
la
error
de
sintaxis
password
de
la
la
sintaxis
la
est
sentencia
1
est
correcta.
1
no.
correcta.
es
es
solo
solo
para
para
tablas
tablas
InnoDB.
MyISAM.
11.
Indica
la
respuesta
correcta
12.
La
siguiente
sentencia
LOAD
DATA
LOCAL
INFILE
'C:\\temp\\misdatos.txt'
INTO
TABLE
mitabla
FIELDS TERMINATED BY '#' ENCLOSED BY '"'
LINES
TERMINATED
BY
'\n';
Busca el fichero misdatos.txt en la carpeta temp del servidor.
Busca el fichero misdatos.txt en la carpeta temp del cliente.
Busca primero el fichero misdatos.txt en la carpeta temp del servidor y si no
encuentra
busca
en
la
carpeta
temp
del
cliente.
Busca primero el fichero misdatos.txt en la carpeta temp del cliente y si no
encuentra busca en la carpeta temp del servidor.
configurar
el
balanceo
de
carga
en
las
consultas.
configurar el balanceo
de carga en las
transacciones.
maestro
Un
esclavo
puede
solo
tener
debe
muchos
tener
un
esclavos.
maestro.
tener
Deben
acceder
las peticiones
dos
por dos
directorios
distintos
de
datos
fichero
de
diferentes.
configuracin.
TABLE
mitabla
INDEX
CREATE
ADD
miindice
INDEX
ON
miindice
INDEX
micampo
FROM
miindice(micampo);
FROM
mitabla
mitabla;
(micampo);
se
activa
el
binary
log
file.
Que
se
activa
el
query
log
file.
Que
se
activa
el
error
log
file.
un
servicio
de
activado
el
binary
log
file.
19.
Para
poder
iniciar
tener
replicacin:
Es
aconsejable
Es
necesario
tener
activado
el
query
log
file.
Es
necesario
tener
activado
el
binary
log
file.