Първичният ключ е уникален ключ във вашата таблица, който избирате и който най-добре уникално идентифицира запис в таблицата. Всички таблици трябва да имат първичен ключ, защото ако някога трябва да актуализирате или изтриете запис, трябва да знаете как да го идентифицирате уникално.
Сурогатен ключ е изкуствено генериран ключ. Те са полезни, когато вашите записи по същество нямат естествен ключ (като Person
таблица, тъй като е възможно двама души, родени на една и съща дата, да имат едно и също име, или записи в дневник, тъй като е възможно да се случат две събития, които носят едно и също времево клеймо). Най-често ще ги видите внедрени като цели числа в автоматично нарастващо поле или като GUID, които се генерират автоматично за всеки запис. Идентификационните номера почти винаги са сурогатни ключове.
За разлика от първичните ключове обаче не всички таблици се нуждаят от сурогатни ключове. Ако имате таблица, която изброява щатите в Америка, всъщност не се нуждаете от идентификационен номер за тях. Можете да използвате съкращението на държавата като първичен ключов код.
Основното предимство на сурогатния ключ е, че е лесно да се гарантира, че той е уникален. Основният недостатък е, че те нямат никакво значение. Няма значение, че „28“ е Уисконсин, например, но когато видите „WI“ в колоната „Щат“ на вашата таблица с адреси, знаете за кой щат говорите, без да е необходимо да търсите кой щат е кой във вашия щат таблица.