<style>
@import url('https://fonts.googleapis.com/css2?family=Victor+Mono:ital,wght@0,100..700;1,100..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');
/* HEADING */
h1 {
font-family: "JetBrains Mono", monospace !important;
font-weight: 900 !important;
color: #fff !important;
-webkit-text-stroke: 1px cyan;
background: linear-gradient(135deg, #0f202798, #19191948, #2c232477);
padding: 20px 30px;
letter-spacing: 2px !important;
text-transform: uppercase !important;
text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
text-align: center;
transition: transform .3s ease;
border: 2px solid transparent;
border-bottom-color: #063c44;
}
h1:hover {
background: #00d4ff40;
}
h1.title {
font-size: 110px !important;
border-radius: 12px;
border: 2px solid #00d4ff40;
}
h1.title:hover {
transform: scale(1.08);
box-shadow: 0 12px 35px rgba(0, 212, 255, 0.7);
}
h2, h3 {
font-family: Roboto, serif !important;
font-weight: 900 !important;
letter-spacing: 2px !important;
}
.reveal p {
font-size: 30px;
}
.reveal strong {
color: #A6D2De !important;
}
</style>
<!-- .slide: data-transition="fade-in zoom-out" -->
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.4)), url('https://i0.wp.com/keepler.io/wp-content/uploads/2023/08/keepler-data-tech-structuralia-relational-data-platform.jpg') center/cover no-repeat" data-background-color="#000" -->
<!-- .slide: style="text-align: left" -->
<style scoped>
.equipo {
position: fixed;
bottom: -120px;
left: 0px;
display: flex;
gap: 16px;
padding: 12px 16px;
border-radius: 16px;
font-family: 'Segoe UI', sans-serif;
z-index: 9999;
}
.miembro {
display: flex;
align-items: center;
gap: 10px;
background: #00000070;
padding: 6px 10px;
border-radius: 12px;
color: cyan;
font-weight: bolder;
font-size: 20px;
white-space: nowrap;
border: 2px solid #00d4ff40;
transition: transform 0.2s ease;
}
.miembro:hover {
transform: scale(1.05);
color: cyan;
font-weight: bold;
}
.miembro img {
width: 32px;
height: 32px;
border-radius: 50%;
object-fit: cover;
border: 2px solid #00d4ff;
}
</style>
<h1 class="title"> Bases de Datos<br>Relacionales</h1>
<div class="equipo">
<a href="mailto:marco.contreras11@inacapmail.cl">
<div class="miembro">
<img src="https://ui-avatars.com/api/?name=Marco+Contreras&background=0072ff&color=fff" alt="Marco">
<span>Marco Contreras</span>
</div>
</a>
<a href="mailto:mauro.valdivia@inacapmail.cl">
<div class="miembro">
<img src="https://ui-avatars.com/api/?name=Mauro+Valdivia&background=00c6ff&color=fff" alt="Mauro">
<span>Mauro Valdivía</span>
</div>
</a>
<a href="mailto:francisco.santander16@inacapmail.cl">
<div class="miembro">
<img src="https://ui-avatars.com/api/?name=Francisco+Santander&background=00aaff&color=fff" alt="Francisco">
<span>Francisco Santander</span>
</div>
</a>
</div>
---
<!-- .slide: data-transition="slide-in fade-out" style="text-align:left" data-background="linear-gradient(rgba(0, 0, 0, 0.1),rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.1)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" -->
<h1 style="text-align: center; font-size:46px !important">📚 Concepto de Bases de Datos</h1>
Cuando hablamos de **bases de datos**, solemos pensar automáticamente en el __modelo relacional__:
📊 tablas, claves, relaciones…
Sin embargo, __esto no siempre fue así__. Antes del desarrollo del modelo relacional, __existieron otros enfoques para organizar los datos__.
---
<!-- .slide: data-transition="slide-in convex-out" style="text-align:left" data-background="linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.3)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" -->
<h1 style="text-align: center; font-size:38px !important">🚀 Introducción a los Modelos de Datos</h1>
<div style="max-width: 1000px; margin: 40px auto; line-height: 1.9;">
📌 Los modelos de datos definen **cómo se organiza y accede la información**.
📌 Son la base de la evolución de las bases de datos, desde estructuras jerárquicas hasta sistemas distribuidos en la nube.
📌 Más que tecnología, representan una **forma de pensar los datos**.
</div>
---
<style>
img[alt="timeline"] {
margin: 0 auto 0 -360px;
}
</style>
<!-- .slide: data-transition="zoom-in fade-out" style="display:flex; justify-content: center" data-background="linear-gradient(rgba(0, 0, 0, 0.89), rgba(0, 0, 0, 0.5)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" -->
<h1 style="text-align: center; font-size:41px !important">🕒 Evolución de las Bases de Datos</h1>

---
<!-- .slide: data-transition="fade-in convex-out" -->
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.4)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" data-background-color="#000" -->
<!-- .slide: style="text-align:left" -->
<style scoped>
.card-container {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
margin-top: 30px;
}
.card {
background: linear-gradient(135deg, #00202b, #111);
color: white;
padding: 20px;
border-radius: 16px;
width: 31%;
text-align: center;
box-shadow: 0 6px 12px rgba(0,0,0,0.4);
font-family: 'Segoe UI', sans-serif;
}
.card:hover {
background: #00d4ff40;
}
.card h3 {
margin-bottom: 10px;
font-size: 23px;
color: #00c6ff;
}
.card p {
font-size: 18px;
color: #ddd;
}
</style>
<h1 style="text-align: center; font-size:49px !important">🗃️ Modelos de Datos</h1>
<div class="card-container">
<div class="card">
<h3><a href="#modelo_jerarquico">Jerárquico</a></h3>
<p>Estructura tipo árbol. Cada nodo tiene un único padre. Rápido pero rígido.</p>
</div>
<div class="card">
<h3><a href="#modelo_red">Red</a></h3>
<p>Permite múltiples relaciones entre datos. Más flexible que el jerárquico.</p>
</div>
<div class="card">
<h3><a href="#modelo_relacional">Relacional</a></h3>
<p>Organiza los datos en tablas. Usa SQL. Es el modelo más utilizado.</p>
</div>
<div class="card">
<h3>Orientado a Objetos</h3>
<p>Incorpora características de la programación orientada a objetos.</p>
</div>
<div class="card">
<h3>NoSQL / Documental</h3>
<p>Almacena documentos JSON. Flexible y escalable. Ideal para big data.</p>
</div>
<div class="card">
<h3>Grafos</h3>
<p>Modela relaciones entre nodos. Ideal para redes sociales y rutas.</p>
</div>
</div>
---
<style scoped>
img[alt="ims"] {
border-radius: 30px;
}
</style>
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" data-background-color="#000" -->
<h1 style="text-align: center; font-size:39px !important">📍 Antes del Modelo Relacional</h1>
<p style="text-align: left">En los años 60, las bases de datos seguían <strong>modelos jerárquicos</strong> o en <strong>red</strong>. Estos sistemas eran complejos, rígidos y dependían mucho del hardware.</p>
___IMS ( Information Management System )___ _de IBM, uno de los primeros sistemas de bases de datos jerárquicas._
[](https://www.ibm.com/es-es/products/ims)
---
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.7)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" data-background-color="#000" id="modelo_jerarquico" -->
<h1 style="text-align: center; font-size:45px !important">🌲 Modelo Jerárquico</h1>

---
<!-- .slide: data-transition="fade-in slide-out" data-background-video="https://cdn.pixabay.com/video/2018/05/24/16425-272487404_large.mp4" data-background-video-muted data-background-autoplay
-->
:::info
La __principal desventaja del modelo jerárquico es su rigidez__. Cada nodo tiene un único padre, lo que dificulta representar relaciones complejas o múltiples entre datos
:::
---
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.4)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" data-background-color="#000" id="modelo_red" -->
<h1 style="text-align: center; font-size:39px !important">🕸️ Modelo de Redes</h1>

---
<!-- .slide: data-transition="slide-in zoom-out" data-background-video="https://cdn.pixabay.com/video/2017/11/02/12716-241674181_large.mp4" data-background-video-muted
-->
:::warning
Aunque el modelo de red resolvía muchas de las limitaciones del modelo jerárquico, su principal desventaja era la **complejidad**. La navegación entre registros dependía de punteros y rutas predefinidas, lo que dificultaba tanto el desarrollo como el __mantenimiento__ del sistema.
:::
---
<!-- .slide: data-transition="slide-in zoom-out" id="modelo_relacional" data-background="linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.7)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" data-background-color="#000" -->
<h1 style="text-align: center; font-size:39px !important">📊 Modelo Relacional</h1>

---
<!-- .slide: data-transition="slide-in fade-out" id="modelo_relacional" data-background-video="https://videos.pexels.com/video-files/3130284/3130284-uhd_2560_1440_30fps.mp4" data-background-video-muted
-->
:::success
En el __modelo relacional__, los datos se organizan en tablas relacionadas entre sí mediante claves. Esto __mejora la flexibilidad__, __integridad__ y la __consulta de datos__.
:::
---
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.9)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" data-background-color="#000" style="text-align: left" -->
<h1 style="font-size: 35px !important">¿Por qué es importante almacenar y procesar datos?</h1>
<div style="color: #f1f1f1; font-size: 1.1rem; max-width: 800px; margin: auto;">
En la era digital, los datos son el **activo más valioso** de las organizaciones. La forma en que se almacenan, organizan y procesan define su valor.
Durante los años 60, los modelos jerárquico y de red eran rígidos y complejos, dificultando el acceso flexible a la información.
Fue entonces que, en los años 70, [**Edgar F. Codd**](https://es.wikipedia.org/wiki/Edgar_Frank_Codd) propuso __el Modelo Relacional__, revolucionando la forma en que entendemos las bases de datos.
Este modelo trajo <span style="color: #e7ad52; font-weight: 600">seguridad</span>, <span style="color: #e7ad52; font-weight: 600">integridad</span> y una <span style="color: #e7ad52; font-weight: 600">estructura lógica clara</span>, facilitando la consulta, el mantenimiento y la escalabilidad.
</div>
---
<!-- .slide: data-transition="fade-in convex-out" -->
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.6)), url('https://hackmd.io/_uploads/r1VUCMTfgg.png') left/contain no-repeat" data-background-color="#222" -->
<div style='width: 50%; margin-left: auto; text-align: left'>
<h2 style="font-size: 50px !important">Comienzo de los 70</h2>
El científico e informático inglés [__Edgar Frank Codd__](https://es.wikipedia.org/wiki/Edgar_Frank_Codd), definió y estableció el __modelo relacional__ y publicó una serie de reglas para los sistemas de datos relacionales a través de su artículo _"Un Modelo Relacional de Datos para Grandes Bancos de Datos Compartidos"_ y que hoy en día se siguen aplicando.<br/>
Artículo Original 👇 <br/><a href='https://dl.acm.org/doi/pdf/10.1145/362384.362685'>https://dl.acm.org/doi/pdf/10.1145/362384.362685</a>
</div>
---
<!-- .slide: data-transition="zoom-in zoom-out" data-background="linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.9)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" data-background-color="#000" -->
<h1 style="text-align: center; font-size:42px !important">📅 Primeras Implementaciones</h1>
- [**System R**](https://es.wikipedia.org/wiki/System_R) ( IBM, años 70 )
- Prototipo que demuestra la viabilidad del modelo relacional
- Da origen al lenguaje **SQL**
- [**Ingres**](https://en.wikipedia.org/wiki/Ingres_(database)) ( Universidad de California, Berkeley )
- Proyecto académico que influye en varios RDBMS comerciales
---
<!-- .slide: data-transition="zoom-in zoom-out" data-background="linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.9)), url('https://image.slidesdocs.com/responsive-images/slides/2-dark-simple-office-general-work-summary-powerpoint-background_c00cd3b8a8__960_540.jpg') center/cover no-repeat" data-background-color="#000" style="text-align: left" -->
<h1 style="text-align: center; font-size:45px !important">El origen de la Normalización</h1>
🔎 Tras proponer el Modelo Relacional, [**Edgar F. Codd**](https://es.wikipedia.org/wiki/Edgar_Frank_Codd) introdujo el concepto de **normalización** como un mecanismo para mejorar el diseño de bases de datos:
📊 **Evitar redundancias**
🔄 **Mejorar la consistencia**
⚠️ **Prevenir anomalías en inserciones, actualizaciones o eliminaciones**
💬 Codd introdujo la **Primera Forma Normal (1FN)** en su artículo original de 1970, sentando las bases para una serie de formas normales que evolucionarían después.
---
<!-- .slide: data-background="linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.9)), url('https://upload.wikimedia.org/wikipedia/en/5/58/Edgar_F_Codd.jpg') left/contain no-repeat" data-background-color="#000" -->
<div style="font-size: 2.3rem; color: #ffffffcc; font-style: italic; text-align: center; margin: 2rem 0 0 auto; max-width: 50%;">
❝Una base de datos bien diseñada es aquella que ha sido <strong style="color:#fa6;">normalizada</strong>.❞
<p style="text-align: center; color: #bbb; font-size: 1.7rem; margin-top: 1rem;">
— Inspirado en los principios de Edgar F. Codd
</p>
</div>
---
<!-- .slide: data-background="linear-gradient(to right, #191919dd, #222222aa), url('https://static.vecteezy.com/system/resources/thumbnails/006/654/437/small/digital-cyberspace-and-data-network-connections-transfer-digital-data-high-speed-internet-technology-digital-data-in-the-future-background-concept-photo.jpg') center/cover no-repeat" data-background-color="#000" -->
<h2 style="background: rgba(255,255,255,0.05); padding: 1rem; border-radius: 12px; font-size: 39px !important; border: 0">🌐 Entornos Comunes de las Bases de Datos Relacionales</h2>
<div style="display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; font-size: 1.7rem; color: #fff; max-width: 90%; margin: auto;">
<div style="background: rgba(255,255,255,0.05); padding: 1rem; border-radius: 12px;">
<strong style="color: #fc5; font-size: 24px">🏦 Sector financiero</strong><br>
Gestión de cuentas, transacciones y registros bancarios.
</div>
<div style="background: rgba(255,255,255,0.05); padding: 1rem; border-radius: 12px;">
<strong style="color: #fc5; font-size: 24px">🏥 Salud</strong><br>
Historiales médicos, citas, inventarios farmacéuticos.
</div>
<div style="background: rgba(255,255,255,0.05); padding: 1rem; border-radius: 12px;">
<strong style="color: #fc5; font-size: 24px">🛍️ Comercio electrónico</strong><br>
Productos, usuarios, pedidos, pagos y análisis de ventas.
</div>
<div style="background: rgba(255,255,255,0.05); padding: 1rem; border-radius: 12px;">
<strong style="color: #fc5; font-size: 24px">🎓 Educación</strong><br>
Matrículas, calificaciones, cursos y control académico.
</div>
<div style="background: rgba(255,255,255,0.05); padding: 1rem; border-radius: 12px;">
<strong style="color: #fc5; font-size: 24px">🛠️ Sistemas empresariales</strong><br>
ERP, CRM, gestión de recursos y toma de decisiones.
</div>
<div style="background: rgba(255,255,255,0.05); padding: 1rem; border-radius: 12px;">
<strong style="color: #fc5; font-size: 24px">📊 Análisis de datos</strong><br>
Consultas complejas, reportes y minería de datos estructurados.
</div>
</div>
---
<!-- .slide: data-transition="fade-in zoom" -->
<!-- .slide: style="background: linear-gradient(#222c, #1114); border-radius: 8px; border: 1px solid #ccc5" -->
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.5)), url('https://png.pngtree.com/thumb_back/fh260/background/20231105/pngtree-blank-dark-wallpaper-elegant-black-texture-background-image_13747095.png') center/cover no-repeat" data-background-color="#000" -->

## PostgreSQL
<p style="color: #7fc">RDBMS • Open Source • Robusto</p>
---
## 📜 __Historia de PostgreSQL__
- **1986** – Inicia como proyecto académico en la Universidad de California, Berkeley, liderado por **Michael Stonebraker**.
- **1989** – Se crea **POSTGRES**, sucesor de Ingres.
- **1996** – Se añade soporte para SQL y el proyecto se renombra a **PostgreSQL**.
- Desde entonces, ha evolucionado con aportes de una activa comunidad global.
---
### Evolución
- 🔹 **Ingres**: Sistema relacional temprano con gran impacto académico
- 🔹 **Postgres**: Introduce tipos complejos, reglas, extensibilidad
- 🔹 **PostgreSQL**: Combina lo mejor de Postgres + SQL estándar
---
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.9), rgba(0, 0, 0, 0.8)), url('https://proventa.de/wp-content/uploads/2021/03/Postgres_Implementieren.jpg') center/cover no-repeat" data-background-color="#000" -->
## 🚀 __Características Destacadas__
- Código abierto y gratuito ( licencia PostgreSQL ).
- Soporte completo para SQL.
- Índices avanzados: B-tree, GiST, GIN, BRIN.
- Extensibilidad: funciones en múltiples lenguajes ( PL/pgSQL, Python, etc. ).
- Alta confiabilidad, integridad y seguridad de datos.
---
## 📚 __Características Clave__
<div style="display:flex; gap:25px; flex-wrap: wrap; justify-content: space-between; margin-top:30px;">
<div class="card" style="background:#222; border-radius:12px; padding:25px; flex:1 1 280px; box-shadow: 0 5px 15px rgba(0,0,0,0.25); text-align:center;">
<img src="https://cdn-icons-png.flaticon.com/512/3037/3037354.png" width="70" alt="ACID icon" style="filter: invert(1)" />
<h3 style="margin-top:15px;">🔒 ACID</h3>
<p>Garantiza transacciones confiables con atomicidad, consistencia, aislamiento y durabilidad.</p>
</div>
<div class="card" style="background:#222; border-radius:12px; padding:25px; flex:1 1 280px; box-shadow: 0 5px 15px rgba(0,0,0,0.25); text-align:center;">
<img src="https://cdn-icons-png.flaticon.com/512/616/616408.png" width="70" alt="Schemas icon" />
<h3 style="margin-top:15px;">📂 Esquemas</h3>
<p>Organiza objetos en espacios lógicos para evitar conflictos y controlar permisos.</p>
</div>
<div class="card" style="background:#222; border-radius:12px; padding:25px; flex:1 1 280px; box-shadow: 0 5px 15px rgba(0,0,0,0.25); text-align:center;">
<img src="https://cdn-icons-png.flaticon.com/512/1077/1077114.png" width="70" alt="Roles icon" style="filter:invert(1)"/>
<h3 style="margin-top:15px;">👥 Roles</h3>
<p>Gestiona usuarios y grupos con permisos finos y herencia.</p>
</div>
</div>
---
<!-- .slide: data-background="linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.8)), url('https://cdn.vectorstock.com/i/500p/67/83/cybersecurity-data-protection-vector-46786783.jpg') center/cover no-repeat" data-background-color="#000" -->
## 🔐 __Seguridad Robusta__
- Autenticación: `MD5`, `SCRAM`, certificados, LDAP, Kerberos.
- Conexiones seguras mediante **TLS/SSL**.
- **Control de acceso a nivel de rol, esquema, tabla y fila (RLS)**.
- Auditoría con extensiones como `pgaudit`.
---
<!-- .slide: data-background="url('https://i.gifer.com/13Gx.gif') center/cover" -->
<h1 style="border: 0">
FIN
</h1>
{"lang":"es-MX","slideOptions":"{\"theme\":\"night\"}","title":"Bases de Datos Relacionales","description":"Las bases de datos han evolucionado para adaptarse a las nuevas necesidades de almacenamiento, consulta y procesamiento de información.","contributors":"[{\"id\":\"8c3cebe9-e2a8-4ac5-b219-2e54412822a9\",\"add\":56432,\"del\":32301,\"latestUpdatedAt\":1754807923501}]"}