Databases

T05-006 Creación y eliminación de índices

Enunciado

Crear índices.

Sabemos que crear índices ayuda a la localización más rápida de la información contenida en las tablas.

Sintaxis:

CREATE INDEX NombreIndice ON NombreTabla (Columna1 [, Columna2 ...]);

No es aconsejable que utilices campos de tablas pequeñas o que se actualicen con mucha frecuencia. Tampoco es conveniente si esos campos no se usan en consultas de manera frecuente o en expresiones.

La mayoría de los índices se crean de manera implícita cuando ponemos las restricciones PRIMARY KEY, FOREIGN KEY o UNIQUE.

Ejemplo:

Tenemos creada la siguiente tabla:

CREATE TABLE EMPLEADOS (
    Cod_Cliente VARCHAR(5) PRIMARY KEY,
    Nombre VARCHAR(10),
    Apellidos VARCHAR(25),
    Sueldo NUMBER(2)
);

Crea un índice con el campo Apellidos.

CREATE INDEX miIndice ON EMPLEADOS (Apellidos);

Ejercicio:

Imagina que hemos creado la siguiente tabla:

CREATE TABLE MODULOS (
    Nombre VARCHAR2(100),
    NumHoras NUMBER,
    Codigo NUMBER(4),
    UnidadCompetencia VARCHAR2(100)
);

Crea un índice con el atributo Nombre.

Tipo

DDL

Solución


												
CREATE INDEX miIndice ON MODULOS (Nombre);

Prueba


											
SELECT USER_INDEXES.TABLE_NAME, UNIQUENESS, COLUMN_NAME FROM USER_INDEXES JOIN USER_IND_COLUMNS USING (INDEX_NAME) ORDER BY COLUMN_NAME;

Librerías (Onfly databases)


											
CREATE TABLE MODULOS ( Nombre VARCHAR2(100), NumHoras NUMBER, Codigo NUMBER(4), UnidadCompetencia VARCHAR2(100) );