64 - Eliminar índices


Primer problema:
Un profesor guarda algunos datos de sus alumnos en una tabla llamada "alumnos".
1- Elimine la tabla si existe y créela con la siguiente estructura:
 if object_id('alumnos') is not null
  drop table alumnos;
 create table alumnos(
  legajo char(5) not null,
  documento char(8) not null,
  apellido varchar(30),
  nombre varchar(30),
  notafinal decimal(4,2)
 );

2- Cree un índice no agrupado para el campo "apellido".

3- Establezca una restricción "primary" para el campo "legajo" y especifique que cree un índice 
"agrupado".

4- Vea la información que muestra "sp_helpindex":
  exec sp_helpindex alumnos;

5- Intente eliminar el índice "PK_alumnos_legajo" con "drop index":
 drop index PK_alumnos_legajo;
No se puede.

6- Intente eliminar el índice "I_alumnos_apellido" sin especificar el nombre de la tabla:
 drop index I_alumnos_apellido;
Mensaje de error.

7- Elimine el índice "I_alumnos_apellido" especificando el nombre de la tabla.

8- Verifique que se eliminó:
 exec sp_helpindex alumnos;

9- Solicite que se elimine el índice "I_alumnos_apellido" si existe:
 if exists (select name from sysindexes
  where name = 'I_alumnos_apellido')
   drop index alumnos.I_alumnos_apellido;

10- Elimine el índice "PK_alumnos_legajo" (quite la restricción).

11- Verifique que el índice "PK_alumnos_legajo" ya no existe:
 exec sp_helpindex alumnos;
Ver solución

 if object_id('alumnos') is not null
  drop table alumnos;
 create table alumnos(
  legajo char(5) not null,
  documento char(8) not null,
  apellido varchar(30),
  nombre varchar(30),
  notafinal decimal(4,2)
 );

 create nonclustered index I_alumnos_apellido
  on alumnos(apellido);

 alter table alumnos
  add constraint PK_alumnos_legajo
  primary key clustered (legajo);

 exec sp_helpindex alumnos;

 drop index PK_alumnos_legajo;

 drop index I_alumnos_apellido;

 drop index alumnos.I_alumnos_apellido;

 exec sp_helpindex alumnos;

 if exists (select name from sysindexes
  where name = 'I_alumnos_apellido')
   drop index alumnos.I_alumnos_apellido;

 alter table alumnos
  drop PK_alumnos_legajo;

 exec sp_helpindex alumnos;



 

Retornar