Избор примарног кључа

Немојте користити ЗИП број или број социјалног осигурања

Базе података зависе од кључева за чување, сортирање и упоређивање или креирање односа између записа. Ако сте неко време били око база података, вероватно сте чули за различите типове кључева: примарне кључеве, кључеве кандидата и стране кључеве . Када креирате нову таблицу базе података, од вас се тражи да одаберете један примарни кључ који ће јединствено идентификовати сваки запис који је сачуван у тој табели.

Зашто је примарни кључ важан

Избор примарног кључа је једна од најкритичнијих одлука које ћете направити приликом пројектовања нове базе података . Најважније ограничење је да морате осигурати да је изабрани кључ јединствен. Ако је могуће да два записа - прошлост, садашњост или будућност - могу поделити исту вриједност за атрибут, то је лош избор за примарни кључ.

Још један важан аспект примарног кључа је његова употреба од стране других табела које повезују с њим у релационој бази података. У овом аспекту, примарни кључ делује као мета показивача. Због ових међузависности, примарни кључ мора постојати када се креира запис и никада се не може промијенити.

Слаби избори за примарне кључеве

Оно што неки људи могу сматрати очигледним изборима за примарни кључ могу уместо тога бити лош избор. Ево неколико примера:

Избор ефективног примарног кључа

Дакле, шта чини добар примарни кључ? У већини случајева обратите се свом систему базе података за подршку.

Најбоља пракса у дизајну базе података је коришћење интерном генерисаног примарног кључа. Систем управљања базом података обично може генерирати јединствени идентификатор који нема значење изван система базе података. На пример, можете користити тип података Мицрософт Аццесс АутоНумбер да бисте креирали поље звано РецордИД. Тип података АутоНумбер аутоматски повећава поље сваки пут када направите запис. Иако је број сам бесмислен, он пружа поуздан начин за упућивање појединачног записа у упитима.

Добар примарни кључ је обично кратак, користи бројеве и избјегава посебне знакове или мјешавину великих и малих слова да би олакшао брзе претрагу и упоређивање базе података.