Александр Днепров - Microsoft Access 2007
• IN – условие выполняется, если значение слева от оператора совпадает с одним из элементов списка справа от оператора. Список заключается в круглые скобки, элементы списка указываются в кавычках через точку с запятой. Например: [Рейтинг] IN (“500”;”1000”;”1500”) .
• LIKE – условие выполняется, если значение слева удовлетворяет шаблону справа. Шаблон может содержать подстановочные знаки ? (на месте этого знака может быть произвольный символ) и * (на месте этого знака может быть любое количество произвольных символов). Например, условие Like “??.12.*” означает, что вводимая дата должна относиться к декабрю. Такое условие аналогично заданию маски ввода (см. подразд. «Маска ввода»).
• IS NOT NULL – условие выполняется, если в поле введено любое значение (то есть поле не пустое). Такое условие аналогично заданию обязательности поля (см. подразд. «Обязательное поле»).
• NOT – условие выполняется в том случае, если не выполняется условие, находящееся справа от оператора NOT . Например, условие [Рейтинг] NOT =0 равносильно условию [Рейтинг]<>0 .
• AND – условие выполняется, если выполнены оба условия справа и слева от оператора. Например, если задано условие >= #01.01.2008# AND <= Date()+30 , то вводимая дата должна быть не ранее начала 2008 года, но не позднее чем через 30 дней после текущей даты.
• OR – условие выполняется, если выполнено хотя бы одно из условий справа и слева от оператора. Например, условие 0 OR >=500 выполняется, если вводимое число равно нулю или не менее 500....Примечание
Имена полей таблицы, используемые в условии, заключаются в квадратные скобки, даты – в решетки, текстовые константы – в кавычки.
Если выражение слева от оператора не указано, вместо него подставляется значение поля, для которого создано условие. Например, для поля Рейтинг вместо условия [Рейтинг]>0 можно написать просто >0.
Полный список операторов, используемых при создании условий, а также сведения об использовании построителя выражений приведены в справочной системе Access в разделе Выражения ? Создание выражений .
Следующее свойство, о котором пойдет речь, – это значение по умолчанию.
Значение по умолчанию
Значение по умолчанию автоматически устанавливается в поле при создании новой записи. Если вы зададите значение по умолчанию, это позволит вам ускорить ввод данных в том случае, когда во многих записях не потребуется менять значение по умолчанию на какое-либо другое.
Чтобы создать значение по умолчанию, введите значение свойства Значение по умолчанию . Например, чтобы в поле Дата по умолчанию устанавливалась текущая дата, введите значение Date().
Далее рассмотрим следующее свойство поля – обязательное поле.
Обязательное поле
Если поле обязательно должно быть заполнено, то в свойстве Обязательное поле выберите из списка значение Да . Программа Access не позволит сохранить запись, если не введено значение обязательного поля.
Завершим обзор свойств полей таблицы рассмотрением свойства, позволяющего создать индекс для поля.
Индексирование
Индекс – это объект базы данных, предназначенный для повышения производительности выполнения запросов. В результате создания индекса для поля значительно ускоряется выполнение операций поиска, сортировки и группировки по значениям этого поля. Чем больше записей в таблице, тем заметнее увеличивается скорость действия.
Однако следует учитывать, что добавление индекса замедляет выполнение операций создания и редактирования записей, поскольку эти операции требуют обновления индекса. Поэтому рекомендуется индексировать только те поля, к которым наиболее часто обращаются другие компоненты базы данных.
Например, вы можете создать индекс для поля Клиент таблицы Заказы компании , если планируется регулярно составлять список заказов конкретного клиента.
Чтобы создать индекс для поля, в свойстве Индексированное поле выберите значение Да (Допускаются совпадения) или Да (Совпадения не допускаются) . В первом случае возможно наличие записей с одинаковыми значениями индексируемого поля, во втором случае значения поля должны быть уникальны.
Если вы хотите просмотреть список индексов, созданных для полей таблицы, нажмите кнопку Индексы на вкладке Конструктор . По умолчанию название индекса совпадает с названием индексируемого поля, однако можно ввести другое название. Помимо созданных вами индексов, в списке обычно присутствует еще один, поскольку первичный ключ таблицы индексируется автоматически.
Теперь, когда была рассмотрена настройка полей таблицы, перейдем к работе со связями между таблицами.
Настройка связей между таблицами
В данном разделе вы узнаете, как создать и удалить связи между таблицами, как включить режим обеспечения целостности данных и как просмотреть дочерние записи при редактировании родительской таблицы.
Прежде чем приступить к настройке связей, следует отметить, что для установки связи между таблицами используются общие поля этих таблиц. Вторичный ключ дочерней таблицы содержит значения первичного ключа родительской таблицы, и таким образом запись дочерней таблицы ссылается на одну из записей родительской таблицы.
Просмотр, создание, редактирование и удаление связей осуществляются на схеме данных (рис. 2.21). Чтобы открыть схему данных, нажмите кнопку Схема данных на вкладке Работа с базами данных .
Рис. 2.21. Схема данных
Итак, начнем с рассмотрения процедуры создания связи.
Создание связи
Если вы хотите создать связь между двумя таблицами, выполните следующие действия.
1. Перед созданием связи обе связываемые таблицы должны отображаться на схеме данных. Если таблица отсутствует на схеме данных, ее требуется вначале добавить. Для этого нажмите кнопку Отобразить таблицу на вкладке Конструктор . Затем в появившемся окне Добавление таблицы щелкните кнопкой мыши на названии таблицы и нажмите кнопку Добавить . После добавления всех нужных таблиц нажмите кнопку Закрыть .
2. Щелкните кнопкой мыши на названии поля, которое является первичным ключом в родительской таблице. Удерживая нажатой кнопку мыши, перетащите поле первичного ключа, наведите указатель на название того поля дочерней таблицы, которое должно стать вторичным ключом (при этом в изображении указателя появится знак +), и отпустите кнопку мыши.
3. На экране появится окно Изменение связей (рис. 2.22). В этом окне указаны названия связываемых полей. Убедитесь, что поля для создания связи выбраны верно. В случае обнаружения ошибки выберите другие поля.
Рис. 2.22. Окно Изменение связей4. Выберите режим обеспечения целостности данных (об этом режиме подробно будет рассказано в следующем подразделе). Рекомендуется установить флажок Обеспечение целостности данных . Затем нажмите кнопку Создать .
5. Сохраните изменения схемы данных, нажав комбинацию клавиш Ctrl+S .
Далее будет описано, как включить режим обеспечения целостности данных при создании или изменении связи.
Обеспечение целостности данных
Целостностью данных в Microsoft Access называется ссылочная целостность – состояние отдельной связи или всей базы данных, при котором отсутствуют некорректные ссылки. Иными словами, целостность данных означает, что в дочерней таблице нет записей, ссылающихся «в никуда», вторичный ключ каждой записи содержит значение, существующее в столбце первичного ключа родительской таблицы.
Целостность данных может нарушиться в следующих ситуациях:
• в дочернюю таблицу добавляется новая запись, содержащая некорректное (отсутствующее в первичном ключе родительской таблицы) значение вторичного ключа, или в существующей записи дочерней таблицы значение вторичного ключа изменяется на некорректное;
• из родительской таблицы удаляется запись, в результате чего ссылки на эту запись становятся некорректными;
• в родительской записи изменяется значение первичного ключа, следовательно, ссылки на эту запись также становятся некорректными.
Исключить все эти ситуации позволяет режим автоматического обеспечения целостности данных. Этот режим включается отдельно для каждой связи в окне Изменение связи (см. рис. 2.22). Если установить флажок Обеспечение целостности данных , программа Access не допустит выполнения операций, ведущих к нарушению ссылочной целостности. Так, запрещается:
• сохранение записи с некорректным значением вторичного ключа;