En este tema, aprenderás cómo crear bases de datos y tablas en PostgreSQL. Estos son los bloques de construcción fundamentales para cualquier aplicación que utilice una base de datos. A lo largo de esta sección, cubriremos los siguientes puntos:

  1. Creación de una Base de Datos
  2. Creación de Tablas
  3. Tipos de Datos en PostgreSQL
  4. Restricciones de Tablas
  5. Ejemplos Prácticos
  6. Ejercicios Prácticos

  1. Creación de una Base de Datos

Para crear una base de datos en PostgreSQL, utilizamos el comando CREATE DATABASE. Aquí tienes un ejemplo básico:

CREATE DATABASE mi_base_de_datos;

Explicación:

  • CREATE DATABASE es el comando utilizado para crear una nueva base de datos.
  • mi_base_de_datos es el nombre de la base de datos que estamos creando.

Conectándose a la Base de Datos

Una vez creada la base de datos, puedes conectarte a ella utilizando el comando \c en el cliente psql:

\c mi_base_de_datos

  1. Creación de Tablas

Las tablas son donde realmente almacenamos los datos. Para crear una tabla, utilizamos el comando CREATE TABLE. Aquí tienes un ejemplo básico:

CREATE TABLE empleados (
    id SERIAL PRIMARY KEY,
    nombre VARCHAR(100),
    puesto VARCHAR(50),
    salario NUMERIC(10, 2)
);

Explicación:

  • CREATE TABLE empleados es el comando para crear una nueva tabla llamada empleados.
  • id SERIAL PRIMARY KEY define una columna id que es un entero autoincremental y la clave primaria de la tabla.
  • nombre VARCHAR(100) define una columna nombre que puede contener hasta 100 caracteres.
  • puesto VARCHAR(50) define una columna puesto que puede contener hasta 50 caracteres.
  • salario NUMERIC(10, 2) define una columna salario que puede contener números con hasta 10 dígitos en total y 2 decimales.

  1. Tipos de Datos en PostgreSQL

PostgreSQL soporta una amplia variedad de tipos de datos. Aquí hay una tabla con algunos de los tipos de datos más comunes:

Tipo de Dato Descripción
INTEGER Números enteros
SERIAL Entero autoincremental
VARCHAR(n) Cadena de texto de longitud variable, hasta n caracteres
TEXT Cadena de texto de longitud ilimitada
NUMERIC(p, s) Número con precisión p y escala s
BOOLEAN Valores booleanos (TRUE o FALSE)
DATE Fecha (año, mes, día)
TIMESTAMP Fecha y hora

  1. Restricciones de Tablas

Las restricciones son reglas que se aplican a las columnas de una tabla para asegurar la integridad de los datos. Algunas de las restricciones más comunes son:

  • PRIMARY KEY: Identifica de manera única cada fila en una tabla.
  • FOREIGN KEY: Asegura la integridad referencial entre dos tablas.
  • UNIQUE: Asegura que todos los valores en una columna sean únicos.
  • NOT NULL: Asegura que una columna no contenga valores nulos.
  • CHECK: Asegura que los valores en una columna cumplan una condición específica.

Ejemplo con Restricciones:

CREATE TABLE departamentos (
    id SERIAL PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL UNIQUE,
    presupuesto NUMERIC(12, 2) CHECK (presupuesto > 0)
);

Explicación:

  • nombre VARCHAR(100) NOT NULL UNIQUE asegura que la columna nombre no puede ser nula y debe ser única.
  • presupuesto NUMERIC(12, 2) CHECK (presupuesto > 0) asegura que el presupuesto debe ser mayor que 0.

  1. Ejemplos Prácticos

Ejemplo 1: Crear una Base de Datos y una Tabla

-- Crear una nueva base de datos
CREATE DATABASE empresa;

-- Conectarse a la base de datos
\c empresa

-- Crear una tabla de empleados
CREATE TABLE empleados (
    id SERIAL PRIMARY KEY,
    nombre VARCHAR(100),
    puesto VARCHAR(50),
    salario NUMERIC(10, 2)
);

Ejemplo 2: Crear una Tabla con Restricciones

-- Crear una tabla de departamentos
CREATE TABLE departamentos (
    id SERIAL PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL UNIQUE,
    presupuesto NUMERIC(12, 2) CHECK (presupuesto > 0)
);

  1. Ejercicios Prácticos

Ejercicio 1: Crear una Base de Datos y una Tabla

  1. Crea una base de datos llamada biblioteca.
  2. Conéctate a la base de datos biblioteca.
  3. Crea una tabla llamada libros con las siguientes columnas:
    • id (entero autoincremental, clave primaria)
    • titulo (cadena de texto, máximo 200 caracteres)
    • autor (cadena de texto, máximo 100 caracteres)
    • anio_publicacion (entero)
    • precio (número con 2 decimales)

Solución:

-- Crear la base de datos
CREATE DATABASE biblioteca;

-- Conectarse a la base de datos
\c biblioteca

-- Crear la tabla de libros
CREATE TABLE libros (
    id SERIAL PRIMARY KEY,
    titulo VARCHAR(200),
    autor VARCHAR(100),
    anio_publicacion INTEGER,
    precio NUMERIC(10, 2)
);

Ejercicio 2: Crear una Tabla con Restricciones

  1. Crea una tabla llamada clientes con las siguientes columnas:
    • id (entero autoincremental, clave primaria)
    • nombre (cadena de texto, máximo 100 caracteres, no nulo)
    • email (cadena de texto, máximo 100 caracteres, único)
    • fecha_registro (fecha, no nulo)

Solución:

-- Crear la tabla de clientes
CREATE TABLE clientes (
    id SERIAL PRIMARY KEY,
    nombre VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE,
    fecha_registro DATE NOT NULL
);

Conclusión

En esta sección, hemos aprendido cómo crear bases de datos y tablas en PostgreSQL, así como los diferentes tipos de datos y restricciones que podemos aplicar a nuestras tablas. Estos son los fundamentos esenciales para trabajar con bases de datos en PostgreSQL. En el próximo tema, exploraremos cómo insertar datos en nuestras tablas recién creadas.

Curso de PostgreSQL

Módulo 1: Introducción a PostgreSQL

Módulo 2: Operaciones Básicas de SQL

Módulo 3: Consultas Avanzadas de SQL

Módulo 4: Diseño de Bases de Datos y Normalización

Módulo 5: Características Avanzadas de PostgreSQL

Módulo 6: Ajuste de Rendimiento y Optimización

Módulo 7: Seguridad y Gestión de Usuarios

Módulo 8: Trabajando con JSON y Características NoSQL

Módulo 9: Extensiones y Herramientas Avanzadas

Módulo 10: Estudios de Caso y Aplicaciones del Mundo Real

© Copyright 2024. Todos los derechos reservados