Ho una tabella come questa:Quando dovrei contrassegnare una colonna come chiave primaria?
// cookies
+----+---------+-------------------+------------+
| id | user_id | token | expire |
+----+---------+-------------------+------------+
| 1 | 32423 | dki3j4rf9u3e40... | 1467586386 |
| 2 | 65734 | erhj5473fv34gv... | 1467586521 |
| 3 | 21432 | 8u34ijf34t43gf... | 1467586640 |
+----+---------+-------------------+------------+
A pochi giorni che ci penso. Suppongo di non aver bisogno della colonna id
. Attualmente la colonna id
è PK e inoltre ho un indice univoco nella colonna token
per renderlo unico e veloce per la ricerca.
Ora voglio sapere, posso rimuovere la colonna id
dal tavolo e creare la colonna token
come PK? È normale?
Per essere onesto, non ho mai creato un tavolo senza id
colonna (è sempre stato il PK) finora, sì che è strano per me scegliere token
colonna come il PK.
La tua struttura attuale va bene. –
@GordonLinoff Nella mia struttura attuale 'id' è il PK. va bene? – stack
Google "Chiave naturale contro chiave surrogata". Ci sono vantaggi/svantaggi per entrambi e quale è meglio per il tuo sistema dipenderà dalle tue esigenze specifiche. –