Oracle - La clave foránea crea un índice?

 
Vista:

La clave foránea crea un índice?

Publicado por Karina (53 intervenciones) el 29/08/2005 09:21:35
Por favor confirmar si una clave foránea en una tabla crea automática un índice de dicho campo, como sucede con la clave primaria.

Muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:La clave foránea crea un índice?

Publicado por Rodolfo Reyes (445 intervenciones) el 29/08/2005 16:45:10
No lo hace.

Como bien lo indicas. Al crear una llave primaria si se crea automaticamente un indice, pero para las llaves foreneas no crear un indice automaticamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:La clave foránea crea un índice?

Publicado por trazom (28 intervenciones) el 30/08/2005 14:21:21
Mmmm...no es cierto que una clave primaria siempre genere un indice...

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:La clave foránea crea un índice?

Publicado por bluesmanonce (1 intervención) el 29/08/2005 17:33:07
No, nunca un constraint de fk genera un índice, como usted mismo lo comenta, sólo los constraints de pk generan índices.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:La clave foránea crea un índice?

Publicado por Karina (53 intervenciones) el 29/08/2005 22:10:15
Muchas gracias por la confirmación.

Karina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:La clave foránea crea un índice?

Publicado por Sergio Mina (5 intervenciones) el 10/11/2005 18:03:27
no estoy del todo seguro, pero deduciendo....una FK si debe de generar un indice, para generar una relacion...y si no...pues entonces como se amarra logicamente ?????......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

La clave foránea crea un índice?

Publicado por JavierTF (1 intervención) el 03/08/2012 21:16:08
en la respuesta que se menciona en el siguiente link especifican que la fk si crea un indice pero es interno y diferente a los que se crean para agilizar las consultas, como si fuera un indice interno para especificar la cardinalidad de la relacion solamente. eso entendi, pegare textual la respuesta por si acaso deja de funcionar el link:

http://www.forosdelweb.com/f86/clave-foranea-vrs-indice-804725/

PREGUNTA: "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?"

RESPUESTA:
"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."
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar