Apuntes de BD para DAW, DAM y ASIR
José Juan Sánchez Hernández
Curso 2023/2024
Defina brevemente el significado de las siglas SQL.
El lenguaje SQL se divide en tres partes DDL, DML y DCL. Defina brevemente en qué consiste cada una de las partes.
Defina brevemente qué es MySQL Server.
Defina brevemente qué es MySQL WorkBench.
Defina brevemente qué es phpMyAdmin.
Defina brevemente el significado de LAMP Stack.
Define para qué sirven las siguientes palabras reservadas de la creación de tablas en MySQL:
AUTO_INCREMENT
CHARACTER SET
COLLATION
ENGINE
¿Qué diferencias existen entre los motores de almacenamiento InnoDB y MyISAM de MySQL? ¿Cuál de los dos es el que se usa por defecto?
¿Qué diferencia existe entre los set de caracteres
utf8
y utf8mb4
en
MySQL?
¿Qué diferencia hay entre los tipos de datos VARCHAR
y CHAR
?
¿Qué diferencia hay entre los tipos de datos TEXT
y
BLOB
?
¿Qué diferencia hay entre los tipos de datos
DATETIME
y TIMESTAMP
?
¿Qué diferencia hay entre ENUM
y
SET
?
¿Qué tipo de dato usarías si necesitas almacenar un número real exacto sin redondeo?
Explica brevemente para qué sirven las cláusulas
ON DELETE
y ON UPDATE
.
Explica brevemente para qué sirven las siguientes opciones que
podemos usar junto a las cláusulas ON DELETE
y
ON UPDATE
:
* `RESTRICT`
* `CASCADE`
* `SET NULL`
* `NO ACTION`
¿Qué diferencia existe entre TRUNCATE
y
DELETE
?
¿Para qué se utiliza el atributo UNIQUE
?
¿Qué diferencia hay entre INDEX
y KEY
?
¿Para qué se utilizan?
¿Para qué se utiliza el atributo ZEROFILL
?
¿Qué diferencia existe entre declarar una columna como
INT(11)
y INT(11) ZEROFILL
?
¿Qué significan las llaves y los corchetes en la siguiente descripción de notación?
¿Qué sentencia SQL utilizarías para conocer cuál es la estructura de una tabla ya creada?
¿Qué sentencia SQL utilizarías para borrar una tabla con el nombre de examen?
¿Qué sentencia SQL utilizarías para consultar el listado de todas las bases de datos?
¿Qué sentencia SQL utilizarías para añadir una nueva columna llamada nombre a la tabla estudiante?
¿Qué sentencia SQL nos permite renombrar y modificar el tipo de dato de una columna y sus atributos? Ponga un ejemplo.
¿Qué tipo de dato de MySQL es el único que podría almacenar
valores de fecha y hora mayores que
2038-01-09 03:14:07
?
¿Qué tipo de dato utilizarías si necesitaras almacenar números reales exactos sin redondeo?
¿Qué representan los valores 7 y 4 cuando declaramos una columna
como FLOAT(7,4)
?
¿Qué representa el valor 11 cuando declaramos una columna como
INT(11)
?
¿Qué comando tendría que escribir desde un terminal para
conectarnos con el usuario root
con contraseña
1234
, a un MySQL Server remoto que se está
ejecutando en una máquina con la IP 10.10.1.5?
¿Qué puerto es el que utiliza por defecto el servicio de MySQL Server?
Cuando instalamos MySQL Server está configurado
por defecto para que sólo acepte conexiones locales y que no permita
conexiones remotas. ¿Qué valor tendríamos que poner en la directiva de
configuración bind-address
para permitir conexiones
remotas?
[mysqld]
bind-address = 127.0.0.1
mysql.user
. La clave primaria de esta tabla está
formada por los valores user
y host
, de modo
que cada fila vendrá identificada por un nombre de usuario y el host
desde el que puede conectarse. Según la siguiente tabla, ¿desde qué
máquinas se podrá conectar el usuario root@'%'
?+------------------+--------------+
| user | host |
+------------------+--------------+
| root | % |
| root | localhost |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+------------------+--------------+
El lenguaje SQL se divide en tres partes DDL, DML y DCL. Defina brevemente en qué consiste DML, cuáles son las sentencias DML y qué operación podemos realizar con cada una de ellas.
Indique cuáles son todas las cláusulas que podemos utilizar en la
sentencia SELECT
y en qué orden se ejecuta cada una de
ellas.
Cuando realizamos consultas con la sentencia SELECT
en MySQL podemos usar los modificadores ALL
,
DISTINCT
y DISTINCTROW
. Explica brevemente en
qué consiste cada uno de ellos.
Defina brevemente para qué sirven los siguientes operadores y ponga un ejemplo de uso para cada uno de ellos:
BETWEEN
LIKE
IS
IS NOT
¿Qué realiza la función COUNT
en cada uno de estos
casos? ¿Existe alguna diferencia entre ellas?
COUNT(*)
COUNT(columna)
COUNT(DISTINCT columna)
Describa cuáles son las funciones de agregación más utilizadas, que le permiten realizar operaciones específicas sobre un grupo de filas.
Explique qué diferencia existe entre las cláusulas
WHERE
y HAVING
. Ponga un ejemplo de uso para
cada caso.
Defina para qué se utiliza la cláusula LIMIT
. Dada
la sintaxis de la cláusula LIMIT
en MySQL explique qué
representan las palabras offset
y row_COUNT
.
Ponga un ejemplo de uso.
¿Para qué se utilizan las operaciones INNER JOIN
y
NATURAL JOIN
?. ¿Qué diferencia hay entre ellas?. Ponga un
ejemplo de una consulta que afecte a dos tablas indicando la
diferencia.
¿Qué resultado devuelve la operación CROSS JOIN
?.
Ponga un ejemplo sencillo. ¿Existe otra forma de obtener el mismo
resultado de la operación CROSS JOIN
? Ponga un
ejemplo.
¿Para qué se utilizan las operaciones
LEFT OUTER JOIN
y RIGHT OUTER JOIN
?. ¿Qué
diferencia hay entre ellas?. Ponga un ejemplo de una consulta que afecte
a dos tablas indicando la diferencia.
¿Qué resultado devuelve la operación
FULL OUTER JOIN
?. ¿Cómo se puede implementar esta operación
en MySQL?
Indica si las siguientes consultas son correctas o incorrectas. En caso de ser incorrectas deberá explicar el motivo y cómo podrían resolverse de forma correcta.
Esta
página forma parte del curso
Bases de Datos de
José Juan Sánchez Hernández y
su contenido se distribuye bajo una
licencia
Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0
Internacional.