Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Relaciones en MySQL

Estas en el tema de Relaciones en MySQL en el foro de Mysql en Foros del Web. Tengan un buen día. Me ecuentro en una gran confusión con respecto al uso de bases de datos en MySQL. He estado haciendo una aplicación ...
  #1 (permalink)  
Antiguo 25/05/2007, 15:43
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años
Puntos: 0
Relaciones en MySQL

Tengan un buen día. Me ecuentro en una gran confusión con respecto al uso de bases de datos en MySQL. He estado haciendo una aplicación web con PHP y usando una base de datos en MySQL, pero a la hora de estar construyendo la base de datos, veo que cuando hago las relaciones, como puedo determinar que son de 1 a 1, de 1 a varios o de varios a varios? Y tambien veo que cuando hago esto (todo esto en phpMyAdmin), no veo la sintaxis SQL que se ejecuta para establecer relaciones, y cuando hago un archivo SQL para exportar mi base de datos a otro servidor MySQL, veo que las relaciones entre las tablas nada mas van como simples comentarios, lo que me da a entender que no se van a rehacer cuando recree el archivo sql en otro servidor MySQL, tambien, que a la hora de estar trabajando en la aplicación web, haciendo el acceso a datos, la consulta sql, utilizo lo que se denomina Join para consultar mas de una tabla a la vez, por lo que en libros que he leido habla acerca de que las tablas estan relacionadas y todo eso, pero lo hago a veces en tablas que talvez tienen campos en comun, pero no estan relacionados, y funcionan las consultas, y viene a mi mente la pregunta de que para qué son las relaciones en las bases de datos entonces?Tienen alguna funcionalidad práctica a la hora de ingresar datos, consultar, etc. o simplemente son algo visual que nos ayuda a entender la estructuración e interrelación entre tablas?
  #2 (permalink)  
Antiguo 25/05/2007, 17:38
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 3 meses
Puntos: 2
Re: Relaciones en MySQL

Por favor, la próxima vez escribe tu pregunta en varias lineas, tu mensaje es infumable...

Las relaciones entre tablas sirven, valga la redundancia, para establecer relaciones integrales y referenciales, de forma que siempre que tengamos unos datos específicos podamos extraer toda la relación que existen entre ellos.
Las relaciones entre tablas sirven para la optimización de el almacenaje de información, ya que permiten no tener que duplicar datos.

Ejemplo:

base de datos de empresas y de empleados de empresas
en la tabla empleados tendremos un identificador de la empresa a la que pertence, por lo que siempre tendremos localizado al empleado ;)
Esto es una relación 1 a N y es integral. Puedes hacer por ejemplo que al borrar la empresa se borren todos los empleados que tienen.
Se fija en la base de datos como Foreign Key


¿Cómo encontrar las relaciones entre tablas? Respuesta: Usa la lógica

PHPMyAdmin: una mierda para establecer estas relaciones, búscate un cliente decente de MySQL

Otra cosa importante: MyISAM en Mysql 4.1 no permitía FK, no sé si a partir de la versión 5 ha cambiado. El motor InnoDB permite definir estas FK con seguridad


Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 00:27.