Migración de Northwind Database a Oracle DB
Motivación
Viendo la necesidad de una herramienta más completa para el aprendizaje en mis clases de bbdd y SQL, decidí adaptar la base de datos Northwind Traders a Oracle. Este proyecto abordó la falta de esquemas robustos para principiantes y proporcionó una experiencia de aprendizaje más atractiva para mis compañeros de clase, ya que sin suficientes datos, ver las diferencias entre algunas consultas no era posible.
Descripción general
La base de datos "Northwind Traders" simula una empresa que trabaja la importación y exportación de comida gourmet a nivel global. Originalmente la creó Microsoft para Access, se usa además ampliamente en plataformas como SQL Server y MySQL. Este port mantiene la integridad de los datos a la vez que adapta la base de datos a las especificaciones de Oracle DB. Si buscas en internet verás que no sólo la utilizan programadores, analistas de datos y analistas financieros la han utilizado para sus estudios, mientras buscaba información sobre la base de datos además encontré algo que me hizo bastante gracia.
Tecnologias y habilidades demostradas
- SQL y PL-SQL.
- Oracle Express Edition y SQL*Plus.
- Transferencia y migración de base de datos.
- Desarrollo de scripts para instalación e inyección de datos.
- Manejo de la codificación de los caracteres (UTF-8).
- Manejo de usuarios y esquemas en Oracle.
Características principales
- Creación de usuario y esquema automatizada.
- Asignación personalizada de tablespace.
- Conservación de caracteres regionales.
- Nombres de tablas y campos modificados para mejorar legibilidad.
- Instrucciones detalladas para instalación en entornos Windows.
Futuras mejoras
- Optimizar la inserción de datos utilizando BULK INSERT.
A continuación, un pequeño ejemplo de los scripts que utiliza el proyecto:
-- Create tablespace
CREATE TABLESPACE northwind DATAFILE 'northwind.dbf' SIZE 100m;
-- Create user
CREATE USER Northwind IDENTIFIED BY root;
-- Set default tablespace and quota
ALTER USER Northwind DEFAULT TABLESPACE northwind
TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON northwind;
-- Grant necessary privileges
GRANT CREATE SESSION TO Northwind;
GRANT CONNECT TO Northwind;
GRANT RESOURCE TO Northwind;
COMMIT;