logo
Что такое Access

Ключевые и уникальные поля

Создание базы данных следует начинать с детальной разработки структуры ее таблиц. Эта структура должна быть такой, чтобы при работе с базой требовалось вводить в нее как можно меньше данных. Уже имеющиеся данные, должны быть доступны для выбора при добавлении новой записи с идентичными полями. Если ручной ввод каких-то данных приходится повторять неоднократно, то структуру базы необходимо изменить, придумав другой набор связанных таблиц, устраняющий этот недостаток.

Для надежной работы связей между всеми таблицами базы данных и быстрого поиска по данным из одной таблицы всех связанных с ними записей в других таблицах, необходимо предусмотреть так называемые уникальные поля.

Уникальное поле-это поле, значения в котором не могут повторяться.

Поле Фамилияв таблицеАвторвполне может содержать нескольких Ивановых, Петровых или Сидоровых, точно также как полеИмяможет пестрить различными Аланами, Эдуардами и Робертами. Это означает, что эти поля не являются уникальными и поэтому их нельзя использовать для связи между таблицами. ПолеНазвание- более удачный кандидат на почетное звание уникального поля, но не тут то было... Многие современные авторы очень любят называть свои произведения в точности так, как это делали Пушкин, Лермонтов или Толстой. Что же тогда остается делать?

Выход всегда есть! Если ни одно поле в Вашей таблице не приемлемо как уникальное, то его можно создать искусственно. Например, введя в таблицу шифр записи. Это могут быть буквы (например, первые буквы слов названия кники), цифры или их комбинация, но самое главное - они не будут повторяться, а значит, станут уникальными для каждой записи в таблице.

Скорее всего, поле Шифрокажется уникальным и позволит создать связи между таблицами, но было бы хорошо, если бы компьютер сигнализировал нам в том случае, если вдруг записи в этом поле повторяться. Для этого вводится понятиеключевое поле. При создании структуры таблиц, можно одно поле (или одну комбинацию полей) сделать ключевым. С такими полями компьютер работает особо. Он автоматически проверяет их уникальность и значительно быстрее выполняет сортировку по таким полям. Ключевое поле в этой ситуации становится очевидным кандидатом для создания связей между таблицами. Иногда такое поле еще называютпервичным ключом.Если при создании таблицы Вы не задали ключевое поле, то СУБД вежливо напомнит о том, что первичный ключ не задан и предложит создать такое поле.

Часто в качестве уникального поля создают поле, имеющее тип Счетчик(см. типы полей в"Шаг 3 - Свойства и типы полей"). Ввести два одинаковых значения в такое поле просто невозможно. Приращение значения этого поля происходит автоматически, при добавлении новой записи в таблицу, независимо от желания создающего эту запись. Компьютер сам следит за этим полем и не позволит вносить туда какие-либо изменения.