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

Indices primarios, de agrupamiento y secundarios

Estas en el tema de Indices primarios, de agrupamiento y secundarios en el foro de Bases de Datos General en Foros del Web. He estado leyendo sobre indices en las BD y he visto que existen los indices de un solo nivel. Y dentro de esta clasificación existen: ...
  #1 (permalink)  
Antiguo 09/06/2013, 10:03
 
Fecha de Ingreso: junio-2013
Mensajes: 4
Antigüedad: 11 años, 5 meses
Puntos: 0
Indices primarios, de agrupamiento y secundarios

He estado leyendo sobre indices en las BD y he visto que existen los indices de un solo nivel. Y dentro de esta clasificación existen:

Indices primarios
Indices de agrupamiento
Indices secundarios

He leido y creo haber entendido como funcionan a nivel de registro cada uno de ellos.
Tambien he visto que cuando se crea una tabla con llave primaria, esa llave es la que se agrega al indice. Y en Oracle el usuario puede crear indices.

Mis dudas son:

1. Como se que tipo de indice (primario, agrupamiento, secundario) crea el DBMS al crear una tabla?

2. Si una tabla no tiene llave primaria, que campo se utiliza en el indice ?

3. Ya que un usuario puede crear indices, es posible que uno cree indices secundarios o de agrupamiento?

4. Segun entiendo los indices primarios siempre son archivos fisicos, que se cargan a memoria cuando van a ser utilizados. ¿Los indices secundarios y de agrupamiento tambien son fisicos o solo se crean en memoria (dinamicamente) al hacer consultas?


Si alguien me puede aclarar alguna de estas preguntas les agradeceria mucho!!
  #2 (permalink)  
Antiguo 09/06/2013, 10:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Indices primarios, de agrupamiento y secundarios

Mallá de las diferencias entre DBM, te respondo:
Cita:
1. Como se que tipo de indice (primario, agrupamiento, secundario) crea el DBMS al crear una tabla?
El DBMS no crea ningún indice por default al crear una tabla. Eres tu el que indica qué indice se debe crear y sobre qué campo o campos.

Cita:
2. Si una tabla no tiene llave primaria, que campo se utiliza en el indice ?
Si una tabla no tiene un índice primario, eso no es una tabla. Es una colección de basura.
Una tabla debe siempre tener una clave primaria. ¿Cuál? Eso depende de ti y del diseño relacional que hayas definido.

Cita:
3. Ya que un usuario puede crear indices, es posible que uno cree indices secundarios o de agrupamiento?
Tantos como quieras y necesites.

Cita:
4. Segun entiendo los indices primarios siempre son archivos fisicos, que se cargan a memoria cuando van a ser utilizados. ¿Los indices secundarios y de agrupamiento tambien son fisicos o solo se crean en memoria (dinamicamente) al hacer consultas?
Todo índice es un archivo. El uso de indices en memoria depende del DBMS, y para eso deberías aclarar mejor de qué estás hablando al decir eso, y de qué DBMS.
Lo que sí debes entender es que un índice primario determina también el orden físico de los registros en la tabla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: indices
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 14:13.