logo
Краткий конспект лекций

10. Понятие ключа и индекса применительно к базам данных и их назначение.

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

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

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

Всегда, когда это возможно, в качестве первичного ключа следует использовать самые простые данные, имеющие «естественные» уникальные значения. Почти всем публикуемым в мире книгам присваивается относительно короткий (12 символов) код ISBN (International Standard Book Number), который однозначно идентифицирует каждую книгу.

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

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

Вы должны иметь возможность изменять значения любого поля (не входящего в первичный ключ) без воздействия на данные других полей

При создании новой таблицы в существующую таблицу каждый раз включается поле, связывающее старую и новую таблицы.

Эти «связующие» поля называются внешними ключами.

В хорошо спроектированной базе данных использование внешних ключей обеспечивает эффективность работы приложения. В процессе проектирования нужно внимательно следить за созданием внешних ключей. Задаваемые при создании таблиц в Access связи первичных ключей с внешними ключами используются для объединения данных из нескольких таблиц. Для ускорения поиска можно создать индексы по внешним ключам. Кроме того, можно установить режим обеспечения целостности связей между таблицами (например, Access может не разрешить пользователю создать заказ на несуществующее изделие), при этом для обеспечения целостности данных Access автоматически создает индексы.