Actividades de repaso. Temas: 2 y 3
ASIR / DAW - (Gestión de) Bases de datos
IES Celia Viñas (Almería) - 2022/2023
1 Actividades de repaso. Temas: 2 y 3
1.1 Teoría
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
yutf8mb4
en MySQL?¿Qué diferencia hay entre los tipos de datos
VARCHAR
yCHAR
?¿Qué diferencia hay entre los tipos de datos
TEXT
yBLOB
?¿Qué diferencia hay entre los tipos de datos
DATETIME
yTIMESTAMP
?¿Qué diferencia hay entre
ENUM
ySET
?¿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
yON UPDATE
.Explica brevemente para qué sirven las siguientes opciones que podemos usar junto a las cláusulas
ON DELETE
yON UPDATE
:RESTRICT
CASCADE
SET NULL
NO ACTION
¿Qué diferencia existe entre
TRUNCATE
yDELETE
?¿Para qué se utiliza el atributo
UNIQUE
?¿Qué diferencia hay entre
INDEX
yKEY
? ¿Para qué se utilizan?¿Para qué se utiliza el atributo
ZEROFILL
?¿Qué diferencia existe entre declarar una columna como
INT(11)
yINT(11) ZEROFILL
?¿Qué significan las llaves y los corchetes en la siguiente descripción de notación?
¿Qué comando tendría que escribir desde un terminal para conectarnos con el usuario
root
con contraseña1234
, 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
- Los usuarios de MySQL Server se almacenan en la tabla
mysql.user
. La clave primaria de esta tabla está formada por los valoresuser
yhost
, 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 usuarioroot@'%'
?
+------------------+--------------+
| user | host |
+------------------+--------------+
| root | % |
| root | localhost |
| debian-sys-maint | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
+------------------+--------------+
1.2 Práctica
1.2.1 Pizzería
Un cliente le ha contratado para diseñar una web que permita hacer pedidos de comida a domicilio por Internet. Tenga en cuenta las siguientes indicaciones para modelar cómo sería la base de datos del proyecto:
Para cada cliente almacenamos un identificador único, nombre, apellidos, dirección, código postal, localidad, provincia y número de teléfono.
Los datos de localidad y provincia estarán almacenados en tablas separadas. Sabemos que una localidad pertenece a una única provincia, y que una provincia puede tener muchas localidades.
Para cada localidad almacenamos un identificador único y un nombre. Para cada provincia almacenamos un identificador único y un nombre.
Un cliente puede realizar muchos pedidos, pero un único pedido sólo puede ser realizado por un único cliente. De cada pedido se almacena un identificador único, fecha/hora, si el pedido es para reparto a domicilio o para recoger en tienda, la cantidad de productos que se han seleccionado de cada tipo y el precio total.
Un pedido puede constar de uno o varios productos. Los productos pueden ser pizzas, hamburguesas y bebidas. De cada producto se almacena: un identificador único, nombre, descripción, imagen y precio.
En el caso de las pizzas existen varias categorías que pueden ir cambiando de nombre a lo largo del año. Una pizza sólo puede estar dentro de una categoría, pero una categoría puede tener muchas pizzas. De cada categoría se almacena un identificador único y un nombre.
Un pedido es gestionado por una única tienda y una tienda puede gestionar muchos pedidos. De cada tienda se almacena un identificador único, dirección, código postal, localidad y provincia.
En una tienda pueden trabajar muchos empleados y un empleado sólo puede trabajar en una tienda. De cada empleado se almacena un identificador único, nombre, apellidos, nif, teléfono y si trabaja como cocinero o repartidor.
Para los pedidos de reparto a domicilio interesa guardar quién es el repartidor que realiza la entrega del pedido y la fecha/hora del momento de la entrega.
2 Créditos
- Estos ejercicios están basados en el material didáctico de Alfredo Moreno Vozmediano.
¡Gracias compañero! :)
3 Licencia
Este contenido está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.