- •Создание баз данных в субд ms access
- •Часть 1 Создание базы данных. Работа с таблицами. Формирование запросов
- •Введение
- •Лабораторная работа №1. Создание базы данных. Работа с таблицами Основные теоретические сведения
- •Основные понятия реляционных бд: нормализация, связи и ключи
- •Создание бд. Этапы проектирования
- •Порядок выполнения работы
- •Создание таблиц
- •Создание таблицы покупатель в режиме конструктора
- •Создание таблицы товары с помощью мастера
- •Создание таблицы поставщик путём ввода данных
- •Создание таблицы поставщик_товар в режиме конструктора
- •Создание таблиц покупатель_товар и сотрудники
- •Понятие целостности данных и связей
- •Создание связей между таблицами
- •Ввод данных в таблицы
- •Сортировка записей в таблице
- •Отбор данных с помощью фильтров
- •Корректировка записей базы данных
- •Контрольные вопросы
- •Лабораторная работа №2. Создание запросов Основные теоретические сведения
- •Режимы создания запросов
- •Создание запроса в режиме Конструктора
- •Формирование условий отбора
- •Выполнение и сохранение запроса
- •Задания и методические указания к формированию запросов Создание запросов выбора
- •Создание запросов действий
- •Создание перекрестных запросов
- •Контрольные вопросы
- •Литература
- •Приложения
- •Создание баз данных в субд ms access
- •Часть 1 Создание базы данных. Работа с таблицами. Формирование запросов
Mod остаток от деления.
2 Операторы сравнения:
= равно;
<> не равно;
< меньше;
<= меньше или равно;
> больше;
>= больше или равно.
3 Строковые операторы:
& оператор конкатенации;
Like оператор сравнения строковых выражений.
4 Логические операторы:
And логическое И;
Or логическое включающее ИЛИ;
Eqv логическая эквивалентность;
Imp логическая импликация;
Xor логическое исключающее ИЛИ;
Not логическое отрицание.
5 Вспомогательные операторы:
Between…And определяет принадлежность значения выражения указанному диапазону;
In проверяет, совпадает ли значение выражения с одним из элементов указанного списка;
Is используется для сравнения двух переменных, содержащих ссылки на объекты.
Примеры использования операторов приведены в приложении в таблице 14.
В Access предусмотрены сотни внутренних функций общего назначения, которые используются в таблицах, запросах, формах и отчетах. Кроме того, с помощью Visual Basic вы можете создавать собственные функции. В Access предусмотрено несколько типов функций, которые можно разделить на следующие категории:
Функции преобразования типа;
Функции получения даты и времени;
Статистические функции SQL;
Финансовые функции;
Математические функции;
Функции работы со строками.
Функции преобразования типа выполняют приведение типов данных. Рассмотрим некоторые из них:
Str() – возвращает число в виде строки , например функция
Str(921,234) возвращает строку "921,234"
Val() – выделяет число из строки, например функции
Val("1234,56") возвращает число 1234,56
Val("12 месяцев в году") возвращает число 12.
Format() – возвращает строку в формате, определенном пользователем, например:
Format("123456789", "@@@-@@-@@@@") возвращает строку "123-45-6789"
Format(#02/04/12#, "d-mmmm-yyyy") возвращает строку "2-Апреля-2012".
Функции даты и времени используются для получения текущей даты и времени. Рассмотрим некоторые из них:
Now() – возвращает текущую дату и время : 2.4.12 12:22:23.
Time() – возвращает текущее время: 12:22:23.
Date() – возвращает текущую дату: 2.4.12.
Статистические функции SQL выполняют групповые операции над набором данных, который содержится в поле формы, отчета или запроса. Приведем наиболее распространенные функции:
Sum() – вычисляет сумму всех значений заданного поля в каждой группе, например Sum([Поставщик_товар]![Количество]);
Avg() – вычисляет среднее арифметическое всех значений заданного поля в каждой группе;
Min() – возвращает наименьшее значение, найденное в заданном поле внутри каждой группы;
Max() – возвращает наибольшее значение, найденное в заданном поле внутри каждой группы;
Count() – возвращает число записей, найденное в заданном поле внутри каждой группы отличное от Null (пустого значения).
Математические функции предназначены для выполнения вычислений. Рассмотрим некоторые из них:
Int() – определяет целую часть числа;
Sqr() – вычисляет квадратный корень числа.
Выполнение и сохранение запроса
После того как запрос сконструирован, его необходимо выполнить. Находясь в режиме Конструктора запросов, можно выполнить запрос одним из следующих способов:
Выполнить команду Запрос/Запуск;
Выполнить команду Вид/Режим таблицы;
Нажать кнопку
на панели инструментов;Нажать кнопку
на панели инструментов.
Результат выполнения запроса выводится в виде таблицы. Если они не удовлетворяют пользователя, то он может вернуться в режим Конструктора запросов, выполнив одно из следующих действий:
Выполнить команду Вид/Конструктор;
Нажать кнопку
на панели инструментов.
Если результаты запроса удовлетворяют пользователя, то запрос можно сохранить для дальнейшего использования.
Для сохранения запроса рекомендуется следующий порядок действий:
закрыть запрос, нажав соответствующую кнопку окна;
на вопрос Сохранить изменения макета или структуры запроса нажать кнопку Да.
в поле ввода Имя запроса ввести имя запроса, отражающее его смысл.
Запрос можно также сохранить с помощью команды Файл/Сохранить или соответствующей кнопки на панели инструментов. После сохранения запроса его имя отображается в окне БД во вкладке Запросы.
Для выполнения запроса из окна БД следует дважды щёлкнуть по имени запроса или выделить имя запроса и щёлкнуть по кнопке Открыть.
Задания и методические указания к формированию запросов Создание запросов выбора
Запрос на вывод только нужных полей
Запрос 1. Вывести из БД сведения о фамилиях и адресах всех покупателей. Запрос сохранить с именем СПИСОК.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицу Покупатель;
Переместите поля ФИО и Адрес из списка полей в бланк запроса;
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос одним из описанных выше способов;
Сохраните запрос и именем СПИСОК.
Запрос с применением сортировки
Запрос 2. Вывести из БД сведения о фамилии, адресе и поле покупателей. Данные отсортировать в алфавитном порядке ФИО. Результирующая таблица должна иметь следующую структуру:
-
ФИО
Адрес
Пол
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицу Покупатель;
Переместите поля ФИО, Адрес и Пол из списка полей в бланк запроса;
Щёлкните в строке Сортировка поля ФИО и выберите порядок сортировки по возрастанию;
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос;
Сохраните запрос с именем Сортировка покупателей.
Запрос на основе нескольких таблиц
Запрос 3. Вывести из БД сведения о поставщиках и товарах, которые они поставляют.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Поставщик, Товары и Поставщик_товар. Обратите внимание на то, что в схеме запроса автоматически отображается связь, установленная между таблицами при создании БД;
Переместите из таблицы Поставщик поля Название, Адрес из таблицы Товары поля Наименование, Стоимость, а из таблицы Поставщик_товар поля Количество и Дата;
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос;
Сохраните запрос с именем Список поставок.
Запросы выбора с условиями отбора
Запрос 4. Вывести из БД сведения о товарах, поставленных поставщиком «Пинскдрев». Запрос сохранить с именем ПОСТАВКА ТОВАРА.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Поставщик, Товары и Поставщик_товар.
Переместите из таблицы Поставщик поля Название из таблицы Товары поля Наименование, Стоимость, а из таблицы Поставщик_товар поля Количество и Дата;
Для поля Название в строке Условие отбора введите следующее условие Like "Пинскдрев", отключите флажок Вывод на экран, так как это поле не должно отображаться в результате запроса;
Включите флажки Вывод на экран для всех остальных полей запроса;
Выполните запрос;
Сохраните запрос с именем Поставка товара.
Запрос 5. Вывести из БД сведения о товарах, поставленных осенью.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Товары и Поставщик_товар.
Переместите из таблицы Товары поля Наименование, Стоимость, а из таблицы Поставщик_товар поля Количество и Дата;
Для поля Дата в строке Условие отбора введите следующее условие Between #01.09.2011# And #30.11.2011#;
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос;
Сохраните запрос с именем Поставленные товары за осень.
Запрос 6. Вывести из БД сведения, о покупателях купивших стул и кому была произведена доставка.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Товары и Покупатель_товар и Покупатель.
Переместите из таблицы Товары поля Наименование, Стоимость из таблицы Покупатель_товар поле Доставка, а из таблицы Покупатель поля ФИО, Пол, Адрес и Телефон;
Для поля Наименование в строке Условие отбора введите следующее условие Like "Стул*";
Для поля Доставка в строке Условие отбора введите следующее условие True;
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос;
Сохраните запрос с именем Информация о покупателях купивших стул.
Запрос 7. Вывести из БД сведения, о покупателях, женщинах.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицу Покупатель.
Переместите из таблицы поля ФИО, Пол, Адрес и Телефон;
Для поля Пол в строке Условие отбора введите следующее условие Like "ж";
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос;
Сохраните запрос с именем Покупатели женщины.
Запрос с вычисляемыми полями
При создании запроса выбора имеется возможность создать вычисляемые поля. Для их создания в пустую клетку строки Поле вводят имя поля (оно будет отображаться в результате запроса в качестве заголовка строк) с двоеточием, а затем формулу для расчета значений поля, например,
СТОИМОСТЬ :[ ЦЕНА]*[КОЛИЧЕСТВО].
Если вводимое
выражение очень длинное, то для удобства
работы с ним можно вызвать окно Область
ввода,
нажав одновременно клавиши Shift
и F2,
либо воспользоваться Построителем
выражения
нажав кнопку
на панели инструментов.
Запрос 8. Вывести из БД сведения, о совершенных покупках и рассчитать стоимость покупки. Результирующая таблица должна иметь следующую структуру:
ФИО |
Адрес |
Телефон |
Наименование |
Количество |
Стоимость(ед) |
Стоимость |
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Товары и Покупатель_товар и Покупатель.
Переместите из таблицы Товары поля Наименование, Стоимость из таблицы Покупатель_товар поле Количество, а из таблицы Покупатель поля ФИО, Адрес и Телефон;
Щёлкните в первой свободной клетке строки Поле (правее поля Стоимость(ед)) и наберите имя поля и выражение для его расчета:
Цена: [Покупатель_товар]![Количество]*[Товары]![Стоимость(ед)]
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос;
Сохраните запрос с именем Совершённые покупки.
Параметрический запрос
Если приходится часто выполнять один и тот же запрос выбора, меняя лишь в условиях отбора интересующее значение полей, то удобно создавать параметрический запрос. Запрос с параметрами не требует каждый раз вводить изменения в бланк запроса. Он выдает приглашение пользователю ввести интересующие значения полей. Для полей, которые предполагается использовать как параметры, нужно ввести в строку Условие отбора текст приглашения, заключённый в квадратные скобки. Это приглашение будет выводиться при выполнении запроса. Текст приглашения должен пояснять пользователю, какие действия от него требуются.
Запрос 9. Вывести из БД сведения о поставках для любого поставщика.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Товары, Поставщик_товар и Поставщик.
Переместите из таблицы Поставщик поля Название, Адрес и Телефон из таблицы Товары поля Наименование, Стоимость, а из таблицы Поставщик_товар поле Количество;
В строке Условие отбора поля Название наберите [Введите имя поставщика];
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос. При этом вы увидите окно (рисунок 13);
Рисунок 13 – Окно для ввода параметра
Введите имя поставщика, например Пинскдрев;
Сохраните запрос с именем Поставки.
Выполните запрос несколько раз с различными именами поставщиков и проанализируйте полученные результаты.
Запрос с группировкой
Запросы с группировкой позволяют объединять записи в группы и применять к созданным группам статистические функции (см. раздел формирование условий отбора). В запрос включаются поля, по которым производится группировка, и поля, для которых выполняются статистические функции.
Запрос 10. Рассчитать общее количество поставок для каждого наименования товаров.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Товары и Поставщик_товар.
Переместите из таблицы Товары поле Наименование, а из таблицы Поставщик_товар поле Количество в бланк запроса;
Включите флажок Вывод на экран для всех полей;
Выполните команду Вид/Групповые операции либо нажмите кнопку
на панели инструментов. Тогда в бланке
запроса появится строка Групповая
операция;В строке Групповая операция для поля Наименование оставьте значение Группировка, а для поля Количество выберите из раскрывающегося списка функцию Sum;
Выполните запрос;
Сохраните запрос с именем Суммарное количество.
Создание запросов действий
Запрос на обновление
Запрос на обновление позволяет изменить значения полей во всех записях таблицы, удовлетворяющих указанным условиям.
Запрос 11. Разработать запрос на увеличение (на 10%) стоимости для товара Стул.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицу Товары.
Переместите из таблицы Товары поля Наименование и Стоимость(ед) в бланк запроса;
Для поля Наименование в строке Условие отбора введите следующее условие Like "Стул*";
Выполните запрос и проанализируйте, все ли записи отобраны, удовлетворяющие заданному условию;
Вернитесь в режим конструктора, нажав кнопку
на панели инструментов;Выполните команду Запрос/Обновление либо нажмите кнопку
на панели инструментов, выберите тип
запроса
.
Тогда в бланке запроса появится строка
Обновление;В строке Обновление для поля Стоимость(ед) введите выражение [ТОВАРЫ]![СТОИМОСТЬ(ЕД)]*1,1;
Выполните запрос;
В окне Microsoft Access подтвердите обновление записей, нажав кнопку [Да].
Сохраните запрос с именем Обновление стоимости. Обратите внимание на значок для запросов этого типа.
Для просмотра результатов выполнения запроса в окне БД перейдите на вкладку Таблицы и откройте таблицу Товары. Обратите внимание на значения поля Стоимость: он увеличился на 10% для тех записей, в которых Наименование Стул.
Запрос на создание таблицы
Запрос на создание таблицы создает новую таблицу в БД на основе информации, имеющихся в других таблицах БД. Предположим, что сотрудникам необходима информация о поставщиках поставляющих товары определенного вида. Сотрудникам необходимо выслать этим поставщикам официальные письма. Для выполнения этой задачи необходимо сформировать новую таблицу с необходимой информацией. Формирование новой таблицы легче всего выполнить, используя запрос на создание таблицы.
Запрос 12. Создать в БД новую таблицу с именем ПОСТАВКИ, содержащую сведения о поставщиках поставляющих товар Стул.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Товары, Поставщик_товар и Поставщик.
Переместите из таблицы Поставщик поля Название, Адрес, Телефон и Оператор из таблицы Товары поля Наименование, а из таблицы Поставщик_товар поле Количество;
В строке Условие отбора поля Наименование введите следующее условие Like "Стул*";
Включите флажки Вывод на экран для всех полей запроса;
Выполните запрос и проанализируйте, все ли нужные записи выбраны;
Выполните команду Запрос/Создание таблицы либо нажмите кнопку на панели инструментов, выберите тип запроса
;В окне Создание таблицы укажите имя создаваемой таблицы – ПОСТАВКИ;
Выполните запрос;
В окне Microsoft Access подтвердите создание новой таблицы с выбранными записями, нажав кнопку [Да] (рисунок 14);
Для просмотра результатов выполнения запроса в окне БД перейдите на вкладку Таблицы и откройте созданную таблицу ПОСТАВКИ, убедитесь, что в таблицу добавлено две записи.
Рисунок 14 – Окно добавление записей в таблицу
Запрос на добавление
Запрос на добавление позволяет пополнить таблицу БД новыми записями.
Запрос 13. Добавить в таблицу ТОВАРЫ новую запись, значения которой Кресло и стоимость 420000.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Товары;
Переместите из таблицы Товары поля Наименование и Стоимость(ед);
В строке Условие отбора поля Наименование введите следующее условие Like "Кресло";
В строке Условие отбора поля Стоимость(ед) введите следующее условие 420000;
Выполните запрос и проанализируйте, все ли нужные записи выбраны;
Выполните команду Запрос/Добавление либо нажмите кнопку на панели инструментов, выберите тип запроса
;Выполните запрос;
В окне Microsoft Access подтвердите добавление новой записи, нажав кнопку [Да];
Для просмотра результатов выполнения запроса в окне БД перейдите на вкладку Таблицы и откройте таблицу ТОВАРЫ, убедитесь, что запись появилась в таблице. Обратите внимание, что поле №товара Microsoft Access добавил автоматически, так как у этого поля тип данных Счётчик.
Сохраните запрос с именем Добавление товара.
Запрос на удаление
Эти запросы позволяют удалять из таблиц БД записи, удовлетворяющие заданному критерию.
Запрос 14. Удалить из таблицы ТОВАРЫ запись, значения которой Кресло и стоимость 420000 рублей.
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицу Товары
Переместите из таблицы Товары поля Наименование и Стоимость(ед);
В строке Условие отбора поля Наименование введите следующее условие Like "Кресло";
В строке Условие отбора поля Стоимость(ед) введите следующее условие 420000;
Выполните запрос и проанализируйте, все ли нужные записи выбраны;
Выполните команду Запрос/Удаление либо нажмите кнопку на панели инструментов, выберите тип запроса
;Выполните запрос;
В окне Microsoft Access подтвердите удаление записей, нажав кнопку [Да];
Для просмотра результатов выполнения запроса в окне БД перейдите на вкладку Таблицы и откройте таблицу ТОВАРЫ, убедитесь, что в таблицу удалена соответствующая запись;
Сохраните запрос с именем Удаление товара.
Создание перекрестных запросов
Перекрестные запросы позволяют группировать данные и представлять их для анализа в наглядном и компактном виде.
Перекрестный запрос – это выборка данных, записанная в виде двумерной матрицы, которая создана из таблицы Access. Этот запрос представляет определенные данные из выбранных полей в формате, похожем на формат электронной таблицы. Это специальный тип группового запроса, для которого строка Групповая операция всегда включена. Подобно другим групповым запросам, функция Группировка определяет заголовок строки для результирующей таблицы (заголовок строки является значением поля). Однако, в отличие от других групповых запросов, перекрестные запросы определяют заголовки столбцов на основании значения поля (табличного или вычисляемого), а не на основании его названия.
Запрос 15. Создайте перекрёстный запрос, в результате которого создаётся выборка, отражающая суммарное количество поставок товаров для каждого поставщика. Результирующая таблица запроса должна иметь вид:
Наименование |
Альвеола |
Бобруйскмебель |
…….. |
Диван "Диана 3" |
|
|
|
Диван "Сорренто" |
|
|
|
……… |
|
|
|
Выберите режим создания запроса с помощью конструктора;
В диалоговом окне Добавление таблицы добавьте таблицы Товары, Поставщик_товар и Поставщик.
Переместите из таблицы Поставщик поля Название из таблицы Товары поля Наименование, а из таблицы Поставщик_товар поле Количество;
Выполните команду Запрос/Перекрестный либо нажмите кнопку на панели инструментов, выберите тип запроса
.
Обратите внимание, что в бланке запроса
появились строки Групповая
операция
и Перекрестная
таблица;В бланке запроса необходимо произведите следующие действия:
Для поля Наименование в строке Групповая операция оставьте значение Группировка, а в строке Перекрестная таблица выберите Заголовки строк;
Для поля Название в строке Групповая операция оставьте значение Группировка, а в строке Перекрестная таблица выберите Заголовки столбцов;
Для поля Количество в строке Групповая операция выберите Sum, а в строке Перекрестная таблица выберите Значение.
Выполните и сохраните запрос с именем Поставки перекрестный.
Самостоятельные задания
Создайте в БД три новые таблицы Должности(рисунок 15), Удержания(рисунок 16), Начисления(рисунок 17).
Рисунок 15 – Структура таблицы Должности
Рисунок 16 – Структура таблицы Удержания
Рисунок 17 – Структура таблицы Начисления
Далее необходимо проанализировать связи созданных таблиц с существующей структурой БД. Связь между отношениями Сотрудники и Должности М:1, сотрудник может занимать одну должность, но на предприятии могут быть несколько сотрудников имеющих одинаковую должность. Связь между Сотрудники и Удержания М:М, с одного сотрудника могут производиться различные виды удержаний, а один и тот же вид удержаний при расчете заработной платы вычитается для многих сотрудников. Связь между Сотрудники и Начисления М:М. Для реализации связи М:М в Microsoft Access необходимо добавить дополнительные таблицы (рисунок 18, 19).
Перед созданием связей необходимо добавить записи в таблицу Должности. В таблице должны присутствовать все должности уже имеющиеся в таблице Сотрудники.
Добавить новые таблицы в схему данных и связать их в соответствии со схемой, приведенной на рисунке 20.
Внести записи в таблицы Удержания и Начисления, затем для каждого сотрудника внести записи для различных видов начислений и удержаний за два месяца: ноябрь и декабрь.
Создать различные виды запросов к полученной базе данных.
Рисунок 18 – Структура таблицы Связь Начислений
Рисунок 19 – Структура таблицы Связь Удержаний
Рисунок 20 – Добавления новых таблиц в существующую схему данных
Запрос 1 Вывести из БД сведения о Названии, Адрес и Телефон для всех поставщиков.
Запрос 2 Вывести информацию о покупателях фамилии, которых начинаются на "П" и оператор "Life".
Запрос 3 ывести информацию о товарах, купленных в ноябре.
Запрос 4 Вывести информацию о покупателях фамилии которых начинаются с "А-П", заканчиваются на "я".
Запрос 5 Вывести информацию о поставщиках не зарегистрированных в г. Минске.
Запрос 6 Вывести информацию о поставщиках, которые не поставили ни одного вида товара.
Запрос 7 Вывести информацию о поставщиках в названии которых присутствует буква "а".
Запрос 8 Вывести информацию о поставках за зиму.
Запрос 9 Вывести информацию о товарах стоимость которых находится в пределах от 250000 до 6500000 рублей.
Запрос 10 Вывести информацию о сотрудниках имеющих должность кассир.
Запрос 11 Вывести информацию о сотрудниках следующих должностей: директор и бухгалтер.
Запрос 12 Вывести информацию о сотрудниках, а также размер их оклада.
Запрос 13 Вывести информацию о товарах наименование которых начинается на Т, С, Д а стоимость в пределах от 500000 до 2500000.
Запрос 14 Создайте запрос выводящий информацию о товарах, предварительно запрашивая наименования.
Запрос 15 Создайте запрос выводящий информацию о сотрудниках, предварительно запрашивая должность.
Запрос 16 Вывести информацию о сотрудниках: оклады, начисления удержания для месяца ноябрь. В запросе произвести расчет зарплаты.
Запрос 17 Вывести информацию о поставках товаров, рассчитать стоимость поставки.
Запрос 18 Рассчитать общее количество поставщиков.
Запрос 19 Общее количество поставок по каждому поставщику.
Запрос 20 Общее количество поставок для каждой даты.
Запрос 21 Максимальную и минимальную стоимость товаров.
Запрос 22 Общее количество купленного товара, а также общую стоимость покупки для каждого покупателя.
Запрос 23 Общее количество купленного товара.
Запрос 24 Общее количество товара по каждому наименованию.
Запрос 25 Общее количество сотрудников по каждой должности.
Запрос 26 Общее количество сотрудников.
Запрос 27 Разработать запрос на увеличение (на 20%) окладов для всех сотрудников.
Запрос 28 Разработать запрос на увеличение размера подоходного налога на 1%.
Запрос 29 Удалить информацию о сотруднице Смирновой, предварительно поместив информацию в новую таблицу Архив.
Запрос 30 Создайте перекрестный запрос, отражающий суммарное количество поставок для каждой даты.
Запрос 31 Создайте перекрестный запрос, отражающий общую стоимость покупок для каждой даты.
Запрос 32 Создайте запрос подсчитывающий количество кассиров на предприятии.
Контрольные вопросы
Что такое запрос, и какие типы запросов поддерживает MS Access?
Каковы режимы создания запросов в СУБД MS Access?
Что является результатом запроса?
Как задать параметры при создании запроса выборки с параметрами?
Для чего используются запросы с параметрами?
Что такое запросы действия, и какие бывают запросы действия?
Что такое перекрестный запрос и как он конструируется?
Что представляют собой запрос на создание таблицы, как он работает, какую таблицу можно создать?
Что такое запросы на удаление, как они конструируются? Для чего могут быть использованы запросы на удаление?
Как описывается вычисляемый столбец?
Какие групповые функции используются в расчетах?
Литература
Керри Н. Праг, Майкл Р. Ирвин. Microsoft Access. Библия пользователя: пер. с англ.:Уч. пос.–М.:Издательский дом «Вильямс», 2000.-1040с.
Ю.Бекаревич, Н.Пушкина. Самоучитель Access 2010. –М:BHV, 2010.-432с.
А.Кушнир. Microsoft Office Access 2007. –М:Эксмо, 2007.-272с.
В.Кошелев. Access 2003. Практическое руководство.– М:Бином, 2010 -464с.
Кен Кук. Access 2010 для «чайников». – М: Издательский дом «Вильямс», 2011.-384с.
Джон Кронан. Microsoft Access 2007.–М:АСТ, 2009-384с.
СОДЕРЖАНИЕ
Основные теоретические сведения 5
Основные понятия реляционных БД: нормализация, связи и ключи 6
Создание БД. Этапы проектирования 8
ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ 16
Создание таблиц 18
Создание таблицы ПОКУПАТЕЛЬ в режиме конструктора 19
Создание таблицы ТОВАРЫ с помощью мастера 20
Создание таблицы ПОСТАВЩИК путём ввода данных 22
Создание таблицы ПОСТАВЩИК_ТОВАР в режиме конструктора 23
Создание таблиц ПОКУПАТЕЛЬ_ТОВАР и СОТРУДНИКИ 24
Понятие целостности данных и связей 24
Создание связей между таблицами 25
Ввод данных в таблицы 27
Сортировка записей в таблице 27
Отбор данных с помощью фильтров 28
Корректировка записей базы данных 31
Основные теоретические сведения 32
Режимы создания запросов 32
Создание запроса в режиме Конструктора 33
Формирование условий отбора 35
Выполнение и сохранение запроса 37
Задания и методические указания к формированию запросов 38
Создание запросов выбора 38
Создание запросов действий 45
Создание перекрестных запросов 49
Приложения
Таблица 9 – Записи таблицы ПОКУПАТЕЛЬ
№кли ента |
ФИО |
Пол |
Адрес |
Телефон |
Оператор |
1 |
Петров Сергей Степанович |
м |
Белинского 12-54 |
2050406 |
Life |
2 |
Иванов Олег Ефремович |
м |
Волгоградская 10-12 |
7584589 |
MTS |
3 |
Степанова Ольга Ивановна |
ж |
Никифорова 14-12 |
2568945 |
Белтелеком |
4 |
Александрова Ирина Олеговна |
ж |
Рафиева 10-22 |
3265824 |
Velcom |
5 |
Петрова Оксана Александровна |
ж |
Никифорова 5-56 |
5689256 |
MTS |
6 |
Аринич Михаил Сергеевич |
м |
Гашкевича 2-55 |
2065025 |
Белтелеком |
7 |
Александров Андрей Иванович |
м |
Семашко 8-22 |
7256982 |
MTS |
8 |
Бондарчик Елена Витальевна |
ж |
Сердича 5-99 |
2560202 |
Белтелеком |
9 |
Комаров Василий Степанович |
м |
Русиянова 10-58 |
4582314 |
Life |
10 |
Кулаковская Татьяна Сергеевна |
ж |
Нестерова 12-69 |
5259811 |
MTS |
11 |
Каменская Татьяна Марковна |
ж |
Ангарская 5-52 |
1256894 |
Velcom |
12 |
Кабушко Сергей Анатольевич |
м |
Маяковского 55-25 |
6598158 |
Life |
13 |
Дубаневич Ирина Олеговна |
ж |
Ванеева 10-7 |
2569265 |
Белтелеком |
14 |
Понаморева Екатерина Семеновна |
ж |
Жудро 2-54 |
9256821 |
Velcom |
15 |
Сенько Ирина Павловна |
ж |
Плеханова 12-87 |
2081545 |
Белтелеком |
Таблица 10 – Записи таблицы ТОВАРЫ
№товара |
Наименование |
Стоимость(ед) |
1 |
Стул A1 |
120 000,00р. |
2 |
Стол M2 |
260 000,00р. |
3 |
Кресло |
570 000,00р. |
4 |
Сейф 01/06/05 |
2 050 000,00р. |
5 |
Сейф 02/06/05 |
3 004 500,00р. |
6 |
Компьютерный стол М03 |
1 050 000,00р. |
7 |
Компьютерный стол М04 |
950 000,00р. |
8 |
Шкаф 1М |
1 500 000,00р. |
9 |
Шкаф 2М |
2 030 000,00р. |
10 |
Компьютерный стол М06 |
1 500 000,00р. |
11 |
Стул А2 |
500 000,00р. |
12 |
Стул А3 |
125 600,00р. |
13 |
Сейф 03/06/05 |
3 500 000,00р. |
14 |
Тумба "Давиль" |
623 000,00р. |
15 |
Диван "Сорренто" |
6 256 000,00р. |
16 |
Диван "Диана 3" |
12 000 000,00р. |
17 |
Спальня "Александрина" |
10 010 000,00р. |
18 |
Спальня "Валерия" |
12 500 000,00р. |
19 |
Спальня "Венера" |
15 000 200,00р. |
20 |
Шкаф с витриной ММ1 |
4 000 500,00р. |
21 |
Шкад для книг |
2 030 000,00р. |
22 |
Диван угловой "Капри" |
6 000 500,00р. |
23 |
Диван угловой "Стинг" |
6 250 000,00р. |
24 |
Диван угловой "Принцесса" |
8 960 000,00р. |
25 |
Корпусная мебель "Полонез" |
11 000 000,00р. |
26 |
Корпусная мебель"Влада" |
12 500 000,00р. |
27 |
Диван кровать "Фаворит" |
5 680 000,00р. |
28 |
Диван кровать "Консул" |
4 526 000,00р. |
29 |
Диван кровать "Корсика" |
5 628 000,00р. |
30 |
Тумба "Оскар" |
2 550 000,00р. |
31 |
Шкаф с витриной "Оскар" |
4 580 000,00р. |
32 |
Угол "Атланта" |
9 680 000,00р. |
33 |
Угол "Грация" |
12 265 000,00р. |
34 |
Угол "Лондон" |
10 562 000,00р. |
35 |
Стол обеденный |
1 250 000,00р. |
Таблица 11 – Записи таблицы ПОСТАВЩИК_ТОВАР
№поставщика |
№товара |
Количество |
Дата |
1 |
18 |
3 |
25.03.2011 |
1 |
21 |
5 |
26.02.2011 |
1 |
35 |
2 |
15.11.2011 |
3 |
1 |
6 |
17.11.2011 |
3 |
2 |
3 |
15.10.2011 |
4 |
7 |
6 |
15.11.2011 |
4 |
19 |
5 |
15.11.2011 |
5 |
4 |
2 |
16.11.2011 |
5 |
5 |
6 |
16.11.2011 |
6 |
7 |
12 |
17.11.2011 |
6 |
8 |
5 |
16.11.2011 |
6 |
10 |
6 |
17.10.2011 |
6 |
11 |
2 |
17.11.2011 |
6 |
26 |
6 |
25.11.2011 |
7 |
13 |
2 |
20.11.2011 |
7 |
18 |
3 |
21.11.2011 |
7 |
25 |
5 |
20.11.2011 |
8 |
15 |
12 |
10.10.2011 |
9 |
19 |
5 |
12.11.2011 |
9 |
21 |
2 |
11.11.2011 |
10 |
22 |
2 |
02.12.2011 |
10 |
24 |
3 |
05.12.2011 |
11 |
25 |
5 |
06.12.2011 |
11 |
26 |
3 |
02.12.2011 |
12 |
27 |
1 |
25.11.2011 |
13 |
35 |
3 |
25.11.2011 |
14 |
19 |
2 |
01.11.2011 |
14 |
15 |
2 |
05.12.2011 |
15 |
30 |
5 |
07.12.2011 |
15 |
31 |
2 |
05.12.2011 |
15 |
35 |
1 |
06.10.2011 |
17 |
12 |
5 |
17.11.2011 |
17 |
1 |
2 |
05.12.2011 |
17 |
1 |
6 |
07.12.2011 |
17 |
5 |
5 |
12.11.2011 |
Таблица 12 – Записи таблицы ПОКУПАТЕЛЬ_ТОВАР
№клиента |
№товара |
Коли чество |
Дата |
Доставка |
№сотруд ника |
1 |
1 |
1 |
21.11.2011 |
ЛОЖЬ |
4 |
2 |
1 |
4 |
25.11.2011 |
ИСТИНА |
5 |
2 |
2 |
2 |
25.12.2011 |
ИСТИНА |
5 |
4 |
5 |
1 |
01.12.2011 |
ИСТИНА |
3 |
5 |
7 |
1 |
25.12.2011 |
ЛОЖЬ |
4 |
5 |
21 |
1 |
01.12.2011 |
ЛОЖЬ |
4 |
6 |
11 |
1 |
02.12.2011 |
ИСТИНА |
5 |
6 |
25 |
1 |
08.12.2011 |
ИСТИНА |
5 |
7 |
22 |
1 |
12.11.2011 |
ИСТИНА |
3 |
7 |
30 |
1 |
06.12.2011 |
ИСТИНА |
5 |
7 |
39 |
1 |
12.12.2011 |
ЛОЖЬ |
5 |
8 |
18 |
2 |
05.12.2011 |
ИСТИНА |
4 |
8 |
23 |
1 |
06.12.2011 |
ИСТИНА |
4 |
9 |
6 |
1 |
01.12.2011 |
ИСТИНА |
3 |
10 |
26 |
1 |
08.12.2011 |
ИСТИНА |
4 |
10 |
38 |
1 |
05.12.2011 |
ЛОЖЬ |
5 |
11 |
6 |
1 |
07.12.2011 |
ЛОЖЬ |
5 |
11 |
19 |
1 |
06.12.2011 |
ИСТИНА |
4 |
14 |
21 |
1 |
07.12.2011 |
ИСТИНА |
3 |
15 |
22 |
1 |
07.12.2011 |
ЛОЖЬ |
4 |
15 |
28 |
1 |
07.12.2011 |
ЛОЖЬ |
3 |
Таблица 13 – Записи таблицы СОТРУДНИКИ
№сотруд ника |
Фамилия |
Имя |
Отчество |
Пол |
Должность |
Рабочий телефон |
1 |
Иванов |
Иван |
Иванович |
м |
директор |
2568945 |
2 |
Медведева |
Наталья |
Петровна |
ж |
бухгалтер |
2457854 |
3 |
Исаев |
Петр |
Сергеевич |
м |
консультант |
2457855 |
4 |
Смирнова |
Кристина |
Олеговна |
ж |
кассир |
|
5 |
Гладкова |
Ирина |
Валерьевна |
ж |
кассир |
|
6 |
Волков |
Семен |
Петрович |
м |
водитель |
2457755 |
Таблица 14 - Операторы, используемые при формировании условия
Операторы |
Описание |
||
Like
|
Для отбора данных в текстовых полях по шаблону, заключенному в кавычки. Шаблоном может быть слово, по которому будет производиться поиск и отбор записей. Шаблоном может быть набор символов: |
||
? * # [] [!] |
любой одиночный символ в данной позиции любое количество символов в данной позиции любая цифра в данной позиции заключает допустимый диапазон символов заключает недопустимый диапазон символов |
||
"Минск"- выбирает все записи из заданного поля со значением Минск |
|||
Like "?#[5-8][!1-3]A*'' - выбирает все записи из заданного поля со значением: в первой позиции - произвольный символ во второй позиции - произвольная цифра в третьей позиции любое число от 5 до 8 включительно в четвертой позиции любое число кроме цифр от 1 до 3 включительно в пятой позиции буква А, после произвольные символы в любом количестве |
|||
=, >, <, >=,<=, <> |
равно, больше, меньше, больше или равно, меньше или равно, неравно |
||
And
|
Логическое И, задает интервал отбора из выражений, операнд: |
||
>10and<=20 (в числовом поле выбирает записи из интервала (10-20] |
|||
Or
|
Логическое ИЛИ, задает альтернативы отбора из выражений, операнд: |
||
10 or 20 or 30 (в числовом поле выбирает записи равные 10 или 20 или 30) |
|||
Like "M*" or Like "A*" в текстовом поле выбирает записи начинающиеся с букв М или К |
|||
Not |
Логическое НЕ (отрицание) Not Like "белый" (в текстовом поле выбирает все записи кроме белый) |
||
Between X1 And X2 |
Позволяет задать интервал для числового значения от Х1 до Х2 включительно. Записи: |
||
|
Between 10 And 20 |
(в числовом поле выбирает записи из интервала от 10 до 20 включительно) |
|
>=10 And <=20 |
|||
|
In ("Mинск"; "Омск"; "Орша") |
In(10;20;30) |
|
"Минск"ог"Омск"ог"Орша" |
10 or 20 or 30 |
||
Минск или Омск или Орша |
10 или 20 или 30 |
||
Or
|
Логическое ИЛИ, задает альтернативы отбора из выражений, операнд: |
||
10 or 20 or 30 (в числовом поле выбирает записи равные 10 или 20 или 30) |
|||
Like"M*" or Like "A*" в текстовом поле выбирает записи начинающиеся с букв М или К) |
|||
Not |
Логическое НЕ (отрицание) Not Like "белый" (в текстовом поле выбирает все записи кроме белый) |
||
Between X1 And X2
|
Позволяет задать интервал для числового значения от Х1 до Х2 включительно. Записи: |
||
Between 10 And 20 |
(в числовом поле выбирает записи из интервала от 10 до 20 включительно) |
||
>=10 And <=20 |
|||
In
|
Позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Выбирает записи из полей со значениями |
||
In ("Mинск"; "Омск"; "Орша") |
In(10;20;30) |
||
"Минск"ог"Омск"ог"Орша" |
10 or 20 or 30 |
||
Минск или Омск или Орша |
10 или 20 или 30 |
||
Таблица 15 – Операнды, используемые при формировании условий
Операнды |
Описание |
Литералы |
Конкретные значения: Числа (любые): 5, 20 и т.п. Текст (заключается в двойные кавычки): "Иванов ", "Минск" Даты (заключаются в символы #): #1/01/03#, #9-Июнь-03# |
Константы |
Неизменяющиеся значения, определенные в Access: True, False, Null, Да, Нет |
Идентификаторы (ссылки) |
Имена полей, таблиц, форм, отчетов и т.д. (заключаются в квадратные скобки, восклицательный знак используется при указании ссылки на поле в конкретном объекте БД): [Товары]![Наименование] |
Учебное издание
Создание баз данных в субд ms access
Часть 1 Создание базы данных. Работа с таблицами. Формирование запросов
Методические указания к лабораторным работам
по дисциплине
«КОМПЬЮТЕРНЫЕ ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
для студентов специальностей
1-25 01 07 — Экономика и управление на предприятии,
1-26 01 03 — Маркетинг
Составитель
Лавшук Ольга Александровна
Редактор Е.Б.Левенкова
Компьютерная верстка О.А.Лавшук
План 2012/2013 уч.г., поз. ___
Подписано в печать _________ 2012. Формат 60*84 /16
Бумага офсетная. Гарнитура «Times».
Печать цифровая.
Усл. печ. л.____. Уч.-изд. л. ____.
Тираж ___ экз. Заказ ___.
Издатель и полиграфическое исполнение:
учреждение образования
«Высший государственный колледж связи»
ЛИ № 02330/0131902 от 03.01.2007.
ул. Ф. Скорины, 8/2, 220114,.Минск
