Не използвайте пощенски код или номер на социално осигуряване
Бази данни зависи от клавишите за съхранение, сортиране и сравняване или създаване на връзки между записите. Ако сте били около бази данни за известно време, вероятно сте чули за различни типове ключове: първични ключове, кандидатски ключове и чужди ключове . Когато създавате нова таблица на база данни, ще бъдете помолени да изберете един първичен ключ, който уникално идентифицира всеки запис, съхранен в тази таблица.
Защо основен ключ е важен
Изборът на първичен ключ е едно от най-критичните решения, които ще направите при създаването на нова база данни . Най-важното ограничение е, че трябва да сте сигурни, че избраният ключ е уникален. Ако е възможно две записи - минало, настояще или бъдеще - да имат еднаква стойност за даден атрибут, това е лош избор за първичен ключ.
Друг важен аспект на първичния ключ е използването му от други таблици, които се свързват с него в релационна база данни. В този аспект първичният ключ действа като целта на указател. Поради тези взаимозависимости първичният ключ трябва да съществува, когато се създава запис, и никога не може да се промени.
Лоши избори за първични ключове
Това, което някои хора биха могли да обмислят очевиден избор за първичен ключ, може да бъде лош избор. Ето няколко примера:
- Пощенските кодове не правят добри първични ключове за таблицата на градовете. Ако правите проста таблица за търсене на градове, пощенският код изглежда е логичен първичен ключ. При по-нататъшно разследване обаче можете да осъзнаете, че повече от един град има пощенски код. Например, градовете Ню Джърси Нептун, Нептун Сити, Тинтън Фолс и Стейт Тауншеп споделят пощенския код 07753.
- Социалните осигурени номера не правят добри първични ключове по много причини. Повечето хора считат SSN за частни и не искат да бъдат ясно видими за потребителите на базата данни. Някои хора нямат SSN - чужденци или имигранти, които никога не са получили карта за социална сигурност. SSN могат също да бъдат използвани отново след смъртта на индивида. Едно лице може да има повече от една SSN през цял живот, когато администрацията за социално осигуряване издава нов номер в случаите на измама или кражба на самоличност.
- Е-мейл адресите също са лош избор за първичен ключ. Макар че те са уникални, те могат да се променят с течение на времето. Освен това, не всеки има имейл адрес.
Избор на ефективен първичен ключ
И така, какво прави добър първичен ключ? В повечето случаи се обърнете към базата данни за поддръжка.
Най-добра практика в дизайна на база данни е да се използва вътрешно генериран първичен ключ. Вашата система за управление на база данни обикновено може да генерира уникален идентификатор, който няма смисъл извън системата на базата данни. Например, може да използвате типа данни Microsoft Access AutoNumber, за да създадете поле, наречено RecordID. Типът данни AutoNumber автоматично увеличава полето всеки път, когато създавате запис. Докато самият номер е безсмислен, той предоставя надежден начин за препращане на отделен запис в заявките.
Добрият първичен ключ обикновено е кратък, използва числа и избягва специални символи или комбинация от главни и малки букви, за да улесни бързото търсене и сравнения на база данни.