mi茅rcoles, 17 de junio de 2026

馃悩 Crear una Base de Datos

馃 ¿Qu茅 es una base de datos?

Una base de datos es un contenedor organizado donde se almacena informaci贸n estructurada para poder ser consultada, modificada y gestionada de manera eficiente.

En PostgreSQL, una base de datos:

  • Es una unidad l贸gica independiente
  • Contiene tablas, vistas, funciones, 铆ndices, esquemas, etc.
  • Puede tener sus propios usuarios y permisos

馃憠 Piensa en PostgreSQL como un servidor, y dentro de 茅l puedes tener m煤ltiples bases de datos, cada una con su propio contenido.


馃摝 ¿Cu谩ntas bases de datos puedo tener?

En PostgreSQL puedes tener:

  • ✅ M煤ltiples bases de datos dentro de un mismo servidor
  • ✅ No hay un l铆mite fijo “pr谩ctico”, depende de:
    • Recursos del sistema (memoria, CPU, disco)
    • Configuraci贸n del servidor

Ejemplo:

  • ventas_db
  • clientes_db
  • inventario_db
  • test_db

馃挕 En entornos reales, es com煤n separar bases de datos por:

  • Aplicaci贸n
  • Ambiente (dev, test, prod)

馃彿️ Reglas y buenas pr谩cticas para nombrar bases de datos

PostgreSQL es bastante flexible, pero hay recomendaciones importantes:

✅ Permitido

  • Letras (a-z, A-Z)
  • N煤meros (0-9)
  • Guion bajo (_)

⚠️ Consideraciones

  • No deben empezar con n煤meros (aunque t茅cnicamente puede requerir comillas)
  • Evita espacios (requieren comillas y complican el uso)
  • Evita caracteres especiales (@, #, -, etc.)

✅ Buenas pr谩cticas

  • Usar min煤sculas
  • Separar palabras con _
  • Usar nombres descriptivos

✔️ Ejemplos correctos:

mi_base_datos

blog_app

ventas_2026

❌ Ejemplos a evitar:

"Mi Base"     -- requiere comillas siempre

123db         -- poco claro

base-datos    -- puede causar problemas


馃洜️ Crear una base de datos en PostgreSQL

Hay varias formas de hacerlo. Aqu铆 te muestro las m谩s comunes.


馃敼 Opci贸n 1: Usando SQL (CREATE DATABASE)

Este es el m茅todo m谩s directo.

CREATE DATABASE nombre_base_datos;

✅ Ejemplo:

CREATE DATABASE blog_postgres;


馃敼 Opci贸n 2: Con par谩metros adicionales

Puedes personalizar la base de datos:

CREATE DATABASE blog_postgres

WITH

OWNER = postgres

ENCODING = 'UTF8'

LC_COLLATE = 'en_US.UTF-8'

LC_CTYPE = 'en_US.UTF-8'

TEMPLATE = template0;

馃攷 Explicaci贸n r谩pida:

  • OWNER: due帽o de la base de datos
  • ENCODING: codificaci贸n (UTF8 es lo recomendado)
  • LC_COLLATE / LC_CTYPE: reglas de ordenamiento y clasificaci贸n
  • TEMPLATE: base utilizada como plantilla

馃敼 Opci贸n 3: Desde la consola (psql)

Primero accedes a PostgreSQL:

psql -U postgres

Luego ejecutas:

CREATE DATABASE mi_app;


馃敼 Opci贸n 4: Usando comando CLI (createdb)

PostgreSQL incluye utilidades de l铆nea de comandos:

createdb mi_base_datos

✅ Ejemplo:

createdb inventario_db


馃攳 Ver bases de datos existentes

Dentro de psql, puedes listar todas las bases:

\l

o:

SELECT datname FROM pg_database;


馃攧 Conectarse a una base de datos

Una vez creada, puedes conectarte as铆:

\c nombre_base_datos

✅ Ejemplo:

\c blog_postgres


馃棏️ Eliminar una base de datos

Si necesitas borrarla:

DROP DATABASE nombre_base_datos;

⚠️ Ejemplo:

DROP DATABASE blog_postgres;

馃毃 Importante:

  • No puedes eliminar una base de datos si est谩s conectado a ella
  • Esta acci贸n es irreversible

馃З Conceptos importantes relacionados

馃敼 Base template1

Cada base nueva se crea a partir de una plantilla (template).

  • template1: plantilla por defecto
  • template0: plantilla “limpia” usada para configuraciones especiales

馃敼 Base postgres

Es la base creada por defecto para administraci贸n. No suele usarse para aplicaciones.


馃挕 Buenas pr谩cticas adicionales

  • Usa nombres consistentes en todos tus ambientes:
    • app_dev
    • app_test
    • app_prod
  • Evita meter m煤ltiples aplicaciones en una sola base (mejor separar)
  • Define ownership desde el inicio (usuarios correctos)

✅ Conclusi贸n

Crear una base de datos en PostgreSQL es sencillo, pero entender su estructura y buenas pr谩cticas desde el inicio te ayudar谩 a construir sistemas m谩s organizados, escalables y mantenibles.

 

No hay comentarios:

Publicar un comentario

馃悩 Crear una Base de Datos