Не выкарыстоўвайце паштовы індэкс ці нумар сацыяльнага страхавання
Базы дадзеных залежаць ад ключоў для захоўвання, сартавання і параўнання або стварыць адносіны паміж запісамі. Калі вы былі вакол баз дадзеных на некаторы час, вы, напэўна , чулі аб розных тыпах ключоў: першасныя ключы, ключы кандыдатаў і знешніх ключоў . Пры стварэнні новай табліцы базы дадзеных, вам будзе прапанавана выбраць адзін першасны ключ , які будзе адназначна ідэнтыфікаваць кожную запіс , якая захоўваецца ў гэтай табліцы.
Чаму першасны ключ Важна
Выбар першаснага ключа з'яўляецца адным з найбольш важных рашэнняў , якія вы будзеце рабіць у дызайне новай базы дадзеных . Найбольш важным абмежаваннем з'яўляецца тое, што вы павінны пераканацца, што абраны ключ з'яўляецца унікальным. Калі гэта магчыма, што два запісы-мінулае, сучаснасць або будучыню, могуць адны і тыя ж значэння для атрыбуту, гэта дрэнны выбар для першаснага ключа.
Іншым важным аспектам першаснага ключа з'яўляецца яго выкарыстанне іншымі табліцамі, якія спасылаюцца на яго ў рэляцыйнай базе дадзеных. У гэтым аспекце першасны ключ дзейнічае як мэта паказальніка. З-за гэтыя ўзаемазалежнасці, першасны ключ павінен існаваць пры стварэнні запісу, і ён ніколі не можа змяніцца.
Бедныя выбар для першасных ключоў
Тое, што некаторыя людзі маглі б разгледзець відавочны выбар для першаснага ключа можа быць дрэнным выбарам замест гэтага. Вось некалькі прыкладаў:
- Паштовыя індэксы не робяць добрыя першасныя ключы для табліцы гарадоў. Калі вы робіце простую табліцу пошуку гарадоў, паштовы індэкс, здаецца лагічным першасным ключом. Аднак, пры далейшым даследаванні, вы можаце зразумець, што больш, чым адзін горад падзяляе паштовы індэкс. Напрыклад, Нью-Джэрсі горада Няптун, Няптун-Сіці, Tinton Falls, і Wall Township ўсе падзяляюць 07753 паштовы індэкс.
- Нумары сацыяльнага страхавання не робяць добрыя першасныя ключы па многіх прычынах. Большасць людзей лічаць, што іх нумар сацыяльнага страхавання, каб быць прыватным і не жадаюць гэта ясна відаць карыстальнікам базы дадзеных. Некаторыя людзі не маюць Пла-замежнікаў і імігрантаў, якія ніколі не атрымлівалі картку сацыяльнага страхавання. Пла таксама могуць быць выкарыстаны паўторна пасля смерці чалавека. Чалавек можа мець больш за адзін нумар сацыяльнага страхавання на працягу ўсяго жыцця, калі Упраўленне сацыяльнага забеспячэння выдае новае колькасць выпадкаў махлярства або крадзяжу асабістых дадзеных.
- Адрасы электроннай пошты таксама дрэнны выбар для першаснага ключа. Нягледзячы на тое, што яны з'яўляюцца унікальнымі, яны могуць мяняцца з цягам часу. Акрамя таго, не ва ўсіх ёсць адрас электроннай пошты.
Выбар эфектыўнага першаснага ключа
Такім чынам, што робіць добры першасны ключ? У большасці выпадкаў звяртаюцца да вашай сістэме база дадзеных для падтрымкі.
Лепшая практыка праектавання баз дадзеных з'яўляецца выкарыстанне ўнутрана генераваны першаснага ключа. Ваша сістэма кіравання базамі дадзеных звычайна можа генераваць унікальны ідэнтыфікатар , які не мае ніякага значэння па-за базы дадзеных сістэмы. Напрыклад, вы можаце выкарыстоўваць тып дадзеных Microsoft Access AutoNumber стварыць поле, званае RecordID. Тып дадзеных AutoNumber аўтаматычна павялічвае поле кожны раз, калі вы ствараеце запіс. Нягледзячы на тое, што сам лік не мае сэнсу, яна забяспечвае надзейны спосаб спасылацца на асобныя запісы ў запытах.
Добры першасны ключ, як правіла, кароткі, выкарыстоўвае нумары, і пазбягае адмысловых знакаў або спалучэння вялікіх і малых сімвалаў для палягчэння хуткага пошуку ў базе дадзеных і параўнання.