La sentencia CREATE TABLE en Oracle se usa para definir una tabla nueva, especificando sus columnas y sus tipos de datos. Esta es la estructura básica de la sintaxis:
CREATE TABLE table_name (
column1 data_type constraint,
column2 data_type constraint,
...
);
Ejemplo básico
Vamos a crear una tabla llamada employees con las siguientes columnas: employee_id, first_name, last_name, email y hire_date.
CREATE TABLE employees (
employee_id NUMBER(10) PRIMARY KEY,
first_name VARCHAR2(50) NOT NULL,
last_name VARCHAR2(50) NOT NULL,
email VARCHAR2(100) UNIQUE,
hire_date DATE DEFAULT SYSDATE
);
Resultado esperado:
Table EMPLOYEES created.
Definiciones de columnas y tipos de datos
Cada columna de una tabla debe tener un nombre y un tipo de dato. Oracle admite varios tipos de datos, entre ellos:
- NUMBER: valores numéricos. Puedes especificar precisión y escala.
- VARCHAR2: cadenas de caracteres de longitud variable.
- DATE: valores de fecha y hora.
- BLOB: Binary Large Object, se usa para almacenar datos binarios.
Ejemplo: especificar tipos de datos
CREATE TABLE products (
product_id NUMBER(10) PRIMARY KEY,
product_name VARCHAR2(255) NOT NULL,
price NUMBER(10, 2),
created_at DATE DEFAULT SYSDATE
);
Resultado esperado:
Table PRODUCTS created.
Agregar restricciones
Las restricciones son reglas que se aplican a las columnas para garantizar la integridad de los datos. Las más comunes son:
- PRIMARY KEY: identifica de forma única cada fila.
- UNIQUE: garantiza que todos los valores de una columna sean únicos.
- NOT NULL: garantiza que una columna no pueda tener valores NULL.
- CHECK: garantiza que todos los valores de una columna cumplan una condición específica.
- FOREIGN KEY: establece un vínculo entre columnas de dos tablas.
Ejemplo: agregar restricciones:
CREATE TABLE orders (
order_id NUMBER(10) PRIMARY KEY,
customer_id NUMBER(10) REFERENCES customers(customer_id),
order_date DATE NOT NULL,
status VARCHAR2(20) CHECK (status IN ('Pending', 'Shipped', 'Delivered'))
);
Resultado esperado:
Table ORDERS created.
Crear tablas con Beekeeper Studio
Puedes crear rápidamente una tabla nueva en Beekeeper Studio desde la barra lateral del explorador de esquemas presionando el botón ‘+’. También ofrece una ‘vista de estructura’ para las tablas, donde puedes agregar, eliminar y renombrar columnas, entre otras funciones de base de datos. Beekeeper Studio es un editor SQL y gestor de bases de datos de código abierto compatible con Oracle y muchas otras bases de datos. Ofrece una interfaz intuitiva y fácil de usar para crear, administrar y consultar tus tablas.
Opciones avanzadas de tablas y consideraciones
Al crear una tabla, considera las siguientes opciones:
Tablespaces
Un tablespace en Oracle es una unidad lógica de almacenamiento que agrupa archivos de datos relacionados. Funciona como contenedor para objetos de la base de datos, como tablas e índices. Los tablespaces te permiten asignar y administrar el almacenamiento de forma más organizada.
CREATE TABLE sales (
sale_id NUMBER(10) PRIMARY KEY,
product_id NUMBER(10) NOT NULL,
sale_date DATE
) TABLESPACE sales_data;
Parámetros de almacenamiento
Los parámetros de almacenamiento definen cómo Oracle asigna espacio para tablas e índices dentro de un tablespace. Ayudan a administrar el almacenamiento físico y a controlar cómo se guardan y se accede a los datos.
CREATE TABLE logs (
log_id NUMBER(10) PRIMARY KEY,
log_message CLOB
) STORAGE (INITIAL 10M NEXT 5M);
¿Por qué usar tablespaces y parámetros de almacenamiento?
- Beneficios organizativos: los tablespaces te ayudan a agrupar datos relacionados, lo que facilita administrarlos y respaldarlos.
- Optimización del rendimiento: al colocar las tablas e índices de acceso frecuente en discos más rápidos, o separarlos de los datos que se consultan menos, puedes optimizar el rendimiento.
- Gestión de datos: los parámetros de almacenamiento ayudan a asignar y administrar el espacio de forma eficiente, reduciendo la fragmentación y mejorando el rendimiento general de la base de datos.
Conclusión
Crear tablas en Oracle implica entender los tipos de datos, las restricciones y las opciones de almacenamiento. Seguir los ejemplos y las recomendaciones de esta guía te ayudará a administrar tus datos de forma más eficaz. Recuerda tomar en cuenta la integridad de los datos y el rendimiento al definir la estructura de tus tablas.
Otros artículos que te pueden gustar:
Beekeeper Studio es una GUI para Oracle gratuita y de código abierto
En mi puesto me encargo de todo el código legacy y del código nuevo, usando MSSQL/MariaDB/Oracle/Postgres y SQLite. Creo que por fin encontré la herramienta que cubre todas mis necesidades en una sola. - Chris Pink
Beekeeper Studio es un cliente de Oracle rápido, intuitivo y fácil de usar. También es compatible con muchísimas otras bases de datos y funciona de maravilla en Windows, Mac y Linux.
Lo que dicen los usuarios de Oracle sobre Beekeeper Studio
En mi puesto me encargo de todo el código legacy y del código nuevo, usando MSSQL/MariaDB/Oracle/Postgres y SQLite. Creo que por fin encontré la herramienta que cubre todas mis necesidades en una sola
Lo mejor de Beekeeper Studio es su interfaz limpia y la forma en que presenta los datos. Es la mejor herramienta que conozco. Como ingeniero uso Postgres, MySQL, SQLite, Oracle y MS SQL, y Beekeeper lo hace todo con una interfaz muy fluida, espaciosa, natural e intuitiva. Si pones a Beekeeper Studio en tu lista de opciones, estoy seguro de que se convertirá en tu herramienta favorita.