IGUALA
Materia:
Administracin de Base de Datos
Catedrtico:
Jos Luis Zagal Arce
Alumno:
Asael Romn Molina
- Qu es una bitcora?
- Tipos de ndices
Tipos de ndices
Un ndice (o KEY, o INDEX) es un grupo de datos que MySQL asocia con una o varias
columnas de la tabla. En este grupo de datos aparece la relacin entre el contenido y el
nmero de fila donde est ubicado.
Los ndices -como los ndices de los libros- sirven para agilizar las consultas a las
tablas, evitando que mysql tenga que revisar todos los datos disponibles para devolver
el resultado.
ndices de clave primaria
Una clave primaria es un ndice sobre uno o ms campos donde cada valor es nico y
ninguno de los valores son NULL.
Para crear un ndice de clave primaria tenemos bsicamente dos opciones:
1. Crear el ndice de clave primaria al momento de crear la tabla. En este caso se usa
la opcin PRIMARY KEY al final de la definicin de los campos, con una lista de los
campos que sern parte del ndice.
CREATE TABLE nombreTabla(campo1 tipoDato,
[campo2...,] PRIMARY KEY (campo1 [,campo2...]) );
2. Crear una clave primaria en una tabla existente con el uso del comando ALTER
TABLE:
ALTER TABLE nombreTabla ADD PRIMARY KEY(campo1 [,campo2...]);
Por ejemplo, suponiendo que ya tenemos en nuestro sistema una tabla que fue creada
de la siguiente manera (sin clave primaria, y con el campo id aceptando valores NUL):
CREATE TABLE usuarios(id int, nombre varchar(50), apellidos varchar(70));
Podemos crear una clave primaria sobre el campo id con esta sentencia:
ALTER TABLE usuarios MODIFY id INT NOT NULL, ADD PRIMARY KEY(id);
Para observar los cambios que hemos hecho, podemos examinar las columnas de la
tabla usuarios con una sentencia DESCRIBE:
mysql> DESCRIBE usuarios;
+-----------+-------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| id
| int(11)
|
| PRI | 0
|
|
| nombre
| varchar(50) | YES |
| NULL
|
|
| apellidos | varchar(70) | YES |
| NULL
|
|
+-----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)
El campo id no tiene un valor YES en la columna Null, lo que indica que este campo ya
no podr almacenar valores nulos. Se puede observar tambin que se tiene un valor
PRI en la columna Key, lo que indica que este campo es una clave primaria.
Las claves primarias pueden constar de ms de un campo. Hay algunas veces en las
que un solo campo no puede identificar de manera nica a un registro.
ndices ordinarios
Un ndice que no es primario permite valores duplicados (a menos que los campos
hayan sido especificados como UNIQUE).
Para crear un ndice ordinario tenemos bsicamente dos opciones:
1. Podemos crear un ndice ordinario al mismo tiempo que creamos la tabla con el
uso de la opcin INDEX.
CREATE TABLE nombreTabla(campo1
[nombreIndice] (campo1 [,campo2...]));
tipoDato,
campo2
tipoDato,..
INDEX
2. De igual manera, podemos crear el ndice con el uso de la sentencia ALTER TABLE
si es que la tabla ya existe.
ALTER TABLE nombreTabla ADD INDEX [nombreIndice] (campo1 [,campo2...]);
Tambin es posible usar la sentencia CREATE INDEX para crear un ndice en una tabla
existente.
CREATE INDEX nombreIndice ON nombreTabla(campo1 [,campo2...]);
Ambas sentencias piden el nombre del ndice, sin embargo con la sentencia CREATE
INDEX el nombre es obligatorio.
ndices de texto completo
Los ndices de texto completo son del tipo FULLTEXT, se usan en tablas del
tipo MyISAM, y pueden contener uno o ms campos del tipo CHAR,
VARCHAR y TEXT. Un ndice de texto completo est diseado para facilitar y
optimizar la bsqueda de palabras clave en tablas que tienen grandes
cantidades de informacin en campos de texto.
Para crear un ndice de texto completo tenemos bsicamente dos opciones:
1.
Crear
el
ndice
al
momento
de
crear
la
tabla.
CREATE
TABLE
nombreTabla(
campo1
TIPO,
campo2
TIPO,
FULLTEXT [nombreIndice] (campo1 [campo2,...]) );
2. Crear el ndice una
ALTER TABLE nombreTabla
[,campo2,...]);
vez
ADD
que ha
FULTEXT