Преимущества использования основного ключа.
¨ Скорость. Используя основной ключ, Access создает индексы, позволяющие ускорить работу запросов и ряда других функций.
¨ Упорядочение. Access автоматически сортирует и отображает записи базы данных в порядке возрастания или убывания основного ключа таблицы.
¨ Отсутствие совпадений. Access не позволяет пользователю вводить данные с таким же основным ключом, как и у существующей записи.
¨ Связи. Access организует связи между таблицами, используя общий основной ключ.
Иногда уникальность записи заключается в комбинации данных, хранимых в нескольких полях. В таблице накладных, например, основной ключ должен содержать номер накладной и номер клиента, так как один клиент может иметь несколько накладных. Access позволяет установить основной ключ для одного или нескольких полей таблицы.
Чтобы установить основной ключ, выполните такую последовательность шагов:
1. В окне конструктора щелкните в области выделения, расположенной слева от имени поля (первый столбец), которое хотите использовать в качестве основного ключа. Для того, чтобы задать основной ключ, состоящий из нескольких полей, удерживая нажатой клавишу <Ctrl>, щелкайте на этом столбце, чтобы выделить остальные.
2. Нажмите кнопку Ключевое полена панели инструментов или выберите команду ПравкаÞКлючевое поле. В столбце выбора полей каждого поля основного ключа появится пиктограмма с нарисованным на ней ключом.
Установка свойств поля.Поля характеризуются свойствами, определяющими способ хранения и изображения данных. Устанавливая свойства полей, можно указать следующее:
¨ Заданное по умолчанию название поля.
¨ Заданное по умолчанию значение поля.
¨ Заданный по умолчанию формат (способ отображения на экране) для ввода данных.
¨ Границы допустимых значений при вводе данных.
¨ Индексирование (для полей, которые можно индексировать). Смотрите далее раздел «Индексированное поле».
¨ Способ вывода на экран, а именно: размер поля и форматы.
После того, как произведен выбор типа данных, Access выведет свойства поля в нижней части окна. Здесь можно задать значения свойств поля, набор которых меняется в зависимости от выбранного типа данных, причем некоторые из значений свойств устанавливаются по умолчанию (рис. 11). Свойства полей, установленные для таблицы, автоматически переносятся на другие объекты базы данных, использующие эту таблицу - формы, отчеты и запросы.
В списке Свойства поля окна таблицы (рис. 11) перечислены следующие свойства:
¨ Размер поля. Это свойство задает максимальный размер данных, для хранения которых предназначено данное поле. Поле с текстовым типом данных может иметь размер от 1 до 255 символов; по умолчанию устанавливается 50 символов. Для числового типа данных размер поля может быть из диапазонов, указанных в таблице 2.
¨ Формат поля. Задает определенный формат изображения дат и чисел, например, 2/21/94 или Понедельник, Февраль 21, 1994.
¨ Число десятичных знаков. Устанавливает число знаков после точки (запятой) в полях типа Числовой и Денежный, например 2.99.
¨ Маска ввода (только для полей типа Текстовый и Мемо). Устанавливает символы форматирования, такие, как дефисы в полях номеров телефонов, для их автоматического заполнения во время ввода данных.
¨ Подпись. Надпись, используемая в формах и отчетах вместо имени поля.
¨ Значение по умолчанию. Задает первоначальное значение, автоматически вносимое в новую запись, например, область или город, в которых расположены фирмы проката компакт-дисков.
¨ Условие на значение. Ограничивает ввод данных значениями, удовлетворяющими заранее заданным условиям, например, дата возврата компакт-дисков должна быть позже текущей (сегодняшней) даты.
¨ Сообщение об ошибке. Можно определить текст сообщения, которое Microsoft Acctss будет выводить в случаях, когда вводимое значение не удовлетворяет условию на значение.
¨ Обязательное поле. Устанавливается для данных, которые должны быть введены в поле обязательно, например, порядковый номер - НомерКлиента.
¨ Индексированное поле. Устанавливает дополнительный индекс, основанный на указанном поле. (Более подробная информация приведена в разделе «Индексированное поле» дальше в этой главе.)
Для того, чтобы установить свойства полей, выполните такую последовательность действий:
Выберите поле, свойства которого необходимо установить. В нижней части экрана будут отображены все возможные свойства выбранного поля (см. рис. 11).
Щелкните на выбранном свойстве или нажмите клавишу <F6> для перемещения в область свойств поля.
Введите значение свойства или выберите его из раскрывающегося списка (если это возможно).
Продолжите установку других свойств для текущего поля или выберите другое поле, для которого также необходимо установить свойства.
Закончив установку свойств полей, сохраните таблицу.
Если размер поля свойства слишком мал для ввода значения, нажмите комбинацию клавиш <Shift+F2> или щелкните правой кнопкой мыши и из контекстного меню выберите команду Область ввода для вывода диалогового окна.
Индексированное поле.Индексы помогают Access быстро находить нужные записи. Индекс - это внутренняя таблица, состоящая из двух столбцов: первый - значение выражения, содержащего поле или поля, включенные в индекс, второй - местоположение каждой записи таблицы с данным значением индексного выражения. Access автоматически создает и поддерживает индекс для полей основного ключа. Можно создать дополнительные индексы, установив для соответствующих полей таблицы свойство индексирования.
Рис. 12. Свойство Индексированное поле можно использовать для создания индекса, учитывая наличие повторяющихся или уникальных значений полей |
Если часто производится поиск или сортировка информации по определенным полям, можно значительно увеличить скорость поиска, присвоив индексы этим полям. Индексы можно установить для полей всех типов, кроме присоединенных и внедренных объектов OLE, Мемо и логического типа (см. раздел «Типы данных»).
Можно установить следующие свойства индексирования (см. рис. 12):
¨ Нет. Не создается индекс по данному полю. Это свойство устанавливается по умолчанию (автоматически) для всех полей, за исключением основного ключа.
¨ Да (Совпадения допускаются). Создается индекс, учитывающий возможность повторения значений в полях. Например, в таблице «Сотрудники» можно создать индекс по полю «Фамилия», которое может содержать повторяющиеся значения (однофамильцы).
¨ Да (Совпадения не допускаются). Создается индекс в предположении, что значения поля не повторяются. Например, в таблице «Сотрудники» можно создать индекс по полю «Табельный номер», которое содержит уникальные значения.
Чтобы установить свойства индексирования, выполните такую последовательность действий:
1. Используя режим конструктора, в таблице полей выберите поле, которое хотите проиндексировать.
2. В таблице свойств поля выберите свойство индексирования - Индексированное поле.
3. Щелкните на кнопке с направленной вниз стрелкой, чтобы отобразить раскрывающийся список значений свойств индексирования.
4. Выберите тип индекса (см. рис. 12)
Чтобы построить индекс по нескольким полям, выберите команду Индексыв меню Видили нажмите кнопку Индексына панели инструментов.
Допускается создание произвольного количества индексов. Индексы в Access создаются при сохранении макета таблицы и автоматически обновляются при вводе и изменении записей. Можно в любое время добавить новые или удалить ненужные индексы в окне конструктора таблиц.
Преобразование таблицы
Access позволяет легко преобразовать таблицу в соответствии с изменившимися потребностями. Можно добавить, переименовать, удалить или переместить поля. Однако, перед тем, как приступить к изменению структуры таблицы, обязательно сделайте резервную копию данных. Кроме того, следует хорошо обдумать возможные последствия изменений структуры таблицы для зависимых объектов базы данных, таких, например, как формы, запросы и отчеты. Рассмотрим основные возможности Access, которые могут использоваться при преобразовании таблиц:
¨ Удаление поля. Когда поле таблицы оказалось ненужным, его необходимо удалить. Поля, удаленные из таблицы, также должны быть удалены из форм, запросов и отчетов.
¨ Переименование полей. Переименованные поля должны быть переименованы также в формах, запросах и отчетах. Кроме того, следует переименовать все ссылки на них в расчетах, выражениях, макрокомандах и программных модулях. Microsoft Access позволяет без труда изменить имя поля таблицы - даже в том случае, если в таблицу уже введены данные.
¨ Изменение типа данных. Изменяя тип, следует иметь в виду, что некоторые преобразования данных не разрешены; например, такие как преобразование данных из любого типа в тип Счетчик. В других случаях, если выполняется конвертация из большего по количеству занимаемых разрядов типа данных в меньший, - данные будут усечены (обрезаны или потеряны). Например, преобразование данных числового типа в тип Денежный «обрежет» значения, разрешенные для числового типа, и данные соответственно, будут потеряны. (Для получения более подробной информации см. раздел «Типы данных» в начале этой главы.)
¨ Изменение размера поля. Изменение, усекающие числа с запятой, сопровождаются округлением этих чисел. Если уменьшение длины поля делает значение слишком большим для нового поля, данные будут потеряны (перед этим на экране появится сообщение об ошибке).
Для того, чтобы вставить новое поле, выполните следующее:
1. Установите точку ввода в строке, перед которой необходимо вставить строку.
2. Щелкните на кнопке Вставить строку панели инструментов или в меню Вставкавыберите команду Поле.
Можно и иначе: щелкните в столбце выбора полей (первый столбец), чтобы выделить строку, перед которой необходимо вставить новую строку поля, и нажмите клавишу <Insert>.
Для того, чтобы переименовать поле, выполните такую последовательность шагов:
1. Выделите ячейку с именем поля.
2. Наберите новое имя.
Чтобы удалить поле, щелкните на кнопке панели инструментов Удалить строку. Или щелкните в столбце выбора полей (первый столбец), чтобы выделить строку, которую необходимо удалить, и нажмите клавишу <Del> (или <Delete>).
Для того, чтобы переместить поле, выполните такую последовательность действий:
1. Щелкните в столбце выбора полей (первый столбец), чтобы выделить строку, которую необходимо переместить.
2. Переместите строку поля в новую позицию с помощью мыши, нажав и не отпуская левую клавишу мыши до окончания перетаскивания.