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

clave foranea vrs indice

Estas en el tema de clave foranea vrs indice en el foro de Mysql en Foros del Web. Buenas a todos, leyendo en internet veo que explican lo que es una llave foranea y un indice pero no me queda bien en claro ...
  #1 (permalink)  
Antiguo 07/05/2010, 19:25
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
De acuerdo clave foranea vrs indice

Buenas a todos, leyendo en internet veo que explican lo que es una llave foranea y un indice pero no me queda bien en claro cual es su diferencia

me surge una duda: son lo mismo?


como se yo cuando debo aplicar un indice a una tabla?

me podria explicar con un breve ejemplo

agradezco la colaboracion
  #2 (permalink)  
Antiguo 07/05/2010, 19:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: clave foranea vrs indice

Son cosas diferentes.
Una FOREIGN KEY (FK) es un campo o grupo de campos que cuyo valor hace referencia a la PRIMARY KEY (PK) de otra tabla. Se usa para establecer una relación de dependencia entre ambas tablas, y eso se controla generando un índice (es interno al DBMS y no se invoca separadamente), que es el que establece la cardinalidad de la relación: Si es 1:1, el índice será de tipo UNIQUE, sino será BTREE.
Un índice es un objeto de base de datos que sirve para generar ordenamientos lógicos alternativos de una tabla (el orden físico es uno sólo y está determinado por la PK), administrar ciertas restricciones a los datos (los UNIQUE, por ejemplo), o bien optimizar las consultas, ya que permiten encontrar ciertos valores buscados con mayor rapidez, al acceder a las hojas de datos del arbol de índice.
El uso y creación de los índices que no son parte de las restricciones FK o UNIQUE sobre la tabla, dependen de los requerimientos del sistema, fundamentalmente en lo que se refiere a optimización de las consultas. No hay una regla general, se pueden crear o destruir según las necesidades de los usuarios, e incluso existen índices que se crean sobre tablas temporales y que sólo tienen efecto mientras la tabla existe en memoria.
El tema de índices es largo, extenso y requiere para comprenderlo cabalmente algo de conocimiento en programación avanzada, ya que es precisamente el resultado de estructuras que ya existían previamente en ciertos lenguajes. Con esto me refiero a que para entender la estructura profunda de los índices no sirve saber Visual Basic; antes bien es mejor conocer el funcionamiento de las estructuras de C o C++, ya que de ellos lo heredan.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 07/05/2010, 19:52
 
Fecha de Ingreso: abril-2009
Ubicación: Colombia
Mensajes: 949
Antigüedad: 15 años
Puntos: 27
Respuesta: clave foranea vrs indice

Muchas gracias por su colaboracion...

Etiquetas: clave, indice, foreignkey
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 00:01.