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

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

Когда вы выбираете поля для первичного ключа, держите в уме следующие правила:

Пример

Первичный ключ таблицы Tasmanian Traders Products содержит идентификационные номера продукта -ID. Поскольку каждый номер продукт идентифицирует различные продукты, вам нежелательно иметь два продукта и одним и тем же номером.

Полем первичного ключа для таблицы является поле Product_id .

FoxPro Product Table Fields

В некоторых случаях вы можете пожелать использовать два или более полей, которые совместно предоставят первичный ключ таблицы. Например, Таблица Order_Line_Items в базе данных Tasmanian Traders использует два поля в качестве ее первичного ключа: Order_id и Product_id. Для получения более подробной информации, смотрите Идентификация отношений.

Смотрите также