Clase 1 - Bases de Datos Dec 12

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

Asignatura

Bases de Datos
Especialización en Analítica de Datos
Dec 12, 2023

Docente: Fernando Ardila


Agenda
● Bienvenida e Introducción a la
Asignatura
● Proyecto (ACA)
● Introducción a las Bases de
Datos
Fernando Ardila
Roles Actuales
● Technical Program Manager - Netail.ai
● Senior Program Manager - kmeleon
● Docente de las especializaciones en Datos y Analítica y Gestión de TI -
CUN
● Coach Independiente en Desarrollo de Carrera: Orientación profesional y
asesoramiento en desarrollo de carrera, entre otros.

Roles Anteriores
● Project Manager
● Delivery Manager
● Software Developer
● Mentor de estudiantes de pregrado de la Universidad Rosario.

Formación académica: Ingeniero de Sistemas, Especialista en Gerencia de


Proyectos, Maestría en Dirección de Tecnologías, Coach ontológico.

Certificaciones: AWS, Scrum, SAFe, AI Foundations, entre otros.


Logística de las clases
ACA 1: DIC 23 ACA 2: ENE 6 ACA 3: ENE 19

11 DIC 1 2 3 4 5 6 21 ENE

● Cuando: Todos los Martes o Jueves de 7 PM a 9:00 PM


● Clases grabadas: se pueden acceder directamente desde el calendario de Gmail
● Contacto con el profesor:
○ Directo por intermedio del chat de google de su cuenta educativa.
○ Tutorías: Cada estudiante puede agendar tutorías en el siguiente link, de acuerdo
a su disponibilidad: https://calendar.app.google/ZxYfo1KvRyx2mH8z7
● Grupo de contacto entre estudiantes: En la plataforma de “Spaces” de su cuenta de
google de la universidad, pueden conectar entre todos los estudiantes para diversos
temas.
Cronograma general de ACAs
Corte 1 (30%) Corte 2 (30%) Corte 3 (40%)

Componente Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Semana 6 Calificacion

Actividad de Construcción ACA 1


Aplicada ACA Fecha Máxima de Entrega: DIC 23 - 11:59 PM
ACA 2
Fecha Máxima de Entrega: ENE 6 - 11:59 PM Entrega
Corte 1: 30%
Corte 2: 30% ACA 3
Fecha Máxima de Entrega: ENE 19 - 11:59 PM
Corte 3: 32%

Autoevaluación
Plataforma
4%

Coevaluación (Foro)
Plataforma
4%

Importante

● Revisar la Fecha y Hora Máxima de entrega del estudiante detallada en este cronograma
● El periodo de calificación del docente comprende +2 días después de la fecha de entrega del estudiante
● Entregas tardías se calificará sobre 4
Metodología de Estudio

+0.1 puntos
Clases en vivo En Casa sumados al ACA
Teoría Investigación Autónoma como premio a
Debates y preguntas Profundización
Compartir Experiencias Práctica quienes más
Casos de estudio Desarrollo del Proyecto ACA
Proyecto en grupo (ACA)
participen en clase
¿Puedo utilizar IA?
Syllabus: ¿Que vamos a aprender en esta asignatura?

Introducción Sistemas de Gestión de Base de


Datos. PROPÓSITO

Modelado de Datos E:R, Relacional, Herramientas Adquirir conocimientos en


de modelado el diseño, creación y
mantenimiento de las
Bases de Datos ETL, Normalizacion, Algebra bases de datos relacionales
como elemento fundamental
Relacionales relacional, Procedimientos
para el análisis de
almacenados, triggers, SQL, información.
Queries, Vistas.

Bases de Datos NO Introducción, MongoDB.etc.


SQL
Actividad de Construcción Aplicada
Desarrollaremos un proyecto a lo largo de la asignatura
que involucra:

Diseñar una base de datos y Compuesto de 3 Entregables


realizar consultas (queries). (ACAs)

En la sección de descargas de la plataforma de CUN digital encontrarán el documento con las indicaciones y el
paso a paso para el desarrollo del proyecto.
Taller ACA
#1 (Semana 2) # 2 (Semana 4) # 3 (Semana 6)

Proceso Planificación y Diseño Desarrollo BD Desarrollo Queries + Video

Entregable Diseñar los modelos de Entidad/Relación Crear y alimentar la Base de Datos Desarrollo de Consultas (Select, Insert,
Delete, Update)
Presentación EJECUTIVA v1 (pdf) Presentación Ejecutiva v2
Presentación Ejecutiva v2

Video en Youtube

Datos:
● Seleccionar un DataSet:
○ Ej: datos.gov.co o personal

Diseño de la Base de Datos (en formato de presentación “google slides”):


● Elegir un motor de Bases de Datos y SGDB, configurarlo en su equipo local. (Adjuntar evidencias)
○ Laragon (MariaDB)
○ SGDB (HeidiSQL)
● Diseñar el modelo Entidad-Relación (https://app.diagrams.net/)
● Crear un diccionario de Datos
Caso de Estudio: Creación de una BD para E-commerce

La empresa TodMax del sector de e-commerce está Objetivos generales del Proyecto
buscando estrategias para consolidarse en el mercado y
ganar ventaja competitiva. El corazón de esta estrategia es ● Diseñar el modelo de Entidad-Relación.
una robusta bases de datos que permita una operación ● Crear un Diccionario de Datos
fluida, así como la extracción de insights valiosos de su ● Configurar el motor de bases de datos
● Crear la Base de Datos Relacional
data para orientar decisiones de negocio inteligentes.
● Alimentar la BD con datos
● Crear Consultas sobre los datos
Base de datos:
https://www.w3schools.com/sql/trysql.asp?filename=tr
ysql_select_all
¿Que es una Bases de Datos?

Discusión
¿Que es una base de datos (BD)?

Es un conjunto de datos relacionados entre sí Componentes:


y almacenados de manera estructurada en un
sistema de almacenamiento, generalmente en
una computadora o servidor.
● Tablas
● Registros
Estos datos pueden ser de diferentes tipos,
como texto, números, imágenes o cualquier otro ● Campos
tipo de información.
● Consultas (Queries)
¿Que es una base de datos (BD)?
Columna

En una BD, los datos se


organizan en tablas, donde
cada fila representa un
registro individual y cada
columna representa un
campo de datos específico. Registro
Estas tablas permiten una
fácil búsqueda, acceso y
administración de la
información
¿Que es una base de datos (BD)?
¿Que entiendo por SQL?

Discusión
¿Que es SQL?
Structured Query Language o
Lenguaje de Consulta
Estructurado.

Es un lenguaje de programación
utilizado para comunicarse y
manipular bases de datos.
¿Qué podemos hacer con SQL?
Manipulación de Datos: SQL permite realizar varias
operaciones con los datos almacenados en una base de
datos, incluyendo:
SQL se utiliza principalmente para
● SELECT: Para consultar y recuperar datos de una o
realizar operaciones como insertar más tablas.
● INSERT: Para agregar nuevos registros a una tabla.
nuevos datos en una base de datos, ● UPDATE: Para modificar datos existentes en una
tabla.
recuperar datos de una base de ● DELETE: Para eliminar registros de una tabla.
datos, actualizar datos en una base Creación y Manipulación de la estructura de una base de
datos a través de comandos como:
de datos y eliminar datos de una
base de datos. ● CREATE: Para crear nuevas tablas y bases de datos.
● ALTER: Para modificar una estructura de tabla
existente (por ejemplo, agregar o eliminar columnas).
● DROP: Para eliminar tablas y bases de datos.
¿Qué entiendo por un
manejador o gestor de una
base de datos?
Discusión
Sistemas de Gestión de Bases de Datos (SGBD)
¿Que es?
Componentes Clave
Es una herramienta/software que me permite
● Motor de Base de Datos (DBMS Engine)
manejar y/o gestionar de manera simple y ● Motor de Consultas (Query Engine)
rápida una base de datos.
Otras funcionalidades incorporadas
Aquí se puede consultar, agregar, eliminar o ● Diccionario de Datos (Data Dictionary)
actualizar datos. ● Optimizador de Consultas (Query Optimizer)
● Gestor de Transacciones (Transaction
Manager)
● Motor de Almacenamiento (Storage Manager)
● Control de Acceso y Seguridad
● Concurrencia y Control de Transacciones
● Gestión de Copias de Seguridad y
Recuperación
● Interfaces de Usuario y Aplicaciones
Ejemplo de un manejador de Bases de Datos
¿Cuantos tipos de bases de
datos existen?

Discusión
Algunos tipos de bases de datos que existen
Tipo Descripción Ejemplos

Relacionales Almacenan datos en tablas relacionadas con filas y columnas. Son ideales para MySQL, PostgreSQL, Oracle y Microsoft SQL
aplicaciones que requieren estructuras de datos rígidas y relaciones complejas Server.
entre los datos

NoSQL se utilizan para datos no estructurados o semiestructurados y pueden manejar MongoDB, CouchDB, Apache Cassandra, HBase,
grandes volúmenes de datos Redis, Riak, grafos (Neo4j y Amazon Neptune)

En memoria (Caché Almacenan temporalmente datos en la memoria principal del servidor para un Redis y Memcached
o In-memory data acceso ultra rápido
stores)

Espaciales Diseñadas para trabajar con datos geoespaciales, como mapas y ubicaciones PostGIS, MongoDB
geográficas.

Temporales Se centran en la gestión de datos temporales. Pueden ser útiles en aplicaciones InfluxDB, Prometheus
de series temporales y seguimiento de cambios históricos.

In-Memory Almacenan datos completamente en la memoria principal (RAM) para lograr SAP HANA y Oracle TimesTen.
tiempos de respuesta extremadamente rápidos

Distribuidas Distribuyen datos a través de múltiples nodos o servidores para mejorar la Apache Cassandra y Amazon DynamoDB.
escalabilidad y la disponibilidad
¿Que es un diccionario de
datos?

Discusión
Un diccionario de datos es una herramienta que me
permite tomar decisiones y facilitar la comunicación entre
mis equipos. Se puede generar en:

● Facilita la Toma de Decisiones


● Definición Clara de Datos
● Consistencia y Estandarización
● Facilita la Comunicación
● Integración y Migración de Sistemas
● Mantenimiento y Escalabilidad
● Cumplimiento Regulatorio
● Educación y Onboarding O diversos sistemas especializados en
● Soporte para Análisis y Reportes documentación
● Prevención de Errores
Ejemplo de un Diccionario de Datos
Práctica SQL
¿Preguntas?

También podría gustarte