Многотабличные запросы и отношения
Одна из самых мощных возможностей Access одновременно является и наиболее важной. Отношения позволяют связать таблицы графически. Можно даже связывать таблицы, представляющие файлы разных типов (например, таблицу Access и таблицу dBase). После подобного связывания таблицы выступают уже как одно целое, и теперь можно строить запросы применительно к любым данным в них. Можно выбирать конкретные поля, определять порядок сортировки, создавать вычисляемые выражения и вводить критерии отбора нужных записей. Можно отображать результаты выполнения запроса в виде таблицы, формы или отчета. От пользователя не требуется предварительной установки связей: вместо этого достаточно войти в конструктор запросов (например, когда требуется построить определенный отчет).
Запросы применяют и в других случаях. Можно создавать запросы, которые обеспечивают вычисление итогов, отображение сгруппированных и построение новых таблиц. Запрос можно использовать даже для обновления данных в таблицах, удаления записей и добавления одной таблицы к другой.
Ход работы
1. Для создания новой базы данных:
· Загрузить Access, в появившемся окне выбрать пункт Новая база данных;
· В окне <<Файл новой базы данных>> задать имя вашей базы (пункт Имя файла) и выбрать папку (пункт Папка), где ваша база данных будет находиться. По умолчанию Access предлагает вам имя базы db1, а тип файла – Базы данных Access.
· Щелкнуть по кнопке <Создать>.
2. Для создания таблицы базы данных:
· В окне базы данных выбрать вкладку Таблицы, а затем щелкнуть по кнопке <Создать>;
· В окне <<Новая таблица>> выбрать пункт Конструктор и щелкнуть по кнопке <ОК>. В результате проделанных операций открывается окно таблицы в режиме конструктора, в котором следует определить поля таблицы.
3. Для определения полей таблицы:
· Ввести в строку столбца <<Имя поля>> имя первого поля Код преподавателя;
· В строке столбца <<Тип данных>> щелкнуть по кнопке списка и выбрать тип данных Счетчик. Заполнение строки столбца <<Описание>> необязательно и обычно используется для внесения дополнительных сведений о поле. Для определения всех остальных полей таблицы базы данных Преподаватели в соответствии с таблицей 6 выполнить действия, аналогичные указанным выше;
Таблица 6. Таблица данных Преподаватели
Имя поля | Тип данных | Размер поля |
Код преподавателя | Счетчик | |
Фамилия | Текстовый | |
Имя | Текстовый | |
Отчество | Текстовый | |
Дата рождения | Дата/время | Краткий |
Должность | Текстовый | |
Дисциплина | Текстовый | |
Телефон | Текстовый | |
Зарплата | Денежный |
· Изменить данные в пункте Размер поля вкладки Общие.
4. Для сохранения таблицы:
· Выбрать пункт меню Файл, Сохранить;
· В диалоговом окне <<Сохранение>> ввести имя таблицы и щелкнуть по кнопке <ОК> (задавать ключевое поле не нужно).
5. Для задания условия на значение для вводимых данных:
· Войти в режим Конструктор для проектируемой таблицы. Если вы находитесь в окне базы данных, то выбрать вкладку Таблицы и щелкнуть по кнопке <Конструктор>. Если вы находитесь в режиме таблицы, то щелкнуть по кнопке <Конструктор> на панели инструментов или выполнить команду Вид, Конструктор;
· в верхней части окна щелкнуть по полю «Должность»;
· в нижней части окна щелкнуть по строке параметра Условие на значение;
· в появившемся окне написать слово Профессор, затем щелкнуть по кнопке <Оr> (эта кнопка выполняет функцию ИЛИ), написать Доцент, снова щелкнуть по этой же кнопке, написать Ассистент и щелкнуть по кнопке <ОК>. Таким образом вы ввели условие, при котором в поле «Должность» могут вводиться только указанные значения.
6. В строке Сообщение об ошибке ввести предложение "Такой должности нет, правильно введите данные".
7. В строке Значение по умолчанию ввести слово "Доцент".
8. Ввести ограничения на данные в поле «Код». Здесь ограничения надо вводить не совсем обычным способом. Дело в том, что коды преподавателей не должны повторяться, а также должна быть обеспечена возможность их изменения (из-за последнего условия в этом поле нельзя использовать тип данных Счетчик, в котором данные не повторяются). Для выполнения второго условия пришлось задать в поле «Код» тип данных Числовой, а для выполнения первого условия сделать следующее:
· щелкнуть по строке параметра Индексированное поле;
· выбрать в списке пункт Да (совпадения не допускаются);
· перейдите в режим Таблица, щелкнув по кнопке на панели инструментов или выполнив команду Вид, Режим таблицы. На вопрос о сохранении таблицы щелкнуть по кнопке <Да>.
9. Ввести данные в таблицу в соответствии с табл. 7. и проверить реакцию системы на ввод неправильных данных в поле «Должность».
Таблица 7. База данных Преподаватели.
Код | Фамилия | Имя | Отчество | Дата рождения | Должность | Дисциплина | Телефон | Зарплата |
Аюпов | Ренат | Ильдусович | 04.05.84 | Ассистент | Физика | 355-43-23 | ||
Егоров | Николай | Владимирович | 11.09.57 | Профессор | История | 309-74-85 | ||
Зорин | Иван | Ильич | 10.10.51 | Профессор | Математика | 237-62-12 | ||
Николаева | Виктория | Андреевна | 06.02.87 | Ассистент | Математика | 520-01-44 | ||
Ильина | Анна | Петровна | 21.01.73 | Доцент | Физика | 222-34-56 | ||
Горохова | Валентина | Ивановна | 05.03.61 | Доцент | Информатика | 483-51-54 | ||
Егоров | Антон | Николаевич | 24.04.68 | Доцент | Химия | 932-41-82 | ||
Иванов | Максим | Викторович | 02.06.81 | Доцент | Информатика | 865-33-11 | ||
Сафина | Дина | Мансуровна | 15.08.75 | Доцент | Химия | 350-51-40 | ||
Зубова | Елена | Сергеевна | 18.12.65 | Доцент | Экономика | 530-12-12 |
10. Для изменения ширины каждого поля таблицы в соответствии с шириной данных:
· щелкнуть в любой строке поля «Код»;
· выполнить команду Формат, Ширина столбца;
· в появившемся окне щелкнуть по кнопке <По ширине данных>. Ширина поля изменится;
· проделать эту операцию с остальными полями.
11. Для поиска в таблице преподавателя Егорова:
· перевести курсор в первую строку поля «Фамилия»;
· выполнить команду Правка, Найти;
· в появившейся строке параметра Образец ввести Егоров;
· в строке параметра Просмотр должно быть слово ВСЕ (имеется в виду искать по всем записям);
· в строке параметра Совпадение выбрать из списка С любой частью поля;
· в строке параметра Только в текущем поле установить флажок (должна стоять "галочка");
· щелкнуть по кнопке <Найти>. Курсор перейдет на вторую запись и выделит слово Егоров;
· щелкнуть по кнопке <Найти далее>. Курсор перейдет на седьмую запись и также выделит слово Егоров;
· щелкнуть по кнопке <3акрыть> для выхода из режима поиска.
12. Для замены заработной платы ассистенту Николаевой с 3540 р. на 3660 р.:
· перевести курсор в первую строку поля «Зарплата»;
· выполнить команду Правка, Заменить;
· в появившемся окне в строке Образец ввести 3540 р.;
· в строке Заменить на ввести 3660 р. (надо вести поиск по всем записям данного поля);
· щелкнуть по кнопке <Найти далее>. Курсор перейдет на четвертую запись, и здесь не нужно менять данные, поэтому снова щелкнуть по кнопке <Найти далее>. Курсор перейдет на девятую запись – это то, что нам надо;
· щелкнуть по кнопке <3аменить>. Данные будут изменены;
· щелкнуть по кнопке <3акрыть>.
13. Для сортировки данных в поле «Год рождения» по убыванию:
· щелкнуть по любой записи поля «Год рождения»;
· выполнить команду Записи, Сортировка, Сортировка по убыванию. Все данные в таблице будут отсортированы в соответствии с убыванием значений в поле «Год рождения».
14. Для фильтрации данных по полям «Должность» и «Дисциплина»:
· щелкнуть по записи Доцент поля «Должность»;
· выполнить команду Записи, Фильтр, Фильтр по выделенному. В
таблице останутся только записи о преподавателях – доцентах;
· щелкнуть по записи Информатика поля «Дисциплина»;
· выполнить команду Записи, Фильтр, Фильтр по выделенному. В таблице останутся только записи о преподавателях – доцентах кафедры информатики;
· для отмены фильтрации выполнить команду Записи, Удалить фильтр. В таблице появятся все данные.
15. Для просмотра созданной таблицы:
· выполнить команду Файл, Предварительный просмотр. Вы увидите таблицу как бы на листе бумаги;
· закрыть окно просмотра. Если у вас есть принтер, то созданную страницу можно распечатать.
16. Для создания формы Состав преподавателей:
· открыть вкладку Формы в окне базы данных;
· щелкнуть по кнопке <Создать>;
· в появившемся окне выбрать (подвести курсор мыши и щелкнуть левой кнопкой) пункт Мастер форм;
· щелкнуть по значку списка в нижней части окна;
· выбрать из появившегося списка таблицу Преподаватели;
· щелкнуть по кнопке <ОК>;
· в появившемся окне выбрать поля, которые будут присутствовать в форме. В данном примере присутствовать будут все поля;
· щелкнуть по кнопке <Далее>;
· в появившемся окне уже выбран вид Форма в один столбец, поэтому щелкнуть по кнопке <Далее>;
· в появившемся окне выбрать стиль оформления. Для этого нужно щелкнуть по словам, обозначающим стили, либо перемещать выделение стрелками вверх или вниз на клавиатуре. После выбора стиля щелкнуть по кнопке <Далее>;
· в появившемся окне задайте имя формы, набрав на клавиатуре параметр Состав преподавателей. Остальные параметры в окне оставить без изменений;
· щелкнуть по кнопке <Готово>. Перед вами откроется форма в один столбец. Столбец слева – это названия полей, столбец справа – данные первой записи (в нижней части окна в строке параметра Запись стоит цифра "1").
17. Для поиска преподавателя Егорова:
· перевести курсор в первую строку поля «Фамилия»;
· выполнить команду Правка, Найти;
· в появившемся окне в строке Образец ввести фамилию Егоров;
· в строке параметра Просмотр должно быть слово ВСЕ (имеется в виду искать по всем записям);
· в строке параметра Совпадение выбрать из списка параметр С любой частью поля;
· •в строке параметра Только в текущем поле установить флажок (должна стоять "галочка");
· щелкнуть по кнопке <Найти>. Курсор перейдет на вторую запись и выделит слово Егоров;
· щелкнуть по кнопке <Найти далее>. Курсор перейдет на седьмую запись и также выделит слово Егоров;
· щелкнуть по кнопке <3акрыть> для выхода из режима поиска.
18. Для замены зарплаты ассистенту Николаевой с 3660 р. на 3870 р.:
· перевести курсор в первую строку поля «Зарплата»;
· выполнить команду Правка, Заменить;
· в появившемся окне в строке параметра Образец ввести 3660 р.;
· в строке параметра Заменить на ввести 3870 р. Обратить внимание на остальные опции – вам надо вести поиск по всем записям данного поля;
· щелкнуть по кнопке <Найти далее>. Курсор перейдет на четвертую запись, но здесь не нужно менять данные, поэтому снова щелкнуть по кнопке <Найти да лее>. Курсор перейдет на девятую запись – это то, что нам надо;
· щелкнуть по кнопке <3аменить>. Данные будут изменены;
· щелкнуть по кнопке <3акрыть>.
19. Для сортировки данных в поле «Год рождения» по убыванию:
· щелкнуть по любой записи поля «Год рождения»;
· выполнить команду Записи, Сортировка, Сортировка по убыванию. Все данные в таблице будут отсортированы в соответствии с убыванием значений в поле «Год рождения».
20. Для фильтрации данных по полю «Должность»:
· щелкнуть по записи Доцент поля «Должность»;
· выполнить команду Записи, Фильтр, Фильтр по выделенному. В форме останутся только записи о преподавателях – доцентах;
· щелкнуть по записи Информатика поля «Дисциплина»;
· выполнить команду Записи, Фильтр, Фильтр по выделенному. В форме останутся только записи о преподавателях – доцентах кафедры информатики;
· для отмены фильтра выполнить команду Записи, Удалить фильтр. В таблице появятся все данные.
21. Изменить название поля «Дисциплина» на «Преподаваемая дисциплина».Для этого:
· перейти в режим конструктора, щелкнув по кнопке <Конструктор> на панели инструментов или выполнив команду Вид, Конструктор;
· щелкнуть правой кнопкой мыши в поле «Дисциплина» (на названии поля – оно слева, а строка справа с именем Дисциплина – это ячейка для данных, свойства которых мы не будем менять). В появившемся меню выбрать пункт Свойства. На экране откроется окно свойств для названия поля «Дисциплина»;
· щелкнуть по строке с именем Подпись, т.е. там, где находится слово Дисциплина;
· стереть слово Дисциплина и ввести Преподаваемая дисциплина;
· для просмотра результата перейти в режим формы, выполнив команду Вид, Режим формы.
22. Для просмотра созданной формы:
· выполнить команду Файл, Предварительный просмотр. Вы увидите форму как бы на листе бумаги;
· закрыть окно просмотра.
Задание
1. Ознакомиться с краткой теорией.
2. Создать базу данных по предложенной технологии.
3. Ответить на контрольные вопросы.
4. Оформить отчет.
Контрольные вопросы
1. Дайте определение СУБД Access.
2. Перечислите возможностиMicrosoft Access.
3. Какие существуют способы создания баз данных?
4. Какие два режима работы с таблицами существуют?
5. Какие типы данных поддерживает Access?
6. Для чего служит контекстно-зависимая справка?
7. Для чего служат мастера?
8. Каким образом в Access происходит связывание внешних файлов?
9. Какие возможности предоставляют пользователю окна конструкторов форм и отчетов?
10. Для чего используются отчеты?