Logo Studenta

QA E14- Base de datos - Sistema MySQL II

¡Este material tiene más páginas!

Vista previa del material en texto

Módulo 4 / Encuentro 14/20
Base de datos
SistemaMySQL II
OBJETIVOS DEL MÓDULO 4
¿Qué habilidades desarrollarás?
● Aprendizaje cooperativo entre pares
● Atención al detalle para el manejo de base de datos
¿Qué herramientas técnicas aprenderás?
● Tipos y motores de bases de datos
● SQL
● CRUD
*No es necesario solicitar permiso de edición del documento, si
deseas puedes crear una copia �Archivo > Crear una copia]*
¡Te damos la bienvenida al encuentro de trabajo N°14!
¿Ya se presentaron? ¿Se conocieron? ¿Tienen algunas dudas para
intercambiar? ¿Necesitan ayuda para reforzar contenidos anteriores? ¡Este
es el momento!
Tal como realizamos en el encuentro anterior, explicaremos y detallaremos
especificidades del Sistema MySQL.
MATERIAL DE LECTURA
Consultas para actualizar y borrar
1. DROP TABLE
La sentencia para eliminar una tabla y por ende todos los objetos
asociados con ella es DROP TABLE, donde r es el nombre de una tabla
existente.
DROP �TEMPORARY� TABLE �IF EXISTS�
nombre_de_tabla_1 [, nombre_de_tabla_2� ...
�RESTRICT
| CASCADE�
Arriba mostramos la sentencia con todas las opciones que podría tener.
Pero la misma podría ser tan simple como
DROP TABLE mi_tabla_test;
¿Estás interesado en profundizar sobre este tema?
Te dejamos el siguiente link:
https://dev.mysql.com/doc/refman/8.0/en/drop-table.html
Tiempo estimado: 15 minutos
2
https://dev.mysql.com/doc/refman/8.0/en/drop-table.html
2. ALTER TABLE
Esta sentencia sirve para poder modificar una tabla que ya fue creada.
Requiere indicar qué tabla queremos alterar o modificar y qué opciones
deben modificarse,
¿NECESITAS UN EJEMPLO?
ALTER TABLE nombre_tabla
[alter_option [, alter_option] ...]
[partition_options]
Modificaciones más usuales:
● RENAME TO nuevo_nombre_de_tabla
● RENAME COLUMN viejo_nombre TO nuevo_nombre
● ADD �COLUMN� (nombre definición)
● DROP �COLUMN� nombre
● MODIFY COLUMN nombre_columns definición_columna
● CHANGE nombre_col_vieja nombre_col_nueva
definicion_columna_nueva
● ALTER COLUMN nombre_atributo nuevo_nombre nueva_definición
Algunos de los cambios que se pueden realizar con la sentencia SQL ALTER
TABLE son:
● Añadir una definición de columna a una tabla. Puede crearse con
valores nulos o con valores.
● Eliminar una columna de la tabla. Pero antes de su eliminación deben
ser eliminados por ALTER TABLE todas las restricciones que estén
definidas sobre esta columna.
● Eliminar la definición de: llave primaria, foránea o restricciones de
ligaduras de integridad (check), existentes para una tabla. Esta
acción no elimina a la columna con sus valores, ella permanece tal
cual como está, solo se elimina su definición.
3
● Definir una llave primaria para una tabla. La columna(s) a la cual se le
dará esta responsabilidad debe contener previamente valores únicos
por fila.
● Definir una nueva llave foránea para una tabla. La columna a definir
como llave foránea debe contener previamente valores que
corresponden a la llave primaria de otra tabla.
Para ver todas las posibilidades de ALTER TABLE revisá
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
Tiempo estimado: 20 minutos
¡MANOS A LA OBRA!
Ejercicio #1
Para la realización de los ejercicios que se describen a
continuación, es necesario descargar el archivo scriptsBD.zip
que contiene algunos scripts con las bases de datos sobre las
cuales trabajarán (Archivo scripts.zip: ScriptsDB).
En cada ejercicio se indica el nombre del script que se debe utilizar. Para
abrir y ejecutarlos encontrarán un que les indicaTutorial Scripts SQL.pdf
cómo hacerlo.
¡Comencemos!
Ejecuta un script y crea una base de datos por primera vez.
1. Abrir el script llamado “superhéroes.sql” y ejecutarlo de modo
tal que se cree la base de datos y todas sus tablas.
2. Analiza el script detenidamente, línea por línea, ayudándote
con la guía. Intenta comprender qué pasa en cada sentencia
del script. Luego responde:
2.1. ¿Cuántas columnas posee la tabla “creador”?
a. 0
b. 1
c. 2
4
https://drive.google.com/file/d/1e410HbD6GlX-7Nrk5finVcYTQpouq1Bj/view?usp=share_link
https://dev.mysql.com/doc/refman/8.0/en/alter-table.html
https://aula-virtual.eggcooperation.com/mod/url/view.php?id=11902&redirect=1
https://drive.google.com/drive/folders/1xlrwTxYauWQecbIzRv79Sm7yK6fotFo3?usp=share_link
d. 3
2.2. ¿Cuántas columnas numéricas posee la tabla “personaje”?
a. 11
b. 9
c. 10
d. 12
2.3. ¿Cuántas columnas de la tabla “personaje” pueden ser nulas?
a. Todas las columnas
b. 12
c. 10
d. Ninguna columna
2.4. ¿Qué significa la primera línea del script?
a. Selecciona la base de datos sobre la cual se aplicarán las
siguientes sentencias.
b. Elimina la base de datos al finalizar de ejecutar el script.
c. Elimina la base de datos en caso de ya estar creada.
d. Ninguna de las anteriores
Elimina la base de datos “superhéroes.sql”.
Consultas de Manipulación de Datos �DML�
1. INSERT INTO
En su formato más sencillo, INSERT se utiliza para añadir una sola fila a una
tabla. Debemos especificar el nombre de la tabla y una lista de valores para la
fila. Los valores deben suministrarse en el mismo orden en el que se
especificaron los atributos correspondientes en el comando CREATE TABLE.
¿NECESITAS UN EJEMPLO?
5
INSERT INTO nombre_tabla (columna1, columna2, columna3,...)
VALUES (valor, valor2, valor3,...);
● Nombre_tabla: la tabla en la que se van a insertar las filas o registros.
● (columna1, columna2, columna3,...): representa el campo o campos
en los que vamos a introducir valores.
● (valor, valor2, valor3,...): representan los valores que se van a
almacenar en cada campo.
Los valores se deben corresponder con cada uno de los campos que
aparecen en la lista de campos, tanto en el tipo de dato que contienen
como en el orden en el que se van a asignar.
Es decir, si se indican una serie de campos en un orden determinado, la lista
de valores debe especificar los valores a almacenar en dichos campos, en
el mismo orden exactamente.
Si un campo no está en la lista, se almacenará dentro de éste el valor NULL,
siempre y cuando el campo admita valores null.
Secreto de la industria 1�
INSERT INTO sí es una sentencia que como QA’s podría utilizar
con frecuencia.
Por ejemplo: si tenemos acceso a la BD (base de datos) de un
sistema que debemos testear y necesitamos crear datos de prueba,
podríamos insertar los datos directamente en las tablas correspondientes en
lugar de ingresarlos manualmente a través de la interfaz de usuario.
Una vez que te familiarices con estas sentencias, ejecutarlas para
completar tablas con datos puede ser mucho más ágil que ingresar datos y
crear registros desde una interfaz de usuario �UI�.
De todos modos hay aplicaciones y herramientas que facilitan esta tarea.
¿NECESITAS UN EJEMPLO?
6
Mockaroo nos ofrece una interfaz visual amigable para indicar qué tipo de
información debemos completar en una tabla (copiamos los nombres de las
columnas de nuestra tabla en la sección “Field Name” y elegimos el tipo de
dato que corresponde en la columna “Type”).
La columna type no muestra el nombre de tipo de dato SQL, si no una
descripción amigable para quienes no dominan este programa. De todos
modos, si necesitamos ser más específicos con los tipos de datos que
necesitamos que genere, podemos configurar esa función.
Luego especificamos el formato en el queremos extraer los datos de test,
cuántos registros queremos generar y cuál es el nombre de la tabla que
necesitamos completar:
Tenemos la opción de bajar las sentencias en un archivo o previsualizarla
7
https://www.mockaroo.com/
Con una previsualización alcanza. De aquí se pueden copiar todas las
sentencias para completar nuestra tabla con datos de test o la cantidad de
líneas que deseemos.
A continuación se presentan tres sentencias que generó Mockaroo con
data de test para completar la tabla que indica en la aplicación:
1. insert into TEST_DATA (id, first_name, last_name, email,
tipo_de_tarjeta, número_de_tarjeta, moneda, pais, ciudad)
values �1, 'Kaine', 'McClay', 'kmcclay0@acquirethisname.com','americanexpress', '372301606637173', 'Peso', 'Argentina', 'Lobos');
2. insert into TEST_DATA (id, first_name, last_name, email,
tipo_de_tarjeta, número_de_tarjeta, moneda, pais, ciudad)
values �2, 'Noelyn', 'Hurleston', 'nhurleston1@nbcnews.com', 'jcb',
'3589679104362250', 'Peso', 'Chile', 'Futaleufú');
3. insert into TEST_DATA (id, first_name, last_name, email,
tipo_de_tarjeta, número_de_tarjeta, moneda, pais, ciudad)
values �3, 'Ray', 'Sudworth', 'rsudworth2@indiatimes.com', 'jcb',
'3564585478860424', 'Krona', 'Sweden', 'Stockholm');
¡Atención curiosos y curiosas!
Si queres saber todo sobre la sentencia INSERT INTO salta a:
https://dev.mysql.com/doc/refman/8.0/en/insert.html
8
https://dev.mysql.com/doc/refman/8.0/en/insert.html
Tiempo estimado: 20 minutos
2. UPDATE
El comando UPDATE se utiliza para modificar los valores de atributo de una
o más filas seleccionadas. Una cláusula WHERE en el comando UPDATE
selecciona las filas de una tabla que se modificarán.. La sentencia UPDATE
tiene la siguiente forma:
UPDATE nombre_tabla
SET nombre_columna1 = valor1,
nombre_columna2 = valor2,
�ORDER BY ...] �WHERE condicion]
3. DELETE
El comando DELETE elimina filas de una tabla. Incluye una cláusula WHERE,
para seleccionar aquellas que se eliminarán.
Las filas se eliminan explícitamente sólo de una tabla a la vez. Sin embargo,
la eliminación se puede propagar a filas de otras tablas si se han
especificado opciones de acciones referenciales en las restricciones de
integridad referencial del DDL.
En función del número de filas seleccionadas por la condición de la cláusula
WHERE, ninguna, una o varias filas pueden ser eliminadas por un solo
comando DELETE. La ausencia de una cláusula WHERE significa que se
borrarán todas las filas de la relación; sin embargo, la tabla permanece en la
base de datos, pero vacía. Debemos utilizar el comando DROP TABLE para
eliminar la definición de la tabla.
DELETE FROM nombre_tabla �WHERE condicion] �ORDER BY ...] �LIMIT
cantidad_filas]
Pasos a realizar para Implementar una Base de
Datos:
PASO Descripción
9
1
Definir en el disco duro, el área física que contendrá las
tablas de la base de datos. Sentencia SQL CREATE
DATABASE
2
Crear las diferentes tablas de la base de datos.
Sentencia SQL CREATE TABLE
3
Insertar en las filas los datos a las diferentes tablas, sin
violar la integridad de los datos. Sentencia SQL
INSERT INTO
4
Actualizar los datos que cambian con el tiempo en las
diferentes tablas. Sentencia SQL UPDATE
5
Eliminar las filas que ya no se requieran en las
diferentes tablas. Sentencia SQL DELETE
6
Realizar las consultas deseadas a las tablas de la base
de datos a través de la poderosa sentencia de
consultas del SQL, llamada SELECT
7
Dar nombre a las consultas, elaboradas en el paso No.6
cuando se requiera ocultar el diseño y columnas de las
tablas a través de la creación de vistas lógicas.
Sentencia SQL CREATE VIEW
¡MANOS A LA OBRA
Ejercicio #2
¿Recuerdan el Script Superheroes? Volvamos a abrirlo y ejecutarlo. Hasta el
momento, nuestra base de datos “superhéroe” se encuentra vacía. Sólo
tenemos la estructura (tablas y columnas). Es turno de insertar registros en
cada tabla. A continuación, te mostramos el modelo Entidad-Relación.
10
● Primero insertar en la tabla “creador” los siguientes datos:
Tabla creador
● Luego inserta registros en la tabla personaje
Tabla personaje
¡Felicitaciones! Creaste y completaste tu primera base de datos. A
continuación, te pediremos que realices algunos cambios en ella para
continuar practicando.
11
➔ Cambiar en la tabla personajes, el año de aparición del personaje
Superman a 1938.
➔ Eliminar el registro que contiene al personaje Flash.
Ejercicio extra 1💪
Abran el script llamado “nba” y ejecutenlo de modo tal se cree la
base de datos con todas sus tablas. Este proceso puede
demorar, es normal y es super importante que lo hagas: ¡ten
paciencia! Más adelante la vamos a necesitar esta información.
Ejercicio extra 2💪
Usando Mockaroo crea las sentencias INSERT INTO para completar alguna/s
de la/s tablas que ya tienes creadas. Luego utiliza esas sentencias para
completar tu tabla con miles de registros.
¡Hora de cerrar!
¿Cómo estás en relación al aprendizaje de este nuevo lenguaje?
¿Podés identificar si hay algo que te abruma? ¿Qué dominas con facilidad?
Siempre revisa tu proceso de aprendizaje... Conocer cómo aprendemos
nos permite concentrarnos en mejorar y avanzar en este trayecto
formativo. ¡Adelante!
¡Llegó el momento de los pulsos. ¿Te gustaría recibir? Demuéstrales a tus
compañeros qué estás presente para promover su aprendizaje y el tuyo
también.
12

Continuar navegando