КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Примечание. У каждой таблицы может быть не более одного поля Счетчик.У каждой таблицы может быть не более одного поля Счетчик.
Обычно поле типа Счетчик выглядит как последовательность чисел — Access стремится дать первой записи значение 1, второй записи значение 2 и т. д. Но истина не так проста. Иногда программа Access пропускает числа. Такой пропуск возможен, когда несколько пользователей одновременно работают с БД, или когда вы начинаете вставлять новую запись, а затем отменяете это действие, нажав клавишу <Esc>. Вы также можете удалить существующую запись, в этом случае Access никогда повторно не использует значение типа Счетчик из удаленной записи. В итоге, если вы вставляете новую запись и видите, что ей присвоено значение типа Счетчик, равное 401, то не можете с уверенностью сказать, что в таблице уже есть 400 записей. Реальное их количество, возможно, меньше. Бесспорно, значение Счетчик не отображает ничего реального, и, возможно, вы не захотите тратить много времени на его рассмотрение. Единственная задача поля с типом данных Счетчик — гарантировать наличие у каждой записи вашей таблицы уникального указателя. Обычно ваше поле типа Счетчик служит также и первичным ключом для вашей таблицы, как объясняется в разд. "Первичный ключ " далее в этой главе. Применение поля типа Счетчик без раскрытия реального размера вашей таблицы У значений Счетчикесть маленький недостаток: они предоставляют сведения о количестве записей в таблице. Быть может, вы не хотите, чтобы клиент знал, что ваша торговая марка, новая компания, торгующая скульптурными фигурками из масла в духе народных ремесел (Better Butter Sculptures), "не одурачила" и 12 заказчиков. Поэтому вас смутит необходимость признаться ему в том, что его номер, ID, всего 6. Лучше всего начать отсчет с большего числа. Вы можете обмануть программу Access, заставив генерировать числа типа Счетчик,начиная с заданного минимума. Например, вместо создания номеров клиентов 1, 2 и 3 вы можете создать ID-значения 11001, 11002, 11003. Такой подход также гарантирует наличие у ваших идентификаторов одинакового количества цифр и позволяет разделить ID в разных таблицах, начиная их формирование с различных минимальных значений. К сожалению, для того чтобы реализовать эту хитрость, вам надо обмануть Access с помощью специально разработанного запроса, который вы увидите в разд. "Получение начальных значений типа Счетчик, отличных от 1" главы 8. С другой стороны, вы можете заставить программу генерировать значения типа Счетчикиным способом. Есть два варианта. ■ Случайное значение типа Счетчик.Для того чтобы воспользоваться случайными числами, измените свойство поля Новые значения(New Values) со значения Последовательные (Increment) на значение Случайные (Randome). Теперь вы получите длинные номера для каждой записи, такие как 212125691, 1671255778 и -1388883525. Вы можете использовать случайные числа типа Счетчикдля формирования значений, которые другие люди не смогут угадать. (Например, если у вас есть таблица Orders(заказы), в которой применяются случайные числа в поле OrderlD(идентификатор заказа), их можно использовать как подтверждающие номера (confirmation numbers).) Но в мире Access случайные числа типа Счетчикприменяются редко. ■ Коды репликации. Коды репликаций (Replication ID) — это длинные непонятные коды, например, 38A94E7B-2F95-4E7D-8AF1-DB5B35F9700C, гарантированно уникальные с точки зрения теории вероятностей. Для их применения измените значение свойства Размер поляс Длинного целого на Код репликации. Этот вариант действительно используется только в одном случае — если у вас есть отдельные копии БД и вам в будущем придется объединить данные из них. В следующем разделе объясняется этот сценарий. Оба этих варианта несколько затуманивают простую ипонятную концепцию типа данных Счетчик,поэтому, прежде чем использовать их в своих таблицах, серьезно оцените необходимость их применения.
Применение типа Код репликации Представьте себе, что вы работаете в компании с несколькими региональными отделами продаж, каждый из которых имеет собственную БД, отслеживающую заказы. Если применять обычное поле типа Счетчик,в конце концов, вы получите несколько клиентов с одинаковыми ID, но в разных филиалах. Если вы когда-нибудь захотите сравнить данные, то быстро запутаетесь. И не сможете в будущем объединить данные в общей БД для дальнейшего анализа. Программа Access предлагает вам другую возможность — Код репликации. Код репликации — странное творение — очень длинный идентификатор (всего 16 байтов), представленный строкой цифр и букв, которая выглядит примерно следующим образом: 38A94E7B-2F95-4E7D-8AF1-DB5B35F9700C Такой идентификатор — более громоздкий по сравнению с обычным целым числом. Помимо всего прочего, гораздо легче поблагодарить кого-либо за отправку заказа Order 4657, чем заказа Order 38A94E7B-2F95-4E7D-8AF1-DB5B35F9700C. Другими словами, если значение типа Счетчикприменяется для отслеживания и бухгалтерского учета, Код репликации использовать для этой цели не стоит. Но эти коды помогают решить описанную ранее проблему, если многочисленные копии одной и той же БД используются в разных местах. Дело в том, что Код репликации гарантирует вероятностную уникальность значений. Другими словами, возможных значений типа Код репликации так много, что практически невероятно, что вы создадите одно и то же значение дважды. Следовательно, если у вас даже десятки отдельных копий вашей БД и они управляются сотнями клиентов, вы можете быть уверены в том, что у каждого клиента уникальный идентификатор. Более того, вы можете периодически объединять отдельные таблицы в одной главной БД. (Этот процесс называется репликацией и служит причиной появления термина "код репликации". Вы узнаете больше о передаче данных из одной БД в другую в главе 19.)
|