Construyendo Platziblog en Firestore
Clase 55 de 67 • Curso de Fundamentos de Bases de Datos 2019
Resumen
¿Cómo crear colecciones en Firestore?
En esta clase, exploramos cómo transformar estructuras de bases de datos relacionales de SQL en Firestore, un sistema de base de datos no relacional. La transición requiere entender cómo estructurar y manejar los datos con colecciones de nivel superior (top-level collections), documentos, y referencias. A continuación, detallamos los pasos para recrear una base de datos en Firestore aprovechando sus capacidades.
¿Cómo definir colecciones de nivel superior?
Las colecciones de nivel superior son fundamentales en Firestore, ya que funcionan como contenedores que alojan documentos. En el ejemplo del curso, se definieron varias colecciones importantes:
-
Categorías:
- Crea una colección llamada
Categorías
. - Añade documentos individuales, cada uno representando una categoría con un campo simple para el nombre, por ejemplo:
Deportes
,Ciencia
,Espectáculos
.
Categorías ├── Documento 1: {nombre: "Deportes"} ├── Documento 2: {nombre: "Ciencia"} └── Documento 3: {nombre: "Espectáculos"}
- Crea una colección llamada
-
Usuarios:
- Define la colección
Usuarios
donde cada documento representa un usuario con campos comoLogin
,Password
,Nickname
, yEmail
.
Usuarios └── Documento 1: { Login: "Israel", Password: "contraseña_segura", Nickname: "Israel", Email: "Israel@PlatziBlog.com" }
- Define la colección
-
Blog Posts:
- Crea la colección
Posts
para almacenar las publicaciones del blog con campos comoTítulo
,Fecha de Publicación
,Contenido
, yStatus
.
Posts ├── Documento 1: { Título: "Nuevo Teléfono Móvil", Fecha de Publicación: "2030-04-05", Contenido: "Lorem Ipsum...", Status: true } ├── Documento 2: { Título: "Evento de Tecnología", Fecha de Publicación: "2025-05-04", Contenido: "Prueba de Texto...", Status: true }
- Crea la colección
¿Cómo relacionar documentos en Firestore?
Para relacionar documentos en Firestore, utilizamos referencias. Esto permite vincular, por ejemplo, un Post
con un Usuario
y una Categoría
.
-
Relación Usuario-Post:
- Agrega un campo
Autor
en tus documentos dePosts
y utiliza el tipo de datoreference
para enlazar al documento correspondiente del usuario.
Posts ├── Documento 1: {..., Autor: referencia_a_usuario_1}
- Agrega un campo
-
Relación Categoría-Post:
- Similarmente, para las categorías, crea un campo
Categoría
enPosts
que apunte a la categoría relacionada.
Posts ├── Documento 1: {..., Categoría: referencia_a_categoría_1}
- Similarmente, para las categorías, crea un campo
¿Cómo crear subcolecciones?
Las subcolecciones permiten organizar datos relacionados dentro de un mismo documento. En el ejemplo, se mostró cómo agregar etiquetas a cada publicación:
-
Subcolecciones de Etiquetas:
- Dentro de cada
Post
, crea subcolecciones comoEtiquetas
que almacenen documentos con el campoNombre Etiqueta
.
Posts ├── Documento 1: { ..., Etiquetas: { Documento 1: {Nombre Etiqueta: "Teléfonos Móviles"}, Documento 2: {Nombre Etiqueta: "Eventos"} } }
- Dentro de cada
¿Qué pasos debo seguir para practicar?
La práctica es esencial para dominar Firestore. Intenta replicar esta estructura con tu propio proyecto:
-
Transformar entidades de SQL a Firestore: Considere cómo sus tablas y sus relaciones pueden convertirse en documentos y referencias.
-
Practicar las relaciones y la organización de subcolecciones: Familiarízate con las ventajas que ofrece la NoSQL al manejar datos anidados y relaciones no tradicionales.
-
Explorar otras bases de datos NoSQL: Extiende tu conocimiento a bases de datos similares como MongoDB, que también emplean documentos.
Esta práctica no solo refuerza tu comprensión de Firestore, sino que también te prepara para trabajar con diferentes tipos de bases de datos, cada vez más comunes en el desarrollo profesional. ¡Explora, experimenta y comparte tus resultados con otros para seguir aprendiendo!