Първичният ключ е поле или набор от полета със стойности, които са уникални в цялата таблица. Можете да препращате към цели записи, като използвате стойностите на ключа, защото всеки запис има различна стойност за ключа. Всяка таблица може да има само един първичен ключ. Access може автоматично да създаде поле за първичен ключ, когато създавате таблица, или можете да зададете полетата, които искате да използвате като първичен ключ. Тази статия обяснява как и защо да използвате първични ключове.
За да зададете първичен ключ на таблица, отворете таблицата в изглед за проектиране. Изберете полето (или полетата), което искате да използвате, и след това в лентата изберете Първичен ключ.
В тази статия
Общ преглед на първичните ключове в Access
Access използва полета за първичен ключ за бързо свързване на данни от множество таблици и комбиниране на тези данни по смислен начин. В тези други таблици полетата се наричат външни ключове. Например полето "ИД на клиент" в таблицата "Клиенти" може да се появи също в таблицата "Поръчки". В таблицата "Клиенти" то е първичният ключ. В таблицата "Поръчки" то се нарича външен ключ. Казано по-просто, външният ключ е първичният ключ на друга таблица. За повече информация вж. Основи на проектирането на бази данни.
1. Първичен ключ
2. Външен ключ
Ако премествате съществуващи данни в база данни, може вече да имате поле, което можете да използвате като първичен ключ. Често уникалният идентификационен номер, като например номер на ИД, сериен номер или код, служи като първичен ключ в таблица. Може например да имате таблица "Клиенти", където всеки клиент има уникален идентификационен номер (ИД). Полето за ИД на клиент е първичният ключ.
Access автоматично създава индекс за първичния ключ, което помага за ускоряване на заявките и други операции. Access гарантира, че всеки запис има стойност в полето за първичен ключ и че винаги е уникален.
Когато създавате нова таблица в изглед на лист с данни, Access автоматично създава първичен ключ и му присвоява име на поле "ИД" и тип данни "Автономериране".
Какъв трябва да бъде добрият първичен ключ?
Добрият кандидат за първичен ключ има няколко характеристики:
-
Той еднозначно идентифицира всеки ред.
-
Никога не е празно или null – то винаги съдържа стойност.
-
Стойностите, които съдържа, се променят рядко (в идеалния случай никога).
Ако не можете да идентифицирате добър ключ, създайте поле с автоматично номериране, което да използвате като ключ. Полето с автоматично номериране автоматично генерира стойност за себе си при първоначалното записване на всеки запис. Следователно, полето с автоматично номериране отговаря и на трите изисквания за добър първичен ключ. За повече информация за добавянето на поле с автоматично номериране вж. Добавяне на поле с автоматично номериране като първичен ключ.
Полето с автоматично номериране е добър първичен ключ.
Примери на неподходящи първични ключове
Всяко поле, за което липсва една или повече от характеристиките на добрия кандидат за ключ, е неподходящ избор за първичен ключ. Ето няколко примера на полета, които биха били неподходящи първични ключове за таблицата "Контакти", заедно с причините за това.
|
Неподходящ първичен ключ |
Причина |
|---|---|
|
Лично име |
Може да не е еднозначно и може да се промени. |
|
Телефонен номер |
Вероятно е да се промени. |
|
Имейл адрес |
Вероятно е да се промени. |
|
Пощенски код |
Множество лица могат да имат един и същ пощенски код |
|
Комбинации от факти и числа |
Част от фактите могат да се променят, което създава трудности при поддръжката. Може да се получи объркване, ако част от фактите се повтаря като отделно поле. Например комбинирането на град и нарастващ номер (например NEWYORK0579) би бил лош избор, ако градът също се съхранява като поле. |
|
Номер на социална осигуровка |
|
Съставни ключове: използване на комбинация от няколко полета като първичен ключ
В някои случаи може да искате да използва две или повече полета в таблица като първичен ключ. Например за таблицата "Подробни данни за поръчките", съхраняваща елементи от редове за поръчки, за първичния ключ биха се използвали две полета: ИД на поръчка и ИД на продукт. Ключ, който има повече от едно поле, се нарича съставен ключ.
Задаване на първичния ключ с помощта на полетата, които вече имате в Access
За да работи добре първичният ключ, полето трябва еднозначно да идентифицира всеки ред, никога да не съдържа празна стойност или null и рядко (в идеалния случай никога) да се променя. За да зададете първичния ключ:
-
Отворете базата данни, която искате да модифицирате.
-
В навигационния екран щракнете с десния бутон върху таблицата, в която искате да зададете първичния ключ, и в контекстното меню изберете Режим на проектиране.
Съвет: Ако не виждате навигационния екран, натиснете F11, за да го покажете.
-
Изберете полето или полетата, които искате да използвате като първичен ключ.
За да изберете едно поле, изберете селектора на ред за желаното поле.
За да изберете повече от едно поле за създаване на комбиниран ключ, задръжте натиснат клавиша CTRL и след това изберете селектора на ред за всяко поле.
-
В раздела Проектиране на таблица , в групата Инструменти изберете Първичен ключ.
Вляво от полето или полетата, които сте задали като първичен ключ, се добавя индикатор за ключ.
Премахване на първичен ключ в Access
Когато премахвате първичния ключ, полето или полетата, които преди това са служели за първичен ключ, вече не осигуряват основното предназначение да идентифицират запис.
Премахването на първичния ключ не изтрива полетата от таблицата, но премахва индекса, създаден за първичния ключ.
-
Преди да можете да премахнете първичен ключ, трябва да се уверите, че той не участва в никакви релации между таблици. Ако се опитате да премахнете първичен ключ, който е част от една или повече релации, Access ви предупреждава, че трябва първо да изтриете релациите.За да изтриете релация на таблици, изпълнете следните стъпки:
-
Затворете таблиците, които участват в релацията между таблици, ако са отворени. Не можете да изтриете релация между таблици, които са отворени.
-
В раздела Инструменти за бази данни, в групата Релации изберете Релации.
-
Изберете Добавяне на таблици.
-
Изберете релационната линия на таблицата за релацията между таблици, която искате да изтриете (линията става получер, когато е избрана), и след това натиснете клавиша DELETE.
-
В раздела Проектиране на релации , в групата Релации щракнете върху Затвори.
-
-
След като изтриете релациите, в навигационния екран щракнете с десния бутон върху таблицата, от която искате да премахнете първичния ключ, и след това изберете Режим на проектиране.
Съвет: Ако не виждате навигационния екран, натиснете F11, за да го покажете.
-
Изберете селектора на ред за текущия първичен ключ.
Ако първичният ключ се състои от едно поле, изберете селектора на ред за това поле.
Ако първичният ключ се състои от няколко полета, изберете селектора на ред за всяко поле в първичния ключ.
-
В раздела Проектиране на таблица , в групата Инструменти изберете Първичен ключ.
Индикаторът за ключ се премахва от полето или полетата, които са били зададени като първичен ключ.
Забележка: Когато запишете нова таблица, без да зададете първичен ключ, Access ви подканва да създадете такава. Ако изберете Да, Access създава поле "ИД", което използва типа данни "Автономериране", за да предостави уникална стойност за всеки запис. Ако вашата таблица вече съдържа поле с автоматично номериране, Access използва това поле като първичен ключ.
Промяна на първичния ключ в Access
Ако решите да промените първичен ключ на таблица, можете да го направите, следвайки тези стъпки:
-
Премахнете съществуващия първичен ключ, като използвате указанията в раздел Премахване на първичния ключ.
-
Задайте първичния ключ, като използвате указанията в раздел Задаване на първичния ключ.
Допълнителна информация
За повече информация относно проектирането на бази данни и избирането на подходящ първичен ключ вж. статиите: