Beruflich Dokumente
Kultur Dokumente
Ejercicios
En este Manual de Trabajo aparece el acceso a los distintos ejercicios opcionales y obligatorios del curso de SQL.
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.
Recuerda que para realizar los ejercicios de la Parte II y III, necesitars el fichero "ejecutame". Que se encuentra dentro de la carpeta Moving to sql.
5.- El cliente DISTRIBUCIONES GOMEZ pidi cuatro unidades del producto SILLA DIRECTOR MOD. BUFALO el 7 de enero de 2000:
a. Verdadero b. Falso, los datos son incorrectos c. Los datos facilitados son insuficientes afirmacin a. Un pedido b. Dos pedidos c. Tres pedidos para verificar la
c. Relacional
3.- Para comparar un dato alfanumrico con un patrn de comparacin que contiene caracteres comodines utilizaremos el operador:
a. IN b. LIKE c. =
4.- Siendo el valor de A verdadero (true) y el de B falso (false), el resultado de la expresin A AND B ser:
a. Verdadero (true) b. Falso (false) c. Nulo (null)
5.-Siendo el valor de A verdadero (true) y el de B nulo (null), el resultado de la expresin A AND B ser:
a. Verdadero (true) b. Falso (false) c. Nulo (null)
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)
de de de de de de
Tipo alfanumrico de 12 caracteres alfanumrico de 30 caracteres numrico de 6 posiciones, con dos decimales numrico de 2 posiciones numrico de 5 posiciones
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.
b. Crear la tabla ARTICULOS, con referencia_articulo como PRIMARY KEY con el nombre PK_ARTICULOS, la columna IVA con valores entre 5 y 25 inclusive y la columna existecias_actuales con valor por defecto 0. c. Crear la tabla FACTURAS con la columna factura_no como clave primaria con el nombre PK_FACTURAS, y la columna fecha_factura tendr como valor por defecto la fecha 1 de enero de 2005. d. Crear la tabla LINEAS_FACTURAS con las columnas factura_no y referencia_articulo como PRIMARY KEY con nombre PK_LINEAS_FACTURA, la columna factura_no como FOREIGN KEY con nombre FK_LINEAS_FACTURAS referenciando la columna factura_no de la tabla facturas con borrado en cascada y la columna referencia_articulo como FOREIGN KEY con nombre FK_LINEAS_ARTICULOS referenciando la columna referencia_articulo de la tabla articulos 2. Aadir a la tabla FACTURAS la columna cod_oficina de tipo numrico de 4 posiciones, con el nmero de oficina 3. Aadir en la tabla FACTURAS la columna cif_cliente como FORIEGN KEY con nombre FK_FACTURA_COMPRADORES referenciando a la columna cif_comprador de la tabla compradores 4. Cambiar en la tabla COMPRADORES el nombre de la columna c_postal por
texto_codigo_postal
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 111111-L TELARES ASUNCION 222222-J TEXTIL LAGO Domicilio Localidad C postal Telefono C. LA RUA 5 ALBACETE 02002 97223141 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
Unidades 120 75 20 50
indicar
que
ha
descripcion_articulo
3. Hacer una rebaja del IVA en un punto para cada artculo 4. Modificar la descripcin del artculo de referencia 01-LANA para que el nuevo valor sea LANA 90%NATURAL 10%ACRILICO. 5. Indicar los pasos necesarios para modificar el articulo de referencia 01-LANA para que la nueva referencia sea 01-LANA90/10. 6. Borrar de la tabla FACTURAS la factura con el valor de factura_no igual a 2. Observar que ha sucedido en las tablas facturas y lneas de factura. Para comprobarlo hacer un listado de las filas
informacin
2. En el modelo relacional la restriccin que se utiliza para relacionar dos tablas es:
PRIMARY KEY FOREIGN KEY UNIQUE CHECK
5. Indicar cul de las siguientes expresiones es la correcta para comprobar si el valor de COMISION es nulo (carece de valor):
COMISION COMISION COMISION Cualquiera de los anteriores = IS = NULL 0 NULL
7. Para mostrar los empleados del departamento 10 y del 30 qu clausula WHERE sera la adecuada:
Dep_no=10 AND dep_no=30 Dep_no=10 OR dep_no=30 Dep_no BETWEEN 10 AND 30 Dep_no IN (10,20,30)
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:
Es obligatoria para crear 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 Evita el borrado automtico de filas cuando se ha borrado la clave principal
14.
Para
aadir
una
columna
una
tabla
ya
creada:
ALTER TABLE tabla NombreColumna; ALTER TABLE tabla; ALTER TABLE tabla ADD NombreColumna; ALTER TABLE tabla ADD NombreColumna TipoDato;
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
18. Para incrementar en 100 Euros el salario de todos los empleados escribiremos:
UPDATE salario FROM empleados WHERE salario = salario + 100; UPDATE salario FROM empleados SET salario + 100;
UPDATE empleados FROM salario WHERE salario = salario + 100; UPDATE empleados SET salario = salario + 100;
20. Si existe una clave ajena en la tabla EMPLEADOS referenciando a la tabla DEPARTAMENTOS sin la opcin modificado en cascada, podremos modificar un departamento:
Siempre Solo si no tiene empleados Nunca Siempre que hagamos primero la modificacin correspondiente en la tabla EMPLEADOS
1. La clusula WHERE:
Selecciona las filas seleccionadas que cumplan una condicin Establece un criterio de ordenacin Indica sobre qu tabla se est realizando la consulta Modifica las filas de una tabla
2. Para ordenar de mayor a menor por salario y, a igual salario, alfabticamente por apellido:
ORDER BY salario,apellido ORDER BY apellido,salario DESC ORDER BY salario DESC,apellido ORDER BY salario DESC,apellido DESC
5. Las expresiones de columna a especificar en una SELECT con clusula GROUP BY:
Son las que se quiera especificar sin otra restriccin Son las que se han puesto en la clusula GROUP BY Son las columnas o expresiones de agrupacin y/o funciones de grupo Las funciones de columna que aparezcan en la clusula HAVING
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
8. Para seleccionar los departamentos con ms de 2 empleados: SELECT dep_no,COUNT(*) FROM empleados GROUP BY emp_no SELECT dep_no,COUNT(*) FROM empleados GROUP BY dep_no SELECT dep_no,COUNT(*) FROM empleados GROUP BY emp_no HAVING COUNT(*)>2 SELECT dep_no,COUNT(*) FROM empleados GROUP BY dep_no HAVING COUNT(*)>2
12. Cul sera la subconsulta correcta obtener los empleados que ganan menos que la media de su oficio?
SELECT * FROM empleados WHERE salario < ( SELECT AVG(salario) FROM empleados ); SELECT * FROM empleados GROUP BY oficio HAVING salario < ( SELECT AVG(salario) FROM empleados GROUP BY oficio); SELECT * FROM empleados e1 WHERE salario < ( SELECT AVG(salario) FROM empleados WHERE oficio=e1.oficio); SELECT * FROM empleados WHERE salario < ( SELECT AVG(salario) FROM empleados e2 WHERE oficio=e2.oficio);
13.
Una
Obtener Obtener
composicin
filas todas las
o
de
combinacin
ms resultantes
(JOIN)
de de
consiste
una
en:
tabla tablas
filas
multiplicar
Aplicar una condicin de seleccin a las filas resultantes de multiplicar tablas Obtener el producto cartesiano de tablas
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 puede crear a partir de una consulta sobre la tabla ya creada Se puede hacer usando dos sentencias CREATE concatenadas
18. Suponiendo que disponemos de la tabla TNOMBRES (recin creada y vaca) con una nica columna denominada C1. Para introducir en ella todos los apellidos de los empleados cuyo salario supera las 3000 Euros, escribiremos:
UPDATE tnombres SELECT apellido FROM empleados WHERE salario > 3000; UPDATE tnombres SET c1 = apellido WHERE salario > 3000; INSERT INTO tnombres SELECT apellido FROM empleados WHERE salario > 3000; Ninguna de las anteriores
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
Marca la casilla con la respuesta correcta 1. Ventajas de las tablas MyISAM con respecto a las tablas InnoDB (Marcar la respuesta falsa).
El acceso a los datos es ms rpido. Consumen menos espacio de disco. Permiten control de transacciones Permiten crear tablas comprimidas.
2. Indicar cual de las siguientes afirmaciones es falsa con respecto a las tablas InnoDB.
Permite definir integridad referencial entre tablas. Permite bloqueo a nivel de fila. Permite definir los datos de cada tabla en ficheros independientes separados del resto de tablas. Permite a los usuarios un mejor acceso concurrente a la informacin.
necesariamente debe haber un fichero asociado llamado empleados.MDI donde estn los ndices almacenados.
4. Si estoy lanzando una sentencia del tipo C:\mysql\bin>myisamchk -u ..\data\test\empleados Que estoy tratando de hacer?
Convertir la tabla empleados a tipo InnoDB.
Descomprimiendo la tabla empleados que se supone comprimida. Optimizar la tabla empleados mediante una desfragmentacin.
Comprimiendo la tabla empleados que se supone descomprimida. 4. Indicar que sentencia es verdadera referida a la clusula
IDENTIFIED
BY
de
una
sentencia
GRANT.
Si el usuario no existe y se omite la clusula se crea el usuario sin contrasea. Si el usuario existe y no se omite la clusula la contrasea que acompaa la clusula sustituye la anterior. Si el usuario existe y se omite la clusula permanece vigente la contrasea anterior. Todas las anteriores son ciertas.
7. Indica cual de las siguientes utilidades de la distribucin de MySQL no requiere de una comunicacin directa con el servidor
myisamchk mysqlshow mysqldump mysqlimport
8. Que diferencia sucede con los usuarios pepe@localhost y juan@localhost si se lanzan estas dos sentencias. 1- mysql> SET PASSWORD FOR pepe@localhost='epep'; y 2- mysql> SET PASSWORD FOR juan@localhost=PASSWORD('nuaj');
La La La sentencia sentencia sentencia 1 2 2 tiene error la de sintaxis la la la 2 est correcta. 1 no.
encripta tiene
password de sintaxis
sentencia 1 est
error
correcta.
mysqlhotcopy solo funciona si el servidor no est en ejecucin. Las tres anteriores son falsas.
10. Si desde la consola de comandos se lanza la siguiente sentencia shell>mysql -h mihost.midominio.es -u juan -p prueba
Se intenta ejecutar el cliente mysql pero no se llega a conectar con la base de datos por error en la sintaxis. Se intenta ejecutar el cliente mysql para acceder a un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan con password prueba. Se intenta ejecutar el cliente mysql para acceder a la base de datos prueba de un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan que tiene password.
Se intenta ejecutar el cliente mysql para acceder a la base de datos prueba de un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan que no tiene password.
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 Busca el el fichero fichero misdatos.txt misdatos.txt en en la la carpeta carpeta temp temp del del servidor. 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.
13. Indica cual de las siguientes afirmaciones no es verdadera con respecto al proceso de la replicacin de datos:
Permitir configurar el balanceo de carga en las consultas.
Permite aumentar la fiabilidad ante las cadas de los servidores. Permite configurar el balanceo de carga en las transacciones.
Incluye la posibilidad de implementar un servicio de copia de seguridad sobre el esclavo sin molestar al maestro y por tanto a los usuarios.
14. Indica cual de las siguientes no es una regla valida para establecer una arquitectura de replicacin:
Un Un maestro esclavo puede solo tener debe tener muchos un esclavos. maestro.
Servidores maestros pueden ser a su vez esclavos de otros maestros. Servidores esclavos no pueden ser a su vez maestros de otros esclavos.
15. Indica cual es la condicin indispensable para ejecutar dos servidores MySQL en la misma mquina.
Deben Deben Deben escuchar tener acceder las peticiones por dos de fichero puertos TCP distintos. diferentes. configuracin. dos a directorios distintos datos de
16. Indica cual de las siguientes sentencias es correcta para crear un ndice ordinario llamado miindice sobre el campo micampo de la tabla mitabla.
ALTER CREATE CREATE TABLE INDEX INDEX mitabla miindice miindice ADD ON INDEX micampo miindice(micampo); FROM mitabla; (micampo);
FROM
mitabla
17. Sobre los tipos de ndices marcar cual es la respuesta correcta de las siguientes:
Los ndices ordinarios son ndices primarios que no admiten valores duplicados. Los ndices ordinarios son ndices que no son primarios y permiten valores duplicados. Los ndices ordinarios son ndices primarios que admiten valores duplicados. Las tres anteriores son falsas, por lo tanto, esta es la respuesta correcta.
18. Si en el fichero my.ini tenemos la siguiente entrada en la seccin [mysqld]: log Que se le esta indicando al servidor MySQL?:
Que se activa el binary log file. Que se activa el query log file. Que se activa el error log file. Que se activa el update log file.
20. Si se lanza la siguiente sentencia desde una ventana de comandos: mysqldump -d test > test.sql .Qu se esta almacenando en test.sql?
Solo los datos de la base de datos test no la estructura de sus tablas. Solo la estructura de tablas la base de datos test no sus datos. Solo la estructura y los datos de la base de datos test no sus relaciones de integridad. Todas las anteriores son falsas.
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
1. Obtener, para cada departamento, cuantos DIRECTORES hay en el departamento y cual es su salario medio. 2. Obtener los salarios medios por departamento, ordenados descendentemente por dicho importe, cuando dichos salarios medios sean inferiores a 3000 euros 3. Obtener el total de unidades por producto que hay entre todos los pedidos, visualizando el nmero de producto, la descripcin y la suma. 4. Listar los nmeros de cliente que tengan ms de dos pedidos, ordenado por cantidad de pedidos 5. Obtener las localidades en las que haya ms de un cliente, visualizando cuantos clientes hay. 6. Obtener Los datos de los 4 productos de los que ms unidades se han vendido, visualizando el nmero de producto y las unidades vendidas
2. En el modelo relacional la restriccin que se utiliza para relacionar dos tablas es:
PRIMARY KEY FOREIGN KEY UNIQUE CHECK
clausula
WHERE
sera
la
adecuada:
Dep_no=10 AND dep_no=30 Dep_no=10 OR dep_no=30 Dep_no BETWEEN 10 AND 30 Dep_no IN (10,20,30) 8. Para buscar un salario entre 1500 y 3500, ambos inclusives: Salario=1500 OR salario=3500 Salario>1500 AND salario<3500 Salario>1500 OR salario<3500 Salario BETWEEN 1500 AND 3500
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
las
FOREIGN KEY FOREIGN KEY con
clusulas:
REFERENCES
FOREIGN KEY con REFERENCES y ON DELETE CASCADE FOREIGN KEY y PRIMARY KEY 12.
13.
Es de
La
clusula
para
ON
crear
DELETE
una
CASCADE:
clave ajena
obligatoria
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:
ALTER TABLE tabla NombreColumna; ALTER TABLE tabla; ALTER TABLE tabla ADD NombreColumna; ALTER TABLE tabla ADD NombreColumna TipoDato;
Para cambiar de nombre la tabla Uno por Dos podemos 15. utilizar:
ALTER TABLE Uno RENAME TO Dos; RENAME TABLE Uno TO Dos; Los dos anteriores Ninguno de los anteriores
(50,
'MARKETING');
18. Para incrementar en 100 Euros el salario de todos los empleados escribiremos:
UPDATE salario FROM empleados WHERE salario = salario + 100; UPDATE salario FROM empleados SET salario + 100;
UPDATE empleados FROM salario WHERE salario = salario + 100; UPDATE empleados SET salario = salario + 100;
20. Si existe una clave ajena en la tabla EMPLEADOS referenciando a la tabla DEPARTAMENTOS sin la opcin modificado en cascada, podremos modificar un departamento:
Siempre Solo si no tiene empleados Nunca Siempre que hagamos primero la modificacin correspondiente en la tabla EMPLEADOS
1. La clusula WHERE:
Selecciona las filas seleccionadas que cumplan una condicin Establece un criterio de ordenacin Indica sobre qu tabla se est realizando la consulta Modifica las filas de una tabla
2. Para ordenar de mayor a menor por salario y, a igual salario, alfabticamente por apellido:
ORDER ORDER ORDER BY BY BY apellido,salario salario salario,apellido DESC DESC,apellido
4.
Las
Siempre Nunca
funciones
de
grupo
exigen
GROUP
BY:
No siempre, si se considera que todas las filas de la tabla forman un nico grupo Da lo mismo
5. Las expresiones de columna a especificar en una SELECT con clusula GROUP BY:
Son Son las las que que se se quiera han puesto especificar en la sin otra restriccin BY clusula GROUP
Son las columnas o expresiones de agrupacin y/o funciones de grupo Las funciones de columna que aparezcan en la clusula HAVING
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
Almacenar resultados de una consulta para acceder a ellos en posteriores consultas Realizar una consulta despus de otra
11. Cul sera la subconsulta correcta para obtener todos los nmeros de pedido procedentes de clientes de 'BARCELONA':
SELECT pedido_no FROM cliente_no FROM clientes pedidos WHERE cliente_no=(SELECT WHERE localidad='BARCELONA');
SELECT pedido_no FROM pedidos WHERE cliente_no IN (SELECT cliente_no FROM clientes WHERE localidad='BARCELONA'); SELECT pedido_no FROM pedidos WHERE cliente_no = (SELECT cliente_no FROM clientes) AND localidad='BARCELONA'; SELECT pedido_no FROM pedidos WHERE cliente_no IN (SELECT cliente_no FROM clientes) AND localidad='BARCELONA';
12. Cul sera la subconsulta correcta obtener los empleados que ganan memos que la media de su oficio?
SELECT * FROM empleados WHERE salario < ( SELECT AVG(salario) FROM empleados ); SELECT * FROM empleados GROUP BY oficio HAVING salario < ( SELECT AVG(salario) FROM empleados GROUP BY oficio); SELECT * FROM empleados e1 WHERE salario < ( SELECT AVG(salario) FROM empleados WHERE oficio=e1.oficio); SELECT * FROM empleados WHERE salario < ( SELECT AVG(salario) FROM empleados e2 WHERE oficio=e2.oficio);
13.
Una
Obtener Obtener
composicin
filas todas las
o
de
combinacin
ms resultantes
(JOIN)
de de
consiste
una
en:
tabla tablas
filas
multiplicar
Aplicar una condicin de seleccin a las filas resultantes de multiplicar tablas Obtener el producto cartesiano de tablas
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 SELECT c.cliente_no,nombre,pedido_no FROM clientes c JOIN pedidos p c.cliente_no=p.cliente_no;
18. Suponiendo que disponemos de la tabla TNOMBRES (recin creada y vaca) con una nica columna denominada C1. Para introducir en ella todos los apellidos de los empleados cuyo salario supera las 3000 Euros, escribiremos:
UPDATE tnombres SELECT apellido FROM empleados WHERE salario > 3000; UPDATE tnombres SET c1 = apellido WHERE salario > 3000; INSERT INTO tnombres SELECT apellido FROM empleados WHERE salario > 3000; Ninguna de las anteriores
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.
1. Ventajas de las tablas MyISAM con respecto a las tablas InnoDB (Marcar la respuesta falsa).
El acceso a los datos es ms rpido. Consumen menos espacio de disco. Permiten control de transacciones Permiten crear tablas comprimidas.
2. Indicar cual de las siguientes afirmaciones es falsa con respecto a las tablas InnoDB.
Permite definir integridad referencial entre tablas. Permite bloqueo a nivel de fila. Permite definir los datos de cada tabla en ficheros independientes separados del resto de tablas. Permite a los usuarios un mejor acceso concurrente a la informacin.
necesariamente debe haber un fichero asociado llamado empleados.MDI donde estn los ndices almacenados.
4. Si estoy lanzando una sentencia del tipo C:\mysql\bin>myisamchk -u ..\data\test\empleados Que estoy tratando de hacer?
Convertir la tabla empleados a tipo InnoDB. Descomprimiendo la tabla empleados que se supone comprimida. Optimizar la tabla empleados mediante una desfragmentacin.
5. Indicar que sentencia es verdadera referida a la clusula IDENTIFIED BY de una sentencia GRANT.
Si el usuario no existe y se omite la clusula se crea el usuario sin contrasea. Si el usuario existe y no se omite la clusula la contrasea que acompaa la clusula sustituye la anterior. Si el usuario existe y se omite la clusula permanece vigente la contrasea anterior. Todas las anteriores son ciertas.
7. Indica cual de las siguientes utilidades de la distribucin de MySQL no requiere de una comunicacin directa con el servidor
myisamchk mysqlshow mysqldump mysqlimport
8. Que diferencia sucede con los usuarios pepe@localhost y juan@localhost si se lanzan estas dos sentencias. 1- mysql> SET PASSWORD FOR pepe@localhost='epep'; y 2- mysql> SET PASSWORD FOR juan@localhost=PASSWORD('nuaj');
La La La sentencia sentencia sentencia 1 2 2 tiene error la de sintaxis la la la 2 est correcta. 1 no. encripta tiene password de sintaxis sentencia 1 est
error
correcta.
mysqlhotcopy solo funciona si el servidor no est en ejecucin. Las tres anteriores son falsas.
Si desde la consola de comandos se lanza la siguiente sentencia shell>mysql -h mihost.midominio.es -u juan -p prueba
11. Se intenta ejecutar el cliente mysql pero no se llega a conectar con la base de datos por error en la sintaxis. Se intenta ejecutar el cliente mysql para acceder a un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan con password prueba. Se intenta ejecutar el cliente mysql para acceder a la base de datos prueba de un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan que tiene password. Se intenta ejecutar el cliente mysql para acceder a la base de datos prueba de un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan que no tiene password.
13. La siguiente sentencia LOAD DATA LOCAL INFILE 'C:\\temp\\misdatos.txt' INTO TABLE mitabla FIELDS TERMINATED BY '#' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Busca Busca el el fichero fichero misdatos.txt misdatos.txt en en la la carpeta carpeta temp temp del del servidor. 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.
13. Indica cual de las siguientes afirmaciones no es verdadera con respecto al proceso de la replicacin de datos:
Permitir configurar el balanceo de carga en las consultas.
Permite aumentar la fiabilidad ante las cadas de los servidores. Permite configurar el balanceo de carga en las transacciones.
Incluye la posibilidad de implementar un servicio de copia de seguridad sobre el esclavo sin molestar al maestro y por tanto a los usuarios.
14. Indica cual de las siguientes no es una regla valida para establecer una arquitectura de replicacin:
Un Un maestro esclavo puede solo tener debe tener muchos un esclavos. maestro.
Servidores maestros pueden ser a su vez esclavos de otros maestros. Servidores esclavos no pueden ser a su vez maestros de otros esclavos.
15. Indica cual es la condicin indispensable para ejecutar dos servidores MySQL en la misma mquina.
Deben Deben Deben escuchar tener acceder las peticiones por dos de fichero puertos TCP distintos. diferentes. configuracin. dos a directorios distintos datos de
16. Indica cual de las siguientes sentencias es correcta para crear un ndice ordinario llamado miindice sobre el campo micampo de la tabla mitabla.
ALTER CREATE CREATE TABLE INDEX INDEX mitabla miindice miindice ADD ON INDEX micampo miindice(micampo); FROM mitabla; (micampo);
FROM
mitabla
16. Sobre los tipos de ndices marcar cual es la respuesta correcta de las siguientes:
Los ndices ordinarios son ndices primarios que no admiten valores duplicados. Los ndices ordinarios son ndices que no son primarios y permiten valores duplicados. Los ndices ordinarios son ndices primarios que admiten valores duplicados. Las tres anteriores son falsas, por lo tanto, esta es la respuesta correcta.
18. Si en el fichero my.ini tenemos la siguiente entrada en la seccin [mysqld]: log Que se le esta indicando al servidor MySQL?:
Que Que Que se se se activa activa activa el el el binary query error log log log file. file. file.
19.
Es Es Es
Para
poder
iniciar
tener tener tener
un
activado activado activado
servicio
el el el
de
binary query binary
replicacin:
log log log file. file. file.
20. Si se lanza la siguiente sentencia desde una ventana de comandos: mysqldump -d test > test.sql .Qu se esta almacenando en test.sql?
Solo los datos de la base de datos test no la estructura de sus tablas. Solo la estructura de tablas la base de datos test no sus datos. Solo la estructura y los datos de la base de datos test no sus relaciones de integridad. Todas las anteriores son falsas
Se quiere importar a MYSQL dicha informacin pero optimizando el almacenamiento de tal forma que la informacin resultante quede estructurada de la siguiente forma
Tabla NACIONALIDADES id nacionalidad 1 Espaol 2 Norteamericano 3 Alemn 4 Italiano 5 Francs 6 Britnico 7 Asiatico etc,etc,.. Tabla AUTORES id autor 1 A. R. G. Solmssen 2 Alan Bennett 3 Albert Cohen 4 Alberto Moravia 5 Alexandre Jardin 6 Alison Lurie 7 Almudena Grandes etc,etc,.. Tabla TITULOS id autor Las lecciones 1 cosas
id_nac 3 6 2 4 5 6 1
id_aut de las 3
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.
PRIMARY
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
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);
3. Crear mediante mysqldump la copia de seguridad completa de la base datos PRUEBACOPIA del servidor. (Lee detenidamente el punto 11.5.1 de la Documentacin del curso). 4. Inmediatamente despus de efectuada la copia reiniciamos el servidor mysql. Esto obliga a que se genere un nuevo fichero binary log inmediatamente despus de cada proceso de backup. 5. Aadimos algunos cambios a nuestra base de datos de prueba para la comprobacin posterior. (por ejemplo borramos determinadas filas de una tabla y creamos una tabla nueva en la base de datos PRUEBACOPIA). 6. Se corrompe la base de datos PRUEBACOPIA o se produce accidentalmente alguna transaccin no deseada. En nuestro caso borramos, se supone que por descuido, la base de datos PRUEBACOPIA.
El objetivo es recuperar las tablas a la situacin que tenan justo antes de producirse esa sentencia errnea de borrado. 7. Antes de proceder a recuperar la copia reiniciamos de nuevo el servidor para que se inicie un nuevo fichero binary log . 8. Restauramos la ultima copia de seguridad realizada. (Lee detenidamente el punto 11.5.1 de la Documentacin del curso). 9. Ejecutamos los binary log a partir de la ltima copia efectuada mediante la herramienta mysqlbinlog. Tenemos que determinar que fichero binary log es el que tiene los cambios realizados entre la creacin de la copia de seguridad y la recuperacin de dicha copia. Habr que analizar con cuidado que parte del fichero log tenemos que relanzar Ejemplo:
C:\mysql4\bin>mysqlbinlog --port=3308 --start-position=171 --stopposition=246 ..\data\Portatil-bin.000005 | mysql --port=3308
10. Comprobamos que la base de datos se encuentra en el estado previo al momento de producirse el borrado accidental. Todos los comandos y sentencias que se realicen en este ejercicio de simulacin de restauracin completa de una base de datos deben quedar recogidos en un documento llamado restaurar.txt con los comentarios necesarios que consideris pertinentes.
informacin
2. En el modelo relacional la restriccin que se utiliza para relacionar dos tablas es:
PRIMARY KEY FOREIGN KEY UNIQUE CHECK
7. Para mostrar los empleados del departamento 10 y del 30 qu clausula WHERE sera la adecuada:
Dep_no=10 AND dep_no=30 Dep_no=10 OR dep_no=30 Dep_no BETWEEN 10 AND 30 Dep_no IN (10,20,30)
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
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.
13.
Es
La
clusula
para
ON
crear
DELETE
una
CASCADE:
clave ajena
obligatoria
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:
ALTER TABLE tabla NombreColumna; ALTER TABLE tabla; ALTER TABLE tabla ADD NombreColumna ; ALTER TABLE tabla ADD NombreColumna TipoDato;
Para cambiar de nombre la tabla Uno por Dos podemos 15. utilizar:
ALTER TABLE Uno RENAME TO Dos; RENAME TABLE Uno TO Dos; Los dos anteriores Ninguno de los anteriores
(50,
'MARKETING');
18. Para incrementar en 100 Euros el salario de todos los empleados escribiremos:
UPDATE salario FROM empleados WHERE salario = salario + 100; UPDATE salario FROM empleados SET salario + 100;
UPDATE empleados FROM salario WHERE salario = salario + 100; UPDATE empleados SET salario = salario + 100;
19.
Es
La
Elimina Elimina
instruccin
incorrecta el el ltimo primer
DELETE
empleado empleado de de
FROM
o la la tabla tabla
empleados:
errnea empleados empleados
Si existe una clave ajena en la tabla EMPLEADOS referenciando a la tabla DEPARTAMENTOS sin la opcin modificado en cascada, podremos modificar un departamento:
21. Siempre Solo si no tiene empleados Nunca Siempre que hagamos primero la modificacin correspondiente en la tabla EMPLEADOS
1. La clusula WHERE:
Selecciona Establece Indica sobre las filas un qu tabla seleccionadas criterio se est que cumplan de realizando la una condicin ordenacin consulta
Para ordenar de mayor a menor por salario y, a igual salario, alfabticamente por apellido:
ORDER BY salario,apellido ORDER ORDER BY BY apellido,salario salario DESC DESC,apellido
SELECT * FROM empleados ORDER BY salario DESC LIMIT 3; SELECT * FROM empleados ORDER BY salario LIMIT 1,3;
4.
Las
Siempre Nunca
funciones
de
grupo
exigen
GROUP
BY:
No siempre, si se considera que todas las filas de la tabla forman un nico grupo Da lo mismo
5. Las expresiones de columna a especificar en una SELECT con clusula GROUP BY:
Son Son las las que que se se quiera han puesto especificar en la sin otra restriccin BY
clusula
GROUP
Son las columnas o expresiones de agrupacin y/o funciones de grupo Las funciones de columna que aparezcan en la clusula HAVING
6.
La
clusula
HAVING:
Establece unas condiciones para la seleccin de grupos formados con GROUP BY Realiza Sustituye lo a mismo WHERE que cuando la clusula existe GROUP WHERE BY
SELECT MAX(salario),dep_no FROM empleados GROUP BY salario SELECT MAX(salario),dep_no FROM empleados GROUP BY dep_no SELECT MAX(salario),dep_no MAX(salario)=dep_no FROM empleados WHERE
SELECT dep_no,COUNT(*) FROM empleados GROUP BY emp_no HAVING COUNT(*)>2 SELECT dep_no,COUNT(*) FROM empleados GROUP BY dep_no HAVING COUNT(*)>2
9.
Realizar Utilizar
Una
una los
subconsulta
consulta resultados sobre de una un
consiste
subconjunto consulta dentro de de
en:
datos otra
Almacenar resultados de una consulta para acceder a ellos en posteriores consultas Realizar una consulta despus de otra
10.
Una
WHERE HAVING WHERE
subconsulta
se
describe
en:
HAVING
11. Cul sera la subconsulta correcta para obtener todos los nmeros de pedido procedentes de clientes de 'BARCELONA':
SELECT pedido_no FROM cliente_no FROM clientes pedidos WHERE cliente_no=(SELECT WHERE localidad='BARCELONA');
SELECT pedido_no FROM pedidos WHERE cliente_no IN (SELECT cliente_no FROM clientes WHERE localidad='BARCELONA'); SELECT pedido_no FROM pedidos WHERE cliente_no = (SELECT cliente_no FROM clientes) AND localidad='BARCELONA'; SELECT pedido_no FROM pedidos WHERE cliente_no IN (SELECT cliente_no FROM clientes) AND localidad='BARCELONA';
12. Cul sera la subconsulta correcta obtener los empleados que ganan memos que la media de su oficio?
SELECT * FROM empleados WHERE salario < ( SELECT AVG(salario) FROM empleados ); SELECT * FROM empleados GROUP BY oficio HAVING salario < (
SELECT
AVG(salario)
FROM
empleados
GROUP
BY
oficio);
SELECT * FROM empleados e1 WHERE salario < ( SELECT AVG(salario) FROM empleados WHERE oficio=e1.oficio); SELECT * FROM empleados WHERE salario < ( SELECT AVG(salario) FROM empleados e2 WHERE oficio=e2.oficio);
13.
Una
Obtener Obtener
composicin
filas todas las
o
de
combinacin
ms resultantes
(JOIN)
de de
consiste
una
en:
tabla tablas
filas
multiplicar
Aplicar una condicin de seleccin a las filas resultantes de multiplicar tablas Obtener el producto cartesiano de tablas
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 puede crear a partir de una consulta sobre la tabla ya creada Se puede hacer usando dos sentencias CREATE concatenadas
18. Suponiendo que disponemos de la tabla TNOMBRES (recin creada y vaca) con una nica columna denominada C1. Para introducir en ella todos los apellidos de los empleados cuyo salario supera las 3000 Euros, escribiremos:
UPDATE tnombres SELECT apellido FROM empleados WHERE salario > 3000; UPDATE tnombres SET c1 = apellido WHERE salario > 3000; INSERT INTO tnombres SELECT apellido FROM empleados WHERE salario > 3000; Ninguna de las anteriores
19.
Al
crear
una
vista:
No se puede usar la clusula ORDER BY en la creacin de una vista La consulta que define a una vista puede incluir a su vez una vista Se puede crear a partir de una consulta que recupera informacin de varias tablas relacionadas Las tres anteriores son correctas
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.
1. Ventajas de las tablas MyISAM con respecto a las tablas InnoDB (Marcar la respuesta falsa).
El acceso a menos control los datos espacio de es ms de rpido. disco. transacciones
Consumen Permiten
2. Indicar cual de las siguientes afirmaciones es falsa con respecto a las tablas InnoDB.
Permite Permite definir bloqueo integridad a referencial nivel entre de tablas. fila.
Permite definir los datos de cada tabla en ficheros independientes separados del resto de tablas. Permite a los usuarios un mejor acceso concurrente a la informacin.
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. necesariamente debe haber un fichero asociado llamado empleados.MDI donde estn los ndices almacenados.
4. Si estoy lanzando una sentencia del tipo C:\mysql\bin>myisamchk -u ..\data\test\empleados Que estoy tratando de hacer?
Convertir la tabla empleados a tipo InnoDB.
Descomprimiendo la tabla empleados que se supone comprimida. Optimizar la tabla empleados mediante una desfragmentacin.
5. Indicar que sentencia es verdadera referida a la clusula IDENTIFIED BY de una sentencia GRANT.
Si el usuario no existe y se omite la clusula se crea el usuario sin contrasea. Si el usuario existe y no se omite la clusula la contrasea que acompaa la clusula sustituye la anterior. Si el usuario existe y se omite la clusula permanece vigente la contrasea anterior. Todas las anteriores son ciertas.
7. Indica cual de las siguientes utilidades de la distribucin de MySQL no requiere de una comunicacin directa con el servidor
8. Que diferencia sucede con los usuarios pepe@localhost y juan@localhost si se lanzan estas dos sentencias. 1- mysql> SET PASSWORD FOR pepe@localhost='epep'; y 2- mysql> SET PASSWORD FOR juan@localhost=PASSWORD('nuaj');
La La La sentencia sentencia sentencia 1 2 2 tiene error la de sintaxis la la la 2 est correcta. 1 no.
encripta tiene
password de sintaxis
sentencia 1 est
error
correcta.
mysqlhotcopy solo funciona si el servidor no est en ejecucin. Las tres anteriores son falsas.
10. Si desde la consola de comandos se lanza la siguiente sentencia shell>mysql -h mihost.midominio.es -u juan -p prueba
Se intenta ejecutar el cliente mysql pero no se llega a conectar con la base de datos por error en la sintaxis. Se intenta ejecutar el cliente mysql para acceder a un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan con password prueba. Se intenta ejecutar el cliente mysql para acceder a la base de datos prueba de un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan que tiene password. Se intenta ejecutar el cliente mysql para acceder a la base de datos prueba de un servidor situado en la mquina mihost.midominio.es mediante el usuario Juan que no tiene password.
11.
Indica
la
respuesta
correcta
El eliminar todos los privilegios de un usuario no supone la eliminacin del usuario. Se puede eliminar un usuario mediante DROP USER aunque aun conserve privilegios. Se puede eliminar completamente un usuario mediante REVOKE ALL PRIVILEGES. Las tres anteriores respuestas son falsas.
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 Busca el el fichero fichero misdatos.txt misdatos.txt en en la la carpeta carpeta temp temp del del servidor. 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.
13. Indica cual de las siguientes afirmaciones no es verdadera con respecto al proceso de la replicacin de datos:
Permitir configurar el balanceo de carga en las consultas.
Permite aumentar la fiabilidad ante las cadas de los servidores. Permite configurar el balanceo de carga en las transacciones.
Incluye la posibilidad de implementar un servicio de copia de seguridad sobre el esclavo sin molestar al maestro y por tanto a los usuarios.
14. Indica cual de las siguientes no es una regla valida para establecer una arquitectura de replicacin:
Un Un maestro esclavo puede solo tener debe tener muchos un esclavos. maestro.
Servidores maestros pueden ser a su vez esclavos de otros maestros. Servidores esclavos no pueden ser a su vez maestros de otros esclavos.
15. Indica cual es la condicin indispensable para ejecutar dos servidores MySQL en la misma mquina.
Deben Deben Deben escuchar tener acceder las peticiones por dos de fichero puertos TCP distintos. diferentes. configuracin.
dos a
directorios distintos
datos de
16. Indica cual de las siguientes sentencias es correcta para crear un ndice ordinario llamado miindice sobre el campo micampo de la tabla mitabla.
ALTER CREATE CREATE TABLE INDEX INDEX mitabla miindice miindice ADD ON INDEX micampo miindice(micampo); FROM mitabla; (micampo);
FROM
mitabla
17. Sobre los tipos de ndices marcar cual es la respuesta correcta de las siguientes:
Los ndices ordinarios son ndices primarios que no admiten valores duplicados. Los ndices ordinarios son ndices que no son primarios y permiten valores duplicados. Los ndices ordinarios son ndices primarios que admiten valores duplicados. Las tres anteriores son falsas, por lo tanto, esta es la respuesta correcta.
18. Si en el fichero my.ini tenemos la siguiente entrada en la seccin [mysqld]: log Que se le esta indicando al servidor MySQL?:
Que Que se se activa activa el el binary query log log file. file.
Que
se
activa
el
error
log
file.
19.
Es Es Es
Para
poder
iniciar
tener tener tener
un
activado activado activado
servicio
el el el
de
binary query binary
replicacin:
log log log file. file. file.
20. Si se lanza la siguiente sentencia desde una ventana de comandos: mysqldump -d test > test.sql .Qu se esta almacenando en test.sql?
Solo los datos de la base de datos test no la estructura de sus tablas. Solo la estructura de tablas la base de datos test no sus datos. Solo la estructura y los datos de la base de datos test no sus relaciones de integridad. Todas las anteriores son falsas.