martes, 6 de noviembre de 2012

55 - Borrado de índices (alter table - drop index)



Los índices común y únicos se eliminan con "alter table".

Trabajamos con la tabla "libros" de una librería, que tiene los siguientes campos e índices:

 create table libros(
  codigo int unsigned auto_increment,
  titulo varchar(40) not null,
  autor varchar(30),
  editorial varchar(15),
  primary key(codigo),
  index i_editorial (editorial),
  unique i_tituloeditorial (titulo,editorial)
 );

Para eliminar un índice usamos la siguiente sintaxis:

 alter table libros
  drop index i_editorial;

Usamos "alter table" y "drop index" seguido del nombre del índice a 
borrar.

Para eliminar un índice único usamos la misma sintaxis:

 alter table libros
  drop index i_tituloeditorial;



PROBLEMA RESUELTO


Trabajamos con la tabla "libros" de una librería.
Eliminamos la tabla "libros" si existe.
Creamos la tabla "libros", con los siguientes campos e índices:
 create table libros(
  codigo int unsigned auto_increment,
  titulo varchar(40) not null,
  autor varchar(30),
  editorial varchar(15),
  primary key(codigo),
  index i_editorial (editorial),
  unique i_tituloeditorial (titulo,editorial)
 );
Para eliminar el índice común llamado "i_editorial" usamos la siguiente sintaxis:
 alter table libros
  drop index i_editorial;
Para eliminar el índice único llamado "i_tituloeditorial" usamos la misma sintaxis:
 alter table libros
  drop index i_tituloeditorial;
Visualicemos los índices de la tabla:
 show index from libros;
vemos que solamente queda el índice "PRIMARY", este índice no se puede eliminar; se elimina automáticamente al eliminar la clave primaria.
PROBLEMA PROPUESTO

Trabajamos con la tabla "alumnos" en la cual un instituto de enseñanza guarda 
los datos de sus alumnos.

1- Elimine la tabla "alumnos" si existe.

2- Cree la tabla con los siguientes índices:
 create table alumnos(
  año year not null,
  numero int unsigned not null,
  nombre varchar(30),
  documento char(8) not null,
  domicilio varchar(30),
  ciudad varchar(20),
  provincia varchar(20),  
  primary key(año,numero),
  unique i_documento (documento),
  index i_ciudadprovincia (ciudad,provincia),
 );

3- Vea los índices de la tabla.

4- Elimine el índice único:
 
5- Elimine el índice común:
 
6- Vea los índices:
 

Otros problemas: 

Una clínica registra las consultas de los pacientes en una tabla llamada 
"consultas".

1- Elimine la tabla si existe.

2- Cree la tabla con la siguiente estructura:
create table consultas(
  fecha date,
  numero int unsigned,
  documento char(8) not null,
  obrasocial varchar(30),
  medico varchar(30),
  primary key(fecha,numero),
  unique i_consulta(documento,fecha,medico),
  index i_medico (medico),
  index i_obrasocial (obrasocial)
 );

3- Vea los índices de la tabla.

4- Elimine el índice único:
 
5- Elimine los índices comumes:
 
6- Vea los índices:
 


No hay comentarios:

Publicar un comentario