Tema 3.
- Diseño Físico Relacional Bases de Datos
1º DAW
RELACIÓN EJERCICIOS
1. Defina brevemente el significado de las siglas SQL.
2. El lenguaje SQL se divide en tres partes DDL, DML y DCL. Defina brevemente en qué
consiste cada una de las partes.
3.- Prueba y explica todos los comandos de las preguntas 3.3.1, 3.3.2. y 3.5 ayudándote
de ejemplos para ello.
4.- Realiza un esquema con el formato de las instrucciones CREATE, DROP Y ALTER.
Escribe tres ejemplos de cada uno de ellos.
4b. Realiza la actividad del libro 3.6.
5. Define para qué sirven las siguientes palabras reservadas de la creación de tablas en
MySQL:
● AUTO_INCREMENT
● CHARACTER SET
● DEFAULT
● UNIQUE KEY
● COLLATION
● ENGINE
6.- Realiza las siguientes operaciones:
- Crear la base de datos Instituto.
- Mostrar las bases de datos presentes en el servidor.
- Usar la base de datos instituto.
- Mostrar los sets de cadenas de caracteres disponibles en el SGBD.
- Mostrar los cotejamientos disponibles en el SGBD.
- Crea las siguientes tablas de la base de datos Instituto.
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
Restricciones sobre la columna de la tabla: (TEORÍA)
A continuación copia el siguiente código y ejecútalo:
Ejemplo1:
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
Ejemplo2:
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
3.8.1.- Implementación de restricciones (página 113)
Restricciones en declaración de clave ajena (FOREIGN KEY)
EJEMPLO 1:
● ¿Podríamos borrar la Categoría A de la tabla categoria?
● ¿Y la Categoría C?
● ¿Podríamos actualizar la Categoría A de la tabla categoria?
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
EJEMPLO 2.-
● ¿Podríamos borrar la Categoría A de la tabla categoria?
● ¿Qué le ocurre a las piezas que pertenecen a la Categoría A después de
borrarla?
● ¿Podríamos actualizar la Categoría A de la tabla categoría?
● ¿Qué le ocurre a las piezas que pertenecen a la Categoría A después de
actualizarla?
EJEMPLO 3.-
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
● ¿Podríamos borrar la Categoría A de la tabla categoria?
● ¿Qué le ocurre a las piezas que pertenecen a las Categoría A después de
borrarla?
● ¿Podríamos actualizar la Categoría A de la tabla categoria?
● ¿Qué le ocurre a las piezas que pertenecen a la Categoría A después de
actualizarla?
3.8.3.- Características de la creación de las tablas para MYSQL (página 117)
Para conocer todas las opciones posibles podemos consultar la sintaxis de creación de
tablas en la documentación oficial de MySQL. Con el objetivo de simplificar la creación
de tablas solamente hemos enumerado las opciones con las que vamos a trabajar
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
durante el curso. En la documentación oficial de MySQL podemos encontrar más
información sobre los diferentes motores de almacenamiento disponibles en MySQL.
7. ¿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?
8. ¿Qué diferencia existe entre los set de caracteres utf8 y utf8mb4 en MySQL?
9. ¿Qué diferencia hay entre los tipos de datos VARCHAR y CHAR?
10. ¿Qué diferencia hay entre los tipos de datos TEXT y BLOB?
11. ¿Qué diferencia hay entre ENUM y SET?
12. Explica brevemente para qué sirven las cláusulas ON DELETE y ON UPDATE.
13. 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
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
Crea ejemplos en cada uno de los casos.
14. Copia y prueba el siguiente código:
14 b.- Crea la bases de datos y las tablas de las que está compuesta con todos sus
requisitos.
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
15. Prueba el siguiente código con ALTER TABLE NombreTabla MODIFY.
MODIFY nos permite modificar el tipo de dato de una columna y sus atributos.
Y queremos modificar las columna nombre para que pueda almacenar 50 caracteres y
además que sea NOT NULL. En este caso usaríamos la sentencia:
Después de ejecutar la sentencia la tabla quedaría así:
16. Invéntate dos ejemplos con el MODIFY similares al del ejercicio anterior.
17. Ejemplo con ALTER TABLE nombreTabla CHANGE.
CHANGE nos permite renombrar una columna, modificar el tipo de dato de una
columna y sus atributos.
Y queremos renombrar el nombre de la columna nombre_de_usuario como nombre,
que pueda almacenar 50 caracteres y además que sea NOT NULL. En este caso
usaríamos la sentencia:
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
La tabla quedará así:
18. Invéntate dos ejemplos con el CHANGE similares al del ejercicio anterior.
19. Ejemplo con ALTER TABLE nombreTabla ALTER.
ALTER nos permite asignar un valor por defecto a una columna o eliminar el valor por
defecto que tenga establecido. Suponemos que tenemos la siguiente tabla creada.
Y queremos que el valor por defecto de la columna sexo sea M. En este caso usaríamos
la sentencia:
La tabla quedaría así:
Si ahora quisiéramos eliminar el valor por defecto de la columna sexo, usaríamos la
siguiente sentencia:
20. Invéntate dos ejemplos con el ALTER similares al del ejercicio anterior.
21. Ejemplo con ALTER TABLE nombreTabla ADD.
ADD nos permite añadir nuevas columnas a una tabla. Con los modificadores FIRST y
AFTER podemos elegir el lugar de la tabla donde queremos insertar la nueva
columna. FIRST coloca la nueva columna en primer lugar y AFTER la colocaría detrás
de la columna que se especifique. Si no se especifica nada la nueva columna se
añadiría detrás de la última columna de la tabla.
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
Suponemos que tenemos la siguiente tabla creada:
Y queremos añadir la columna fecha_nacimiento de tipo DATE:
En este caso la nueva columna se ha añadido detrás de la última columna,sexo. La
tabla quedaría así:
Suponemos que ahora queremos añadir las columnas apellido1 y apellido2
detrás de la columna nombre.
Después de ejecutar las sentencias la tabla quedaría así:
22. Invéntate dos ejemplos con el ADD similares al del ejercicio anterior.
23. Ejemplo con ALTER TABLE nombreTabla DROP.
DROP nos permite eliminar una columna de la tabla.
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
Suponemos que tenemos la siguiente tabla creada:
Y queremos eliminar la columna fecha_nacimiento. En este caso usaríamos la
sentencia:
Después de ejecutar esta sentencia la tabla quedaría así:
24. Invéntate dos ejemplos con el DROP similares al del ejercicio anterior.
25. ¿Qué puerto es el que utiliza por defecto el servicio de MySQL Server?
PRÁCTICA CON MYSQL
Ejecute el siguiente script para crear una base de datos llamada ventas.
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
1. Una vez que ha ejecutado el script y ha creado la base de datos en MySQL Server,
¿qué sentencia SQL debería ejecutar para modificar el encoding de la base de datos y
utilizar utf8mb4 en lugar de latin1?
2. Modifique la columna nombre de la tabla cliente para que pueda almacenar cadenas
de hasta 100 caracteres y para que no pueda ser NULL.
3. ¿Qué comando puede ejecutar para comprobar que el cambio que se ha realizado
en el paso anterior se ha ejecutado correctamente?
4. Modifique el nombre de la columna primer_apellido y asígnele apellido1. También
tendrá que permitir que pueda almacenar hasta 100 caracteres y que no pueda ser un
valor NULL.
5. Añada una nueva columna a la tabla cliente para poder almacenar el segundo
apellido. La columna se debe llamar apellido2 debe estar entre la columna apellido1 y
ciudad, puede almacenar hasta 100 caracteres y puede ser NULL.
6. Elimine la columna categoría de la tabla cliente.
7.- Modifique la columna comisión de la tabla comercial para que almacene por
defecto el valor 10.
Tema 3.- Diseño Físico Relacional Bases de Datos
1º DAW
2.- CRÉDITOS
Estos ejercicios están basados en el material didáctico de Alfredo Moreno Vozmediano
y José Juan Sánchez Hernández.
¡Gracias compañeros!