Una chiave è un campo o un insieme di campi che identifica in modo univoco ogni riga. Tipicamente, ci sarà una chiave che viene designata come chiave primaria, e al giorno d'oggi questo sembra essere un campo spesso di per sé privo di senso (come un numero di pagina, che è importante solo per identificare cosa c'è nella pagina).
È possibile avere una tabella con una chiave per un'altra tabella, che è chiamata chiave esterna. Ad esempio, nel database di un negozio online, potrebbe esserci una tabella per gli ordini e ogni ordine avrà un cliente associato, quindi ogni riga nella tabella degli ordini ha una chiave esterna per la tabella dei clienti.
Un indice è una struttura di dati basata su uno o più campi in una tabella, che consente un rapido accesso alla tabella in base a tali campi. L'indice può identificare singole righe (ad esempio, un indice dell'indirizzo email del cliente) o indicare gruppi (ad esempio, lo stato di esenzione fiscale dei clienti). È usato molto come l'indice di un libro, o come una directory inversa (come una rubrica ordinata per numero di telefono).
Una chiave è principalmente un modo di pensare al database (sebbene di solito è possibile dire al database delle chiavi, quindi il database può rifiutare le righe con chiavi duplicate, per esempio). Un indice è un modo per rendere il database più veloce.
fonte
2009-04-22 20:35:09
Pensavo di poter avere più di una chiave su un tavolo. –
È possibile avere solo una chiave primaria. Quella chiave primaria può consistere di più di un campo, ma c'è solo una chiave. Puoi anche avere una o più chiavi esterne definite, ma penso che possa essere al di fuori della portata della tua domanda. –