Contenido del curso
Primeros Pasos con Bases de Datos
Consultas y Manipulación de Datos
Relaciones y Modelado de Datos
Funciones, Operaciones y Vistas
- 18

Fechas y horas en SQL: current_timestamp y función extract
04:55 min - 19

Calcular días entre fechas con EPOCH en SQL
05:48 min - 20

Cómo unir columnas de texto con CONCAT en SQL
03:50 min - 21

Sentencias UPDATE y DELETE en PostgreSQL
05:54 min - 22

Operadores NULLIF y COALESCE para gestionar datos nulos en SQL
07:29 min - 23

Vistas y funciones reutilizables en pgAdmin
08:09 min
Integraciones
- 24

Importar CSV a PostgreSQL con COPY
07:56 min - 25

Configura Jupyter Notebooks con PostgreSQL
04:58 min - 26

Consultas SQL de PostgreSQL en Jupyter
04:56 min - 27

Diferencias entre Postgres y MySQL para elegir la base de datos correcta
03:07 min - 28

Tipos de datos únicos en PostgreSQL: JSON B, arrays y UUID
03:12 min - 29

Importancia de Postgres en el desarrollo profesional de software
01:54 min
Cómo crear tu primera tabla en SQL
Resumen
Crear tablas en SQL es el primer paso para diseñar una base de datos funcional. Con la sentencia CREATE TABLE defines la estructura, los campos y las reglas que protegen la integridad de tus datos, algo clave si quieres construir aplicaciones que no fallen al insertar información.
¿Por qué salir de la herramienta de consultas para crear tablas?
Cuando trabajas en la creación de tablas conviene volver al espacio de trabajo por defecto. La razón es práctica: necesitas ver el árbol de visualización con todas las tablas existentes para no perderte.
En el ejemplo se parte de una base con 15 tablas y se busca llegar a 16 tras crear una nueva tabla llamada review, pensada para guardar las opiniones que los usuarios dejan sobre películas.
¿Qué hace la sentencia CREATE TABLE? Crea una nueva tabla dentro de tu base de datos. Defines su nombre, sus campos y los tipos de dato dentro de un paréntesis cerrado con punto y coma.
¿Cómo defino los campos de una nueva tabla en SQL?
La estructura de la tabla review arranca con un identificador único y se conecta con otras tablas existentes mediante llaves foráneas conceptuales. Cada campo cumple una función específica.
¿Qué campos lleva una tabla de reseñas?
- review id: llave primaria de tipo serial, es decir, autoincremental. Así cada reseña tiene un número único sin que tengas que asignarlo manualmente.
- film id: campo entero que referencia la película opinada. Su tipo se obtiene revisando la tabla film original.
- customer id: campo entero que identifica al usuario que escribe la crítica, tomado de la tabla customer.
- rating: entero que guarda la calificación del usuario.
- description: texto con el contenido de la crítica.
- last update: campo timestamp que registra fecha y hora de la inserción.
¿Cómo descubro el tipo de dato correcto sin un esquema impreso?
Un truco útil es comentar temporalmente la sentencia CREATE TABLE y ejecutar un SELECT all FROM film para ver cómo está definido film id. Al presionar F5 confirmas que es entero y replicas ese tipo en la nueva tabla.
Esta práctica evita errores de relación entre tablas y es común cuando no tienes un diagrama de base de datos a la mano.
¿Cómo valido que un campo solo acepte ciertos valores?
Aquí entra en juego una de las protecciones más útiles de SQL: la combinación del operador CHECK con BETWEEN. En el campo rating se aplica una regla que solo permite valores entre 1 y 5, replicando el clásico sistema de estrellas.
Esto aporta dos beneficios concretos:
- Tu aplicación puede mandar un 10, 15 o 20 por error y la base de datos lo rechaza.
- Previenes inserciones inválidas desde el origen, sin depender solo de validaciones del frontend o del API.
¿Para qué sirve CHECK con BETWEEN? Restringe los valores aceptados en un campo a un rango específico. Si alguien intenta insertar un número fuera del rango, la base de datos bloquea la operación.
¿Cómo registro automáticamente la fecha de inserción?
El campo last update usa el tipo timestamp, que combina fecha y hora. La clave está en configurarlo para que tome el valor del momento exacto en que se inserta el registro.
De esta manera, ni el usuario, ni el API, ni el servicio que conecte con la base de datos tienen que preocuparse por enviar esa fecha. La base de datos la genera sola.
Es el mismo patrón que ves en muchas tablas del esquema, donde last update indica cuándo fue modificado o creado un registro.
¿Cómo confirmo que mi tabla se creó correctamente?
Después de escribir la sentencia completa, presionas F5 para ejecutarla. El mensaje confirma que la consulta se realizó exitosamente, aunque el árbol del lado izquierdo no siempre se actualiza al instante.
El flujo de verificación es este:
- Haz clic derecho en el árbol y selecciona refresh para ver la tabla nueva.
- Cuenta las tablas: deberías pasar de 15 a 16.
- Ejecuta SELECT all FROM review para visualizar los campos definidos.
- Confirma que la tabla está vacía y lista para recibir datos con la sentencia INSERT.
Con la tabla creada, el siguiente paso natural es poblarla con registros usando INSERT. Prueba agregar varias reseñas combinando distintos film id y customer id para ver cómo se comporta la validación del rating. ¿Qué otros campos agregarías a tu tabla de reseñas? Cuéntame en los comentarios.