¿Te has dado cuenta de que al trasladar una base de datos de un sistema gestor de bases de datos a otro, los tipos de datos cambian? En este artículo, veremos los tipos de datos de base de datos PostgreSQL y cómo cambian en una base de datos Oracle.
Para ello, seguiremos trabajando con la base de datos de recetas médicas con la que hemos elaborado una serie de tutoriales en el blog.
Tipos de datos de base de datos PostgreSQL
Cuando movemos datos de una base de datos a otra base de datos, tenemos que ser conscientes de las características propias que estamos moviendo. PostgreSQL tiene su propia filosofía en cuanto a tipos de datos, mientras que Oracle tiene otra distinta.
Comenzaremos trabajando con la tabla “receta”.
Lo que haremos es adaptar los tipos que nos ha dado la importación del diccionario de datos para poder crear la base de datos en Oracle.
Los cambios que se harán son:
- De tipos numéricos: INTEGER a NUMERIC de 10; de CHAR a VARCHAR de 100.
- De tipo de fecha: DATE a VARCHAR de 10.
Las foreign key no se modificarán, ya que son llaves que pertenecen a otras tablas, por tanto, se modifican en las tablas de origen directamente.
También quitaremos el esquema public, que no existe. En cada una de las tablas se muestra un esquema public al que supuestamente estas pertenecen, pero este esquema, que vendría siendo el esquema origen, en realidad no existe, así que lo eliminaremos:
Después de esto, nos dirigiremos a la sección de “Columnas”, ubicada en la parte izquierda de la pantalla. Allí cambiaremos el tipo de datos numéricos de Integer a NUMERIC:
El CHAR lo cambiamos a VARCHAR de 100:
Lo único que falta es aplicar y aceptar los cambios. En el modelo relacional podemos observar que la tabla “receta” ya no tiene los tipos de datos de base de datos postgreSQL, sino la de Oracle.
Continuaremos con la tabla “visita”, en donde vamos a almacenar datos de tipo DATE, los cuales se cambiarán a VARCHAR de 10:
Y así, vamos a ir cambiando todos los tipos de datos de base de datos PostgreSQL a los tipos de datos compatibles con la base de datos Oracle; también cambiaremos el esquema public. Cambiamos los de todas las tablas que tengamos; en nuestro caso, las tablas son: receta, visita, paciente y médico.
Cuando estén todos los cambios aplicados y guardados, el modelo relacional de nuestra base de datos se verá así:
Una vez hemos hecho los cambios (es decir, hemos adaptado los tipos de datos de base de datos PostgreSQL de origen a los tipos de datos de la base de datos Oracle de destino y hemos cambiado los esquemas), ya podemos generar el script del modelo relacional de la nueva base de datos, con las tablas y sus tipos de datos de base de datos PostgreSQL ya sustituidos.
Para esto, vamos a hacer clic en el icono de base de datos del menú superior:
Hacemos las respectivas modificaciones, que son: le decimos que es una base de datos Oracle 12c, le damos a generar y seleccionamos las características sobre las que queremos generar el script. Le damos a aceptar y ya nos queda el script generado:
Los tipos de datos de base de datos PostgreSQL son una temática, entre muchas otras, abordada en nuestro Big Data, Inteligencia Artificial & Machine Learning Full Stack Bootcamp. En esta formación intensiva, aprenderás sobre bases de datos relacionales y no relacionales, así como sobre estructuras de datos importantes para incursionar en el mundo del Big data.
Recuerda que en Keepcoding tenemos a los mejores profesionales para que te acompañen en tu formación. ¡Pide información y da el paso que te convertirá en experto!