Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/05/2010, 08:59
enridp
 
Fecha de Ingreso: mayo-2005
Mensajes: 284
Antigüedad: 19 años
Puntos: 11
Respuesta: Como pensar la estructura de una base de datos?

Hola TheFace, para relacionarlas lo único que tienes que hacer es agregar un campo "tablaExternaID" en la tabla que hace referencia a otra tabla.
En ese campo almacenas el ID (la llave primaria) de la tabla a la que queres apuntar.

Por lo general yo diseño asi mis tablas. Creando en todas un campo ID como llave primaria, y luego poniendole INDICES (si va a ser una tabla muy buscada) a los campos que realmente son representativos de esa tabla (porque el ID no significa nada por lo general para nosotros es solo util para el motor de la BD), y dan pie para ser indices es (decir no se repite demasiado el mismo valor, etc.)

Cuando en tus tablas las relaciones (o sea tablas que tienen campos que apuntan a otras) se vuelven muy importantes, se recomienda usar "llaves foráneas" (foreign keys, FK), si el motor de BD lo soporta (por ej. en MySQL lo soporta InnoDB pero no MyISAM, aunque creo que en la prox version si ya lo va a soportar).
Una FK lo que hace primordialmente es evitar que hagas lios y se rompan las relaciones. Porque si por ejemplo borras un ID de una tabla, y habia otra tabla que apuntaba a ese ID, esa tabla te queda apuntando a NADA. Asique las FK no te permiten por ej. borrar un ID si esta siendo apuntado por otra tabla, etc.

A lo mejor si pones tu problema en concreto se puede ver mejor como solucionarlo.
Incluso tal vez esa seria una buena forma de "aprender" a diseñar bases de datos, CON EJEMPLOS (un problema, una solucion erronea, y una solucion correcta).