Cita:
Iniciado por mchaco Holaaa, como estan?
Estoy trabajando en un proyecto de migración a Software libre. Actualmente estoy desarrollando en php en ambiente windows.
Me gustaria saber como hago para migrar la BD Oracle a Mysql. Porque se maneja mucho las claves foraneas. Son muchas tablas y hacer la estructura directamente en Mysql puede ocasionar errores.
Espero me puedan ayudar!!!
Gracias!
Migrar la base de Oracle a MySQL no es tan dramático o difícil como lo estás planteando. Hay software dedicado a eso, que bien puedes encontrar en la web.
Y volverla a crear en MySQL, como dices, tampoco es tan problemático, ya que los principios de trabajo son siempre los mismos: El modelo E-R. Al respecto, no entiendo tu preocupación referida a las claves foráneas, ya que deberías saber en este momento que MySQL también cuenta con un motor de tablas con integridad referencial (InnoDB), que se usa especialmente para eso.
En realidad lo más complicado que te vas a encontrar en el traspaso es la sintaxis de los PL/SQL, ya que cada DBMS usa una sintaxis propia (no está estandarizado el tema en ANSI), y muchas funciones propias de Oracle que no son portables y debes usar las de MySQL (que no dejan de ser poderosas).
Además del PL/SQL, hay bastantes cambios en cuanto a la sintaxis de las consultas basadas en JOINs, formas de determinar las condiciones de los mismos y el uso de condicionales que existen en Oracle y en MySQL no.
Por otra parte, cierto tipo de sintaxis en las consultas de JOIN son eficientes en Oracle y completamente ineficientes en MySQL a causa de los diferentes algoritmos internos de cada uno. Si tu sintaxis es muy ortodoxa para Oracle, es posible que debas hacer bastantes cambios para lograr la misma eficiencia en MySQL.
En definitiva, el problema es que migrar de un DBMS a otro en medio del proyecto es bastante dificultoso, y trae ese tipo de complicaciones, que no se resuelven mediante software de migración. Allí es donde tendrás problemas.
El punto a tener en cuenta siempre es que el DBMS que te plantees usar debe ser el que usas desde el principio al final del desarrollo. No puedes migrar de sistema de gestión de base sin considerar que vas a tener que hacer una reingeniería completa de la aplicación.