MySQL claves secundarias?

elgusano

Hola me gustaría que me dieseis información sobre las claves secundarias en SQL , para que sirven? como se crean? y eso, si me podeis pasar un manual o algo.

gracias!

B

esto de "claves secundarias" no sale en el phpmyadmin no ?¿?

si es lo de los index, sirve para acelerar las búsquedas ya que crea una réplica de la tabla ordenada por el campo que marques como index

elgusano

ahí le has dao, yo es que en los tutoriales y eso que miro, solo veo que si secondary key o foreign key, y luego pa trabajar en el phpmyadmin que es lo que uso, pos no veo nada de eso, y me imagino que será eso de index, pero como se crea, sé que puedes marcar cada campo la casilla index, pero como le dices a que otra tabla pertenece ese index? no se si mexplicao : /

B

la relación entre tablas la tienes que "hacer" tú con la programación.

p.ej. "todos los clientes de barcelona". tendrías:

tabla de provincias
id nombre
1 Álava
2 ...
... ...
8 Barcelona
9 ...

tabla de clientes
id nombre provincia
1 Conxita . .8
2 María . . . 18
3 Antoniu . .8
4 Tomás . . 24

y entonces la consulta sería "SELECT id, nombre, provincia FROM clientes WHERE provincia=8;"

edit.: y se me olvidaba: en este caso marcarías el campo "provincia" de la tabla "clientes" como index, ya que aceleraría la selección de registros según la provincia.

Usuarios habituales