Немојте користити ЗИП број или број социјалног осигурања
Базе података зависе од кључева за чување, сортирање и упоређивање или креирање односа између записа. Ако сте неко време били око база података, вероватно сте чули за различите типове кључева: примарне кључеве, кључеве кандидата и стране кључеве . Када креирате нову таблицу базе података, од вас се тражи да одаберете један примарни кључ који ће јединствено идентификовати сваки запис који је сачуван у тој табели.
Зашто је примарни кључ важан
Избор примарног кључа је једна од најкритичнијих одлука које ћете направити приликом пројектовања нове базе података . Најважније ограничење је да морате осигурати да је изабрани кључ јединствен. Ако је могуће да два записа - прошлост, садашњост или будућност - могу поделити исту вриједност за атрибут, то је лош избор за примарни кључ.
Још један важан аспект примарног кључа је његова употреба од стране других табела које повезују с њим у релационој бази података. У овом аспекту, примарни кључ делује као мета показивача. Због ових међузависности, примарни кључ мора постојати када се креира запис и никада се не може промијенити.
Слаби избори за примарне кључеве
Оно што неки људи могу сматрати очигледним изборима за примарни кључ могу уместо тога бити лош избор. Ево неколико примера:
- Поштни кодови не праве добар примарни кључ за столове градова. Ако правите једноставну претрагу градова, ЗИП чини се да је логичан примарни кључ. Међутим, након даљње истраге, можете схватити да више од једног града дели поштански број. На примјер, градови Нептуна, Нептун Цити, Тинтон Фаллс и Валл Товнсхип у Нев Јерсеи-у сви деле поштански број 07753.
- Бројеви социјалног осигурања не праве добар примарни кључ из више разлога. Већина људи сматра да је ССН приватна и не жели да буде јасно видљива корисницима базе података. Неки људи немају ССН-странце или имигранте који никада нису добили картицу социјалног осигурања. ССН се такође може поново употребити након смрти особе. Појединац може имати више од једне ССН током живота када Управа за социјално осигурање изда нови број у случајевима преваре или крађе идентитета.
- Е-адресе су такође лош избор за примарни кључ. Иако су јединствени, могу се временом променити. Штавише, не сви имају адресу е-поште.
Избор ефективног примарног кључа
Дакле, шта чини добар примарни кључ? У већини случајева обратите се свом систему базе података за подршку.
Најбоља пракса у дизајну базе података је коришћење интерном генерисаног примарног кључа. Систем управљања базом података обично може генерирати јединствени идентификатор који нема значење изван система базе података. На пример, можете користити тип података Мицрософт Аццесс АутоНумбер да бисте креирали поље звано РецордИД. Тип података АутоНумбер аутоматски повећава поље сваки пут када направите запис. Иако је број сам бесмислен, он пружа поуздан начин за упућивање појединачног записа у упитима.
Добар примарни кључ је обично кратак, користи бројеве и избјегава посебне знакове или мјешавину великих и малих слова да би олакшао брзе претрагу и упоређивање базе података.