Base de datos momento sentir mano — Rails 'recordar servicio web' directamente hacer intentar

Cree una base de datos usted mismo y experimente la memoria, la conexión y la búsqueda de servicios web. Tiempo para aprender a crear un modelo de publicación con Rails e interactuar con la base de datos.

밤치 41

Acabamos de describir la base de datos (DB)

usando metáforas como biblioteca, memoria, bibliotecario, red.

Ahora, veámoslo moverse frente a tus ojos.

Cómo un servicio web

almacena información,

cómo recuerda,

cómo la recupera para mostrarla,

cómo se conecta entre sí,

Al seguir con Rails directamente,

es hora de sentirlo en tu cuerpo.


Parte 1. Creando la "memoria" del servicio web

Creando el modelo de Publicación (Post)

La memoria web comienza con un registro.

Llamaremos a este registro "Publicación (Post)".

En la terminal:

rails generate model Post title:string body:text
rails db:migrate

Estas dos líneas son muy simples.

  • "Crearemos una estructura llamada Post con espacios de memoria 'título' y 'cuerpo'."

  • "Y reflejaremos esa estructura en un almacén de memoria real, la DB."

Ahora Rails ha creado el "estante de libros (tabla de Post)" en la biblioteca,

y ahora se pueden colocar libros de dos espacios, "título y cuerpo", en ese estante.


Parte 2. Hablando directamente con la DB a través de la consola de Rails

Colocando un libro en el estante de la biblioteca

En la terminal:

rails console

Y coloquemos un libro.

Post.create(title: "Mi primera publicación", body: "¡Guardado en Rails DB!")

En el momento en que presionas Enter,

has registrado el primer dato en la "memoria" del servicio web.

Esta sola línea es mucho más poderosa

que cualquier código que hayas creado hasta ahora.

Porque has creado

una memoria que no desaparecerá.


Parte 3. La DB es un "espacio que nunca olvida"

Preguntemos de nuevo a la consola de Rails.

Post.all

Entonces Rails le dice a la DB.

"Trae todos los libros en el estante de Publicaciones."

Y la DB trae los datos que acabas de guardar

sin el más mínimo error.

Esto es

la memoria del servicio web, un espacio que nunca olvida.

Incluso si apagas y enciendes el servidor,

reinicias la computadora,

o vuelves una semana después,

ese recuerdo seguirá ahí.


Parte 4. Experimentando con una "biblioteca ordenada y detallada"

ID, created_at, updated_at son el sistema de clasificación de la biblioteca

Revisemos la Publicación que acabamos de crear.

post = Post.first
post.id
post.created_at
post.updated_at

Ahora entiendes.

  • id = número del libro

  • created_at = fecha de creación del libro

  • updated_at = fecha de última modificación

La DB, sin que tú hagas nada,

organiza meticulosamente todos los registros.

Estos registros

son la base para almacenar y estructurar una gran cantidad de datos.

La DB no es solo un espacio simple,

sino una biblioteca ordenada y detallada.


Parte 5. Experimentando como un "bibliotecario que encuentra rápidamente millones de libros"

Busquemos un libro por ciertas condiciones

Post.where(title: "Mi primera publicación")

Rails le dice a la DB.

"Encuentra solo los libros con el título 'Mi primera publicación'."

La DB encuentra y muestra los datos al instante.

Ya sea que haya 10 datos, 1,000 datos,

o 1 millón de datos,

los encuentra con precisión.

Porque la DB tiene

bibliotecarios sobrenaturales que pueden encontrar instantáneamente en una biblioteca de gran escala.

Acabas de

usar directamente esa habilidad.


Parte 6. Creando una "red intelectual conectada" por ti mismo

Creemos un Comentario y conectémoslo con una Publicación

El momento en que un servicio web se vuelve realmente poderoso

es cuando los datos comienzan a conectarse entre sí.

Por ejemplo,

permite comentar en una publicación de blog.

rails generate model Comment body:text post:references
rails db:migrate

Este modelo dice:

  • "Los comentarios tienen un contenido (body)"

  • "Guardarán datos relacionados con qué publicación (post_id) pertenecen"

Informemos a Rails sobre la relación

app/models/post.rb

class Post < ApplicationRecord
  has_many :comments
end

app/models/comment.rb

class Comment < ApplicationRecord
  belongs_to :post
end

Ahora, Post y Comment

se convierten en una red intelectual conectada perfectamente.


Parte 7. Creando datos conectados en la realidad

En la consola:

post = Post.first
post.comments.create(body: "¡Primer comentario!")
post.comments.create(body: "¡Segundo comentario!")

Ahora, veamos los comentarios.

post.comments

La DB sabe exactamente.

  • Qué comentario pertenece a qué Publicación

  • Cuántos comentarios hay en una publicación

  • Cuándo se guardaron esos comentarios

Cuando los datos se conectan entre sí,

el servicio web se convierte en un "sistema orgánico".


Parte 8. Ahora entiendes por qué la DB es el "corazón" de un servicio web

En el breve ejercicio que has seguido hasta ahora,

has experimentado lo siguiente.

La memoria del servicio web

→ Proceso de almacenar y recuperar datos

Un espacio que nunca olvida

→ Los datos creados con Post.create se mantienen permanentemente

Una biblioteca detallada

→ Funciones de organización automática como id, timestamps

Un bibliotecario que encuentra rápidamente millones de libros

→ Búsqueda de datos deseados con Post.where

Una red intelectual

→ Establecimiento de relaciones Post ↔ Comment para crear conexiones de datos

El corazón del servicio web

→ Almacenamiento, relaciones y búsquedas, todo se realiza en la DB

Ahora,

comprendes por qué un servicio web no puede existir sin una base de datos

y por qué manejar la DB es manejar el servicio web

con tus propias manos.


Un pensamiento que brota en la mente del lector

El lector que ha seguido hasta aquí seguramente pensará así.

"Espera... con esto,

¿podría crear mi propio blog?"

"¿Podría hacer una aplicación de tareas por hacer con mis amigos?"

"Los servicios web... parecen más factibles de lo que pensaba."

Este es el momento de la iluminación que estábamos buscando.

Cuando los datos se vuelven tangibles,

el servicio web ya no es una tecnología futura lejana,

sino una realidad que se crea en mis manos en este momento.

Y Rails te susurra así.

"Ahora, decide qué servicio crear.

Luego, te ayudaré."