Sesión Sincrónica 4 Introducción de Base de Datos

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 21

Introducción de base de datos

Sesión sincrónica 4

Configuración
de Bases de
Datos Locales
Introducción de base de datos
Bienvenida y
actividad de bienestar
Duración: 10 minutos.
1. Nota para el profesor: Para realizar todas las actividades debes haber configurado un servidor de MySQL en tu equipo. De lo contrario no podrás
seguir la sesión. Revisa el Prework de esta sesión.

2. El profesor debe hacerles las siguientes preguntas para sondear lo aprendido en el prework.

¿Cómo se pueden eliminar los datos en una tabla, pero no la propia definición de la tabla?

R: En lugar de usar la instrucción DROP TABLE, tiene que utilizar la instrucción DELETE. La instrucción DELETE elimina todas las filas de una tabla o
elimina solo filas específicas, tal como se defina en la instrucción. Esto no es lo mismo que la instrucción DROP TABLE, que elimina la definición de la
tabla y los datos. Muchas aplicaciones de productos también proporcionan la instrucción TRUNCATE, que suministra una forma rápida y eficaz para
borrar todos los datos de una tabla. Sin embargo, la instrucción TRUNCATE no se incluye en el estándar SQL:2006.

P: Se expusó que cuando un valor predeterminado se define por una columna, el valor se inserta automáticamente en la columna cuando se
agrega una fila a la tabla, pero no se especifica un valor para esa columna en particular. ¿Qué pasa si la definición de columna no incluye una
predeterminación y se trata de insertar esa fila?

R: La acción tomada depende de si se permiten valores nulos dentro de la columna. Un valor nulo significa que el valor no se conoce. Esto no es lo
mismo que cero, en blanco o predeterminado. Si un valor nulo se presenta, entonces los datos no están disponibles. Por predeterminación, todas las
columnas permiten valores nulos, aunque se puede ignorar dicha predeterminación (Si trata de insertar una fila sin definir un valor específico, un
valor nulo se inserta en esa columna si la columna permite valores nulos. Si la columna no permite valores nulos, no podrá insertar una fila sin definir
un valor específico para esa columna.

02
Introducción de base de datos
Actividad guiada
Parte 1
Duración: 70 minutos.
Actividad 1

Conéctate a tu base de datos desde MySQL Workbench con las credenciales correspondientes a la configuración de tu servidor.

Para crear una base de datos se usa la instrucción CREATE DATABASE Nombre, donde Nombre suele ser el nombre del proyecto, pero para el curso
usa tu nombre y un apellido o un seudónimo en redes sociales que prefieras.

03
Introducción de base de datos
Actividad guiada
Parte 1
El resultado indica que el comando se ejecutó de forma correcta, la cantidad de líneas o renglones afectados y el tiempo de ejecución.

Sugerencia. Cuando este comando sea usado con scripts para automatizar tareas, se sugiere usar la siguiente variante:
CREATE DATABASE IF NOT EXISTS Nombre;
para evitar que se genere un error en caso de que la base de datos ya exista y se intente crear de nuevo.

Para borrar una base de datos se usa el comando DROP DATABASE Nombre

04
Introducción de base de datos
Actividad guiada
Parte 1
Sugerencia. Cuando este comando sea usado con scripts para automatizar tareas, se sugiere usar la siguiente variante:

DROP DATABASE IF EXISTS Nombre;

para evitar que se genere un error en caso de que la base de datos ya no exista y se intente borrar de nuevo.

• Como paso final, se creará nuevamente la base de datos y se hará uso de ella como la base de datos actual, para ello se usará el comando USE
Nombre:

CREATE DATABASE IF NOT EXISTS MiNombre;

05
Introducción de base de datos
Actividad guiada
Parte 1
USE MiNombre;

Actividad 2

1. Comenzaremos descargando un conjunto de datos para ilustrar el proceso de carga de archivos (El archivo se encuentra en la carpeta).
2. Descarga el archivo y extráelo en tu computadora.
3. Antes de crear una tabla, primero se revisará la estructura de los datos y la documentación para el archivo users.dat.

Primero revisamos el contenido del archivo. Puedes abrirlo en un editor de textos como Notepad o incluso en el Bloc de notas.

1::F::1::10::48067
2::M::56::16::70072
3::M::25::15::55117
4::M::45::7::02460
5::M::25::20::55455
6::F::50::9::55117
7::M::35::1::06810
8::M::25::12::11413
9::M::25::17::61614
10::F::35::1::95370
...
Y luego se revisa la documentación, dentro del archivo README, igual abriéndolo con un editor de textos.
USERS FILE DESCRIPTION

06
Introducción de base de datos
Actividad guiada
Parte 1
User information is in the file "users.dat" and is in the following
format:

UserID::Gender::Age::Occupation::Zip-code

All demographic information is provided voluntarily by the users and is


not checked for accuracy. Only users who have provided some demographic
information are included in this data set.

- Gender is denoted by a "M" for male and "F" for female


- Age is chosen from the following ranges:

* 1: "Under 18"
* 18: "18-24"
* 25: "25-34"
* 35: "35-44"
* 45: "45-49"
* 50: "50-55"
* 56: "56+"
...

Así que se definen los siguientes datos y tipo para crear la tabla Users en MySQL:

o id INT PRIMARY KEY


o genero VARCHAR(1)
o edad INT
o ocup INT
o cp VARCHAR(20)

07
Introducción de base de datos
Actividad guiada
Parte 1
El id será la llave primaria para la tabla, esto hay que indicarlo para que los valores sean únicos y además se crea un índice para acelerar las búsquedas.
Para edad y ocup por el rango de datos que no va más allá de los 256 se podría usar el tipo INT1 que es un entero que usa un solo byte, pero esto es
opcional.
Para cp se ha definido una longitud de 20 porque se desconoce el tamaño máximo, esto se puede optimizar más adelante.

4. Crear la tabla users (se ha usado el mismo nombre del archivo sin la extensión siempre y cuando no sea extremadamente largo) usando la
instrucción SQL:
5. CREATE TABLE users (
6. id INT PRIMARY KEY,
7. genero VARCHAR(1),
8. edad INT,
9. ocup INT,
10. cp VARCHAR(20)
);

08
Introducción de base de datos
Actividad guiada
Parte 1
Recuerda que cada instrucción en SQL termina siempre con punto y coma.

Sugerencia. Cuando el comando CREATE TABLE sea usado con scripts para automatizar tareas, se sugiere usar la siguiente variante:

CREATE TABLE IF NOT EXISTS nombre;

para evitar que se marque un error en caso de que la tabla ya exista y se intente crear de nuevo.

11. Otra operación que realizar es el de eliminar una tabla, eso se hace con el comando DROP TABLE nombre.

Así que para eliminar la tabla users se ejecuta el comando:

DROP TABLE users;

09
Introducción de base de datos
Actividad guiada
Parte 1
Sugerencia. Cuando este comando sea usado con scripts para automatizar tareas, se sugiere usar la siguiente variante:

DROP TABLE IF EXISTS nombre;

para evitar que se marque un error en caso de que la tabla ya no exista y se intente borrar de nuevo.

Si deseas, puedes validar que la tabla ya no exista con el comando SHOW TABLES.

SHOW TABLES;

12. Finalmente se crea nuevamente la tabla users y se valida que no exista.


13. CREATE TABLE IF NOT EXISTS users (
14. id INT PRIMARY KEY,
15. genero VARCHAR(1),
16. edad INT,
17. ocup INT,
18. cp VARCHAR(20)
);

10
Introducción de base de datos
Receso
Duración: 10 minutos.

11
Introducción de base de datos
Actividad guiada
Parte 2
Actividad 3

Vas a practicar lo siguiente:

• Realizar operaciones SQL para administrar tablas.


• Crear tablas acordes a los datos.
• Aplicar el procedimiento para importación de datos a una table.
• Validar la correcta importación de los datos.

Instrucciones:

1. Definir los campos y tipos de datos para la tabla movies haciendo uso de los archivos movies.dat y README.
2. Crear la tabla movies (recuerda usar el mismo nombre del archivo sin la extensión para vincular nombres de tablas con archivos).
3. Definir los campos y tipos de datos para la tabla ratings haciendo uso de los archivos ratings.dat y README.
4. Crear la tabla ratings (recuerda usar el mismo nombre del archivo sin la extensión para vincular nombres de tablas con archivos).

Nota: Observa que la tabla ratings requiere Foreing Keys. Revisa esta referencia o pregunta a tu experta(o):
https://www.w3schools.com/sql/sql_foreignkey.asp.

5. Usando como base el archivo movies.dat, limpiarlo e importar los datos en la tabla movies creada en el punto 2.
Importante: Este archivo presenta un problema muy común de encoding, es decir, la codificación con la que fue definido no es reconocida por
MySQL. Para solucionar este problema, elige una codificación diferente al momento de cargar los datos.
6. Usando como base el archivo ratings.dat, limpiarlo e importar los datos en la tabla ratings creada en punto 3.
Importante: Como podrás notar, este archivo tiene demasiados registros, de manera que es normal que la carga sea muy lenta. Esto es algo muy
común cuando nos enfrentamos a la carga de archivos. Si ya lleva mucho tiempo y no finaliza, no te preocupes, puedes cancelar la carga.
7. Finalmente, añade un registro en cada tabla usando INSERT INTO.

12
Introducción de base de datos
Actividad guiada
Parte 2
Actividad 4

Para cargar nuestros conjuntos de datos necesitamos que estén en un formato CSV. Como recordarás, el archivo users.dat tiene el siguiente formato:

1::F::1::10::48067
2::M::56::16::70072
3::M::25::15::55117
4::M::45::7::02460
5::M::25::20::55455
6::F::50::9::55117
7::M::35::1::06810
8::M::25::12::11413
9::M::25::17::61614
10::F::35::1::95370
...

Para que sea un archivo CSV válido, este debe incluir una línea llamada encabezado que indique el nombre de cada uno de los campos y además cada
campo debe separarse por una coma (CSV, significa Comma Separated Value). Por lo tanto, necesitamos hacer una limpieza de datos.
Abre un editor de texto el archivo users.dat y agrega la siguiente línea al inicio:

id,genero,edad,ocup,cp

13
Introducción de base de datos
Actividad guiada
Parte 2
Ahora reemplaza todos los símbolos, :: por ,. El archivo final debe verse así:

id,genero,edad,ocup,cp
1,F,1,10,48067
2,M,56,16,70072
3,M,25,15,55117
4,M,45,7,02460
5,M,25,20,55455
6,F,50,9,55117
7,M,35,1,06810
8,M,25,12,11413
9,M,25,17,61614
10,F,35,1,95370

Guárdalo con el nombre users.csv.

14
Introducción de base de datos
Actividad guiada
Parte 2
Para importar archivos desde MySQL Workbench daremos clic derecho en el esquema que creamos en la actividad y daremos clic en Table Import
Data Wizard, se abrirá la siguiente ventana:

Da clic en el botón Browse y busca


el archivo users.csv en tu equipo.

Da clic en Next. Se abrirá la siguiente


ventana, en donde elegiremos la primera
opción para cargar los datos directamente
en nuestra tabla users. Si no está
seleccionada la tabla, búscala en el
desplegable.

15
Introducción de base de datos
Actividad guiada
Parte 2
Da clic en Next y verifica la asociación de campos.

Si todo está en orden, da clic en Next.

Confirma la advertencia dando clic en


Next e iniciará la importación de datos.

16
Introducción de base de datos
Actividad guiada
Parte 2
Da clic en Next y verifica la asociación de campos.

Cuando todo finalice, da clic en Next.

Confirma los cambios dando clic en


Finish.

17
Introducción de base de datos
Actividad guiada
Parte 2

• El resultado indica que se han afectado 6040 registros, así que al parecer la importación se ha realizado con éxito, así que
ahora vamos a comprobar esto haciendo una consulta para imprimir los primeros 10 registros de la tabla users.

SELECT *
FROM users
LIMIT 10;

18
Introducción de base de datos
Actividad guiada
Parte 2

• Adicionalmente, podemos añadir registros individualmente usando la primitiva INSERT INTO. Para ello necesitamos el
nombre de las columnas y por supuesto los valores que insertaremos. Por ejemplo, supongamos que queremos insertar un
usuario con los datos siguientes:
• id: 7000
• género: F
• edad: 25
• ocup: 20

19
Introducción de base de datos

Cierre

Duración: 10 minutos.

En esta Actividad se adquirieron los conceptos siguientes:

- Crear tablas.
- Realizar operaciones entre tablas y manipulación de datos.
- Importar datos a una tabla en formato .CVS.

Recomendaciones Proyecto Semana 1 (Solo en SS de tema 2, 4, 6 y 8)


Duración: 10 minutos.

Conocer sobre la inserción de registros para tu proyecto es importante, te recomiendo ver el siguiente video:
https://www.youtube.com/watch?v=kK2g0ZHOszI

20
Introducción de base de datos

La obra presentada es propiedad de ENSEÑANZA E INVESTIGACIÓN SUPERIOR A.C. (UNIVERSIDAD TECMILENIO), protegida por la Ley
Federal de Derecho de Autor; la alteración o deformación de una obra, así como su reproducción, exhibición o ejecución pública sin el
consentimiento de su autor y titular de los derechos correspondientes es constitutivo de un delito tipificado en la Ley Federal de Derechos
de Autor, así como en las Leyes Internacionales de Derecho de Autor.
 
El uso de imágenes, fragmentos de videos, fragmentos de eventos culturales, programas y demás material que sea objeto de protección de
los derechos de autor, es exclusivamente para fines educativos e informativos, y cualquier uso distinto como el lucro, reproducción, edición
o modificación, será perseguido y sancionado por UNIVERSIDAD TECMILENIO.
 
Queda prohibido copiar, reproducir, distribuir, publicar, transmitir, difundir, o en cualquier modo explotar cualquier parte de esta obra sin la
autorización previa por escrito de UNIVERSIDAD TECMILENIO. Sin embargo, usted podrá bajar material a su computadora personal para
uso exclusivamente personal o educacional y no comercial limitado a una copia por página. No se podrá remover o alterar de la copia
ninguna leyenda de Derechos de Autor o la que manifieste la autoría del material.

21

También podría gustarte