Ver Mensaje Individual
  #3 (permalink)  
Antiguo 28/08/2013, 01:34
Avatar de replica
replica
 
Fecha de Ingreso: noviembre-2004
Mensajes: 68
Antigüedad: 19 años, 5 meses
Puntos: 2
Respuesta: Problema con los índices

Cita:
Iniciado por leonardo_josue Ver Mensaje

Una alternativa efectivamente es borrar todas las referencias y los índices para comenzar de "cero", pero si tienes información en tus tablas, debes tener cuidado en el orden en que eliminas estos índices y referencias... así, si tienes una dos tablas maestro-detalle, con una referencia FK, lo que tienes que hacer es eliminar primero la referencia FK de tu tabla detalle y en seguida borrar el índice de tu tabla maestro. Si intentas borrar en primer lugar tu índice de la tabla Maestro, entonces te marcará error de integridad.
Por suerte, aún estoy programando, y el sistema no está en producción, así que no hay ningún registro. De todas maneras, lo primero que intenté es lo que dices, borrar las FK para no tener atadas las PK, pero es que no me deja borrar las FK, y, como digo, ni siquiera me advierte el por qué.

Cita:

Tercero:

Código MySQL:
Ver original
  1. Necesito alguna forma de cargarme todas las relaciones de todas las tablas, incluso la definición de las claves primarias (me jode, pero me aguanto), para hacerlas todas desde 0.

Serenidad y paciencia, y mucho cuidado con el uso del lenguaje... en algunos países de latinoamérica tal como te expresas es realmente ofensivo, ojo con eso...
Siento que te ofenda. Aquí en España también son palabras malsonantes, pero están muy arraigadas y se usan con naturalidad. De todas formas, no me excuso.

Cita:
La solución más simple sería:

1. Borrar en primer lugar toda la información de tus tablas, sobre todo la de aquellas que tienen relaciones de llave foránea

2. Borrar (si es necesario) las restricciones FK de estas tablas.

3. Borrar (si es necesario) las restricciones PK de las tablas.

4. Incluir los nuevos índices

5. Reconstruir las restricciones de FK.

6. Cargar nuevamente los datos a tus tablas.

Ahora bien, si no quieres (o no puedes) borrar la información de tus tablas, otra opción es que manejes un esquema "alterno" donde coloques las nuevas restricciones-relaciones. Una vez que tengas el modelo alterno ya modificado y con todas las restricciones-relaciones, entonces intentar "vaciar" el contenido de tu modelo viejo en el nuevo... cuidando por supuesto las nuevas restricciones de integridad... esto te puede llevar un tiempo, pero una vez que lo hagas, simplemente borras tu esquema viejo y renombras tus tablas...

Es un camino largo, pero igual y te puede ayudar.

Saludos
Leo.
Gracias por tu respuesta, por desgracia eso es lo que quería evitar XD. Me puede llevar toda la mañana hacer el cambio, y eso que el diseño no es muy grande.