Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/04/2008, 04:47
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Re: Manejar con php una base de datos grandisima

Te diré lo que yo haría. Mis sugerencias no son las de un técnico, pero quizás puedan empezar a orientarte hasta tanto te llegan recomendaciones basadas en conocimientos técnicos. Imagino que estamos hablando de tablas MyIsam, aunque tendrías que preguntar si para tu caso no sería mejor usar InnoDB y gestionar las relaciones de manera más segura.
Para empezar yo incluso añadiría más tablas, una para idiomas y otra de países;

hay un tabla de usuarios_genenerales.
ID_usuario (Primary Key) INT autoincrementable Not Null
usuario
clave
edad
sexo
IDpaisprocedencia INT (index) relacionado con el id de la tabla países

Hay una tabla de usuarios_intercambio
ID_usuario_intercambio (Primary Key) autoincrementable Not Null
ID_usuario INT (index) relacionado como Foreign Key con el id de la tabla usuarios_generales
Fecha_de_intercambio campo DATE
idpais_intercambio INT (index) relacionado como Foreign Key con el id de la tabla paises

hay una tabla de idioma
ID_usuario_idioma (Primary Key) INT autoincrementable Not Null
ID_usuario INT (index)
IDidioma_enseña INT (index) relacionado como Foreign Key con el id de la tabla idiomas
IDidioma_aprende INT (index) relacionado como Foreign Key con el id de la tabla idiomas

tabla de países
IDpaises (Primary Key) INT autoincrementable Not Null
país

tabla de idiomas
IDidioma (Primary Key) INT autoincrementable Not Null
idioma

1. Será mejor juntar todas las tablas en la primer tabla usuarios_generales ? No. Es mejor hacer una correcta estructura relacional, basada en el uso de relaciones entre campos numéricos y un correcto aprovechamiento de los índices.2. es mejor tener un solo campo clave como index? Debe haber un sólo campo Primary Key que es un índice por naturaleza, pero tú debes indexar otros campos para que las relaciones funcionen de manera más rápida y eficaz.
3. los ID los pongo como autoincrementables o mejor los inremento yo manualmente. Ponlos como autoincrementables

De todas formas luego también el modo de hacer las consultas cambiará. Por otra parte, habría que ver si el problema no es sólo de la base de datos y su gestión, sino de la programación mediante PHP, ASP, etc.

Esto es para empezar..., pero, como te digo, si vas a empezar de cero, espera a que alguien con más conocimientos te aconseje un tipo de tabla para el uso que le vas a dar.

Última edición por BrujoNic; 18/04/2008 a las 08:02