Лабораторная работа №3. Лабораторная работа 1 Изучение возможностей субд access
Скачать 1.48 Mb.
|
Лабораторная работа №1 Изучение возможностей СУБД Access Цель работы: изучение приемов создания таблиц и связей между таблицами в MS Access, приемов создания простых и составных форм, приемов создания запросов в MS Access, приемов разработки и печати отчетов в среде MS Access Задание 1: 1. Запустите Microsoft Access. 2. Создайте базу данных Фирма. Сотрудники данной организации работают с клиентами и выполняют их заказы. Для этого запустите Access, создайте новую базу данных, задайте имя базы данных Фирма, выберите место сохранения Вашей базы данных и нажмите кнопку Создать. Рисунок 1 – Создание новой БД в MS Access 3. Создайте в режиме Конструктор 3 таблицы: – Сотрудники; – Клиенты; – Заказы. Рисунок 2 – Таблица «Сотрудники» Рисунок 3 – Таблица «Клиенты» Рисунок 4 – Таблица «Заказы» 4. Установите ключевые поля. Отдельные таблицы, содержащие информацию по определенной теме, необходимо связать в единую структуру базы данных. Для связывания таблиц следует задать ключевые поля. Ключ состоит из одного или нескольких полей, значения которых однозначно определяют каждую запись в таблице. Наиболее подходящим в качестве ключевого поля является Счетчик, так как значения в данном поле являются уникальными (т. е. исключают повторы). При создании таблиц в режиме конструктора ключевое поле устанавливается автоматически. Откройте созданные Вами таблицы в режиме Конструктор и проверьте установленные ключевые поля: 1) в таблице Сотрудники ключевое поле «Код сотрудника» Рисунок 5 – Ключевое поле таблицы «Сотрудники» 2) в таблице Клиенты ключевое поле «Код клиента» Рисунок 6 – Ключевое поле таблицы «Клиенты» 3) в таблице Заказы ключевое поле «Код заказа» Рисунок 7 – Ключевое поле таблицы «Заказы» Если значение Ключевых полей не задалось автоматически, то задайте их вручную. Для этого откройте таблицу Сотрудники в режиме Конструктора. Нажмите правой кнопкой мыши на поле Код сотрудника и в появившемся контекстном меню выберите команду Ключевое поле. Если в таблице необходимо установить несколько ключевых полей, то выделить их можно, удерживая клавишу Ctrl. Для таблицы Клиенты установите ключевое поле Код клиента, а для таблицы Заказы – Код заказа. 5. Создайте раскрывающиеся списки с помощью Мастера подстановок. Таблица Заказы содержит поля Код сотрудника и Код клиента. При их заполнении могут возникнуть некоторые трудности, так как не всегда удается запомнить все предприятия, с которыми работает фирма, и всех сотрудников с номером кода. Для удобства можно создать раскрывающиеся списки с помощью Мастера подстановок. Откройте таблицу Заказы в режиме Конструктора. Для поля Код клиента выберите тип данных Мастер подстановок. Рисунок 8 – Ключевое поле таблицы «Заказы», Мастер подстановок В появившемся окне выберите команду Объект «столбец подстановки» будет использовать значения из таблицы или запроса и щелкните на кнопке Далее. Рисунок 9 – Создание подстановки В списке таблиц выберите таблицу Клиенты и щелкните на кнопке Далее. Рисунок 10 – Создание подстановки В списке Доступные поля выберите поле Код клиента и щелкните на кнопке со стрелкой >>, чтобы ввести поле в список Выбранные поля. Таким же образом добавьте поле Название компании и щелкните на кнопке Далее. Рисунок 11 – Создание подстановки Выберите порядок сортировки списка по полю Название компании и нажмите кнопку Далее. Рисунок 12 – Создание подстановки В следующем диалоговом окне задайте необходимую ширину столбцов раскрывающегося списка, установите флажок Скрыть ключевой столбец и нажмите кнопку Далее. Рисунок 13 – Создание подстановки На последнем шаге Мастера подстановок замените при необходимости надпись для поля подстановок и щелкните на кнопке Готово. Рисунок 14 – Создание подстановки Сохраните полученный результат. Рисунок 15 – Сохранение 6. Аналогичным образом создайте раскрывающийся список для поля Код сотрудника. Теперь в списке таблиц выберите таблицу Сотрудники Рисунок 16 – Создание подстановки В списке Доступные поля выберите поля Код сотрудника, Фамилия, Имя. Рисунок 17 – Создание подстановки Порядок сортировки списка выберите по полю Фамилия. Рисунок 18 – Создание подстановки Все остальные действия проводятся аналогично пункту 6. 7. Создайте связей между таблицами. Существует несколько типов отношений между таблицами: – при отношении «один-к-одному» каждой записи ключевого поля в первой таблице соответствует только одна запись в связанном поле другой таблицы, и наоборот. Отношения такого типа используются не очень часто. Иногда их можно использовать для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности; – при отношении «один-к-многим» каждой записи в первой таблице соответствует несколько записей во второй, но запись во второй таблице не может иметь более одной связанной записи в первой таблице; –при отношении «многие-к-многим» одной записи в первой таблице могут соответствовать несколько записей во второй таблице, а одной записи во второй таблице могут соответствовать несколько записей в первой. Закройте все открытые таблицы, так как создавать или изменять связи между открытыми таблицами нельзя. Выполните команду вкладки Лента Работа с базами данных кнопка Схема данных. Рисунок 19 – Схема данных Если ранее никаких связей между таблицами базы не было, то при открытии окна Схема данных одновременно открывается окно Добавление таблицы, в котором выбираются нужные таблицы. Для добавления в схему данных новой таблицы необходимо щелкнуть правой кнопкой мыши на схеме данных и в контекстном меню выбрать пункт Добавить таблицу. Если связи между таблицами уже были заданы, то откроется окно Схема данных, на котором будут отображены таблицы и связи между ними. Отредактируйте связь между таблицами Сотрудники и Заказы, для этого щелкните правой кнопкой мыши (ПКМ) на линию связи и в открышемся контекстном меню выберите команду Изменить связь. Рисунок 20 – Схема данных Откроется диалоговое окно Изменение связей, в котором включите флажок Обеспечение целостности данных. Это позволит предотвратить случаи удаления записей из одной таблицы, при которых связанные с ними данные других таблиц останутся без связи. Обратите внимание на тип отношений: один-ко-многим. Рисунок 21 – Изменение данных Флажки Каскадное обновление связанных полей и Каскадное удаление связанных записей обеспечивают одновременное обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице. Параметры связи можно изменить, нажав на кнопку Объединение. После установления всех необходимых параметров нажмите кнопку ОК. Аналогично измените связь между таблицами Клиенты и Заказы. В результате должна получиться схема данных, представленная на рисунке. Рисунок 22 – Схема данных На схеме данных связи отображаются в виде соединительных линий со специальными значками около таблиц. Связь «один-к-многим» помечается «1» вблизи главной таблицы (имеющей первичный ключ) и «∞» вблизи подчиненной таблицы (имеющей внешний ключ). Связь «один-к-одному» помечается двумя «1» (оба поля таблиц имеют первичные ключи). Неопределенная связь не имеет никаких знаков. Если установлено объединение, то его направление отмечается стрелкой на конце соединительной линии (ни одно из объединенных полей не является ключевым и не имеет уникального индекса). 7. В таблицу Сотрудники внесите данные о 7 работниках. Рисунок 23 – Содержание таблицы «Сотрудники» 8. В таблицу Клиенты внесите данные о 7 предприятиях, с которыми работает данная фирма. Рисунок 24 – Содержание таблицы «Клиенты» 9. В таблице Заказы оформите 5 заявок, поступивших на фирму. Рисунок 25 – Содержание таблицы «Заказы» Задание 2: 1. Выполните команду: вкладка ленты Создание – панель инструментов Формы – Другие формы – Мастер форм. 2. В диалоговом окне Создание форм выберите таблицы (запросы) и поля, которые будут помещены в форму. Щелкните по кнопке Далее. 3. В следующих диалоговых окнах мастера выберите внешний вид формы, стиль, задайте имя формы. Щелкните по кнопке Готово. 4. С помощью Мастера создайте формы Сотрудники, Клиенты, Заказы, Менеджеры. 5. Откройте форму Сотрудники в режиме Конструктора. Этот режим предназначен для создания и редактирования форм. 6. Разместите элементы в удобном для вас порядке, измените размер и цвет текста. 7. В заголовок формы добавьте текст Сотрудники фирмы. 8. В примечание формы добавьте объект Кнопка (вкладка ленты Конструктор – панель инструментов Элементы управления). 9. После того как вы «нарисуете» кнопку указателем, на экране появится диалоговое окно Создание кнопок. 10. В категории Работа с формой выберите действие Закрытие формы и нажмите кнопку Далее. 11. Выберите рисунок или текст, который будет размещаться на кнопке. 12. В последнем диалоговом окне Мастера кнопок задайте имя кнопки и нажмите Готово. 13. Мастер кнопок написал для данной кнопки процедуру на языке Microsoft Visual Basic. Просмотреть процедуру обработки события можно с помощью команды Обработка событий контекстного меню кнопки. 14. Самостоятельно создайте кнопки Выход из приложения, Поиск записи, Удаление записи. 15. Иногда на форме требуется разместить несколько страниц, содержащих данные из различных источников, справочную или вспомогательную информацию. Для этой цели можно использовать набор вкладок. 16. Создайте пустую форму. 17. Для добавления к форме набора вкладок щелкните по кнопке Вкладка на панели инструментов Элементы управления. Сначала добавятся только две вкладки с формальными именами Вкладка 1 и Вкладка 2. 18. Добавьте еще одну вкладку. 19. Переименуйте ярлычки вкладок так, чтобы на них отображались названия данных, которые будут в них располагаться: Сотрудники, Менеджеры, Помощь. 20. Перейдите на вкладку Сотрудники и перетащите на нее мышкой из базы данных форму Сотрудники. 21. Аналогичным образом поместите форму Менеджеры на вкладку Менеджеры. 22. На вкладку Помощь поместите некоторые советы по работе с базой данных. 23. Данную форму сохраните с именем Сотрудники фирмы. 24. В Microsoft Access можно создавать кнопочные формы. Они содержат только кнопки и предназначены для выбора основных действий в базе данных. Для создания кнопочной формы необходимо на вкладке ленты Работа с базами данных выбрать команду Диспетчер кнопочных форм. 25. Если кнопочной формы в базе данных нет, то будет выведен запрос на подтверждение ее создания. Нажмите Да в диалоговом окне подтверждения. 26. Перед вами появится Диспетчер кнопочных форм, в котором щелкните по кнопке Создать. 27. В диалоговом окне Создание введите имя новой кнопочной формы и нажмите ОК. 28. Имя новой кнопочной формы добавится в список Страницы кнопочной формы окна Диспетчер кнопочных форм. Выделите имя новой кнопочной формы и щелкните по кнопке Изменить. 29. В диалоговом окне Изменение страницы кнопочной формы щелкните по кнопке Создать. Появится диалоговое окно Изменение элемента кнопочной формы. 30. В поле Текст введите текст подписи для первой кнопки кнопочной формы, а затем выберите команду из раскрывающегося списка в поле Команда. В поле Форма выберите форму, для которой будет выполняться данная команда. 31. Аналогичным образом добавьте кнопки Клиенты, Заказы, Выход. 32. В диалоговом окне Диспетчер кнопочных форм выберите имя вашей кнопочной формы и щелкните по кнопке По умолчанию. 33. Рядом с названием кнопочной формы появится надпись «(по умолчанию)». 34. Чтобы закончить создание кнопочной формы, щелкните по кнопке Закрыть. 35. В результате должна получиться форма, представленная на рисунке. 36. Добавьте в форму какой-нибудь рисунок. 37. Для того чтобы главная кнопочная форма появлялась на экране при запуске приложения, необходимо в главном меню нажать на кнопку Параметры Access. Для текущей базы данных установите форму просмотра -«кнопочная форма». 38. Ответьте на контрольные вопросы. 39. Сделайте вывод о проделанной работе. Задание 3: 1. Откройте созданную Вами ранее базу данных Фирма и проведите ее модификацию. Для этого, откройте таблицу Сотрудники и проведите ее редактирование: – скопируйте запись с фамилией Орлова на восьмую. Для этого нажмите ПКМ на запись, выберите команду Копировать Рисунок 1 – Таблица «Сотрудники» Затем нажмите ПКМ на звездочку в восьмой строке и выберите команду Вставить Рисунок 2 – Таблица «Сотрудники» – во второй или третьей записи (в зависимости от Вашего пола) измените фамилию на свою; – введите новую запись в режиме Ввод данных, для этого на ленте Главная во вкладке Записи выберите команду Создать (команда Создать будет активна только при выделенной любой строке таблицы!) Рисунок 3 – Кнопка «Создать» Рисунок 4 – Кнопка результат выполнения 2. Создайте запрос, в котором можно просмотреть телефоны сотрудников. Для создания запроса выполните команду: вкладка ленты Создание – Мастер запросов – Простой запрос. Рисунок 5 – Создание запроса в режиме мастера В появившемся диалоговом окне укажите таблицу Сотрудники и выберите поля Фамилия, Имя, Телефон. Нажмите кнопку Далее. Рисунок 6 – Создание запроса в режиме мастера Введите имя запроса – Телефоны – и нажмите кнопку Готово. Рисунок 7 – Создание запроса в режиме мастера Перед вами появится запрос, в котором можно просмотреть телефоны сотрудников. Обратите внимание, что в области перехода появился новый объект Телефоны, иконка которого отличается от иконки таблиц. Рисунок 8 – Результат выполнения запроса 3. С помощью Конструктора создайте запрос Адреса клиентов. Для этого выполните команду: вкладка ленты Создание – Конструктор запросов. Рисунок 8 – Создание запроса в режиме конструктора 4. В диалоговом окне Добавление таблиц выберите таблицу Клиенты и щелкните на кнопке Добавить, а затем – на кнопке Закрыть. Рисунок 9 – Создание запроса в режиме конструктора 5. Чтобы перенести нужные поля в бланк запроса, необходимо по ним дважды щелкнуть левой кнопкой мыши (ЛКМ) в таблице. Щелкните ЛКМ по полям Код клиента, Название компании, Адрес. Рисунок 10 – Создание запроса в режиме конструктора 6. Чтобы отсортировать записи в поле Название компании в алфавитном порядке, необходимо в раскрывающемся списке строки Сортировка выбрать пункт по возрастанию. Рисунок 11 – Сортировка 7. Сохраните запрос с именем Адреса клиентов. Для этого при закрытии запроса в появившемся диалоговом окне сохранения изменения макета выберите команду Да, и в следующем окне введите имя запроса Адреса клиентов. 8. Самостоятельно создайте запрос Дни рождения, в котором можно будет просмотреть дни рождения сотрудников. (для запроса выбрать поля Код сотрудника, Фамилия, Имя, Дата рождения) Рисунок 12 – Сортировка 9. Если нам нужно узнать, кто из сотрудников родился в конкретном месяце, то придется создать новый запрос или изменить условие в существующем запросе Дни рождения Допустим, мы хотим узнать, у кого из сотрудников день рождения в текущем месяце, например в апреле. Для этого откройте запрос Дни рождения в режиме Конструктора. 10. В строке Условие отбора для поля «Дата рождения» введите значение *.04.*. В данной записи * означают, что дата и год рождения могут быть любыми, а месяц 4-м (т. е. апрель). После сохранения окно запроса в режиме Конструктора должно выглядеть так, как оно представлено на рисунке: Рисунок 13 – Условие отбора 11. Закройте Конструктор и просмотрите полученный результат. Рисунок 14 – Результат выполнения запроса Если в запросе Дни рождения нет ни одной записи, значит, в таблице Сотрудники нет ни одного человека, родившегося в апреле. Добавьте в таблицу Сотрудники несколько человек, родившихся в апреле, и посмотрите, как изменится запрос. Запросы автоматически обновляются при каждом открытии. Если нам нужно узнать, кто из сотрудников родился в мае, то придется опять создать новый запрос или изменить условие в существующем запросе Дни рождения. Данная процедура является неудобной и занимает много времени. Если приходится часто выполнять запрос, но каждый раз с новыми значениями условий используют запрос с параметром. При запуске такого запроса на экран выводится диалоговое окно для ввода значения в качестве условия отбора. 12. Измените запрос Дни рождения, сделав его запросом с параметром. Чтобы создать запрос с параметром, пользователю необходимо ввести текст сообщения Like[Введите дату] в строке Условие отбора бланка запроса. Рисунок 15 – Условие отбора Запись Like[Введите дату] означает, что при открытии запроса появится диалоговое окно) с текстом «Введите дату» и полем для ввода условия отбора. Если ввести условие *.04.*, то в запросе появится список сотрудников, родившихся в апреле. Рисунок 16 – Диалоговое окно Запустите запрос еще раз и введите значение *.05.*, посмотрите, как изменился запрос. Рисунок 17 – Результат выполнения запроса 13. Измените запрос «Телефоны» так, чтобы при его запуске выводилось диалоговое окно с сообщением «Введите фамилию». Поскольку в запросе нужно вывести конкретную фамилию, в условии отбора слово Like писать не надо. Рисунок 18 – Условие отбора Выполнение запроса: Рисунок 19 – Диалоговое окно 14. Измените запрос «Телефоны» так, чтобы при его запуске запрашивались не только фамилия, но и имя сотрудника. Рисунок 20 – Условие отбора При выполнении запроса сначала появится диалоговое окно с сообщением «Введите фамилию», а затем, после ввода Фамилии диалоговое окно с сообщением «Введите имя» 15. Самостоятельно с помощью Конструктора запросов создайте запрос Выполненные заказы, содержащий следующие сведения: фамилия и имя сотрудника, название компании, с которой он работает, отметка о выполнении и сумма заказа. Данные запроса возьмите из нескольких таблиц. Рисунок 21 – Создание запроса Двойным щелчком ЛКМ выберите нужные поля из таблиц: Рисунок 22 – Создание запроса 16. В условии отбора для логического поля Отметка о выполнении введите Да, чтобы в запросе отображались только выполненные заказы. 17. Сделайте так, чтобы столбец Отметка о выполнении не выводился на экран. Рисунок 23 – Создание запроса 18. Создайте запрос Сумма заказа, в котором будут отображаться заказы на сумму более 50 000 руб. Для подобных запросов в условии отбора можно использовать операторы сравнения >, <, =, >=, <=, < > и логические операторы And, Or, Not и др. Рисунок 24 – Создание запроса Результат: Рисунок 25 – Результат выполнения запроса 19. Измените запрос, чтобы сумма заказа была от 20 000 до 50 000 руб. Рисунок 26 – Создание запроса Результат: Рисунок 27 – Результат выполнения запроса 20. Создайте запрос для подсчета подоходного налога по каждой сделке. Иногда в запросах требуется произвести некоторые вычисления, например, посчитать подоходный налог 13 % для каждой сделки. Для этого откройте запрос Сумма заказа в режиме Конструктора. В пустом столбце бланка запроса щелкните правой кнопкой мыши на ячейке Поле и в появившемся контекстном меню выберите команду Построить. Рисунок 28 – Создание запроса Перед вами появится окно Построитель выражений, который состоит из трех областей: поля выражения (1), кнопок операторов(2) и элементов выражения(3). Рисунок 29 – Создание запроса Сверху располагается поле выражения, в котором оно и создается. Вводимые в это поле элементы выбираются в двух других областях окна Построителя. 21. В левом списке откройте папку Запросы и выделите запрос Сумма заказа. В среднем списке выделите поле Сумма и нажмите кнопку Вставить. Идентификатор этого поля появится в поле выражения Построителя. Рисунок 30 – Создание запроса 22. Щелкните на кнопке * и введите 0,13. Таким образом, мы посчитаем подоходный налог 13 %. 23. Нажмите кнопку ОК, после чего в ячейке свойства Поле появится значение «Выражение1:[Сумма]*0,13». Рисунок 31 – Создание запроса 24. Замените Выражение1 на Налог и закройте Конструктор. Рисунок 32 – Создание запроса 25. Откройте запрос и посмотрите, что у вас получилось. Рисунок 33 – Результат выполнения запроса 26. Используя Построитель выражений, измените запрос Сумма заказа, чтобы можно было посчитать прибыль от заказов. Уберите Условие отбора в поле Сумма (чтобы выводились все выполненные заказы) и добавьте поле Прибыль, в котором будет вычисляться доход от заказа (т. е. сумма минус налог). Для этого откройте запрос Сумма заказа в режиме Конструктора. Удалите Условие отбора в поле Сумма (чтобы выводились все выполненные заказы). Добавьте поле Прибыль, в котором будет вычисляться доход от заказа (т. е. сумма минус налог). В пустом столбце бланка запроса щелкните правой кнопкой мыши на ячейке Поле и в появившемся контекстном меню выберите команду Построить. В левом списке откройте папку Запросы и выделите запрос Сумма заказа. В среднем списке выделите поле Сумма и нажмите кнопку Вставить. Щелкните на кнопке – .В среднем списке выделите поле Налог и нажмите кнопку Вставить. Нажмите кнопку Ок. Рисунок 34 – Создание запроса 27. Замените Выражение1 на Прибыль и закройте Конструктор, сохранив изменения. Рисунок 35 – Создание запроса Просмотрите полученный результат: Рисунок 36 – Результат выполнения запроса 28. Создайте запрос Менеджеры, с помощью которого в таблице Сотрудники найдите всех менеджеров фирмы. Рисунок 37 – Создание запроса Задание 4: 1. В окне базы данных выполните команду: вкладка ленты Создание – панель инструментов Отчеты – Мастер отчетов. 2. Выберите из списка таблицу (или запрос), которая будет использована как источник данных (например, запрос Адреса клиентов). 3. В появившемся диалоговом окне Создание отчетов переместите все доступные поля в область «выбранные поля». 4. С помощью Мастера отчетов создайте отчет Дни рождения. В качестве источника данных используйте таблицу Сотрудники. 5. Если требуется напечатать почтовые наклейки, Access предоставляет такую возможность. Для этого выделите таблицу Клиенты и выполните команду: вкладка ленты Создание – панель инструментов Отчеты – Наклейки. 6. В появившемся диалоговом окне укажите размер наклейки, систему единиц, тип наклейки и нажмите кнопку Далее. 7. На следующем шаге создания отчета установите шрифт, размер, цвет текста и начертание. Нажмите кнопку Далее. 8. Выберите поля, которые будут размещаться на наклейке. Например, Название компании, Адрес, Телефон и Факс. Если на каждой наклейке требуется вывести определенный текст, то введите его в прототип наклейки. 9. При необходимости измените название отчета с наклейками и нажмите кнопку Готово. 10. Иногда в отчетах требуется вычислять итоговые значения, среднее, минимальное или максимальное значения, а также проценты. Для этого запустите Мастер отчетов и в качестве источника данных укажите запрос Сумма заказа. 11. В диалоговом окне Мастера, в котором задается порядок сортировки записей, нажмите кнопку Итоги. 12. В диалоговом окне Итоги для полей Сумма и Налог установите флажки в столбце sum, чтобы посчитать итоговую сумму. 13. Далее выполните все шаги Мастера и нажмите кнопку Готово. 14. Создайте отчет Дни рождения, используя в качестве источника данных запрос Дни рождения. 15. Составьте отчет Выполненные заказы, в котором будут данные о компании и сумме заказа. Вычислите итоговую сумму, среднее значение (Avg) и максимальную сумму для каждой фирмы. 16. Покажите работу преподавателю. 17. Ответьте на контрольные вопросы. 18. Сделайте вывод о проделанной работе. Задание 5: Сформируйте отчет о проделанной работе |