Si quieres aprender a crear nuevas tablas en una base de datos SQL, es fundamental que entiendas cómo funciona la sentencia CREATE TABLE. Esto permitirá generar estructuras claras, específicas y fáciles de relacionar con otros elementos dentro de la base de datos. Aprenderás no solo a definir las tablas, sino también cómo configurar correctamente sus campos y relaciones mediante claves primarias y restricciones.
¿Cómo comenzar a crear una nueva tabla?
Antes de comenzar con la creación de tablas nuevas, es útil salir del entorno de consultas y regresar al espacio de trabajo predeterminado. Esto facilitará visualizar las tablas existentes en la interfaz gráfica, dando un contexto claro para la nueva estructura que se va a diseñar. Este método simplifica el proceso de administración y revisión de bases de datos.
¿Qué estructura tiene la sentencia CREATE TABLE?
La construcción básica para crear una nueva tabla involucra la sentencia CREATE TABLE, seguida del nombre seleccionado para la tabla y la definición de sus campos entre paréntesis. Algunos consejos prácticos para mayor claridad son:
Usar indentación (tabulación) que facilite la lectura.
Enlistar claramente los campos a incluir.
Identificar claramente las llaves primarias con campos auto incrementales.
¿Cuáles son los elementos clave para crear campos efectivamente?
Una buena estructura de tabla incluye elementos esenciales como:
Llave primaria (Primary Key): campo único e identificador principal de cada registro, generalmente autoincremental.
Campos relacionados: ayudan a enlazar la nueva tabla con tablas existentes, por ejemplo, film ID o customer ID.
Restricciones en datos: como limitantes para evitar errores al ingresar información (por ejemplo, puntuaciones entre rangos específicos con el operador CHECK).
Campos informativos: detalles adicionales que brindan contexto a la información (como timestamp para registrar el momento de la inserción).
¿Qué prácticas recomendadas existen para relacionar campos entre tablas?
Cuando relaciones campos con otras tablas, es recomendable verificar los campos existentes en dichas tablas usando consultas breves de tipo:
SELECT*FROM nombre_tabla;
Esto facilita visualizar la estructura vigente y evitar errores al establecer relaciones entre tablas. Además, emplear comentarios para recordar o aclarar las decisiones tomadas puede evitar muchos errores posteriores.
¿Cómo insertar restricciones en los datos de una tabla?
Al crear campos con información restringida a ciertos parámetros, es útil utilizar operadores como CHECK junto a BETWEEN:
rating intCHECK(rating BETWEEN1AND5)
Esto asegura la validación automática de los datos ingresados, previniendo errores y manteniendo la integridad de la base de datos.
¿Qué hacer tras crear una nueva tabla y verificar su estructura?
Una vez creada la tabla y confirmada su existencia con un sencillo refrescar en la interfaz gráfica, es importante certificar que la estructura esté correctamente definida con una consulta inicial:
SELECT*FROM review;
Esta acción asegura que la tabla se ha creado correctamente y que todos los campos definidos están tal cual fueron especificados.
Utilizar un tipo de dato INT para el campo rating y aplicar un CHECK (rating BETWEEN 1 AND 5) es una práctica común y eficiente en bases de datos. Usar INT permite almacenar el valor de manera compacta y realizar comparaciones rápidas. Aunque podrías considerar tipos de datos como SMALLINT, la diferencia en rendimiento es mínima para un rango tan pequeño. En general, INT es una buena elección por su balance entre eficiencia y simplicidad, especialmente en entornos donde la escala puede crecer.
Existen varios tipos de fechas y horas en bases de datos, especialmente en PostgreSQL. Los más comunes son:
TIMESTAMP: Representa una fecha y hora sin zona horaria.
TIMESTAMPTZ: Similar al TIMESTAMP, pero incluye información de la zona horaria.
DATE: Solo la fecha, sin información de tiempo.
TIME: Solo la hora, sin información de fecha.
TIME WITH TIME ZONE: Hora con información de la zona horaria.
Cada tipo tiene su uso dependiendo de la necesidad de precisión y contexto en tu aplicación.
CREATE TABLE review(
review_id SERIAL PRIMARY KEY,
film_id INT,
customer_id INT,
rating INT CHECK(rating BETWEEN 1 and 5),
review_text TEXT,
review_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Hoy en día SERIAL está siendo desaconsejado en PostgreSQL moderno en favor de la forma estándar de SQL: GENERATED BY DEFAULT AS IDENTITY.
CREATETABLEusuarios( id INTEGERGENERATEDALWAYSASIDENTITYPRIMARYKEY);
Hola, Aqui le dejo para ingresar valores a la tabla creada en la clase 'review' ->
-- Inserta datos de prueba en la tabla 'review'INSERT INTO review( film_id, customer_id, raiting, review_date
)SELECT
-- Genera IDs de películas aleatorias entre 1 y 1000floor(random()*1000+1)::INT AS film_id,-- Genera IDs de clientes aleatorias entre 1 y 600floor(random()*600+1)::INT AS customer_id,-- Genera una calificación aleatoria entre 1 y 5floor(random()*5+1)::INT AS raiting,-- Genera una fecha de revisión aleatoria en los últimos 2 años
-- Asegura que la fecha esté en formato 'YYYY-MM-DD'(CURRENT_DATE -(floor(random()*730)||' days')::INTERVAL)::TIMESTAMP AS review_date
FROM
-- Genera 1000 filas para el conjunto de datos de prueba
generate_series(1,1000);-- Mostramos los valores generados
SELECT * FROM review
📌 Crear Tablas en SQL
🔷 1. ¿Qué es CREATE TABLE?
🛠 Comando para crear tablas en SQL.
Permite:
➡️ Definir columnas
➡️ Asignar claves primarias
➡️ Establecer restricciones
➡️ Relacionar tablas
🔶 2. Antes de empezar
✔️ Sal del entorno de consultas
✔️ Regresa al espacio principal
✔️ Mira las tablas existentes
👉 Te dará contexto visual y simplificará la administración.
🟩 3. Estructura básica
CREATE TABLE nombre_tabla (
campo1 tipo_dato,
campo2 tipo_dato,
...
);
📌 Tips de escritura:
↔️ Usa indentación
📋 Enumera campos claramente
🔑 Define la Primary Key (autoincremental recomendado)
👀 Revisa tablas existentes:
SELECT * FROM nombre_tabla;
📝 Usa comentarios para aclarar decisiones
🟦 6. Restricciones con CHECK
Ejemplo:
rating INT CHECK(rating BETWEEN 1 AND 5)
✔️ Evita valores fuera de rango
✔️ Mantiene la integridad de datos
🟨 7. Después de crear la tabla
🔄 Refresca la interfaz gráfica
👓 Verifica con:
SELECT * FROM review;
✅ Confirma que la tabla y campos estén correctos
Una recomendacion es que film_id y customer_id, ahora son solo números "sueltos". Para que SQL sea realmente potente, debes decirle que esos números pertenecen a otras tablas. se usa REFERENCES
Dato opcional e incompletamente innecesario, es que tambien lo puedes hacer por la herramiente de pgAdmin usando su interfaz aunque es un poco mas engorroso y en lo personal tardas un poco mas
Por ejemplo para la linea
rating INT CHECK (rating BETWEEN 1 AND 5)
puedes hacerlo de la siguiente forma
En el modal Create - Table (o Table > Properties si ya existe), abre la pestaña: Constraints
Dentro de Constraints, busca Check constraints (en pgAdmin suele aparecer como sección/lista).
Clic en + para crear uno nuevo.
Completa:
En el campo name agrega un nombre por ejemplo: chk_rating_1_5
En check colocas lo siguiente
rating BETWEEN 1 AND 5
Y listo tienes el campo configurado
El uso de DEFAULT en SQL se aplica al crear o modificar tablas. Permite establecer un valor predeterminado para una columna, que se utilizará si no se especifica otro valor al insertar datos. Por ejemplo, al crear la tabla review, podrías definir el campo rating con DEFAULT 3, de modo que si un nuevo registro no especifica un rating, automáticamente se le asignará 3. Esto es útil para asegurar consistencia en los datos y prevenir errores en inserciones.
La sentencia CREATE TABLE IF NOT EXISTS se utiliza en SQL para crear una nueva tabla solo si esta no existe en la base de datos. Esto es útil para evitar errores que pueden ocurrir si se intenta crear una tabla que ya está presente. Al usar esta instrucción, garantizas que tu código sea más robusto y libre de errores, facilitando la gestión de datos en escenarios donde puede que no sepas si la tabla ya ha sido definida.
Esta práctica es especialmente importante en entornos colaborativos o de producción, donde múltiples usuarios pueden estar interactuando con la base de datos.
El operador CHECK en SQL se utiliza para establecer una condición que los datos de una columna deben cumplir al momento de insertar o actualizar registros. Por ejemplo, en la clase se mencionó que se puede usar CHECK para limitar el valor de un campo de calificación a un rango entre 1 y 5. Esto ayuda a mantener la integridad de los datos y prevenir errores en las entradas.