
02/07/2007, 11:37
|
| | Fecha de Ingreso: diciembre-2005 Ubicación: Madrid, España
Mensajes: 154
Antigüedad: 19 años, 3 meses Puntos: 2 | |
Re: Duda sobre indices v/s claves foraneas NO son iguales, su razón de ser es completamente diferente.
- Foreign key es una relación que existe entre dos tablas de la base de datos.
Por ejemplo: una tabla empresas (campos idempresa - nombre de empresa) y otra tabla empleados (campos idempleado - idempresa - nombre empleado).
En este caso, en la tabla empleados haríamos que idempresa fuera foreign key, relacionando esta tabla con la tabla empresas, y con una relación 1:N.
- Índices. Los índices son objetos que sirven para optimizar las búsquedas en las bases de datos. Normalmente se crean en tablas muy grandes en tamaño, para campos por los que se van a hacer búsquedas habituales.
Ejemplo: base de datos de todos los habitantes de un pais (varios millones). Si uno de los datos es el número de pasaporte, y habitualmente se hacen búsquedas con este número, crearemos un índice para dicho número.
Para los índices es muy importante actualizar las estadísticas frecuentemente, puesto que si no estos índices dejan de tener utilidad y las búsquedas se ralentizan.
Nota:
- Un campo que es Primary key es también índice de una tabla
- Un campo foreign key debería ser índice, pero no tiene porqué serlo (ver artículo que cita cala932)
- Un índice no tiene porqué ser ni PK ni FK |