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

Duda sobre indices v/s claves foraneas

Estas en el tema de Duda sobre indices v/s claves foraneas en el foro de Mysql en Foros del Web. Hola Maestros: Quisiera consultar lo siguiente: He averiguado sobre la utilizacion de index o foreing key, y me he dado cuenta de que en el ...
  #1 (permalink)  
Antiguo 29/06/2007, 01:16
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 11 meses
Puntos: 0
Duda sobre indices v/s claves foraneas

Hola Maestros:
Quisiera consultar lo siguiente:
He averiguado sobre la utilizacion de index o foreing key, y me he dado cuenta de que en el fondo son lo mismo, pero mi duda es si uno es mas eficiente que otro??
El acceso a la BD es mas rapido o algo??

Agradezco cualquier orientacion,

De antemano gracias

Chauz
  #2 (permalink)  
Antiguo 29/06/2007, 02:47
 
Fecha de Ingreso: junio-2007
Mensajes: 11
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Duda sobre indices v/s claves foraneas

Yo uso
Cita:
foreign key



Saludos
  #3 (permalink)  
Antiguo 02/07/2007, 09:28
Avatar de cala932  
Fecha de Ingreso: septiembre-2006
Ubicación: San Juan-Argentina
Mensajes: 902
Antigüedad: 17 años, 7 meses
Puntos: 9
Re: Duda sobre indices v/s claves foraneas

Hola, la verdad que no lo habia pensado, me parecio interesante y googleando un poco encontre esto, te dejo el enlace a lo mejor te ayuda.
http://carlosal.wordpress.com/2007/0...-foreign-keys/
Salud2.
__________________
->Aprender es un proceso que incluye el error..
  #4 (permalink)  
Antiguo 02/07/2007, 11:37
 
Fecha de Ingreso: diciembre-2005
Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 18 años, 4 meses
Puntos: 2
Re: Duda sobre indices v/s claves foraneas

NO son iguales, su razón de ser es completamente diferente.

- Foreign key es una relación que existe entre dos tablas de la base de datos.
Por ejemplo: una tabla empresas (campos idempresa - nombre de empresa) y otra tabla empleados (campos idempleado - idempresa - nombre empleado).
En este caso, en la tabla empleados haríamos que idempresa fuera foreign key, relacionando esta tabla con la tabla empresas, y con una relación 1:N.

- Índices. Los índices son objetos que sirven para optimizar las búsquedas en las bases de datos. Normalmente se crean en tablas muy grandes en tamaño, para campos por los que se van a hacer búsquedas habituales.
Ejemplo: base de datos de todos los habitantes de un pais (varios millones). Si uno de los datos es el número de pasaporte, y habitualmente se hacen búsquedas con este número, crearemos un índice para dicho número.

Para los índices es muy importante actualizar las estadísticas frecuentemente, puesto que si no estos índices dejan de tener utilidad y las búsquedas se ralentizan.


Nota:
- Un campo que es Primary key es también índice de una tabla
- Un campo foreign key debería ser índice, pero no tiene porqué serlo (ver artículo que cita cala932)
- Un índice no tiene porqué ser ni PK ni FK
  #5 (permalink)  
Antiguo 02/07/2007, 11:41
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Duda sobre indices v/s claves foraneas

Hola

Cita:
He averiguado sobre la utilizacion de index o foreing key, y me he dado cuenta de que en el fondo son lo mismo, pero mi duda es si uno es mas eficiente que otro??
No es lo mismo un Index que un foreing key
- Los Indices están pensados para optimizar las consultas, y que estas sean mas rápidos.
- foreing key es un una columna que hace una referencia hacia otra tabla, y no necesariamente es un indice.

Por eso siempre recomienda que un foreing key también debe ser un indice (Index).

Saludos!
  #6 (permalink)  
Antiguo 02/07/2007, 11:42
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Duda sobre indices v/s claves foraneas

Hola radian
Me ganaste

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




La zona horaria es GMT -6. Ahora son las 12:42.