Настройка таблиц
Работа с индексами
До сих пор мы не упоминали об очень важном свойстве Индексированное поле, а теперь решили посвятить ему отдельный раздел. При разработке базы данных особое внимание следует уделять именно выбору полей для индексации.
Индексация базы данных подобна созданию обычного индекса (он же предметный указатель) книги. Предположим, вам необходимо найти в книге сведения по определенной теме. Вы можете перелистывать все страницы подряд, пытаясь найти нужные данные, или же, что более разумно, заглянуть в предметный указатель и узнать номер страницы, содержащей требуемую информацию.
В Access индексы используются ради удобства не столько пользователей, сколько самой базы данных. Хотя это и не очевидно, но Access очень часто приходится искать нужные сведения в введенных пользователем данных. Допустим, был создан запрос на отображение перечня всех лечебных растений. Access может начать поиск с верхней записи таблицы Растения и постепенно перемещаться в поисках запрашиваемых данных вниз. Однако если к полю Тип добавить индекс, он будет применяться Access для нахождения нужных строк без выполнения поиска во всей таблице.
Чтобы добавить индексы в таблицу Растения и тем самым сделать работу базы данных более эффективной, выполните следующие действия.
- Откройте таблицу Растения в режиме конструктора.
- Щелкните на поле ЛатинскоеИмя.
- Укажите для свойства Индексированное поле значение Да (Допускаются совпадения). В результате для поля будет создан индекс; кроме того, в это поле можно будет ввести значение, которое уже присутствует в некоторых других записях таблицы.
- Щелкните на поле ИмяКаталога.
- Укажите для свойства Индексированное поле значение Да (Допускаются совпадения).
- Для просмотра всех индексов таблицы выберите команду Вид › Индексы или щелкните на кнопке Индексы, расположенной на панели инструментов. На экране отобразится окно, показанное на рис. 11.15. Как видите, для индексов задаются отдельные свойства; неопытным пользователям желательно оставить значения этих свойств без изменений.
- Закройте окно Индексы и сохраните таблицу.
Рис. 11.15. Окно для просмотра индексов таблицы
Вы, наверное, удивитесь, заметив, что для таблицы назначены индексы, которые мы не добавляли. Дело в том, что Access иногда самостоятельно назначает индексы, если видит в этом необходимость. К примеру, автоматически проиндексировано поле первичного ключа; также очень часто индексируются различные числовые поля.
Пользователю не рекомендуется снабжать индексами каждое поле или таблицу, потому что они несколько замедляют процесс обработки данных. На обновление индексов Access тратит много времени. Но, как правило, данные вводятся лишь один раз, а затем многократно обрабатываются. Далее приведено несколько рекомендаций относительно того, когда имеет смысл добавлять индексы к полям.
- Добавляйте индекс к любому полю, используемому для связи двух таблиц (индексы такого рода обычно создаются самой Access).
- Добавляйте индекс к любому полю, которое содержит часто используемые, а следовательно, часто искомые, данные.
- Добавляйте индекс к любому часто сортируемому полю.
- Укажите для свойства Индексированное поле значение Да (Совпадения не допускаются) для любого поля, каждая запись таблицы которого будет содержать уникальное значение. При этом Access автоматически добавляет индекс к полю первичного ключа (ключевому полю).
Подведем итоги…
Конечно, различные мастера и инструменты Access существенно облегчают работу пользователей с базой данных, но порой им таки приходится засучить рукава и начинать настраивать все самостоятельно. Ознакомившись с материалом, изложенным в данной главе, вы, надеемся, получили довольно полное представление о том, как:
И управлять вводимыми в поле данными путем выбора типа данных для этого поля;
- использовать подпись и описания для предоставления пользователям базы данных необходимых сведений;
- с помощью маски ввода и формата поля установить данные, подлежащие вводу и отображению;
- условие на значение и сообщение об ошибке текстового поля могут определить лишь требуемые значения и вывести сообщение об ошибке при нарушении указанного условия;
- индексация обеспечивает более эффективную сортировку информации в базе данных.