- •Лабораторная работа № 1
- •Выбор типа полей
- •Создание таблиц
- •Создание схемы базы данных
- •Подготовить отчет по результатам лабораторной работы.
- •Создание поля с раскрывающимся списком ComboBox
- •Добавление в форму дополнительных элементов
- •Лабораторная работа № 3
- •Основы языка sql
- •Создание запроса
- •Insert into empl (deptid, lastname, birthdate, salary, address, projnum)
- •Создание итогового запроса
- •Лабораторная работа №4 Создание и настройка отчетов Цель работы
Лабораторная работа № 3
Конструирование запросов
Цель лабораторной работы:
Подготовка отчетов с помощью Конструктора запросов MS
Access.
,Знакомство с языком SQL.
Построение запросов на языке SQL.
Подготовка отчета по результатам лабораторной работы
Запросы предназначены, прежде всего, для отбора данных. Вы можете создать простой запрос для поиска записей в одной таблице, а можете сформулировать сложный запрос, включающий в себя данные из нескольких таблиц и учитывающий множество условий отбора. Ниже перечислены только некоторые вопросы, ответы на которые можно найти с помощью запросов.
Какие сотрудники были приняты на работу за последние три месяца? Каково количество новых заказчиков, к которым я обращался на последней неделе?
Каковы
показатели по средне зарплате по отделам
Запрос на выборку
Продемонстрируем довольно простой запрос: с помощью него мы находим все записи в таблице Отделы для Ивана Петрова. Такой тип запроса называется запросом на выборку (select query). Он предназначен для поиска записей, удовлетворяющих сформулированными вами условиям отбора записей.
Позже мы более подробно остановимся на функциях запросов на выборку и рассмотрим несколько конкретных примеров работы в окне конструктора запросов (Query Design).
Другие типы запросов
Возможности конструктора запросов не ограничены созданием только одного типа запросов — запросов на выборку. Запросы можно использовать не только для поиска записей, но и для внесения в них изменений. С помощью запроса можно создать перекрестное представление данных (путем создания перекрестного запроса), создать таблицу, удалить из нее определенные записи или же добавить записи в одну таблицу из другой. Существуют следующие типы запросов.
Перекрестный запрос. С помощью запросов этого типа вы можете сделать обзор по категориям данных, то есть обобщить информацию. Например, можно выяснить, каков был объем продаж по каждому продукту в каждом месяце
21
прошлого года. При создании запросов этого типа можно воспользоваться Мастером перекрестных запросов (Crosstab Wizard).
Запрос на создание таблицы. Когда вы превращаете запрос на выборку в запрос на создание таблицы, то записи, полученные в результате выполнения запроса, помещаются в новую таблицу.
Запрос на обновление. С помощью запросов этого типа можно внести изменения в группу записей таблицы (например, в некотором поле изменить все прописные символы на строчные), а также выполнить редактирование данных, или внести изменения в одну таблицу, используя данные из другой.
Запрос на добавление. Запросы этого типа позволяют добавлять данные из одной таблицы в другую.
Запрос на удаление. Запрос на удаление позволяет исключить из таблицы целую группу записей, вместо того чтобы удалять каждую запись из таблицы вручную.
Основы языка sql
Язык SQL – язык высокого уровня для создания запросов в реляционной базе данных.
Основной оператор языка SQL это - SELECT : SELECT [ALL | DISTINCT] список полей данных FROM список таблиц
[WHERE условие поиска]
[GROUP BY имя_столбца [, имя_столбца]…] [HAVING условие поиска]
[ORDER BY критерий упорядочивания].
Обязательными в запросе на SQL являются фразы SELECT и FROM, остальные могут использоваться для более подробных запросов. Во фразе WHERE указывается условие отбора записей из таблиц, имена которых указаны
FROM. Фраза GROUP BY объединяет результирующее множество в группы, определяемые именами полей, указанными за GROUP BY. Все строки с одинаковыми значениями полей объединяются в одну строку.
Запрос на языке SQL можно набрать в командном окне либо создать запрос с помощью Конструктора запросов.
Удобное средство – использование оператора SQL для соединения двух таблиц. Например, соединить две таблицы из первой лабораторной работы Сотрудники (Employees) и Отдел (Department) по общему атрибуту
Depnum:
Select * from Department, Employees where Department.depnum = Employees.depmum
Такой же запрос:
Select * from Employees join Department on Department. depnum = Employees. Depnum
22
Возможны вложенные запросы:
Select lastname from Employees, where depnum in (select depnum from Department where depnum = d101 or depnum = d102)
Существуют операторы вставки (insert), обновления (update) и удаления (delete) данных в/из таблиц.
Оператор insert вставляет строку в таблицу:
Insert into bookauth values (1234, 344) в таблицу Bookauth вставляются значения в порядке следования атрибутов в таблице.
Insert into author (author_id, first_name, last_name)
values (125, ‘Anton’, ‘Antonov’)
таблицу будут вставлены значения для перечисленных полей, если остальные поля помечены как NULL – необязательны для заполнения.
Оператор Update изменяет одну или несколько строк таблицы:
Update bookauth set author_id = 567 where book_id =
111
оператор меняет значение поля author_id для всех значений поля book_id равных 111.
Оператор Delete удаляет строки таблицы по заданному условию:
Delete from authors where city = London
