0% encontró este documento útil (0 votos)
40 vistas44 páginas

Clase 22. SQL 1 - 4

Este documento presenta una introducción a las bases de datos. Explica brevemente qué es una base de datos, los tipos de bases de datos relacionales y no relacionales, y algunos de los sistemas de gestión de bases de datos más conocidos como MySQL. También describe los conceptos de abstracción de datos, modelado de datos y el diagrama entidad-relación utilizado para diseñar bases de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas44 páginas

Clase 22. SQL 1 - 4

Este documento presenta una introducción a las bases de datos. Explica brevemente qué es una base de datos, los tipos de bases de datos relacionales y no relacionales, y algunos de los sistemas de gestión de bases de datos más conocidos como MySQL. También describe los conceptos de abstracción de datos, modelado de datos y el diagrama entidad-relación utilizado para diseñar bases de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 44

FULL STACK PYTHON

Clase 22
SQL 1
Introducción a Base de Datos
Les damos la bienvenida
Vamos a comenzar a grabar la clase
Clase 21 Clase 22 Clase 23

SPA y Asincronía Introducción a Base de Datos Lenguaje y Sublenguajes SQL

● Introducción a SPA. ● ¿Qué es una Base de datos? ● Gestión y manipulación de


● SPA. ¿Qué es y qué beneficios ● BBDD relacionales y no datos con SQL.
tiene? relacionales. ● Gestión y manipulación de
● Ejemplo práctico de un SPA en ● Entorno MySQL. Instalación. datos.
Vue. Clientes MySQL. ● Sublenguajes DDL y DML.
● Enviar y pedir datos a un ● DER. Entidad, atributo y tipo ● Consultas: Estructura consulta
servidor de datos. Primary key. SQL. Cláusulas SELECT, FROM,
● Asincronía. ● Creación de una BD. WHERE.
● Consumo de API REST a través ● Backup y restauración de ● Alias y literales. ORDER BY.
de fetch y Axios.. bases de datos.
Bases de Datos
Una base de datos es un conjunto de datos pertenecientes a un mismo
contexto y almacenados sistemáticamente para su posterior uso. Es una
forma de almacenar información en forma más eficiente de lo que sería un
archivo de texto.
Se crean y mantienen a través de un DBMS o motor de base de datos, que
facilita la definición, construcción, manipulación y compartición de bases de
datos entre usuarios y aplicaciones.
Contienen datos que pueden diferir entre sí pero poseen relaciones en
común. Por ejemplo: alumnos y libros en el contexto de una biblioteca.
¿Por qué son necesarias las bases de datos?
Si tenemos una empresa es
conveniente tener un sistema para Nivel externo
Usuario final Usuario final
o vistas
registrar ventas, empleados, sueldos, Vista Vista
etc. Estos datos pueden guardarse en Externa Externa
una base de datos con tablas para
registrar esa información. Nivel Esquema
conceptual conceptual
Esta información podrá ser consultada
por usuarios (vistas), administrada por
Esquema
un sistema con tablas relacionadas interno
(esquema conceptual) y almacenada Nivel interno
en una base de datos (esquema
interno). Video
Ejemplo de uso de una base de datos
.
Los productos existen en Para ingresar, los
la base de datos; al usuarios deben haberse
.
buscarlos, la aplicación
consulta la lista de
dado de alta primero, de
esta manera serán
productos de acuerdo a ingresados a la base de
la condición de la datos..
búsqueda..

Todos los datos de los


Las categorías son productos que
también datos que se aparecen en la lista
encuentran en la base están dentro de la base
de datos, por eso se de datos almacenados
puede contar cuántos Con estos datos podemos empezar a pensar que podemos organizar (precio, ubicación,
productos hay en cada la información en tablas: productos, proveedores, usuarios, categorías. vendedor, descripción,
una. Estas tablas tendrán atributos asociados que serán sustantivos. etc) .
SGBD más conocidos
● Existen diferentes Sistemas de Gestión de Base de Datos:
○ Relacionales: MySQL, MaríaDB, PostgreSQL, SQL Server, entre otras.
○ No relacionales: Mongo DB, Redis, Elasticsearch y Cassandra.
Bases de datos relacionales
Las bases de datos relacionales permiten gestionar el acceso a los datos, su
almacenamiento, modificación, eliminación, consulta y el múltiple acceso
desde distintas aplicaciones y usuarios. Además permiten gestionar
permisos para que una parte de los datos estén disponibles para ciertos
usuarios y no para otros. Todo esto es resuelto por un motor de base de
datos, generando una independencia entre la base de datos y la aplicación
que la consulte.
Son más eficientes en cuanto al almacenamiento y búsqueda de
información, comparadas con un archivo de texto plano donde la lectura la
haríamos en forma secuencial (línea por línea), cargándola toda en memoria,
ni tampoco podríamos acceder y guardar información al mismo tiempo.
Bases de datos no relacionales
● No tienen un identificador que sirva de relación entre un conjunto de
datos y otros.
● Normalmente la información se organiza en documentos y es muy útil
cuando no tenemos un esquema exacto de lo que se va a almacenar.
● Suelen utilizar documentos JSON, a diferencia de las bases de datos
relacionales que despliegan su información en tablas.
● Las bases de datos más competitivas suelen permitir operaciones de
ambos tipos: relacionales y no relacionales.
La diferencia entre el éxito y el fracaso de una base de datos recae en el diseño del
modelo. De nada sirve elegir la base de datos más apropiada para nuestro sistema, si
luego no se hace un buen diseño.
Bases de datos no relacionales
Una tabla puede transformarse en
documentos, cada uno formado por cada
fila de la tabla. Solo es una cuestión de
visualización.

ID EDAD PUNTAJE

1 12 77

2 12 68

3 11 75
Bases de datos no relacionales
En una base de datos no relacional una
unidad de datos puede llegar a ser
demasiado compleja como para
plasmarlo en una tabla.
En la imagen de la derecha al tener
elementos jerárquicos, es más difícil
plasmarlo en una tabla plana. Una
solución sería plasmarlo en varias
tablas y, por tanto, necesitar de
relaciones.
Ubicación de las Bases de Datos
Dentro de un entorno de un sistema de
bases de datos se encuentran en el nivel
más bajo. Generalmente se los considera
como la parte "física", ya que, aunque
sean un contenido lógico, se encuentran
almacenadas o creadas en un dispositivo
físico. Por ejemplo: un servidor.
Para que un usuario acceda a los datos
en una Base de Datos, necesita de un
software especial conocido como SGBD
(Sistema Gestor de Base de Datos) o
DBMS (Data Base Managment System).
¿Cómo empezamos a pensar en una BD?
Se realiza una entrevista con el cliente para hacer un relevamiento de datos. El relato
del cliente nos permite identificar qué información va a necesitar. Si el cliente nos
cuenta que tiene empleados, su registro es candidato a ser una tabla que va a tener
atributos asociados (sustantivos): nombre, apellido, DNI, fecha de nacimiento, etc.
Estas tablas se llaman entidades y permitirán almacenar los datos.
Por ejemplo: en el sistema de venta online tendría productos, marcas y conceptos
candidatos a ser tablas o atributos.
Abstracción y Modelado de datos
La abstracción de datos es una técnica o
metodología que permite diseñar estructuras
de datos, consiste en representar bajo ciertos
lineamientos de formato las características
esenciales de una estructura de datos.

El modelado de datos permite describir:


● Las estructuras de datos de la base:
Tipo de datos y sus relaciones.
● Las restricciones de integridad:
Conjunto de condiciones que deben
cumplir los datos para reflejar la realidad
deseada.
● Operaciones de manipulación de los
datos: agregado, borrado, modificación
y recuperación de datos.
Modelo Entidad-Relación
● Método para diseñar Bases de Datos.
Se representa a través de diagramas y
está formado por varios elementos.
● Para modelar los datos utilizamos un
Diagrama de Entidad-Relación
(DER), que pertenece al Lenguaje de
Modelado Unificado (UML, Unified
Modeling Language). Este diagrama
representa entidades (tablas) y las
relaciones lógicas entre ellas.
● Una vez modelados los datos se
implementan en un SGBD.
Diagrama Entidad Relación | Componentes
ENTIDADES: Representan cosas u objetos (ya sean reales o abstractos). Se
representan en los diagramas como rectángulos. Se suelen colocar en plural.

Alumnos Libros Autos Empleados Materias

ATRIBUTOS: Definen o identifican las características propias y por lo general únicas


de una entidad, pueden ser de distintos tipos (numéricos, texto, fecha, etc.), y se
representan por medio de un óvalo o elipse. Cada entidad contiene distintos
atributos, que dan información sobre ella misma.
Alumnos

DNI Nombre Apellido Dirección


Diagrama Entidad Relación | Componentes
RELACIONES: Se representan con rombos y tienen una característica conocida como
“cardinalidad”, que indica el sentido y la cantidad de “relaciones” existentes entre
una entidad y otra. Los tipos de relaciones pueden ser:
● 1 a N (uno a muchos): una persona tiene muchos autos y viceversa, muchos
autos pueden ser de una persona.

Persona Tiene Autos


1 n

● 1 a 1 (uno a uno): a un alumno le pertenece únicamente un boletín y viceversa,


un boletín pertenece únicamente a un alumno.

Alumno Pertenece Boletín


1 1
Diagrama Entidad Relación | Componentes
● N a N (muchos a muchos): muchos alumnos pueden tener muchas materias y
viceversa, muchas materias pueden contener a muchos alumnos.

Alumno Tiene Materia


n n
Diagrama Entidad Relación | Ejemplo
Una empresa de venta de electrodomésticos tiene clientes, pedidos y productos.
Desea modelar a través de un DER cómo se implementaría la Base de Datos:
1. Detectar las entidades:

Clientes Pedidos Productos

2. Detectar los atributos:

Productos
Clientes
Pedidos

Código Precio
DNI Fec. Nac

Nombre Cant
Nombre Tel
Nro Fecha
Apellido
Diagrama Entidad Relación | Ejemplo
3. Conocidas las entidades y sus atributos, establecemos las relaciones existentes
entre sí: un cliente puede realizar varios pedidos (ya que en cada compra que
realice, se efectuará un nuevo pedido) y que un pedido puede tener varios
productos (ya que una misma compra/pedido pueden haber más de un artículo
encargado).
1 n n 1
Clientes Tiene Pedidos Tiene Productos

DNI Fec. Nac Código Precio

Nombre Tel Nro Fecha Nombre Cant

Apellido
Diagrama Entidad Relación | Ejemplo
4. Una vez que tenemos el DER lo pasamos a forma de TABLA:

Clientes Pedidos ItemPedidos

Id RazonSocial CUIT Tel Nro IdCliente Fecha Pedido IdProducto Cantidad Precio

Productos

Código Nombre Precio


Tipos de Datos
Los atributos de las entidades deben cumplir o pueden ser únicamente de
ciertos tipos de datos. Entre ellos, los más importantes / utilizados son:
● NUMÉRICOS: se utilizan para representar valores/atributos de carácter
numérico tanto enteros, como decimales.
● TEXTO (VARCHAR): se utilizan para representar valores de texto, como
ser cadenas de caracteres.
● DATE (FECHA): se utilizan para representar fechas, horas, minutos,
segundos, etc.
● BOOLEAN (LÓGICO): se utilizan para representar valores verdaderos o
falsos (true or false).
Tipos de Datos
Los tipos de datos del ejemplo anterior podrían ser los siguientes:

Clientes Productos Pedidos

Razon
ID Tel CUIT Id Nombre Precio Nro IdCliente Fecha
Social

INT VARCHAR(100) VARCHAR(20) DATE INT VARCHAR(20) DOUBLE INT INT DATE

ItemPedidos

IdPedido IdProducto Cantidad Precio

INT INT INT DOUBLE


Primary key y Foreign Key
● Las claves primarias (Primary Keys) son valores que identifican de
manera única a cada fila o registro de una tabla, esto quiere decir que no
se puede repetir. Por ejemplo: un DNI, un código de producto, etc.
● Una clave foránea (Foreign Key) es un campo de una tabla “X” que sirve
para enlazar o relacionar entre sí con otra tabla “Y” en la cual el campo
de esta tabla es una clave primaria (Primary Key). Para que un campo
sea una clave, esta tiene que ser una clave primaria en otra tabla.
Primary key y Foreign Key
En el ejemplo anterior podemos identificar las claves primarias, que
identificarán de manera única a cada fila o registro de una tabla

Clientes Productos Pedidos

ID RazonSocial Telefono CUIT Id Nombre Precio Nro IdCliente Fecha

INT VARCHAR(100) VARCHAR(20) varchar INT VARCHAR(20) DOUBLE INT INT DATE

ItemPedidos

IdPedido IdProducto Cantidad Precio

INT INT INT DOUBLE


Instalación MySQL Server | Paso a paso
1. Descargar el instalador de https://dev.mysql.com/downloads/installer/
2. Ejecutar el instalador y seleccionar Server Only Execute.
3. Darle a next hasta llegar a la pantalla Authentication Method:
Seleccionar Use Legacy Authentication Method.
4. En la siguiente pantalla setear contraseña para el usuario root en MySQL
Root Password.
5. Darle next y al llegar a Apply Configuration apretar Execute.

Importante: Para la instalación se recomienda ver los tutoriales que


aparecen en esta presentación y utilizar los archivos que están en el Aula
Virtual y la carpeta de Drive compartida.
Herramientas para manejo de Base de Datos
MYSQL WORKBENCH: Es una herramienta visual
de diseño de bases de datos que integra
desarrollo de software, administración de bases
de datos, diseño de bases de datos, creación y
mantenimiento para el sistema de base de datos
MySQL.

PHPMYADMIN: Es una herramienta escrita en


PHP con la intención de manejar la
administración de MySQL a través de páginas
web, utilizando Internet.
Puede crear y eliminar Bases de Datos, crear,
eliminar y alterar tablas, borrar, editar y añadir
campos, ejecutar cualquier sentencia SQL,
administrar claves en campos, administrar
privilegios y exportar datos en varios formatos.
Herramientas para manejo de Base de Datos
VISUAL STUDIO CODE:
1. Descargar las siguientes extensiones en VSCode:

2. Cerrar y volver a abrir Visual Studio Code.


3. Apretar el símbolo + en el apartado MySQL. Al ser la primera vez que se
configura no aparecerá ninguna base de datos:
Herramientas para manejo de Base de Datos
VISUAL STUDIO CODE (continuación):
4. Rellenar usuario y contraseña, los demás datos (puerto y SSL) y apretar
ENTER.

5. Deberá aparecer localhost:


Conectarse al servidor MySQL
Para que un programa cliente (VSCode,
MySQL Workbench, phpMyAdmin, etc.) se
conecte al servidor MySQL, debés utilizar
los parámetros de conexión adecuados,
como el nombre del host donde se ejecuta
el servidor y el nombre de usuario y
contraseña de tu cuenta MySQL.

Cada parámetro de conexión tiene un


valor predeterminado, pero puede anular
los valores predeterminados según sea
necesario utilizando las opciones del
MySQL Workbench: En MySQL Connections deben
programa especificadas en la línea de establecer una nueva conexión con el signo + y poner los
comandos o en un archivo de opciones. datos de la nueva conexión.
Crear una base de datos de prueba
WORLD.SQL: Los pasos se detallan para VSCode pero para MySQL
Workbench y phpMyAdmin resultan similares.

1. Descargar world.sql del Aula Virtual y abrir con Visual Studio Code.
2. Apretar botón derecho > Run SQL Query.
Ver una BD y acceder a tablas
Una vez que nos conectamos al LocalHost, previa conexión con XAMPP,
podremos acceder a ver las bases de datos y sus tablas:

Bases de
datos
(schemas)

Registros
Tablas
seleccionados
(entidades)
Creando nuestra primer BD
Crearemos nuestra primera BD llamada empleados_departamentos. Utilizaremos el
archivo bd_empleados_departamentos.sql para ejecutar la sentencia SQL que la
crea. Para ello seguiremos los siguientes pasos:

1. Abrir el archivo que contiene la sentencia SQL.


2. Crear una nueva consulta SQL y pegar todo el texto dentro.
3. Ejecutar desde el ícono del rayo.
4. Quedará creada la Base de Datos con dos tablas: departamentos y empleados
Creando nuestra primer BD
Para crear una tabla utilizamos CREATE TABLE e indicamos cuáles son las columnas
(atributos/campos) que conformarán nuestra tabla (1).
Para agregar registros utilizamos INSERT INTO nombredelatabla VALUES y estos datos
van separados por comas en el mismo orden en que fueron incorporados los campos
(2). Los datos serán incorporados en la tabla (3).

1
2

3
Ver los datos de las tablas
Haciendo clic con el botón derecho en nuestra tabla y seleccionando Select Rows –
Limit 1000 veremos los resultados de nuestra primer consulta SQL:

Con CTRL + Enter ejecutamos


la consulta, o con el ícono del
rayito:
Claves principales
Una clave principal es un identificador único para cada registro de la tabla. Para
definirla tenemos que analizar las claves candidatas, aquellas que podrían ser claves
principales, un valor propio de ese registro que identifique de forma única esa
instancia del dato. Cada registro debería tener un identificador único, para evitar
duplicados:
Exportar una BD (backup)
Podemos exportar una Base de datos desde Workbench con el objetivo de hacer un backup:

1. Ir a Server – Data export


2. Seleccionar la base de datos (schema) que se desea exportar del cuadro de la izquierda
dentro de Object Selection.
3. Seleccionar del cuadro de la derecha aquellas tablas que se desean exportar.
4. Determinar a qué carpeta se exportará la base de datos y cómo se exportarán los datos:
a. Si elegimos Export to Dump Project Folder se exportarán las tablas por separado.
b. Con Export to Self-Contained File podremos darle un nombre al archivo, pero con
todas las tablas juntas.
5. Hacer clic en Start Export y colocar la contraseña del host.
Material extra
Artículos de interés
Material extra:

● ¿Qué es un gestor de datos y para qué sirve?


● ¿Qué son las bases de datos NoSQL?
● Diagrama entidad relación
● ¿Qué es y para qué sirve UML?
● Lenguaje de definición de datos (DDL)
● Curso de SQL de Píldoras informáticas
● Cómo hacer un backup de MySQL con phpMyAdmin
Artículos de interés
Videos:
● Instalar XAMPP 2022 para Windows 10
● Instalar XAMPP y phpMyAdmin
● Instalar XAMPP y MySQL Workbench
● Instalar MySQL y MySQL Workbench
● Primer encuentro con una Base de Datos MySQL (MySQL Workbench)
● Primer encuentro con una Base de Datos MySQL (XAMPP y phpMyAdmin)
● Cómo instalar XAMPP en Windows y corregir problemas de puertos y permisos
Sitios e instaladores:
● MySQL: https://dev.mysql.com/downloads/installer/
● phpmyadmin: https://www.phpmyadmin.net/
● MySQL Workbench: https://dev.mysql.com/downloads/workbench/
No te olvides de dar el presente
Recordá:
● Revisar la Cartelera de Novedades.
● Hacer tus consultas en el Foro.
● Realizar los Ejercicios obligatorios.

Todo en el Aula Virtual.


Muchas gracias por tu atención.
Nos vemos pronto

También podría gustarte