Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

905

.pdf
Скачиваний:
0
Добавлен:
07.01.2021
Размер:
745.34 Кб
Скачать

Рис. 8. Окно конструктора таблиц

Свойства полей

Свойства поля зависят от его типа. Установка свойств полей таблицы осуществляется в режиме конструктора в разделе Свойства. Описание каждого свойства появляется в правом нижнем углу окна конструктора таблицы (см. рис. 8).

Ключевые поля

Если для таблицы обозначены ключевые поля, то Microsoft Access предотвращает дублирование или ввод пустых значений в ключевое поле. В Microsoft Access можно выделить три типа ключевых полей: «Счетчик», «Простой ключ» и «Составной ключ».

Ключевые поля счетчика

Поле счетчика можно задать таким образом, чтобы при добавлении каждой записи в таблицу в это поле автоматически вносилось порядковое число. Указание такого поля в качестве ключевого является наиболее простым способом создания ключевых полей. Если до сохранения созданной таблицы ключевые поля не были определены, то при сохранении будет выдано сообщение о создании ключевого поля. При нажатии кнопки Да будет создано ключевое поле счетчика.

21

Простой ключ

Если поле содержит уникальные значения, такие как коды или инвентарные номера, то это поле можно определить как ключевое. Если выбранное поле содержит повторяющиеся или пустые значения, то оно не будет определено как ключевое.

Составной ключ

В случаях, когда невозможно гарантировать уникальность значений каждого поля, существует возможность создать ключ, состоящий из нескольких полей. Чаще всего такая ситуация возникает для таблицы, используемой для связывания двух таблиц в отношении «многие-ко- многим».

Пример

База данных «Студенты», таблица «Итоги сессии» (см. рис. 3).

Ключ в этой таблице состоит из двух полей: Код зач/экз и Код студента. В этой таблице может быть представлено много результатов сдачи зачета или экзамена, но каждая экзаменационная оценка или отметка о зачете конкретного студента по конкретному предмету встречается в таблице только один раз. Поэтому комбинация значений полей Код зач/экз и Код студента достаточна для образования ключа.

Примечание. Если определить подходящий набор полей для составного ключа сложно, просто добавьте поле счетчика и сделайте его ключевым.

Создание и изменение ключевых полей

1.Откройте таблицу в режиме конструктора.

2.С помощью мыши выделите одно или несколько полей, которые

необходимо определить как ключевые.

3. Нажмите кнопку Ключевое поле на панели инструментов.

Удаление ключевых полей

1.Если ключевое поле связано, то до удаления ключа необходимо удалить данную связь.

2.Откройте таблицу в режиме конструктора.

3. Выделите ключевое поле и нажмите кнопку Ключевое поле на панели инструментов.

Примечание. При удалении поле или поля, обозначенные как ключевые, физически не удаляются, но они перестают быть ключевыми. В некоторых ситуациях может понадобиться временно удалить ключ.

22

Например, импортированные в таблицу записи могут оказаться повторяющимися. До тех пор, пока повторения не будут устранены, ключи должны быть удалены.

Определение связей между таблицами

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

Для того чтобы связать таблицы, необходимо:

1.Закрыть все открытые таблицы.

2.Переключиться в окно базы данных.

3.Выбрать команду Схема данных в меню Сервис или нажать кнопку Схема данных на панели инструментов.

4.В появившемся диалоговом окне «Добавление таблиц» выбрать нужные таблицы и добавить их с помощью кнопки Добавить или двойным щелчком мыши. Нажать кнопку Закрыть.

5.Для связывания двух таблиц выбрать поле в одной таблице и перенести его с помощью мыши на соответствующее поле во второй таблице (для связывания сразу нескольких полей удерживайте нажатой клавишу [Ctrl]).

6.В открывшемся диалоговом окне «Связи» проверить имена полей, представленные в двух списках (в случае необходимости внести изменения), и нажать кнопку Создать.

7.Повторить шаги 5, 6 для каждой пары связываемых таблиц.

Примечания:

Связываемые поля не обязательно должны иметь одинаковые имена, но они обязательно должны иметь одинаковый тип данных, а числовые поля должны иметь и одинаковый размер поля.

Поле счетчика можно связывать с числовым полем, если в поле задан размер поля – «Длинное целое».

В диалоговом окне «Связи» (шаг 6) можно установить флажок

Каскадное обновление связанных полей, тогда при изменении значения одного поля во всех связанных с ним записях автоматически произойдут изменения.

В диалоговом окне «Связи» можно установить флажок Обеспечение целостности данных, тогда Access будет сообщать вам об ошибке, если данные в связываемых полях не совпадают.

Если на шаге 4 вы добавили не все таблицы, то можно добавить их в окно схемы данных с помощью кнопки Добавить таблицу на панели инструментов.

23

Задание 2. Создание базы данных

Создать базу данных, спроектированную в первой самостоятельной работе (создать необходимые таблицы, связать их и заполнить данными).

Создание запросов к базе данных

Запрос – объект, который позволяет пользователю получить нужные данные из одной или нескольких таблиц. Вы можете создать запросы на выбор, обновление, удаление или на добавление данных.

Microsoft Access позволяет создавать запросы разных типов: запросы на выборку, запросы с параметрами, перекрестные запросы, запросы на изменение (на создание таблицы, удаление, обновление, добавление записей), запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы).

Запросы на выборку

Запросы на выборку позволяют выбрать из одной или нескольких таблиц нужные данные. Можно создавать запросы с помощью мастера запросов или в режиме конструктора.

Создание запроса на выборку с помощью конструктора

1.В окне базы данных перейдите к вкладке Запросы и нажмите кнопку

Создать.

2.В диалоговом окне «Новый запрос» выберите команду Конструктор и нажмите кнопку OK.

3.В диалоговом окне «Добавление таблицы» перейдите к вкладке, которая включает объекты, содержащие требуемые данные.

4.Для добавления объектов в запрос выделите объект и нажмите кнопку Добавить или дважды щелкните кнопкой мыши на имени объекта. Нажмите кнопку Закрыть.

5.Если запрос содержит несколько таблиц или запросов, убедитесь, что между собой их соединяет линия. Для Microsoft Access это означает, что данные связаны. Если же связей нет, создайте их (см. определение связей между таблицами).

6.Добавьте поля в запрос, перемещая их имена с помощью мыши из списка полей в бланк запроса (рис. 9).

7.Внесите в запрос необходимые усовершенствования: определите условие отбора, порядок сортировки, создайте вычисляемые поля (для вычисления суммы, среднего значения, пересчета и других действий с данными).

24

8.Нажмите кнопку Сохранить на панели инструментов, чтобы сохранить запрос. Введите имя и нажмите кнопку OK.

9.Нажмите кнопку Запуск на панели инструментов, чтобы выполнить запрос.

Если полученный запрос не соответствует требованиям, можно внести изменения в запрос в режиме конструктора. Для этого следует нажать кнопку Вид на панели инструментов.

список полей

бланк запроса

Рис. 9. Окно конструктора запроса

Окно конструктора запроса

Окно конструктора запроса состоит из двух частей (см. рис. 9). В верхней панели окна находятся списки полей тех таблиц, которые вы выбрали для данного запроса. Нижняя панель является бланком, в котором вы будете выполнять всю работу по созданию запроса. Каждый столбец бланка может быть полем одной из выбранных таблиц, вычисляемым полем, значение которого вычисляется на основе данных других полей, или итоговым полем, использующим одну из встроенных функций Access. Бланк запроса состоит из нескольких строк, назначение каждой строки описано в табл. 2.

Ввод условий отбора

Условия отбора – это ограничения, которые пользователь накладывает на запрос или расширенный фильтр для определения записей, с которыми он будет работать. Например, вместо просмотра списка всех студентов можно просмотреть список только тех студентов, которые поступили в

25

2000 году. Для этого необходимо указать условие отбора, отсеивающее все записи, кроме тех, у которых в поле «Год поступления» указано «2000».

Условие отбора записей вводится в строке Условие отбора в столбце, соответствующем полю, значение которого проверяется.

 

Таблица 2

Назначение строк бланка запроса в режиме конструктора

 

 

Строка

Назначение

Поле:

Для выбора полей, которые должны присутствовать в запросе и по

 

которым вы хотите проверить условия или выполнить сортировку

Имя таблицы:

Отображает имя таблицы, из которой выбрано соответствующее

 

поле

Сортировка:

Можно установить порядок сортировки записей для одного или

 

нескольких полей

Вывод на экран:

Флажками помечаются те поля, которые должны быть выведены

 

на экран при выполнении запроса

Условие отбора:

Для ввода условия, которое вы хотите использовать в качестве

 

фильтра

Или:

Используется тогда, когда сложное условие в запросе состоит из

 

нескольких условий, которые должны выполняться не

 

одновременно

Пример

Запрос: вывести на экран сведения о студентах, родившихся позднее 21.09.83, отсортировав записи по полю Фамилия. Окно конструктора запроса должно выглядеть в соответствии с рисунком (см. рис. 9). Результат выполнения запроса выглядит следующим образом (рис. 10):

Рис. 10. Результат выполнения запроса

Для одного поля или для нескольких полей можно ввести дополнительные условия отбора. Если выражения находятся в разных ячейках, но в одной строке бланка запроса, то автоматически используется оператор And для связи этих условий. Это означает, что будут выведены только те записи, которые отвечают всем условиям отбора одновременно.

26

Пример

Запрос: составить список всех студентов, которые по физике получили пятерки. Бланк запроса может выглядеть следующим образом:

Поле:

Фамилия

Имя

Номер группы

Дисциплина

Оценка

Вывод на экран:

 

 

 

 

 

Условие отбора:

 

 

 

Физика

5

Если выражения находятся в разных строках бланка запроса (т.е. используется строка «Или:»), то автоматически используется оператор Or. Это означает, что выведены будут записи, отвечающие любому из условий отбора.

Пример 1

Найти студентов с фамилией Иванов или Сидоров.

Поле:

Фамилия

Имя

Номер группы

Вывод на экран:

 

 

 

Условие отбора:

Иванов

 

 

Или:

Сидоров

 

 

Пример 2

Найти студентов, которые получили по физике «отлично» или по химии «хорошо».

Поле:

Фамилия

Номер группы

Дисциплина

Оценка

Вывод на экран:

 

 

 

 

Условие отбора:

 

 

Физика

5

Или:

 

 

Химия

4

Пример 3

Найти студентов, получивших по физике «отлично» или «хорошо».

Поле:

Фамилия

№ зачетки

Дисциплина

Оценка

Условие отбора:

 

 

Физика

5 Or 4

Пример 4

Найти студентов с фамилией Иванов, родившихся ранее 1 января 1986 года, и студентов с фамилией Сидоров, родившихся в период с 1 января 1982 года по 1 января 1984 года.

Поле:

Фамилия

№ зачетки

Дата рождения

Условие отбора:

Иванов

 

<01.01.86

Или:

Сидоров

 

>=01.01.82 and <=01.01.84

27

Операторы сравнения

В условии отбора можно использовать операторы сравнения. Рассмотрим основные из них.

Not (не) – отрицание.

Пример

Not(Иванов)

And (и) – условия должны выполняться одновременно.

Пример

>100 And <400

Or (или) – хотя бы одно из условий должно выполняться.

Пример

Иванов Or Сидоров

Between (между) – позволяет задать диапазон значений.

Пример

Between 10 and 30

In (в) – позволяет задать используемый для сравнения список значений.

Пример

In (1,3,5,7,9)

Like – для поиска образцов текста. В образец поиска можно включать символы шаблона ? ! * - # [ ] (табл. 3).

 

 

 

 

 

Таблица 3

 

 

 

 

Символы шаблона

 

 

 

 

Знак

Использование

 

Пример

*

Соответствует

любой

последова-

пр* – поиск слов при, привет,

 

тельности цифр или

символов.

примечание

 

Может использоваться в качестве

*ов – все слова, заканчивающиеся на

 

первого или последнего

символа

ов

 

текстовой строки

 

 

 

?

Соответствует

одному

любому

B?ll – поиск слов ball, bell и bill

 

текстовому символу

 

 

К?т – поиск слов кот, кит

[ ]

Соответствует

любому

одному

B[ae]ll – поиск слов ball и bell, но не

 

символу из заключенных в скобки

bill

 

 

 

 

 

Ст[оу]л – поиск слов стол, стул

!

Соответствует

любому

одному

b[!ae]ll – поиск слов bill и bull, но не

 

символу, кроме заключенных в

bell или ball

 

скобки

 

 

 

 

-

Соответствует любому символу из

b[a-c]d – поиск слов bad, bbd и bcd

 

диапазона. Необходимо указывать

 

 

этот диапазон по возрастанию (от

 

 

A до Z, но не от Z до A)

 

 

 

#

Соответствует любой цифре

1#3 – поиск значений 103, 113, 123,

 

 

 

 

 

133, 143, 153, 163, 173, 183, 193

28

Пример

Like “?[a-k]d[0-9]*” – первый символ любой, второй символ – буква от a до k, третий символ d, четвертый символ – цифра от 0 до 9, далее произвольная последовательность любых символов.

Примечания:

При использовании подстановочных знаков для поиска символа звездочки (*), вопросительного знака (?), знака номера (#), открывающей квадратной скобки ([) или дефиса (-) необходимо заключать эти символы в квадратные скобки. Например, для поиска вопросительного знака следует задать образец поиска [?].

Невозможно выполнить поиск пары квадратных скобок (открывающей и закрывающей [ ]), поскольку эта комбинация символов интерпретируется в Microsoft Access как пустая строка.

Кроме операторов сравнения, описанных выше, в условиях отбора используют и знаки сравнения (>, <, =, <>, >=, <=).

Пример

>=09.05.85

>=100 and <=200 (это выражение соответствует оператору Between 100 and 200)

Запросы с параметром

До сих пор мы вводили условия отбора непосредственно в бланк запроса в режиме конструктора. Однако вы не всегда можете решить на этапе создания запроса, какие именно значения нужно найти или эти значения каждый раз разные, но однотипные. Вместо этого можно включить в запрос параметр, тогда перед выполнением запроса Access каждый раз будет запрашивать у вас конкретные условия отбора.

Создание запроса с параметром

1.Создайте запрос на выборку.

2.В режиме конструктора запроса переместите с помощью мыши поля из списка полей в бланк запроса.

3.Для каждого поля, которое предполагается использовать как параметр, введите в ячейку строки Условие отбора текст приглашения, заключенный в квадратные скобки. Это приглашение будет выводиться при запуске запроса. Текст подсказки должен отличаться от имени поля, но может включать его.

Пример

[Введите фамилию студента]

29

Для поля, в котором отображаются даты, можно вывести приглашения [Введите начальную дату] и [Введите конечную дату] для определения диапазона отбираемых значений. Для

этого введите в ячейку строки Условие отбора выражение:

Between [Введите начальную дату:] And [Введите конечную дату:].

4.Для просмотра результатов нажмите кнопку Запуск на панели инструментов и введите значение параметра.

Пример

Найти студентов, сдавших определенный экзамен на оценку, больше заданного числа.

Поле:

№ зачетки

Фамилия

Вид оценки знаний

Дисциплина

Оценка

Условие

 

 

Экзамен

[Введи

>[Введи

отбора:

 

 

 

дисциплину]

оценку]

Вычисления в запросе

Существует ряд вычислений, которые можно выполнить в запросе, например, найти сумму или среднее по значениям одного поля, перемножить значения двух полей.

Результаты вычислений, выводящиеся в поле, не запоминаются в базовой таблице. Вместо этого вычисления снова производятся всякий раз, когда выполняется запрос, поэтому результаты всегда представляют текущее содержимое базы данных. Обновить вычисленные результаты вручную невозможно.

Можно задать вычисления над полями таблицы и сделать вычисляемое значение новым полем в наборе записей, т.е. создать вычисляемое поле.

Для определения вычисляемого поля можно использовать встроенные функции Microsoft Access или выражения, создаваемые пользователем.

Результаты вычислений не обязательно должны отображаться в поле. Вместо этого их можно использовать в условиях отбора для определения записей, которые выбираются в запросе, или для определения записей, над которыми производятся какие-либо действия.

Выражение представляет комбинацию символов, идентификаторов, операторов и значений, дающую определенный результат.

Создание вычисляемых полей с помощью построителя выражений

1.Создать запрос, поместить в него нужные поля.

2.Установить курсор в пустом столбце бланка запроса в строке

Поле.

3.Нажать кнопку Построить на панели инструментов.

4.Создать выражение и нажать кнопку ОК.

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]