Введение.............................................................................................4
1. Экономическая информация.........................................................5
2. Основные понятия баз данных.....................................................8
3. Базы данных в MS Excel..............................................................11
Задания к лабораторным занятиям 1–4......................................18
4. Microsoft Access...........................................................................26
Задания к лабораторным занятиям 5–6......................................41
4.1. Понятие запроса к базе данных...........................................52
Задания к лабораторным занятиям 7–13.............................65
4.2. Формы....................................................................................82
4.3. Общие сведения об отчетах.................................................85
4.4. Экспорт данных и объектов базы данных...........................87
Задания к лабораторным занятиям 14–15...........................90
5. Задания для самостоятельной работы........................................93
Список рекомендуемой литературы...............................................99
3
ВВЕДЕНИЕ
4
1. ЭКОНОМИЧЕСКАЯ ИНФОРМАЦИЯ
5
Корректность информации обеспечивает ее однозначное
восприятие всеми потребителями.
Ценность (или полезность) информации проявляется в том
случае, если она способствует достижению стоящей перед
потребителем цели. Ценность информации – свойство
относительное: одна и та же информация имеет разную ценность
для различных потребителей. С течением времени ценность
информации, как правило, уменьшается – она устаревает.
Оперативность отражает актуальность информации для
проведения расчетов и принятия решений в изменившихся
условиях.
Точность определяет допустимый уровень искажения как
исходной, так и результатной информации, при котором
сохраняется эффективность функционирования системы.
Достоверность определяется свойством информации
отражать реально существующие объекты с необходимой
точностью. Достоверность измеряется вероятностью того, что
отображаемое информацией значение параметра не отличается от
истинного значения этого параметра в пределах необходимой
точности.
Устойчивость информации отражает ее способность
реагировать на изменения исходных данных без нарушения
необходимой точности. Устойчивость информации определяется
выбранной методикой ее отбора и формирования.
Достаточность (полнота) информации означает, что она
содержит минимально необходимый объем сведений для
принятия правильного решения. Неполная информация снижает
эффективность принимаемых пользователем решений.
Избыточность обычно снижает оперативность и затрудняет
принятие решения, но зато делает информацию более
устойчивой.
6
структуру. Например, «Данные о поставщике» включают
«Ф.И.О.», «Адрес», «Номенклатуру товаров», «Условия
поставки». «Адрес» предполагает «Почтовый индекс», «Город».
Степень детализации информационной совокупности
конечна. Неделимая далее на смысловые единицы
информационная совокупность получила название «реквизит».
При описании информационных систем используют синонимы
термина «реквизит»: «слово», «элемент данных», «атрибут»,
«поле».
Реквизиты (документов) – совокупность формальных
элементов в составе сделки или документа, отсутствие которых
лишает сделку или документ юридической силы; обязательные
данные, предусмотренные действующими правилами или
законами для документов, без которых документы не могут
служить основанием для современных операций.
Хотя реквизит является основным элементом экономической
информации (дата, сумма, наименование и т.д.), он, взятый
отдельно, не имеет экономического смысла.
Различают два вида реквизитов: реквизит-признак и реквизит-
основание. Если реквизит описывает качественное свойство
информации (например, время или место действия, Ф.И.О.
исполнителя), то его называют реквизит-признак. Если же
реквизит представляет количественную характеристику
(например, объем продукции в штуках, цена в рублях), то его
называют реквизит-основание.
При обработке информации основания подвергаются
арифметическим операциям, а при помощи признаков
осуществляют поиск информации, ее сортировку, выборку и т.д.
Сочетание одного реквизита-основания с соответствующими
ему реквизитами-признаками образует показатель.
Показатель – качественно определенная величина, дающая
количественную характеристику отображаемому объекту
(предмету, процессу, явлению), имеющая экономический смысл.
Это информационная совокупность наименьшего состава,
достаточная для образования самостоятельного сообщения или
документа.
Например, совокупность «десять пачек чая "Липтон"»
состоит из реквизита-основания «десять» и трех реквизитов-
призна-ков: «пачка», «чай» и «Липтон». Эта совокупность имеет
экономический смысл и поэтому является показателем.
Совокупность логически связанных реквизитов, имеющая
7
юридическую силу, называется документом.
8
2. ОСНОВНЫЕ ПОНЯТИЯ БАЗ ДАННЫХ
9
Компьютерная обработка информации требует определения
структуры данных и их точного представления в компьютере.
Для обработки и сохранения информации нужно знать тип и
структуру данных и выбрать способ наиболее адекватного их
представления.
10
2. Сетевая модель. По этой модели данные располагаются в
виде произвольного графа (рис. 2.3).
В БД, построенной на основе этой модели, хранятся также
сведения о связи данных друг с другом.
Рис. 2.2. Иерархическая модель данных Рис. 2.3. Сетевая модель данных
11
полей таблицы), которые сохраняются в упорядоченном виде.
Это обеспечивает прямой доступ к записям в процессе поиска.
12
3. БАЗЫ ДАННЫХ В MS EXCEL
13
Работа со списком в MS Excel может осуществляться по
следующим направлениям:
сортировка – выстраивание данных в нужном порядке;
отбор данных – извлечение записей данных из списка в
соответствии с некоторыми требованиями (критериями);
анализ данных – обработка различными средствами MS Еx-
cel информации, которая находится в списке или в
отфильтрованных данных.
Сортировка данных
Команда Данные→Сортировка открывает окно, в котором за-
даются ключи сортировки и порядок сортировки.
Отбор данных
Для поиска и фильтрации данных в MS Excel существуют
следующие средства:
форма данных (команда Данные→Форма, затем кнопка
Критерии. В открывшемся окне вводятся критерии поиска в
необходимых полях; для перехода к записи, удовлетворяющей
критерию, следует нажать кнопку Далее или Назад);
автофильтр (команда Данные→Фильтр→Автофильтр.
Возле каждого поля строки заголовка появляются
раскрывающиеся списки в виде кнопки с треугольником. Для
отбора данных следует перейти к заголовку нужного поля,
выбрать необходимый критерий поиска или воспользоваться
пользовательским автофильтром Условие);
расширенный фильтр (позволяет одновременно или по
отдельности применять операции И, ИЛИ и составлять
вычисляемые критерии).
14
Например, Владелец Ива*.
4. С использованием операций И и ИЛИ – поиск данных по
нескольким условиям.
Например, Год выпуска >=1995 И Цвет машины бел*.
5. По вычисляемому критерию (только при использовании
расширенного фильтра).
15
3. Значения переключателей и полей окна Расширенный
фильтр следующие:
фильтровать список на месте – переключатель,
скрывающий строки, которые не удовлетворяют указанному
критерию;
скопировать результат в другое место – копирует
отфильтрованные данные на другой рабочий лист или на другое
место на этом же рабочем листе;
исходный диапазон – поле, определяющее диапазон, который
содержит список, подлежащий фильтрации;
диапазон условий – поле, определяющее диапазон ячеек на
рабочем листе, который содержит необходимые условия;
поместить результат в диапазон – поле, определяющее диа-
пазон ячеек, в который копируются строки, удовлетворяющие оп-
ределенным условиям; поле активно только в том случае, если
выбран переключатель скопировать результат в другое место.
Замечание. Можно сформировать заголовок области
результата, скопировав в отдельную строку заголовки нужных
полей, и указать его в качестве диапазона ячеек для результата.
Только уникальные записи – переключатель, который выводит
только строки, удовлетворяющие критерию и не содержащие
повторяющихся элементов.
16
Замечание. После использования команды Расширенный
фильтр таблица переходит в режим фильтрации. В этом режиме
многие команды MS Excel влияют только на видимые ячейки.
Чтобы снова вывести все записи, следует в меню Данные выбрать
пункт Фильтр, затем пункт Отобразить все.
Пример 1. Определить, имеются ли в списке белые машины,
выпущенные позже 1995 г., и цена которых находится в
диапазоне от значения, записанного в ячейке L1 до значения,
записанного в ячейке L2, или черные Ауди, пробег которых
больше значения, записанного в ячейке L3.
Решение состоит из следующих этапов.
1. Сформированный диапазон критериев для расширенного
фильтра представлен на рисунке 3.3.
М N O P Q R
L
1 3000
2 15000
3 25000
Рис. 3.4. Пример значений, ограничивающих цену и пробег
17
Формат функций базы данных:
БДФУНКЦИЯ(база_данных; поле; критерий).
База_данных – диапазон ячеек, который формирует список
или базу данных.
Поле – определяет столбец, используемый функцией.
Аргумент «поле» может быть задан как текст с названием
столбца в двойных кавычках (например, "Пробег" или "Цена" из
списка на рис. 3.1), или как число, задающее положение столбца
в списке: 1 – для первого поля, 2 – для второго поля и так далее.
Критерий – интервал ячеек, который содержит задаваемые
условия (как в расширенном фильтре).
Например, для определения средней цены белых
автомобилей, выпущенных после 1995 года фирмами «Ауди» или
«Фолькc-ваген», на Рабочем листе составим критерий (рис. 3.5)
М N O
1 Цвет машины Год выпуска Марка машины
2 белый >1995 Ауди
3 белый >1995 Фольксваген
М
5 =ДСРЗНАЧ(A1:J31,I1,M1:O3)
18
до 7 лет. Критерий для функции ДСРЗНАЧ показан на рис. 3.7.
М N O
1 Цвет машины Не меньше 3 Не больше 7
2 <> белый =F2-E2>=3 =F2-E2<=7
Рис. 3.7. Критерий для определения среднего пробега
Анализ данных
MS Excel предоставляет широкие возможности для
проведения анализа данных, которые находятся в списке MS Ex-
19
cel. К средствам анализа относятся, например, автоматическое
подведение итогов, консолидация данных, сводные таблицы и
т.п.
Задания к лабораторным занятиям 1 – 4.
Комплект 2
Продавец Товар Страна- Количество Цена Дата Покупатель
(фирма) импортер (фирма)
Комплект 3
Фами- Имя Отче- Курс Груп- Научный Кафед- Дата Дата Оцен-
лия ство па руково- ра выдачи защиты ка
дитель задания
Комплект 4
Название Автор/ы Тема Год Место Изда- Количест- Тираж Цена
книги книги издания издания тельство во страниц
Комплект 5
Код Клиент Сотрудник Дата Доставка Стоимость Город Страна Стоимость
заказа доставки товаров
20
выпущенные после 1996 года, цена которых находится в
диапазоне от значения, содержащегося в ячейке L1, до значения
содержащегося в ячейке L2, или марки «Форд», имеющие в
номере букву «С».
4. Определите, имеются ли в списке или белые машины,
пробег которых отличается от значения в ячейке L3 более чем на
15 %, или марки «Ауди», имя или отчество владельца у которых
начинается с буквы «В».
Для комплекта 2
1. Выделите все покупки второго квартала фирмой-покупа-
телем «Торговый дом «Неман»» или «ГрГУ» или покупки с
количеством большим, чем величина, записанная в ячейке L1.
2. Выделите все покупки первой декады, в которых страна-
импортер –– Япония или Украина, или покупки, в которых цена
больше величины, записанной в ячейке L1.
3. Определите покупки японских принтеров или сканеров,
цена которых отличается от значения, записанного в ячейке I1 не
более чем на 25 %.
4. Определите зимние продажи фирмы «Бакалея», стоимость
которых –– от 500 до 5000.
Для комплекта 3
1. Найдите всех студентов, защитивших курсовую работу на
кафедре МИОЭС до 24 числа, или студентов 3 группы, фамилия
которых начинается на букву «М».
2. Найдите всех студентов, получивших задание на курсовую
работу на кафедре МЭО до 21 числа, или студентов 2 группы,
фамилия которых начинается на букву «В» или «С», а отчество
— на букву «Н».
3. Определите курсовые работы, написанные студентами 2
группы у научного руководителя Будько, или студентами 4 курса,
защитившими курсовую работу на «4» или «5».
4. Определите курсовые работы, написанные студентами, имя
или отчество которых начинается с «Никол», или студентами 3
курса, которые защитились на кафедре МИОЭС до даты,
записанной в ячейке L1.
Для комплекта 4
1. Определите книги, выпущенные издательством
«Вышэйшая школа» или «Дело ЛТД», с ценой большей
21
величины, записанной в ячейке L1, или книги, изданные после
1996 года тиражом, не превосходящим величины, записанной в
ячейке L2.
2. Определите книги, изданные не в Москве тиражом не
большим величины, записанной в ячейке L1, или книги, изданные
в период с 1995 по 1999 год, цена которых не превосходит
величины, записанной в ячейке L2.
3. Определите книги, название которых начинается с
«Матем», или книги по экономике, изданные в период с 1995 по
2000 год, цена которых находится в диапазоне от значения в
ячейке К1 до значения в ячейке К2.
4. Определите книги по экономике, изданные в Москве,
тираж которых отличается более чем на 15 % от величины из
ячейки L1, или книги, изданные в С.-Петербурге после 1996 года.
Для комплекта 5
1. Определите заказы, доставленные по почте в города Герма-
нии, стоимость доставки которых не превосходит величины, за-
писанной в ячейке К1, или заказы, отправленные в Мехико, цена
которых более чем в 3 раза превышает значение из ячейки К2.
2. Определите все заказы, оформленные сотрудником, фами-
лия которого начинается на букву «К» и стоимость доставки
которых больше величины, записанной в ячейку К1, или заказы,
отправленные Ространсом в города, название которых начинается
с «Га», цена которых меньше значения из ячейки К2.
3. Определите все заказы за 2004 год, в которых название
клиента начинается на букву «В», или осенние заказы отправ-
ленные по почте.
4. Определите все заказы, оформленные Марией Беловой,
стоимость доставки которых отличается менее чем на 10 % от
величины, записанной в ячейку К1, или заказы, отправленные
зимой не Ространсом в США или Францию.
22
3. Определите максимальную цену автомобилей «Ауди»
белого цвета или «Фольксваген», у которых пробег превышает
значение, записанное в ячейке L2.
4. Определите минимальную цену автомобилей марки
«Форд» или «Ауди», выпущенных до 1995 года.
Для комплекта 2
1. Определите минимальную цену принтеров или ксероксов,
стоимость которых больше содержимого ячейки L2.
2. Определите среднее количество телевизоров или
принтеров, цена которых больше содержимого ячейки L2.
3. Определите максимальное количество товара, проданного
в 2001 году фирмами «Веса» или «Алгоритм» или купленного
фирмой «Торговый дом «Неман»» и импортированного из Кореи
или Японии.
4. Определите среднее количество товара, купленного зимой
фирмой «Мока».
Для комплекта 3
1. Определите средний балл студентов 4 курса, писавших
курсовую работу у преподавателей Маталыцкого М.А. или
Гончарова С.Л. или получивших задание 19.09.2008 года.
2. Определите средний балл студентов 3 курса 2 группы,
получивших задание 18.09.2008 года или защитивших работу во
второй декаде месяца.
3. Определите среднее количество дней от выдачи задания до
его защиты у студентов третьего курса, сдавших на «отлично».
4. Определите максимальный балл успеваемости студентов
3 курса 2 группы.
Для комплекта 4
1. Определите минимальный тираж книг или по экономике,
или изданных московскими издательствами, с количеством
страниц, большим величины, записанной в ячейке L3.
2. Определите среднюю цену книг или изданных в Питере с
количеством страниц, большим величины, записанной в ячейке
L3, или фамилия авторов которых начинается на букву «Д».
3. Определите максимальную цену книг по экономике,
изданных после 1996 года.
4. Определите средний тираж книг, выпущенных в
издательствах «Мир» или «Финансы и статистика», с
количеством страниц, превышающим величину, записанную в
23
ячейке L1.
Для комплекта 5
1. Определите среднюю стоимость весенних доставок в
Германию или США по почте, стоимость товаров в которых
более чем в 2 раза превышает величину, записанную в ячейке К1.
2. Определите минимальную стоимость товаров,
отправленных не почтой во втором квартале в Рио-де-Жанейро
или Мадрид.
3. Определите минимальную стоимость доставок Ространсом
за 2002 год в Швейцарию или Бразилию, стоимость товаров в
которых меньше величины, записанной в ячейке К1.
4. Определите максимальную стоимость доставки за зимний
период по почте или Ространсом, стоимость товаров в которых
находится в диапазоне значений от содержимого ячейки К1 до
содержимого ячейки К2.
Использование функий базы данных и расширенного фильтра
Для комплекта 1
1. Определите средний пробег белых автомобилей, с момента
выпуска которых до приобретения прошло от 7 до 10 лет.
Выделите все автомобили, у которых или пробег больше
полученного среднего пробега, или черного цвета дороже, чем
значение, записанное в ячейке L4.
2. Определите средний пробег автомобилей белого цвета или
автомобилей, у которых с момента их выпуска до продажи
прошло от 5 до 8 лет.
Выделите все автомобили марки «Ауди», или автомобили,
номер которых начинается с буквы «С», или автомобили, пробег
которых отличается не более чем на 30 % от найденного
среднего.
3. Определите максимальную цену автомобилей «Ауди»
белого цвета или «Фольксваген», у которых пробег превышает
значение, записанное в ячейке L2.
Выделите все автомобили или марки «Жигули», или
автомобили, у которых фамилия владельца начинается с буквы
«И» и цена которых отличается не более чем на 40 % от
найденного максимального значения.
4. Определите минимальную цену автомобилей марки
«Форд» или «Ауди», выпущенных до 1995 года.
24
Выделите все автомобили, фамилия владельца которых
начинается с буквы «С» или «П», или автомобили, у которых
цена превышает менее чем в 2 раза найденную минимальную
цену.
Для комплекта 2
1. Определите среднюю цену покупок за определенный год.
Найдите максимальное количество муки или сахара, проданное
во втором квартале.
Выделите все покупки первого полугодия, цена которых
больше найденной средней цены и количество единиц товара в
которых меньше максимального значения.
2. Определите минимальную цену принтеров или ксероксов,
стоимость которых больше содержимого ячейки L2.
Выделите все продажи фирмы «Веса» за определенный год,
или покупки фирмы «Торговый дом «Неман»», цена которых
отличается от найденной минимальной цены не менее чем на 20
%.
3. Определите среднее количество телевизоров или
принтеров, цена которых больше содержимого ячейки L2.
Выделите все продажи фирмы «Алгоритм» за определенный
год, или гречки, количество которых отличается от вычисленного
среднего более чем на 25 %.
4. Определите среднее количество телевизоров или
принтеров, цена которых больше содержимого ячейки L2.
Выделите все продажи первого квартала 2008 года,
количество которых превышает найденное среднее не более чем
в 2 раза.
Для комплекта 3
1. Определите средний балл по курсовым работам на 4 курсе.
Выделите все курсовые работы, написанные студентами,
фамилии которых начинаются с буквы «К» или «С», оценка у
которых меньше вычисленного среднего, или студентами третьей
группы, сдавшими лучше, чем оценка, записанная в ячейке L1.
2. Определите средний балл по курсовым работам студентов
4 курса, писавших курсовую работу у преподавателей
Маталыцкого М.А. или Гончарова С.Л.
Выделите все курсовые работы студентов 3 курса 2 группы,
написавших курсовую работу выше вычисленного среднего балла
или получивших задание 19.09.2008 года и научным
25
руководителем которых были преподаватели Ляликова В.И. или
Кривенков О.Б. и между датой выдачи задания и датой защиты
курсовой работы прошло более 246 дней.
3. Определите средний балл студентов 3 курса 2 группы,
получивших задание 18.09.2008 года или защитивших работу во
второй декаде месяца.
Выделите все курсовые работы студентов 4 курса,
написавших курсовую работу на оценку, которая не выше
вычисленного среднего значения, или студентов, фамилия
научного руководителя которых начинается на букву «Б» или
«С» и между датой выдачи задания и датой защиты курсовой
работы прошло не более 247 дней.
4. Определите максимальный балл успеваемости студентов
3 курса 2 группы.
Выделите все курсовые работы студентов, у которых
фамилия начинается с буквы «А», или отчество начинается с
буквы «В», или студентов, писавших курсовую работу на
кафедре МЭО и у которых оценка ниже вычисленного
максимального значения.
Для комплекта 4
1. Определите минимальный тираж книг по экономике или
выпущенных московскими издательствами с количеством
страниц, большим величины, записанной в ячейке L3. Выделите
все книги:
с названием, начинающимся на букву «Э», и выпущенные
издательством «Финансы и статистика»;
или книги стоимостью не менее 3500 руб. и тираж которых
отличается не более чем на 15 % от найденного минимального
значения.
2. Определите среднюю цену книг, изданных в Санкт-Петер-
бурге, с количеством страниц, большим величины, записанной в
ячейке L3. Выделите все книги:
изданные в Москве или Минске, цена которых превосходит
найденное среднее значение;
или фамилия авторов которых начинается с буквы «Д»;
или книги по экономике, тираж которых отличается более
чем на 30 % от значения, записанного в ячейке L1.
3. Определите максимальный тираж книг издательств
«Финансы и статистика» или «Вышэйшая школа». Выделите
книги:
26
по экономике, изданные в Москве, тираж которых
отличается более чем на 15 % от вычисленного максимального
значения;
или книги, изданные в Санкт-Петербурге, с количеством
страниц, превышающим значение, записанное в ячейке L3, менее
чем в 2 раза.
4. Определите среднюю цену книг, изданных в Санкт-Петер-
бурге, с количеством страниц, большим величины, записанной в
ячейке L3. Выделите все книги:
по научной тематике, фамилия авторов которых начинается
с буквы «К»;
или книги, изданные в Москве или Минске, цена которых
отличается менее чем на 10 % от вычисленного среднего
значения.
Для комплекта 5
1. Определите среднюю стоимость весенних доставок в
Германию или США по почте. Выделите все заявки:
оформленные сотрудником, фамилия которого начинается
на букву «Б», отправленные в Австрию или Венесуэлу, стоимость
доставок которых отличается не более чем на 30 % от найденного
среднего значения, стоимость товаров в которых более чем в 2
раза превышает величину, записанную в ячейке К1;
или заявки, доставленные Ространсом, стоимость товаров в
которых больше величины, записанной в ячейке К2.
2. Определите минимальную стоимость товаров,
отправленных не по почте во втором квартале в Рио-де-Жанейро
или Мадрид. Выделите все заявки:
оформленные в города, название которых начинается с
буквы «Г», стоимость доставок в которых отличается более чем
на 15 % от величины, записанной в ячейке К1;
или доставленные по почте, стоимость товаров в которых
превосходит найденное среднее значение не более чем в 3 раза.
3. Определите минимальную стоимость доставок Ространсом
за 2002 год в Швейцарию или Бразилию. Выделите все заявки:
в страны, название которых начинается с буквы «В»,
стоимость товаров в которых отличается не более чем на 20 % от
величины, записанной в ячейке К1;
или в Францию, отправленные по почте, стоимость доставки
которых не превосходит найденного минимального значения, а
27
стоимость товаров меньше величины, записанной в ячейке К2.
4. Определите максимальную стоимость доставки за зимний
период по почте или Ространсом, стоимость товаров в которых
находится в диапазоне значений от содержимого ячейки К1 до
содержимого ячейки К2. Выделите все заявки:
оформленные в страны, название которых начинается с букв
«Ве», стоимость доставки в которых отличается не более чем на
15 % от вычисленного максимального значения;
или отправленные не по почте, стоимость товаров в которых
не превышает величины, записанной в ячейке К1.
28
4. MICROSOFT ACCESS
29
В любой момент можно вызвать контекстное меню с набором
команд – открывается правой кнопкой мыши.
Инструментарий «Переместить и отпустить» позволяет пере-
тягивать запросы, таблицы из окна базы данных в формы, отчеты.
MS Access включает в себя обширную справочную инфор-
мацию, которая может быть оперативно востребована и получена
пользователем. Команда Справка (Help) открывает диалоговое
многостороннее окно, в котором приведено содержание справоч-
ной системы по темам. Можно также получить нужную инфор-
мацию по содержанию, Мастеру ответов и указателю. Нужная
информация выводится на экран в диалоговом окне, она структу-
рированна и разбита на разделы.
После загрузки MS Access экран содержит четыре области:
строка меню, панель инструментов, окно БД и строка состояния.
1. Строка меню содержит меню («Файл», «Правка», «Вид»,
«Вставка», «Сервис», «Окно» и др.).
2. Панель инструментов содержит набор кнопок, состав
которых зависит от назначения конкретной панели
инструментов. Кнопки предназначены для вызова команд и
выполнения соответствующих операций. Каждому режиму
работы соответствует собственная панель инструментов.
Внешний вид панели инструментов можно настроить по своему
желанию командой
Вид → Панели инструментов.
3. Окно базы данных имеет семь вкладок объектов:
«Таблицы», «Запросы», «Формы», «Отчеты», «Страницы»,
«Макросы», «Модули», каждая из которых содержит объекты
текущей базы данных. Для перехода на нужную вкладку надо
щелкнуть на ее имя. В верхней части окна базы данных
находится три кнопки: «Открыть», «Конструктор», «Создать».
Кнопка «Открыть» открывает выбранный объект (таблицу,
запрос, форму, отчет). При открытии таблицы открывается окно
таблицы; при переходе на вкладку «Отчеты» кнопка «Открыть»
меняется на «Просмотр». Кнопка «Конструктор»
предназначена для модификации выбранного объекта, кнопка
«Создать» – для создания объекта.
4. Строка состояния расположена внизу главного окна. В
ней выводится краткая справочная информация о текущем
режиме работы или выбранном объекте. О готовности системы
принять команду пользователя говорит сообщение «Готово».
30
В MS Access база данных представляет собой совокупность
средств (таблицы, формы, запросы, отчеты) для ввода, хранения,
просмотра, выборки и управления информацией.
Функции и назначение объектов базы данных
Таблица – основной объект базы данных, в котором хранятся
данные и откуда пользователи получают нужную им информа-
цию из централизованных баз данных.
Запрос – производный от таблицы объект базы данных, с
помощью которого пользователи получают нужную информацию
из таблиц. Это механизм выборки, обновления, удаления и
добавления данных, создания новых таблиц на основании данных
одной таблицы или нескольких существующих таблиц.
Форма – объект, предназначенный для ввода данных в базу
данных, для просмотра и редактирования базы данных.
Отчет содержит сжатую форматированную информацию,
полученную на основании базы данных по заданному формату.
При этом выполняются обработка по заданному алгоритму для
получения соответствующих степеней итогов и печатание отчета.
Макрос – способ структурированного описания одного или
нескольких действий, которые автоматически выполняются в
ответ на определенное действие.
Модуль – представляет набор описаний и процедур на языке
Visual Basic для приложений (VBA), сохраненных в одном
программном блоке.
Страница доступа к данным – создана для просмотра данных
из Internet или intrаnet и работы с ними.
Создание базы данных
Запустить Access, выбрать параметр «Новая база данных».
Откроется окно «Файл новой базы данных». В поле «Папка»
выбрать имя папки, в которой будет сохраняться создаваемый
файл БД, а в поле «Имя файла» ввести имя файла БД. После
нажатия кнопки «Создать» на экране откроется окно новой БД.
Прежде чем создавать таблицы, формы и другие объекты,
необходимо задать структуру базы данных. Хорошая структура
является основой для создания адекватной базы данных.
Этапы проектирования реляционной базы данных
1. Определение цели создания БД.
Нужно определить основные темы таблиц базы данных и
информацию, которую будут содержать поля таблиц.
31
База данных должна отвечать требованиям тех, кто будет
непосредственно с ней работать. Для этого нужно определить:
темы, которые должна покрывать база данных; отчеты, которые
она должна выдавать; проанализировать формы, которые в
настоящий момент используются для записи данных.
2. Определение таблиц, которые должна содержать БД.
Один из наиболее сложных этапов в процессе проектирования
базы данных. Сначала лучше разработать структуру на бумаге.
При проектировке таблиц рекомендуется руководствоваться
следующими основными принципами:
─ информация в таблицах не должна дублироваться
(определенная информация хранится только в одной
таблице, см., например, описание про телефоны
поставщиков);
─ каждая таблица должна содержать информацию только на
одну тему (сведения на каждую тему обрабатываются
намного легче, если они содержатся в независимых друг
от друга таблицах).
3. Определение необходимых в таблице полей.
Каждая таблица содержит информацию на отдельную тему, а
каждое ее поле содержит отдельные сведения по теме таблицы.
При разработке полей таблицы необходимо помнить:
─ каждое поле должно быть связано с темой таблицы;
─ не рекомендуется включать в таблицу данные, которые
являются результатом выражения или функции;
─ в таблицах должна присутствовать вся необходимая
информация;
─ информацию следует разбивать на наименьшие
логические единицы (например, поля «Фамилия» и «Имя»,
а не общее поле);
─ каждое поле имеет свои параметры, которые указывают,
какой тип данных может в них храниться.
Тип данных – атрибут переменной или поля. Он определяет,
какие данные могут содержаться в поле (например, в поле с
типом «Текстовый» можно вводить как тексты, так и числа, а в
поле с типом «Числовой» – только числа). В базе данных для
каждого поля нужно выбрать тип данных, при этом учитываются
характер сохраняемой в поле информации и операции, которые
будут выполняться с ней (в табл. 4.1 приведены типы данных,
обрабатываемых MS Access).
32
Таблица 4.1 — Типы данных, обрабатываемых MS Access
Тип данных Применение и размер
1. Текстовый (Text) Текстовая информация; до 225 символов
2. Числовой (Number) Числовые данные, которые участвуют в
математических вычислениях: 1, 2, 4 или 8 байт
3. Денежный (Currency) Значение валют. Применяется для предотвращения
округлений во время вычислений; 8 байт
4. Поле Memo (Memo) Длинный текст или число, например описание; до
64 000 символов
5. Дата/время Дата и время; 8 байт
(Data | Time)
6. Счетчик При добавлении записей автоматически вставляется
(AutoNumber) последовательность чисел, которые отличаются на 1,
или случайные числа; 4 байта
7. Логический (Yes|No) Значения «Да» или «Нет»; 1 бит
8. Поле объекта Объекты, которые созданы в других программах
OLE (OLE Object) (MS Word, MS Excel, рисунки, звуки и др.), связанные
или внедренные в таблицу MS Access; ограничены
объемом диска
9. Гиперссылка Адрес ссылки (путь) на документ или файл,
(Hiperlink) находящийся в WWW, интрасети, LAN или на
локальном компьютере
10. Мастер подстановок Создается поле, которое позволяет выбрать значение
из другой таблицы или из списка значений; 4 байта
33
5. Определение связей между таблицами.
После распределения данных по таблицам и определения
ключевых полей надо выбрать схему для связи данных в разных
таблицах. Для этого нужно определить связи между таблицами.
6. Усовершенствование структуры базы данных.
После проектирования таблиц, полей и связей необходимо
еще раз просмотреть структуру базы данных и выявить
возможные недочеты. Желательно это сделать на данном этапе,
пока таблицы не заполнены данными.
Для проверки необходимо создать несколько таблиц,
определить связи между ними и ввести несколько записей в
каждую таблицу, затем посмотреть, отвечает ли база данных
поставленным требованиям. Рекомендуется также создать
черновые выходные формы и отчеты и проверить, выдают ли они
требуемую информацию. Кроме того, необходимо исключить из
таблиц все возможные повторения данных.
7. Ввод данных и создание других объектов базы данных.
Если структуры таблиц отвечают поставленным требованиям,
то можно вводить данные. Затем можно создавать запросы,
формы, отчеты и другие объекты.
Пример 1 (сделки торгового предприятия). Спроектировать и
реализовать БД, которая учитывает сделки некоторого торгового
предприятия, а информация по сделке описана в виде структуры:
1. Номер сделки
2. Дата (Д/вр)
3. Операция (может быть «продажа», «покупка» и «потеря»)
4. Клиент
4.1. Название клиента
4.2. Адрес
4.3. Телефон
4.4. Расчетный счет
5. Сотрудник
5.1. Фамилия
5.2. Должность
6. Стоимость доставки (Д)
7. Содержание сделки
7.1. Товары
7.1.1. Наименование товара
7.1.2. Цена за единицу (Д)
7.2. Количество товаров (Ч).
34
В Access существуют следующие способы создания таблиц: с
помощью Мастера, в режиме таблицы и используя Конструктор.
Рассмотрим создание на примере таблицы «Клиенты»,
используя Конструктор. Для этого в окне «База данных»
выбрать вкладку «Таблицы». Нажать кнопку «Создать» и
выбрать способ создания таблицы: «Конструктор». Ввести
имена полей, типы данных и размеры полей.
Таблица «Клиенты» будет содержать следующие поля:
Имя поля Тип данных Размер
КодКлиента Счетчик Длинное целое (4 байта)
НазваниеКлиента Текстовый 20
Адрес Текстовый 20
Телефон Текстовый 10
РасчетныйСчет Текстовый 13
Примечания
1. В одной таблице поля не могут иметь одинаковое имя;
оно не должно начинаться с пробела; запрещены точка (.),
восклицательный знак (!), прямые скобки [ ] и
управляющие символы.
2. Рекомендуется присвоение полям «говорящих» имен и
коротких названий.
3. Для смены типа данных нужно нажать кнопку раскрытия
списка типов полей и выбрать необходимый тип.
4. В графе «Описание» даются пояснения полям.
5. Для связи таблиц в базе данных нужно определить поле-
ключ (значения ключа в таблице не повторяются, а значит,
однозначно определяют каждую запись): нажать нужное
поле, затем кнопку «Ключевое поле» на панели
инструментов. Слева от имени поля в области
выделенного ряда появится символ ключа. В примере
выберем в качестве ключевого поле «КодКлиента».
6. В нижней части окна Конструктора «Свойства поля»
каждое поле таблицы характеризуется дополнительными
свойствами (например, размер, формат поля, число
десятичных знаков, маска ввода, значение по умолчанию,
условие по значению, сообщение об ошибке и т.д.),
которые определяют условия ввода данных.
Сохранить таблицу командой Файл→Сохранить→Клиенты.
В окне БД на вкладке «Таблицы» появится имя созданной
35
таблицы. Для ввода в нее информации нужно открыть таблицу,
дважды нажав имя таблицы или выбрав его, нажать кнопку
«Открыть» в окне БД. На экране откроется таблица в режиме
таблицы, после чего можно приступать к вводу информации.
Замечание. Первое поле в таблице описано с типом данных
«Счетчик», поэтому вводить информацию в это поле не надо. Его
содержимое автоматически увеличивается на единицу в каждой
последующей записи.
В таблице или запросе в режиме таблицы доступны все
необходимые инструменты для работы с данными.
1. Использование панели инструментов Таблицы и Запроса в
режиме таблицы:
• вырезание, копирование или вставка выделенного текста,
поля, всех записей или всей таблицы полностью;
• сортировка записей;
• отбор записей, поиск или перемещение значений;
• добавление или удаление записей.
2. Работа со столбцами, строками и подтаблицами:
• использование области выделения столбца для
перемещения, скрытия или переименования столбца;
• изменение размеров строк или столбцов;
• просмотр связанных данных с помощью подтаблиц;
• закрепление левого крайнего столбца так, чтобы он
отображался на экране при прокрутке листа вправо.
3. Для перехода по записям в таблице можно использовать
панель перехода по записям:
• переход на первую, предыдущую, следующую и
последнюю записи;
• введение номера нужной записи;
• переход на новую (пустую) запись.
Аналогично таблице «Клиенты» создаются остальные
таблицы базы данных по учету сделок торгового предприятия и
определяются необходимые в таблицах поля (рис. 4.1).
Мощь реляционных баз данных, таких как MS Access,
опирается на их способность быстро найти и связать данные из
разных таблиц при помощи запросов, форм и отчетов. Для этого
каждая таблица должна содержать первичный ключ. Если для
таблицы определен первичный ключ, то MS Access
предотвращает дублирование ключа или ввод значений Null в
поля первичного ключа.
36
В MS Access различают первичные ключи трех типов.
1. Ключевые поля счетчика.
В поле с типом данных «Счетчик» при добавлении
каждой записи в таблицу автоматически вносится
порядковый номер. Указание такого поля в качестве
ключевого является наиболее простым способом создания
первичного ключа. Если до сохранения созданной таблицы
ключевые поля не были определены, то MS Access
предлагает создать ключевое поле автоматически. При
нажатии кнопки «Да» будет создано ключевое поле
счетчика.
Рис. 4.1. Таблицы и поля базы данных по учету сделок торгового предприятия
2. Простой ключ.
Если поле содержит уникальные значения, такие как коды
или инвентарные номера, то это поле можно определить как
первичный ключ. В качестве ключа можно определить любое
поле, содержащее данные, если это поле не содержит
повторяющихся значений или значений Null.
3. Составной ключ.
В случаях, когда невозможно гарантировать уникальность
значений каждого поля, существует возможность создать ключ,
состоящий из нескольких полей. Чаще всего такая ситуация
возникает для таблицы, используемой для связывания двух
таблиц в отношении «многие-ко-многим». Для составного ключа
существенным может оказаться порядок образующих ключ
полей. Сортировка записей осуществляется в соответствии с
порядком ключевых полей в бланке в режиме конструктора
таблицы. Имеется возможность изменить порядок полей
первичного ключа в окне индексов.
37
Замечание. На рис. 4.1 первичные ключи (счетчики) в
таблицах выделены полужирным шрифтом.
После создания в базе данных MS Access отдельных таблиц
по каждой теме необходимо выбрать способ, которым MS Access
будет объединять сведения таблиц. В первую очередь следует
определить связи между таблицами. После этого можно создать
запросы, формы и отчеты для одновременного отображения
сведений из нескольких таблиц.
Например, форма, отображенная на рисунке 4.2, включает
сведения из пяти таблиц, где введены обозначения: 1 – таблица
«Сделки», 2 – таблица «Клиенты», 3 – таблица «Сотрудники», 4 –
таблица «Товары», 5 – таблица «СодержаниеСделки».
2
3
1
4 5
38
Связь между таблицами устанавливает отношения между сов-
падающими значениями в ключевых полях, обычно между
полями, имеющими одинаковые имена в обеих таблицах. В
большинстве случаев с ключевым полем одной таблицы,
являющимся уникальным идентификатором каждой записи,
связывается внешний ключ другой таблицы.
Внешний ключ – одно или несколько полей в таблице, содер-
жащих ссылку на поле или поля первичного ключа в другой
таблице. Внешний ключ определяет способ объединения таблиц.
Между таблицами существуют следующие типы отношений:
1) «один-к-одному» (1 : 1);
2) «один-ко-многим» (1 : М), «много-к-одному» (М : 1);
3) «много-ко-многим»(М : М).
При отношении «один-к-одному» каждая запись в таблице A
может иметь не более одной связанной записи в таблице B и
наоборот. Отношения этого типа используются не очень часто,
поскольку большая часть сведений, связанных таким образом,
может быть помещена в одну таблицу. Отношение «один-к-
одному» может использоваться для разделения таблиц,
содержащих много полей, для отделения части таблицы по
соображениям безопасности, а также для сохранения сведений,
относящихся к подмножеству записей в главной таблице.
Например, можно создать таблицу для отслеживания участия
студентов в спортивных мероприятиях. Для этого каждому
игроку в таблице «Команда» должна соответствовать одна запись
в таблице «Студенты».
В таблице «Команда» набор значений представляет
подмножество для поля «КодСтудента» из таблицы «Студенты».
39
Отношение «один-к-одному» создается в том случае, когда
оба связываемых поля являются ключевыми или имеют
уникальные индексы.
Отношение «один-ко-многим» является наиболее часто
используемым типом связи между таблицами. В отношении
«один-ко-многим» каждой записи в таблице A могут
соответствовать несколько записей в таблице B, но запись в
таблице B не может иметь более одной соответствующей ей
записи в таблице A.
Например, один сотрудник может совершить несколько
сделок, однако за каждую сделку может быть ответствен только
один сотрудник (рис. 4.4).
40
При отношении «многие-ко-многим» одной записи в
таблице A могут соответствовать несколько записей в таблице B,
а одной записи в таблице B — несколько записей в таблице A.
Этот тип связи возможен только с помощью третьей (связующей)
таблицы, содержащей два поля, которые являются внешними
ключами таблиц A и B. Отношение «многие-ко-многим» по сути
дела представляет собой два отношения «один-ко-многим» с
третьей таблицей.
Например, отношение «многие-ко-многим» между таблицами
«Сделки» и «Товары» определяется путем создания двух
отношений «один-ко-многим» с таблицей «СодержаниеСделки».
В одной сделке может быть много товаров, а каждый товар может
появляться в нескольких сделках (рис. 4.5).
Поле со списком подстановок
Создавать новые поля со списком подстановок или списком
значений можно как в режиме конструктора, так и в режиме
таблицы. Однако если поле, которое будет использовано как
внешний ключ для поля подстановок, уже существует,
необходимо открыть содержащую это поле таблицу в режиме
конструктора и определить поле подстановок.
Например, если имеется таблица «Сделки», в которой уже
определено поле «НазваниеКлиента», и требуется превратить его
в поле подстановок, в котором будут выводиться названия
клиентов из таблицы «Клиенты», то необходимо открыть таблицу
«Сделки» в режиме конструктора и преобразовать поле
«НазваниеКлиента» в поле подстановок.
Создание в таблице «Сделки» поля с подстановкой
значений из таблицы «Клиенты» в режиме конструктора:
1) создать таблицу «Сделки» в режиме конструктора;
2) выбрать строку поля «НазваниеКлиента»;
3) в столбце Тип данных нажать кнопку со стрелкой и
выбрать Мастер подстановок;
4) в первом диалоговом окне мастера подстановок выбрать
переключатель для создания столбца подстановок,
использующего значения из таблицы или запроса. Нажать
кнопку «Далее»;
5) выбрать таблицу «Клиенты». Нажать кнопку «Далее»;
6) выбрать поле «НазваниеКлиента» как столбец
подстановки. Нажать кнопку «Далее»;
41
7) задать ширину столбцов, которые содержит столбец
подстановки. Рекомендуется скрыть ключевой столбец.
Нажать кнопку «Далее»;
8) задать подпись столбца подстановки. Нажать «Готово».
Microsoft Access создаст поле подстановок и установит его
свойства на основании значений, выбранных в мастере.
Аналогично связываются следующие пары таблиц: «Сделки»
и «Сотрудники»; «СодержаниеСделки» и «Товары»;
«СодержаниеСделки» и «Сделки».
Определение связей при помощи Схемы данных
1. Закрыть все открытые таблицы. Создавать или изменять
связи между открытыми таблицами нельзя.
2. Для перехода в окно базы данных нажать клавишу F11.
3. Нажать кнопку Схема данных на панели инструментов.
4. Если в базе данных еще не определены связи,
автоматически открывается диалоговое окно Добавление
таблицы.
Если нужно добавить таблицы для создания связей, а
диалогового окна Добавление таблицы на экране нет, нажать
кнопку «Отобразить таблицу» на панели инструментов.
5. Дважды щелкнуть имена таблиц, для которых требуется
определить связи, и закрыть диалоговое окно Добавление
таблицы. Чтобы связать таблицу саму с собой, добавить ее
дважды.
6. Чтобы установить связи между полями, выбрать поле в
одной таблице и перетащить его на соответствующее поле во
второй таблице. Чтобы перетащить сразу несколько полей,
нажать клавишу «CTRL» и, удерживая ее, выбрать каждое поле.
В большинстве случаев связывают поле первичного ключа
(представленное в списке полей полужирным шрифтом) одной
таблицы с соответствующим ему полем второй таблицы, которое
называют полем внешнего ключа.
7. Будет открыто диалоговое окно Изменение связей.
Проверить правильность имен полей, присутствующих в двух
столбцах. Установить необходимые параметры связи между
таблицами:
Целостность данных
Целостность данных означает систему правил, используемых
в Microsoft Access для поддержания связей между записями в
42
связанных таблицах, а также обеспечивающих защиту от
случайного удаления или изменения связанных данных:
невозможно ввести в поле внешнего ключа связанной
таблицы значение, не содержащееся в ключевом поле главной
таблицы. Однако в поле внешнего ключа возможен ввод
значений Null, показывающих, что записи не являются
связанными.
Например, нельзя сохранить запись, регистрирующую
сделку, сделанную несуществующим клиентом, но можно
создать запись для сделки, которая пока не отнесена ни к одному
из клиентов, если ввести значение Null в поле
«НазваниеКлиента»;
не допускается удаление записи из главной таблицы, если
существуют связанные с ней записи в подчиненной таблице.
Например, невозможно удалить запись из таблицы
«Сотрудники», если в таблице «Сделки» имеются сделки,
относящиеся к данному сотруднику.
Каскадное обновление и удаление
Если при определении связи установить флажок Каскадное
обновление связанных полей, любое изменение значения
первичного ключа главной таблицы приведет к автоматическому
обновлению соответствующих значений во всех связанных
записях.
Замечание. Если в главной таблице ключевым полем
является поле счетчика, то установка флажка Каскадное
обновление связанных полей не приведет к каким-либо
результатам, так как изменить значение поля счетчика
невозможно.
Если при определении отношения установить флажок
Каскадное удаление связанных записей, любое удаление записи
в главной таблице приведет к автоматическому удалению
связанных записей в подчиненной таблице.
43
Рис. 4.6. Схема данных базы данных по учету сделок торгового предприятия
44
Название
«Студенты»
КодСтудента (первичный ключ)
ФИОСтудента
НомерЗачетки
«Предметы»
КодПредмета (первичный ключ)
Наименование
ФИОПреподавателя
2. Создайте таблицы с помощью Конструктора. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать тип Текстовый).
3. Для поля «ДатаЭкзамена» из таблицы «Сессии» установите
свойство «Значение по умолчанию» текущую дату (задать с
помощью функции Date()). На поле «Оценка» наложить условие:
оценка может принимать только значения от 0 до 10. Свойства
остальных полей задайте самостоятельно.
4. Поля внешнего ключа создайте Мастером подстановок.
5. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
6. Заполните таблицы данными.
7. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы.
Использование панели инструментов Таблицы и Запроса
в режиме таблицы:
вырезание, копирование или вставка выделенного
текста, поля, всех записей или всей таблицы
полностью;
сортировка записей;
отбор записей, поиск или перемещение значений;
добавление или удаление записей.
Работа со столбцами, строками и подтаблицами:
использование области выделения столбца для
перемещения, скрытия или переименования столбца;
изменение размеров строк или столбцов;
использование подтаблиц для просмотра связанных
данных;
45
закрепление левого крайнего столбца таким образом,
чтобы он отображался на экране при прокрутке листа
вправо.
Для перехода по записям в таблице можно использовать
панель перехода по записям:
переход на первую, предыдущую, следующую, по-
следнюю запись;
введение номера нужной записи;
переход на новую (пустую) запись.
46
РасчетныйСчет
«Признаки»
КодПризнака (первичный ключ)
Признак
«Товары»
КодТовара (первичный ключ)
Товар
ЦенаЗаЕдиницу
2. Признак может быть: «выполнена», «не выполнена».
3. Товары, например, «стол», «стул», «шкаф», «тумба» и т.д.
4. Создайте таблицы с помощью Конструктора. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то используйте тип Текстовый).
5. Для поля «ДатаЗаявки» из таблицы «Заявки» установите
свойство «Значение по умолчанию» текущую дату (задать с
помощью функции Date()). На поле «ЦенаЗаЕдиницу» наложите
условие: цена должна быть > 0. Свойства остальных полей
задайте самостоятельно.
6. Поля внешнего ключа создайте Мастером подстановок.
7. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
8. Заполните таблицы данными. Количество заявок — не
менее 25, клиентов от 8 до 12. Некоторые заявки должны
содержать несколько товаров.
9. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы (см. задание 7 для БД «Сессия»).
47
4.4. Наименование товара
4.5. Цена за единицу (Д).
Необходимо создать базу данных магазина по продаже компь-
ютерной техники.
Рекомендации
1. Продажи учитывать в следующих таблицах:
таблица «ЗаголовокПродажи» содержит поля:
КодПродажи (первичный ключ)
ДатаПродажи
Клиент
«СодержаниеПродажи»
КодСодержания (первичный ключ)
КодПродажи (внешний ключ)
КодТовара (внешний ключ)
Количество
«Товар»
КодТовара (первичный ключ)
КодТипа (внешний ключ)
КодПроизводителя (внешний ключ)
Товар
ЦенаЗаЕдиницу
«ТипыТоваров»
КодТипа (первичный ключ)
ТипТоваров
«ФирмаПроизводитель»
КодПроизводителя (первичный ключ)
Производитель
Страна
2. Типы товаров могут быть, например, «компьютер»,
«монитор», «принтер», «сканер», «факс-модем», «жесткий диск»
и т.п.
3. Фирмы-производители: «Intel», «IBM», «BELABM», «NTT»,
«HP», «Sony», «Samsung», «Epson», «ZyXEL» и т.п.
4. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать Текстовый).
5. Для поля «ДатаПродажи» из таблицы «Заголовок
продажи» установите свойство «Значение по умолчанию»
48
текущую дату (задайте с помощью функции Date()). На поле
«ЦенаЗаЕдиницу» наложите условие: цена должна быть >0.
Свойства остальных полей задайте самостоятельно.
6. Поля внешнего ключа создайте Мастером подстановок.
7. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
8. Заполните таблицы данными. Количество продаж — не
менее 25. Большинство продаж должно содержать несколько
товаров.
9. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы (см. задание 7 для БД «Сессия»).
49
Лекарство
КодИзготовителя (внешний ключ)
ЦенаЗаЕдиницу
«Льготы»
КодЛьготы (первичный ключ)
ПроцентОплаты
«Изготовитель»
КодИзготовителя (первичный ключ)
Изготовитель
Страна
2. Льготы на покупку лекарств могут быть, например, «100 %»,
«90 %», «50 %», «25 %», «10 %» и т.п.
3. Изготовители, например, «Щелковский завод»,
«Алтайвитамины», «Биохимик» в России; «Борисовский завод»,
«Экзон» в Беларуси; «УПСА» во Франции; «Форте» в Германии
и т.п.
4. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать Текстовый).
5. Для поля «ДатаПродажи» из таблицы «ЗаголовокПродажи»
установите свойство поля «Значение по умолчанию» текущую
дату (задать с помощью функции Date()). На поле
«ЦенаЗаЕдиницу» наложите условие: цена должна быть > 0.
Свойства остальных полей задайте самостоятельно.
6. Поля внешнего ключа создайте Мастером подстановок.
7. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
8. Заполните таблицы данными. Количество продаж — не
менее 30. Некоторые продажи должны содержать несколько
лекарств или лекарства с разными льготами.
9. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы (см. задание 7 для БД «Сессия»).
50
3. Клиент
4. Подарок
4.1. Цена подарка (Д)
5. Товары
5.1. Количество (Ч)
5.2. Тип
5.3. Изготовитель
5.4. Модель
5.5. Цена за единицу (Д)
Необходимо создать базу данных магазина по продаже обуви.
Рекомендации
1. Продажи учитываются в следующих таблицах:
таблица «ЗаголовокПродажи» содержит поля:
КодПродажи (первичный ключ)
ДатаПродажи
Клиент
КодПодарка (внешний ключ)
«Подарки»
КодПодарка (первичный ключ)
Подарок
ЦенаПодарка
«СодержаниеПродажи»
КодСодержания (первичный ключ)
КодПродажи (внешний ключ)
КодТовара (внешний ключ)
Количество
«Товар»
КодТовара (первичный ключ)
КодТипа (внешний ключ)
КодИзготовителя (внешний ключ)
Модель
ЦенаЗаЕдиницу
«ТипыТоваров»
КодТипа (первичный ключ)
ТипТоваров
«ФирмаИзготовитель»
КодИзготовителя (первичный ключ)
Изготовитель
2. Подарки, например, «авторучка», «компакт-диск», «щетка
для обуви», «крем для обуви», «календарь» и т.п.
51
3. Типы товаров могут быть: «туфли», «полуботинки»,
«кроссовки», «тапочки», «сапоги» и т.п.
4. Фирмами изготовителями могут выступать «Белвест»,
«Неман», «ЛеГранд» и т.п.
5. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать Текстовый).
6. Для поля «ДатаПродажи» из таблицы «ЗаголовокПродажи»
установите свойство поля «Значение по умолчанию» текущую
дату (задайте с помощью функции Date()). На поле
«ЦенаЗаЕдиницу» наложите условие: цена должна быть > 0.
Свойства остальных полей задайте самостоятельно.
7. Поля внешнего ключа создайте Мастером подстановок.
8. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
9. Заполните таблицы данными. Количество продаж — не
менее 40. Некоторые продажи должны содержать несколько пар
или несколько моделей обуви.
10. Рассмотрите инструменты для работы с данными в
таблице в режиме таблицы (см. задание 7 для БД «Сессия»).
52
ДатаПриема
ДатаВыполнения
КодКлиента (внешний ключ)
«Содержание заявки»
КодСодержания (первичный ключ)
КодЗаявки (внешний ключ)
КодРаботы (внешний ключ)
Признак
«Автомобили»
КодАвтомобиля (первичный ключ)
Марка
«Клиенты»
КодКлиента (первичный ключ)
ФИОКлиента
АдресКлиента
«Работы»
КодРаботы (первичный ключ)
НаименованиеРаботы
ЦенаРаботы
2. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Внесите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то использовать Текстовый).
3. Для поля «ДатаПриема» из таблицы «Заявки» установите
свойство «Значение по умолчанию» текущую дату (задайте с
помощью функции Date()). На поле «ЦенаРаботы» наложите
условие: цена должна быть > 0. Свойства остальных полей
задайте самостоятельно.
4. Поля внешнего ключа создайте Мастером подстановок.
5. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
6. Заполните таблицы данными. Количество заявок — не
менее 25, клиентов — от 8 до 12. Некоторые заявки должны
содержать несколько работ.
7. Рассмотрите инструменты для работы с данными в таблице
в режиме таблицы (см. задание 7 для БД «Сессия»).
53
следующей структуры.
1. КодВыдачи (Счетчик)
2. Дата выдачи (Д/вр)
3. Дата возврата (Д/вр)
4. Читатель
4.1. Адрес читателя
4.2. Телефон
5. Книга
5.1. Автор/ ы
5.2. Издательство
5.3. Количество страниц
5.4. Тираж
5.5. Тематика
5.6. Количество экземпляров
5.7. Цена
Необходимо создать БД библиотеки по выдаче литературы.
Рекомендации
1. Выдача/возврат литературы учитывается в таблицах:
таблица «ВыдачаЛитературы» содержит поля:
КодВыдачи (первичный ключ)
КодЧитателя (внешний ключ)
БиблиотечныйКод(внешний ключ)
ДатаВыдачи
ДатаВозврата
ПризнакВозврата
«Литература»
КодКниги (первичный ключ)
Автор
НазваниеКниги
КодИздательства (внешний ключ)
КоличествоСтраниц
КодТематики (внешний ключ)
ЦенаКниги
КоличествоЭкземпляров
ДатаПриобретения
«Читатели»
КодЧитателя (первичный ключ)
ФамилияЧитателя
ИмяЧитателя
ОтчествоЧитателя
54
ДомашнийАдрес
Телефон
«Издательства»
КодИздательства (первичный ключ)
НазваниеИздательства
Город
«Тематика книг»
КодТематики (первичный ключ)
Тематика
«Библиотечная литература»
БиблиотечныйКод
КодКниги (внешний ключ)
2. Тематика книги может быть, например, «статистика»,
«финансы», «математика», «информатика», «АХД» и т.п.
3. Издательства, например, «ДелоЛТД», «Вышэйшая школа»,
«Финансы и статистика», «Мир», «BHV».
4. Признак может быть: «сдана», «не сдана», «утеряна».
5. Создайте таблицы, используя Конструктор. Каждая
таблица должна иметь первичный ключ (Счетчик). Введите
имена полей, руководствуясь пунктом 1 рекомендаций, типы
данных предложены в структуре в круглых скобках (если тип не
указан, то используйте тип Текстовый).
6. Для поля «ДатаВыдачи» из таблицы «ВыдачаЛитературы»
установите свойство поля «Значение по умолчанию» текущую
дату (задайте с помощью функции Date()). На поле
«КоличествоЭкземпляров» наложите условие: количество
должно быть > 0. Свойства остальных полей задайте
самостоятельно.
7. Поля внешнего ключа создайте Мастером подстановок.
8. Просмотрите установленные связи при помощи Схемы
данных. Изучите параметры связи Целостность данных,
Каскадное обновление и удаление.
9. Заполните таблицы данными. Количество выдачи
литературы — не менее 40.
10. Рассмотрите инструменты для работы с данными в
таблице в режиме таблицы (см. задание 7 для БД «Сессия»).
55
4.1. Понятие запроса к базе данных
56
Создание запросов выбора
Запрос на выборку является наиболее часто используемым
типом запроса. Запросы этого типа возвращают данные из одной
или нескольких таблиц и отображают их в виде таблицы.
Запросы на выборку можно также использовать для группировки
записей и вычисления сумм, средних значений, подсчета записей
и нахождения других типов итоговых значений.
Создание простого запроса на выборку с помощью мастера
1. В окне БД в списке «Объекты» выберите «Запросы» и на
панели инструментов окна БД нажмите кнопку «Создать».
2. В диалоговом окне «Новый запрос» выберите в списке
строку «Простой запрос» и нажмите кнопку «OK».
3. Откройте список «Таблицы/Запросы» и выберите
таблицу-источник или запрос, а из списка «Доступные поля» –
список полей таблицы (таблиц) и включите их в зону
«Выбранные поля» для создания запроса (дважды щелкнув
мышью или нажав одну из кнопок навигации). Если запрос
формируется на основе нескольких таблиц или запросов-
источников, необходимо повторить описанные действия для
каждого источника.
4. После выбора всех полей для формирования запроса
щелкните кнопку «Далее». На экране появится следующее окно
диалога Мастера запросов, где предлагается: «Выберите
подробный или итоговый отчет».
5. Для вывода каждого поля каждой записи выбираем
«Подробный». Для подсчета значений поля по всем записям
следует выбрать опцию «Итоговый» и щелкнуть кнопку
«Итоги...», а в открывшемся окне диалога «Итоги» выбрать
(путем установки флажка) вид выполняемого вычисления,
например «Sum», и щелкнуть кнопку «ОК». Расчеты
выполняются над значениями полей типа «числовой» и
«денежный».
6. Щелкните кнопку «Далее» для задания имени созданного
запроса и выбора одного из вариантов дальнейших действий:
«Открыть запрос для просмотра данных» (запустить запрос)
или «Изменить макет запроса» (открыть его в режиме
конструктора). Нажмите кнопку «Готово».
Создание запроса с помощью Конструктора
57
С помощью Конструктора можно создать следующие виды
запросов: простые, по условию, с вычисляемыми полями, с
группировкой, параметрические.
58
Последовательность действий
1. В окне БД выберите вкладку «Запросы» и щелкните
кнопку «Создать»; откроется окно диалога «Новый запрос».
2. Выберите опцию «Конструктор» и нажмите кнопку «ОК»;
открывается окно диалога «Добавление таблицы». За ним
появляется неактивное окно «Запрос на выборку». В нем из
списка следует выбрать имя таблицы-источника, на основе
которой будет проводиться выбор данных, и щелкнуть кнопку
«Добавить»; в окне «Запрос на выборку» появится список
выбранных полей для запросов. Если запрос формируется на
основе нескольких таблиц, то действия повторяются для каждой
таблицы-источника.
3. Закройте окно диалога кнопкой «Закрыть»; окно
«Добавление таблицы» закроется, а окно «Запрос на выборку»
станет активным. На экране появится окно Конструктора
запросов, а в главном меню – команда «Запрос» (позволяют
добавлять таблицы в окно «Конструктор запроса», удалять
таблицы и другие операции) и «Вид» (содержит команды
управления запросом).
Окно «Конструктор запроса» условно состоит из двух
частей – верхней и нижней.
В верхней части окна «Конструктор запроса» размещается
схема данных запроса, которая содержит список таблиц-источ-
ников и отражает связь между ними.
В нижней части окна находится «Бланк запроса», в котором
каждая строка выполняет конкретную функцию:
«Поле» – указываются имена полей, участвующих в запросе;
«Имя таблицы» – таблица, из которой выбрано поле;
«Сортировка» – указывает тип сортировки;
«Вывод на экран» – устанавливается флажок просмотра поля
на экране;
«Условие отбора» – задаются критерии поиска.
4. Инструментарием окна «Конструктор запроса»
формируем запрос: выбираем таблицу-источник, из которой
проводится выборка записей; выбираем поля результатов
запроса; указываем критерии для выборки, группирования и
упорядочения данных.
Техника заполнения «Бланка запроса»
1. Переместите имена полей с источника (верхняя часть окна)
59
в «Бланк запроса». В верхней части окна помещены таблицы и их
поля, из которых нужные имена полей переносятся в нижнюю
часть бланка запроса.
Опишем два способа добавления поля в «Бланк запроса»:
• в нижней части окна в ячейке «Поле» кнопкой раскрываем
структуру базы данных, выбираем (щелкаем) имя поля «Название
Клиента» из таблицы «Клиенты». После этого в ячейке «Поле» по-
явится имя выбранного поля, а ниже, в строке «Имя таблицы», —
имя таблицы;
• переносим другое имя поля «СтоимостьДоставки» из
таблицы «Сделки» в запрос. Это можно сделать перетягиванием
мышью выбранного поля с верхней части окна запроса в «Бланк
запроса» в следующую ячейку «Поле».
2. Задание принципа сортировки. Курсор мыши перевести в
строку «Сортировка», в соответствующем имени поля появится
кнопка открытия списка, щелкнуть ею и в открывшемся списке
выбрать способ сортировки (например, «По возрастанию»).
3. В строке «Вывод на экран» автоматически устанавливается
флажок просмотра найденной информации в поле (для отмены
вывода на экран следует снять флажок).
4. В строке «Условия отбора» и размещенного ниже «или»
ввести условия ограниченного поиска – критерии поиска. В этом
ряду напротив поля введите с клавиатуры условие выбора
записей для формирования запроса (например, в поле
«НазваниеКлиента» условие 'ТОДО "Альфа"' или для поля
«СтоимостьДоставки» условие: >10000). Для выбора записей
клиента ТОДО "Альфа" и ОАО "Бета" условия в строке «Условия
отбора» записываются так: 'ТОДО "Альфа"' OR 'ОАО "Бета"'.
Это же условие можно записать в две строки: в строке «Условия
отбора» записать 'ТОДО "Альфа"', а в строке «или» – 'ОАО
"Бета"'.
5. После завершения формирования запроса закройте окно
«Запрос на выборку»; в окне диалога «Сохранить» выберите
«Да» и введите имя созданного запроса.
Чтобы открыть запрос из окна базы данных, надо выделить
имя запроса и щелкнуть кнопку «Открыть»; на экране появится
окно «Запрос на выборку» с присвоенным именем.
Запуск запроса
Для запуска запроса на исполнение из окна Конструктора
«Запрос на выборку» надо на панели инструментов нажать
60
кнопку «Запуск» (!) или кнопку «Вид» («Режим таблицы» левая
верхняя кнопка; повторное нажатие на эту кнопку «Конструктор»
вернет в окно Конструктора), можно также выбрать из меню
команду Запрос→Запуск или Вид→Режим таблицы.
61
Сделки воспользуемся вспомогательным запросом, в котором
вычислим выражение СтоимостьТоваров, а затем сложим его с
полем СтоимостьДоставки (стоимость сделки равна сумме сто-
имостей всех товаров в этой сделке плюс стоимость доставки).
Вспомогательный запрос: подсчитать стоимость товаров для
каждой сделки с ТОДО, совершенной экономистом-менеджером
после 01.01.2004 года. Структура запроса: КодСделки (для связи
с основным запросом), НомерСделки, Дата, Операция,
НазваниеКлиента, Фамилия, Должность, СтоимостьТоваров.
Этапы создания вспомогательного запроса:
1. В «Конструкторе запроса» добавляем таблицы: «Сделки»,
«Клиенты», «Сотрудники», «СодержаниеСделки» и «Товары».
2. Выбираем поля результатов запроса: из таблицы
«Сделки» — поля «КодСделки», «НомерСделки», «Дата» и
«Операция»; из таблицы «Клиенты» – поле «НазваниеКлиента»;
из таблицы «Сотрудники» – поля «Фамилия» и «Должность».
3. Для вычисления выражения СтоимостьТоваров
необходимо поле КоличествоТовара умножить на поле
ЦенаЗаЕдиницу.
Поэтому для записи выражения СтоимостьТоваров надо:
• перейти на строку «Поле» пустого столбца «Бланка запроса»;
• нажать кнопку «Построить» на панели инструментов;
• записать выражение:
[СодержаниеСделки]![КоличествоТовара]*[Товары]![Цена ЗаЕдиницу];
• нажать кнопку «ОК»; выражение, которое записано с
помощью «Построителя выражений», появляется в строке «Поле»
Бланка запросов. Каждое поле итоговой таблицы должно иметь
имя. MS Access автоматически присвоит имя Выражение1,
которое отделяется от выражения двоеточием. Нужно заменить
имя поля итога на СтоимостьТоваров.
Замечание. Если в выражении используются арифметические
операторы (+, -, *, /), а одно из полей имеет значение Null, то
результатом всего выражения также будет значение Null. Если
записи в одном из использованных в выражении полей могут
содержать значение Null, то эти значения Null можно
преобразовать в нули с помощью функции Nz. Так, например,
Nz(Содер-жаниеСделки!КоличествоТовара, 0) * Nz(Товары!
ЦенаЗаЕдиницу, 0).
4. Задание критериев отбора:
• ввести выражение Like "ТОДО*" в ячейку «Условие отбора»
62
для поля «НазваниеКлиента». Оператор Like означает
«похожий» и применяется с символами шаблонов (см. табл. 4.1);
• ввести выражение «экономист-менеджер» в ячейку «Условие
отбора» для поля «Должность»;
• с помощью «Построителя выражений» в ячейку «Условие
отбора» ввести выражение Between #01.01.2004# And Now() для
поля «Дата» (оператор Between означает «между», а функция
Now() возвращает текущую системную дату).
Примечание. Для задания границ диапазона применяются
следующие операторы: > (больше), >= (не меньше), < (меньше),
<= (не больше), Beetween (между).
63
«Фамилия» из запроса «Вспомогательный».
4. В строку «Поле» пустого столбца Бланка запросов с
помощью «Построителя выражений» введем выражение
СтоимостьСделки: Вспомогательный!СтоимостьТоваров +
Сделки!СтоимостьДоставки
5. Сохранить запрос под именем «Основной» (рис. 4.7).
64
Замечания
1. Для выбора записей с таблицы, значения которых не
соответствуют определенному условию одного из полей,
предназначен оператор Not, который записывается перед
сравниваемым значением. Например, для того чтобы выбрать все
записи из таблицы «Клиенты», за исключением записей с
отсутствующими или неизвестными данными о договоре, надо в
строке «Условие отбора» поля «Договор» записать: Is Not Null.
65
Рис. 4.8. Пример ИЛИ-запроса
66
Перекрестный запрос используют для расчетов и
представления данных в структуре, облегчающей их анализ.
Перекрестный запрос подсчитывает сумму, среднее число
значений или выполняет другие статистические расчеты, после
чего результаты группируются в виде таблицы по двум наборам
данных, один из которых определяет заголовки столбцов, а
другой — заголовки строк. Так, например, данные, полученные с
помощью запроса на выборку (табл. 4.3), в перекрестном запросе
представимы в виде таблицы 4.4.
ОАО ТОДО
НаименованиеТовара ТОДО «Гамма" УП "Дельта"
«Бета» «Альфа»
кровать 280 000 р.
стол 63 000 р. 63 000 р.
стул 290 000 р. 145 000 р. 116 000 р. 58 000 р.
67
ОАО ТОДО
НаименованиеТовара ТОДО «Гамма" УП "Дельта"
«Бета» «Альфа»
тумба 152 000р. 38 000 р.
шкаф 109 000 р.
Последовательность действий при создании перекрестного
запроса с помощью Мастера
1. На вкладке «Запросы» окна БД нажать кнопку «Создать».
2. В диалоговом окне «Новый запрос» выбрать в списке
«Перекрестный запрос» и нажать кнопку «ОК»; откроется окно
«Создание перекрестных таблиц».
3. Выбрать из списка запрос-источник и дальше выполнять
инструкции в диалоговых окнах Мастера.
Последовательность действий при создании перекрестного
запроса при помощи Конструктора
1. В режиме Конструктора создать запрос-источник.
2. На панели инструментов нажать кнопку «Тип запроса» и
выбрать опцию «Перекрестный».
3. Для полей, значения которых будут заголовками строк, в
строке «Перекрестная таблица» выбрать ячейку «Заголовки
строк» и оставить в строке «Групповая операция» значение
«Группировка».
4. Для полей, значения которых будут представлены в
запросе в качестве заголовков столбцов, в строке «Перекрестная
таблица» выбрать ячейку «Заголовки столбцов». Значение
«Заголовки столбцов» можно выбрать только для одного поля и
оставить «Группировка».
Примечание. По умолчанию заголовки столбцов
сортируются по алфавиту или числовому значению.
5. Для поля, значения которого нужно использовать при
создании перекрестной таблицы, щелкните ячейку строки
«Перек-рестная таблица» и выберите «Значение».
Примечание. Пункт «Значение» можно выбрать только для
одного поля.
6. В строке «Групповая операция» выберите статистическую
функцию, которая будет использована для заполнения перек-
рестной таблицы (например, Sum, Avg или Count).
7. Далее выполните следующие действия:
68
─ для задания условия отбора, ограничивающего отбираемые
заголовки строк до выполнения вычисления, необходимо ввести
выражение в строку «Условие отбора» поля, для которого в
ячейке строки «Перекрестная таблица» выбрано значение
«Заголовки строк»;
─ для задания условия отбора, ограничивающего отбираемые
записи до группировки заголовков строк и до заполнения
перекрестной таблицы, необходимо добавить поле, для которого
необходимо установить условие отбора, в бланк запроса; выбрать
значение «Условие» в ячейке строки «Групповая операция»;
оставить ячейку в строке «Перекрестная таблица» пустой;
ввести выражение в ячейку строки «Условие отбора».
Примечание. Поля, имеющие значение «Условие» в строке
«Групповая операция», не выводятся в результатах запроса.
Пример 2. Распределите суммы сделок по всем товарам
(сумма=sum(количество*цена)), начинающимся с буквы «С», и
всем клиентам, которые были совершены после 01.01.2004 года.
Решение представлено на рисунке 4.9.
Запросы на изменение
Запросом на изменение называют запрос, который за одну
операцию изменяет или перемещает несколько записей.
Существует четыре типа запросов на изменение.
На удаление. Запрос на удаление удаляет группу записей
из одной или нескольких таблиц. Например, запрос на удаление
69
позволяет удалить записи о клиентах, у которых нет лицензии
(рис. 4.10). С помощью запроса на удаление можно удалять
только всю запись, а не отдельные поля внутри нее.
На обновление. Запрос на обновление вносит общие
изменения в группу записей одной или нескольких таблиц.
Например, на 5 процентов поднимаются цены на определенный
товар (рис. 4.11). Запрос на обновление записей позволяет
изменять данные в существующих таблицах.
70
Конструктора; для запуска запроса на изменение надо нажать
кнопку «Запуск» (!) на панели инструментов.
71
Задания к лабораторным занятиям 7 – 13
72
• подсчитать количество студентов, сдававших предметы
«ТОХОД» или «ОИиВТ»;
• подсчитать средний балл по факультету «ФЭУ».
Добавьте в запрос о количестве студентов после поля «Наиме-
нование» поле «ФИОПреподавателя», чтобы получилась струк-
тура: «Наименование», «ФИОПреподавателя», Count - Студенты.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите результаты по предмету «ТОХОД» учебного
года 2004-2005, в которых экзамен был сдан на оценку «4» или «5».
Структура запроса: ФИОСтудента, Курс, Группа,
Предмет, ДатаЭкзамена, Оценка (условия создайте при помощи
Построителя выражений).
3.2. Выведите летние экзамены, которые сдали студенты
факультета «ФЭУ» на оценку «3».
Структура запроса: ФИОСтудента, Название, Курс,
Группа, Предмет, ДатаЭкзамена, Оценка (условие о летних
экзаменах создайте с помощью функции Month и оператора And).
3.3. Выберите из базы данных всех студентов некоторого
факультета (вводится как параметр) 2 курса.
Структура: ФИОСтудента, Название, Курс, Группа.
3.4. Выберите из базы данных всех студентов, которые
обучаются на некотором курсе (вводится как параметр) и сдавали
экзамен у преподавателя, фамилия которого начинается с
некоторого набора символов (вводится как параметр).
Структура запроса: ФИОСтудента, Курс, Группа,
Наименование, ФИОПреподавателя.
3.5. Определите средний балл каждого студента.
Структура: ФИОСтудента, НомерЗачетки, СреднийБалл.
3.6. Для каждого студента вычислите размер стипендии
(средний балл сессии * 11000р.), когда даты начала и конца
сессии вводятся как параметры.
Структура запроса: ФИОСтудента, Стипендия.
3.7. Определите для каждого факультета ежемесячную
сумму денег, необходимую для выплаты стипендии всем
студентам (даты начала и конца сессии вводятся как параметры).
Структура вспомогательного запроса: Название,
ФИОСтудента, Стипендия.
Структура основного запроса: Название, СуммаДенег.
73
3.8. Определите количество студентов, сдававший каждый
предмет для каждого факультета в учебном году 2003-2004.
Структура запроса: Наименование (строки), Название
(столбцы), ФИОСтудента (Count, значение).
3.9. Определите средний балл по каждому предмету для
каждого года после 2001. Структура запроса: Наименование
(строки), Годы (столбцы), Оценка (Avg, значение).
3.10. Из таблицы «Сессии» выберите всю информацию о
неуспевающих студентах и поместите ее в таблицу «Двоечники».
3.11. Удалите из таблицы «Сессии» всех двоечников.
3.12. Измените в таблице «Двоечники» дату экзамена по
некоторому предмету на текущую дату (вводится как параметр).
3.13. Добавьте записи за текущую дату из таблицы
«Двоечники» в таблицу «Сессии».
74
• Подсчитайте среднюю цену за единицу товара по каждому
клиенту. Структура запроса: Клиент, Avg - ЦенаЗаЕдиницу.
Рассмотрите созданные с помощью мастера запросы в
режиме Конструктора. Обратить внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи в запросах:
• по возрастанию суммарного количества товаров;
• по убыванию средней цены за единицу товара.
Добавьте условие отбора таким образом, чтобы:
• подсчитать в заявках суммарное количество столов или
стульев (для первого запроса);
• подсчитать среднюю цену за единицу товара по клиенту
«ФЭУ» (для второго запроса).
Добавьте в запрос о средней цене после поля «Клиент» поле
«ДатаЗаявки», чтобы получилась структура запроса: Клиент,
ДатаЗаявки, Avg - ЦенаЗаЕдиницу.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите все заявки на покупку столов, совершенные
после 01.07.2005 года.
Структура запроса: ДатаЗаявки, Клиент, Товар, Коли-
чество, ЦенаЗаЕдиницу, Стоимость (поле «Стоимость» создайте
при помощи Построителя выражений).
3.2. Выведите весенние заказы, в которых был заказан
товар в количестве, большем 3.
Структура запроса: ДатаЗаявки, Клиент, Товар, Коли-
чество, ЦенаЗаЕдиницу, Стоимость (условие о весне создайте
при помощи встроенной функции Month и оператора And).
3.3. Выберите из базы данных информацию о выполненных
заявках товаров, название которых начинается с некоторого
набора символов (вводится как параметр), за 2004 год.
Структура запроса: ДатаЗаявки, Клиент, Признак, Товар,
Количество, Стоимость.
75
3.4. Выберите из базы данных информацию о заявках, в
которых участвовали клиенты, название которых начинается с
некоторого набора символов (вводится как параметр), и
стоимость которых, по крайней мере, на 15 % больше некоторой
величины (вводится как параметр).
Структура запроса: ДатаЗаявки, Клиент, Стоимость.
3.5. Найдите суммарную стоимость заявок каждого клиента
после 01.01.2003 года. Структура запроса: Клиент, Стоимость.
3.6. Определите среднюю стоимость осенних заявок.
Структура вспомогательного запроса: КодЗаявки, Сумм-
Стоимость. Структура основного запроса: СредняяСтоимость.
3.7. Выберите из базы данных все заявки некоторого года
(вводится как параметр), у которых стоимость не меньше средней
стоимости осенних заявок.
Структура вспомогательного запроса: ДатаЗаявки,
Клиент, Стоимость (группировка для расчета стоимости и
условие на год заявки). Структура основного запроса:
ДатаЗаявки, Клиент, Стоимость (используются вспомогательный
запрос и запрос 3.6 для условия отбора по стоимости заявки).
3.8. Определите количество каждого товара, заказанного
каждым клиентом сезона сентябрь 2003 года – август 2004 года.
Структура запроса: Клиент (строки), Товар (столбцы),
Количество (Sum, значение).
3.9. Определите стоимость выполненных заявок по
каждому месяцу для каждого года начиная с 2002 года.
Структура запроса: Месяцы (строки), Годы (столбцы),
Стоимость (Sum, значение).
3.10. Из таблицы «СодержаниеЗаявки» выберите всю
информацию о заявках с нулевым количеством товара и
поместите ее (информацию) в таблицу «НулевыеЗаявки».
3.11. Удалите из таблицы «СодержаниеЗаявки» все заявки с
нулевым количеством товара.
3.12. В таблице «НулевыеЗаявки» измените количество
заказанных товаров на другое (вводится как параметр).
3.13. Добавьте записи из таблицы «НулевыеЗаявки» в таб-
лицу «СодержаниеЗаявки».
76
Рис. 4.14. Схема данных БД «Продажа компьютеров»
77
3.1. Выведите продажи, совершенные после 01.09.2004
года, в которых были проданы принтеры.
Структура запроса: ДатаПродажи, Клиент, Товар,
Количество, ЦенаЗаЕдиницу, Стоимость (поле «Стоимость»
создайте при помощи Построителя выражений).
3.2. Выведите весенние продажи, в которых был продан
товар в количестве, большем 1. Структура запроса:
ДатаПродажи, Клиент, Товар, Количество, ЦенаЗаЕдиницу,
Стоимость (условие о весенних месяцах создайте при помощи
встроенной функции Month и оператора And).
3.3. Выберите из базы данных все продажи товаров,
которые начинаются с некоторого набора символов (вводится как
параметр), за 2004 год. Структура запроса: ДатаПродажи,
Клиент, ТипТоваров, Количество, Стоимость.
3.4. Выберите из базы данных все продажи, в которых
участвовали товары, произведенные в некоторой стране
(вводится как параметр), и стоимость которых больше некоторой
величины (вводится как параметр). Структура запроса:
ДатаПродажи, ТипТоваров, Товар, Производитель, Количество,
Стоимость.
3.5. Определите суммарную стоимость каждой продажи.
Структура запроса: ДатаПродажи, Клиент, Стоимость.
3.6. Определите среднюю стоимость летних продаж.
Структура вспомогательного запроса: КодПродажи, Сумм-
Стоимость. Структура основного запроса: СредняяСтоимость.
3.7. Выберите из базы данных все продажи некоторого года
(вводится как параметр), у которых стоимость больше средней
стоимости летних продаж.
Структура вспомогательного запроса: ДатаПродажи,
Клиент, Стоимость (группировка для расчета стоимости и
условие на год продажи). Структура основного запроса:
ДатаПродажи, Клиент, Стоимость (используются
вспомогательный запрос и запрос 3.6 для условия отбора по
стоимости продаж).
3.8. Определите количество компьютеров, проданных в
каждый месяц каждого года, начиная с 2001 года.
Структура запроса: Месяцы (строки), Годы (столбцы),
Количество (Sum, значение).
3.9. Определите стоимость продаж 2003 и 2004 годов по
каждому типу товаров для каждой страны-производителя.
78
Структура запроса: ТипТоваров (строки), Страна
(столбцы), Стоимость (Sum, значение).
79
3.10. Из таблицы «СодержаниеПродажи» выберите всю ин-
формацию о продажах с нулевым количеством товара и
поместите ее в таблицу «НулевыеПродажи».
3.11. Удалите из таблицы «СодержаниеПродажи» все
продажи с нулевым количеством товара.
3.12. Измените в таблице «НулевыеПродажи» количество
проданных товаров на другое (вводится как параметр).
3.13. Добавьте записи из таблицы «НулевыеПродажи» в
таблицу «СодержаниеПродажи».
80
• по убыванию средней цены за единицу лекарства.
Добавьте условие отбора таким образом, чтобы:
• подсчитать суммарное количество проданных лекарств с
процентами оплаты «50 %» или «10 %»;
• подсчитать среднюю цену за единицу товара по изготови-
телю «Биохимик».
Добавьте в запрос о средней цене после поля «Изготовитель»
поле «Страна», чтобы получилась структура запроса: Изготови-
тель, Страна, Avg - ЦенаЗаЕдиницу.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите продажи после 01.11.2004 года, в которых
были проданы лекарства с неполной оплатой.
Структура запроса: ДатаПродажи, Клиент, Лекарство,
ПроцентОплаты, Количество, ЦенаЗаЕдиницу, Стоимость (поле
«Стоимость» создайте при помощи Построителя выражений).
3.2. Выведите летние продажи, в которых было продано
лекарство в количестве, большем 1. Структура: ДатаПродажи,
Клиент, Лекарство, Процент-Оплаты, Количество,
ЦенаЗаЕдиницу, Стоимость (условие о летних месяцах создайте
при помощи функции Month и оператора And).
3.3. Выберите из базы данных информацию о продажах
лекарств, название которых начинаются с некоторого набора
символов (вводится как параметр), за 2003 год.
Структура запроса: ДатаПродажи, Клиент, Лекарство,
Количество, ПроцентОплаты, Стоимость.
3.4. Выберите из базы данных информацию о продажах, в
которых участвовали лекарства, изготовленные в некоторой
стране (вводится как параметр) и стоимость которых меньше
некоторой величины (вводится как параметр).
Структура: ДатаПродажи, Лекарство, Страна, Стоимость.
3.5. Определите суммарную стоимость каждой продажи.
Структура запроса: ДатаПродажи, Клиент, Стоимость.
3.6. Определите среднюю стоимость осенне-зимних
продаж. Структура вспомогательного запроса: КодПродажи,
Сумм-Стоимость. Структура основного запроса:
СредняяСтоимость.
3.7. Выберите из базы данных все продажи некоторого года
(вводится как параметр), у которых стоимость больше средней
81
стоимости для осенне-зимних продаж.
82
Структура вспомогательного запроса: ДатаПродажи,
Клиент, Стоимость (группировка для расчета стоимости и
условие на год продажи). Структура основного запроса:
ДатаПродажи, Клиент, Стоимость (используются
вспомогательный запрос и запрос 3.6 для условия отбора по
стоимости продаж).
3.8. Определите количество каждого лекарства, проданного
в каждый год, начиная с 2001 года. Структура запроса:
Лекарство (строки), Годы (столбцы), Количество (Sum, значение).
3.9. Определите стоимость продаж 2003 и 2004 годов по
каждому месяцу для каждого изготовителя. Структура: Месяцы
(строки), Изготовитель (столбцы), Стоимость (Sum, значение).
3.10. Из таблицы «СодержаниеПродажи» выберите всю
информацию о продажах лекарств с нулевым процентом оплаты
и поместите ее в таблицу «Бесплатные».
3.11. Удалите из таблицы «СодержаниеПродажи» все
продажи лекарств с нулевым процентом оплаты.
3.12. Уменьшите в таблице «Бесплатные» количество
лекарства на 1, при условии, что количество лекарства больше 0.
3.13. Добавьте записи из таблицы «Бесплатные» в таблицу
«СодержаниеПродажи».
83
2. Изучите создание простого запроса на выборку мастером.
84
• Подсчитайте суммарное количество проданной обуви
каждого типа. Структура: ТипТоваров, Sum - Количество.
• Подсчитайте среднюю цену за пару обуви по каждому
изготовителю. Структура: Изготовитель, Avg - ЦенаЗаЕдиницу.
Рассмотрите созданные с помощью мастера запросы в режиме
Конструктора. Обратите внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи по:
• возрастанию суммарного количества проданной обуви;
• убыванию средней цены за пару обуви.
Добавьте условие отбора таким образом, чтобы:
• подсчитать суммарное количество проданных пар туфель
или кроссовок;
• подсчитать среднюю цену за пару обуви по изготовителю
«Белвест».
Добавьте в запрос о суммарном количестве после поля
«ТипТоваров» поле «Модель», чтобы получилась структура
запроса: ТипТоваров, Модель, Sum - Количество.
Сохранить изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите продажи, совершенные после 01.03.2005
года, в которых были проданы полуботинки или сапоги.
Структура запроса: ДатаПродажи, Клиент, ТипТоваров,
Модель, Количество, ЦенаЗаЕдиницу, Стоимость (поле
«Стоимость» создайте при помощи Построителя выражений).
3.2. Выведите все летние продажи, в которых была продана
обувь изготовителя «Неман».
Структура запроса: ДатаПродажи, Клиент, ТипТоваров,
Модель, Изготовитель, Количество, ЦенаЗаЕдиницу, Стоимость
(условие о летних продажах создайте при помощи встроенной
функции Month и оператора And).
3.3. Выберите из базы данных информацию о продажах
обуви, тип которой начинается с некоторого набора символов
(вводится как параметр), за 2004 год.
85
Структура запроса: ДатаПродажи, Клиент, ТипТоваров,
Изготовитель, Модель, Количество, Стоимость, Подарок.
3.4. Выберите из базы данных информацию о продажах, в
которых участвовала обувь, изготовленная некоторой фирмой
(вводится как параметр), и стоимость которых не меньше
некоторой величины (вводится как параметр). Структура
запроса: ДатаПродажи, ТипТоваров, Изготовитель, Стоимость.
3.5. Определите суммарную стоимость и цену подарка
каждой продажи. Структура запроса: ДатаПродажи, Клиент,
Стоимость, ЦенаПодарка.
3.6. Определите среднюю стоимость зимних продаж.
Структура вспомогательного запроса: КодПродажи, Сумм-
Стоимость. Структура основного запроса: СредняяСтоимость.
3.7. Выберите из базы данных все продажи некоторого года
(вводится как параметр), у которых стоимость не больше средней
стоимости зимних продаж.
Структура вспомогательного запроса: ДатаПродажи,
Клиент, Стоимость (группировка для расчета стоимости и
условие на год продажи). Структура основного запроса:
ДатаПродажи, Клиент, Стоимость (используются
вспомогательный запрос и запрос 3.6 для условия отбора по
стоимости продаж).
3.8. Определите количество каждого типа обуви,
проданного в каждый год, начиная с 2001 года. Структура:
ТипТоваров (строки), Годы (столбцы), Количество (Sum,
значение).
3.9. Определите стоимость продаж сезона сентябрь 2003
года – август 2004 года по каждому месяцу для каждого
изготовителя. Структура запроса: Месяцы (строки),
Изготовитель (столбцы), Стоимость (Sum, значение).
3.10. Из таблицы «СодержаниеПродажи» выберите всю
информацию о продажах с нулевым количеством товара и
поместите ее в таблицу «НулевыеПродажи».
3.11. Удалите из таблицы «СодержаниеПродажи» все
продажи с нулевым количеством товара.
3.12. Измените в таблице «НулевыеПродажи» количество
проданных товаров на другое (вводится как параметр).
3.13. Добавьте записи из таблицы «НулевыеПродажи» в
таблицу «СодержаниеПродажи».
86
87
6. База данных «Ремонт автомобилей».
1. Приведите схему данных созданной БД «Ремонт
автомобилей» к виду, указанному на рис. 4.17.
88
• подсчитайте среднюю стоимость работ, выполненных
Петровым П.П.
Добавьте в запрос о средней цене после поля «ФИОКлиента»
поле «АдресКлиента», так, чтобы получилась структура запроса:
ФИОКлиента, АдресКлиента, Avg - Стоимость.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите суммарную стоимость заявок, совершенных
после 01.07.2005 года, в которых участвовали автомобили
«Ауди». Структура запроса: ДатаПриема, ФИОКлиента, Марка,
Стоимость (по полю «Стоимость» групповая операция Sum).
3.2. Выведите весенние и летние заявки Иванова И.И.
Структура запроса: ДатаПриема, ФИОКлиента, Марка,
Стоимость (условие на дату создайте при Помощи построителя
выражений, используйте функцию Month и оператор And).
3.3. Выберите из базы данных информацию о выполненных
в 2004 году заявках по ремонту автомобилей, марки которых
начинаются с некоторого набора символов (вводится как
параметр).
Структура запроса: Марка, ФИОКлиента, Название,
ДатаПриема, ДатаВыполнения, Признак, Стоимость.
3.4. Выберите из базы данных информацию о заявках
клиентов, фамилии которых начинаются с некоторой буквы
(вводится как параметр) или стоимость которых больше
некоторой суммы (вводится как параметр). Структура: Марка,
ФИОКлиента, Название, ДатаПриема, ДатаВыполнения, Признак,
Стоимость.
3.5. Определите суммарную стоимость заявок каждого
клиента после 01.01.2003 года, выполненных меньше чем за
неделю.
Структура запроса: ФИОКлиента, Стоимость.
3.6. Определите среднюю стоимость выполненных летом
заявок. Структура вспомогательного запроса: КодЗаявки, Сумм-
Стоимость. Структура основного запроса: СредняяСтоимость.
3.7. Выберите из базы данных все заявки некоторого года
(вводится как параметр), у которых стоимость составляет хотя бы
70 % от средней стоимости выполненных летом заявок.
Структура запроса: ДатаПриема, ФИОКлиента, Стоимость
(используется запрос 3.6 в качестве вспомогательного запроса).
3.8. Найдите количество автомобилей каждой марки по
89
каждой работ, выполненной с 01.06.2003 года. Структура:
Марка (строки), Название (столбцы), КодАвтомобиля (Count,
значение).
3.9. Определите стоимость всех принятых заявок по
каждому месяцу для каждого года начиная с 2002 года.
Структура запроса: Месяцы (строки), Годы (столбцы),
Стоимость (Sum, значение).
3.10. Из таблицы «Заявки» выберите информацию о
невыполненных заявках и поместите ее в таблицу
«Невыполненные».
3.11. Удалите из таблицы «Заявки» невыполненные заявки.
3.12. Измените в таблице «Невыполненные» признак на
«выполнена» для некоторого клиента (вводится как параметр).
3.13. Добавьте записи по выполненным заявкам из таблицы
«Невыполненные» в таблицу «Заявки».
90
КоличествоЭкземпляров.
Рассмотрите созданные с помощью мастера запросы в режиме
Конструктора. Обратите внимание на:
─ схему данных запроса (верхняя часть окна Конструктора):
список таблиц-источников и связь между ними;
─ бланк запроса (нижняя часть окна).
Ознакомьтесь с функциями каждой строки бланка запроса:
«Поле», «Имя таблицы», «Групповая операция», «Сортировка»,
«Вывод на экран», «Условие отбора», «или».
Отсортируйте записи в запросах по:
• возрастанию общего количества выданной литературы;
• убыванию общего количества экземпляров.
Добавьте условие отбора таким образом, чтобы:
• подсчитать общее количество возвращенной литературы на
конкретную дату;
• подсчитать общее количество утерянных книг по
различным тематикам.
Добавьте в запрос об общем количестве после поля
«Тематика» поле «Издательство», так, чтобы получилась
структура запроса: Тематика, Издательство,
Sum – КоличествоЭкземпляров.
Сохраните изменения в запросах.
3. Создайте запросы с помощью Конструктора.
3.1. Выведите все утерянные книги по «АХД» или
«Финансам и кредиту». Структура запроса: НазваниеКниги,
Тематика, Автор/ы, ФамилияЧитателя, ОплатаПотери (поле
«ОплатаПотери» создайте при помощи Построителя выражений,
причем стоимость утерянной книги взимается в трехкратном
размере).
3.2. Выведите осенние закупки литературы, в которых
закуплена литература издательства «Дело ЛТД».
Структура запроса: ДатаПриобретения, НазваниеКниги,
Тематика, Автор, КоличествоЭкземпляров, Стоимость (условие
об осенних приобретениях литературы создайте при помощи
встроенной функции Month и оператора And).
3.3. Выберите из базы данных информацию об утерянных
книгах, название которых начинается с некоторого набора
символов (вводится как параметр), в 2005 году.
Структура запроса: ДатаВыдачи, ФамилияЧитателя, Наз-
ваниеКниги, НазваниеИздательства, ЦенаКниги.
91
3.4. Выберите из базы данных информацию о выданных
книгах по определенной тематике (вводится как параметр) и от
даты возврата которых до текущей даты прошло более чем
некоторое количество дней (вводится как параметр).
Структура запроса: НазваниеКниги, ФамилияЧитателя,
Автор, ДатаВыдачи, ДатаВозврата.
3.5. Определите общую сумму денег, выплаченных
должниками за утерянные книги до даты 01.01.2006 года.
Структура запроса: ОбщаяСумма.
3.6. Определите название книг, больше половины которых
было утеряно. Структура вспомогательного запроса:
НазваниеКниги, КоличествоУтерянных, ПризнакВозврата.
Структура основного запроса: НазваниеКниги,
КоличествоЭкземпляров.
3.7. Выберите из базы данных те тематики, по которым
необходима дополнительная закупка литературы.
Структура I-го вспомогательного запроса: Тематика,
ОбщееКоличество. Структура II-го вспомогательного запроса:
Тематика, ВсегоВзятоКниг.
Структура основного запроса: Тематика, НехваткаКниг
(вводится как параметр, поле НехваткаКниг= ВсегоВзятоКниг/
ОбщееКоличество).
3.8. Определите общее количество утерянных книг каждым
читателем по каждой тематике до 2003 года.
Структура запроса: ФамилияЧитателя (строки), Тематика
(столбцы), Количество (Sum, значение).
3.9. Определите стоимость закупленной литературы за
период сентябрь 2004 года – октябрь 2005 года по каждому
издательству каждый месяц. Структура запроса: Месяцы
(столбцы), Издательство (строки), Стоимость (Sum, значение).
3.10. Из таблицы «Выдача литературы» выберите всю
информацию о выдаче литературы, совершенной до 2005 года
(при условии, что эта литература не была возвращена), и
поместите ее в таблицу «Долги».
3.11. Удалите из таблицы «Выдача литературы» записи о
выдаче литературы, совершенной до 2005 года (при условии, что
эта литература не была возвращена).
3.12. Измените в таблице «Долги» дату выдачи на
сегодняшнее число минус 2 недели.
92
3.13. Добавьте записи из таблицы «Долги» в таблицу
«Выдача литературы».
93
4.2. Формы
Формы являются типом объектов базы данных, который
обычно используется для отображения данных в базе данных.
Форму можно также использовать как кнопочную форму,
открывающую другие формы или отчеты базы данных, а также
как пользовательское диалоговое окно для ввода данных и
выполнения действий, определяемых введенными данными.
Большинство форм являются присоединенными к одной или
нескольким таблицам и запросам из базы данных. Источником
записей формы являются поля в базовых таблицах и запросах.
Форма не должна включать все поля из каждой таблицы или
запроса, на основе которых она создается.
Присоединенная форма получает данные из базового
источника записей. Другие выводящиеся в форме сведения, такие
как заголовок, дата и номера страниц, сохраняются в макете
формы.
Связь между формой и ее источником записей создается при
помощи графических объектов, которые называют элементами
управления. Наиболее часто используемым для вывода и ввода
данных типов элементов управления является поле.
Элемент управления − объект графического интерфейса
пользователя (такой как поле, флажок, полоса прокрутки или
кнопка), позволяющий пользователям управлять приложением.
Элементы управления используются для отображения данных
или параметров, для выполнения действий либо для упрощения
работы с интерфейсом пользователя.
Формы можно также открывать в режиме сводной таблицы
или в режиме диаграммы для анализа данных.
Создание формы
Быстро создать форму помогают команда «Автоформа» или
мастер. С помощью автоформ можно создавать формы, в которых
выводятся все поля и записи базовой таблицы или запроса.
Мастер выводит на экран вопросы и создает форму на основании
ответов пользователя. После этого пользователь имеет
возможность доработать и изменить форму в режиме
конструктора.
Настройка формы в режиме конструктора
В режиме конструктора используются следующие способы
94
настройки формы.
95
связаны таким образом, что в подчиненной форме выводятся
только те записи, которые связаны с текущей записью в главной
форме.
96
2. Убедиться, что кнопка «Мастер» на панели элементов
нажата.
3. Нажать кнопку «Подчиненная форма/отчет» на панели
элементов.
4. В форме щелкнуть место, в которое следует поместить
подчиненную форму.
5. Следовать инструкциям в диалоговых окнах мастера.
6. После нажатия кнопки «Готово» MS Access добавит
элемент управления подчиненной формы в форму. Будет также
создана отдельная форма для подчиненной формы.
Примечание. Имеется возможность одновременно создавать
форму с подчиненной формой (Формы→Создать→Мастер форм
→ В первом диалоговом окне «Создание форм» выбрать
необходимые поля из связанных отношением «один-ко-многим»
таблиц, далее следовать инструкциям в диалоговых окнах
мастера).
97
Создание отчета
Мастера помогают быстро создать отчеты различных типов.
Так, например, мастер наклеек используется для создания
почтовых наклеек, мастер диаграмм помогает создать диаграмму,
а мастер отчетов — создавать стандартные отчеты. Мастер
выводит на экран вопросы и создает отчет на основании ответов
пользователя. Пользователь имеет возможность доработать и
изменить отчет в режиме конструктора.
Настройка отчета
Можно настроить отчет следующими способами.
Источник записей. Изменить таблицы или запрос, на котором
основан отчет.
Сортировка и группировка данных. Можно сортировать
данные по возрастанию и по убыванию. Также можно
группировать записи по одному или нескольким полям и
отображать промежуточные и общие итоги в отчете.
Окно отчета. Можно добавить или удалить кнопки
Развернуть и Свернуть, изменить текст заголовка и другие
элементы окна отчета.
Разделы. Можно добавить, удалить, скрыть или изменить
размер подписи, примечания и области данных отчета. Можно
также задавать свойства разделов, определяющие вид отчета на
экране и при печати.
Элементы управления. Пользователь может перемещать
элементы управления, изменять их размеры и задавать свойства
шрифта для элементов. В отчет можно также добавлять элементы
управления для отображения вычисляемых значений, итогов,
текущей даты и времени и других полезных сведений.
98
4.4. Экспорт данных и объектов базы данных
Экспорт в веб-страницу
Существуют четыре способа использования данных Microsoft
Access или объектов базы данных для создания веб-страницы.
1. В веб-обозревателе, который поддерживает версию 4.0 или
более позднюю версию динамического HTML, можно
использовать страницы доступа к данным. Страницы доступа к
данным не являются самостоятельными объектами; страница
доступа к данным создается как объект базы данных, который
фактически является ссылкой на HTML-файл, соответствующий
странице доступа к данным. Страницы доступа к данным
используются для просмотра, редактирования, обновления,
удаления, отбора, группировки и сортировки изменяющихся
данных из базы данных Microsoft Access или базы данных
Microsoft SQL Server.
2. Генерируемые сервером файлы HTML (ASP или IDC/HTX)
можно создавать из таблиц, запросов и форм. Генерируемые
сервером файлы HTML отображаются в обозревателе в
табличном формате. Используйте генерируемые сервером файлы
99
HTML при использовании любого веб-обозревателя, частом
изменении данных или если требуется просматривать текущие
данные в таблице, подключенной к источнику данных ODBC,
но не требуется обновлять или взаимодействовать с данными.
Источник данных ODBC – данные и сведения, необходимые
для доступа к этим данным из программ и баз данных,
поддерживающих протокол ODBC (Open Database Connectivity).
3. Статические HTML-файлы можно создавать из таблиц,
запросов, форм и отчетов. В веб-обозревателе отчеты
отображаются в формате отчетов. Таблицы, запросы и формы
отображаются в формате таблиц. Используйте статические файлы
HTML при работе с любым веб-обозревателем, поддерживающим
HTML версии 3.2 или более поздней, когда данные изменяются
не слишком часто.
4. Можно сохранить форму или отчет как страницу доступа к
данным с помощью команды Сохранить как в меню Файл. Это
позволяет использовать форму или отчет как веб-страницу.
Экспорт и обмен данными с MS Word или другим
текстовым процессором
Существуют три способа использования данных MS Access с
текстовыми процессорами.
1. В базе данных MS Access можно с помощью мастера
составных документов MS Word создать составной документ в
MS Word 2002, связанный с данными MS Access 2002. После
создания связи можно в любое время открыть документ в MS
Word для печати нового пакета документов на бланке или
наклеек с использованием текущих данных MS Access.
2. Для любой версии MS Word допускается экспорт данных
MS Access в файл источника данных для слияния, который может
быть использован средством слияния MS Word.
3. Выходные данные таблицы, формы или отчета можно
сохранять в виде файлов формата RTF (.rtf) или текстового
формата (.txt). Файлы в формате RTF сохраняют
форматирование, такое как шрифты и стили, и могут быть
открыты в MS Word и других текстовых процессорах и
издательских программах для Microsoft Windows.
Экспорт в формат MS Excel или в формат других
электронных таблиц
Существуют три способа использования данных MS Access с
100
MS Excel или другими редакторами электронных таблиц.
1. Таблицы можно экспортировать в Excel или другие
программы электронных таблиц в виде неформатированных
данных.
2. Выходные данные таблиц, форм или отчетов можно
сохранить непосредственно в виде файла (.xls) или листа MS
Excel. В этом случае лучше всего сохраняются элементы
форматирования, такие как шрифты и цвета. Уровни группировки
отчета сохраняются как уровни структуры MS Excel, а форма —
как таблица данных.
3. Можно также экспортировать данные из таблицы,
запроса/представления, объекта в режиме таблицы, формы или
отчета в XML-файл, который затем импортируется в MS Excel.
101
может потребоваться, например, для использования таблицы из
другой базы данных MS Access при совместной работе в сети.
Это особенно полезно при необходимости хранить все таблицы в
одной базе данных на сетевом сервере, сохраняя формы, отчеты и
другие объекты в отдельной базе данных, копии которой имеются
у всех пользователей общей базы данных. Существующую базу
данных легко разделить на две базы данных, которые называют
клиентской и серверной.
• Если данные, которые требуется использовать в базе
данных MS Access, также обновляются другими приложениями,
их следует связать. При таком подходе сохраняются текущие
способы обновления, совместного использования данных и
управления ими, а также появляется возможность работать с
данными в MS Access. Например, можно создать запросы, формы
и отчеты, в которых используются внешние данные, объединить
внешние данные с данными из таблиц MS Access и даже
просматривать и редактировать внешние данные, когда другие
пользователи работают с ними в исходной программе.
• Связывание может также потребоваться для таблиц SQL
Server из другого проекта MS Access. Пользователь имеет
возможность создать представление связанной таблицы с
помощью мастера связанных таблиц. Такие представления могут
затем использоваться в формах, отчетах, страницах доступа к
данным и запросах аналогично любым другим таблицам.
Создание форм
1. Создайте формы для таблиц БД следующими способами:
1) при помощи Автоформы на основе таблицы: Окно
БД → вкладка Формы → кнопка «Создать» (создается форма, в
которой выводятся все поля и записи базовой таблицы или
запроса);
2) при помощи Автоформы в столбец на основе
источника записей, выделенного в окне базы данных.
Примеры выполнения задания б).
Для БД «Сессия». В окне БД выделите таблицу
«Студенты» → меню Вставка → команда Автоформа
(поскольку таблица «Студенты» связана с таблицей «Сессии»,
102
автоформа добавляет подчиненную форму, которая содержит
таблицу «Сессии», отображаемую как таблица).
Для БД «Изготовление мебели». В окне БД выделите
таблицу «Заявки» → меню Вставка → команда Автоформа
(поскольку таблица «Заявки» связана с таблицей
«СодержаниеЗаявки», автоформа добавляет подчиненную
форму, которая содержит таблицу «СодержаниеЗаявки»,
отображаемую как таблица).
Для БД «Продажа компьютеров», «Продажа лекарств»
и «Продажа обуви». В окне БД выделите таблицу «Заголовок
Продажи» → меню Вставка → команда Автоформа (поскольку
таблица «ЗаголовокПродажи» связана с таблицей
«СодержаниеПродажи», то автоформа добавляет подчиненную
форму, которая содержит таблицу «СодержаниеПродажи»,
отображаемую как таблица).
Для БД «Ремонт автомобилей». В окне БД выделите
таблицу «Автомобили» → меню Вставка → команда Автоформа
(поскольку таблица «Автомобили» связана с таблицей «Заявки»,
автоформа добавляет подчиненную форму, которая содержит
таблицу «Заявки», отображаемую как таблица).
Для БД «Библиотека». В окне БД выделите таблицу
«Издательства» → меню Вставка → команда Автоформа
(поскольку таблица «Издательства» связана с таблицей
«Литература», автоформа добавляет подчиненную форму,
которая содержит таблицу «Литература», отображаемую как
таблица);
3) с использованием Мастеров формы на основе одной
или нескольких таблиц: Окно БД→вкладка Формы→кнопка
Создать.
2. Созданные в пункте 1 формы отредактируйте в режиме
Конструктора: Окно БД → вкладка Формы → выбрать форму →
кнопка «Конструктор».
3. Рассмотрите возможность создания главной и подчиненной
форм в режиме Конструктора: Окно БД → вкладка Формы→
кнопка «Создать» → создать главную форму → нажать кнопку
«Подчиненная форма/отчет» на панели элементов → в форме
щелкнуть место, в которое следует поместить подчиненную
форму → следовать инструкциям мастера.
Создание отчетов
103
1. Создайте отчет с помощью мастера отчетов (создать запрос
→ Окно БД → вкладка Отчеты → кнопка «Создать» → Мастер
отчетов).
Для БД «Сессия». Создайте отчет об экзаменах летней
сессии 2004 года по факультету «ФЭУ» с группировкой по
предметам, сортировкой по возрастанию курса, группы и
фамилии студента и итогами средней оценки по предмету.
Для БД «Изготовление мебели». Создайте отчет о
выполненных заявках товаров 2004 года с группировкой по
товарам, сортировкой по возрастанию даты заявки и названия
клиента и суммарными итогами количества и стоимости по
товару.
Для БД «Продажа компьютеров». Создайте отчет о
продажах товаров за 2005 год с группировкой по типу товаров,
сортировкой по возрастанию даты продажи и названия клиента и
суммарными итогами количества и стоимости по товару.
Для БД «Продажа лекарств». Создайте отчет о продажах
лекарств за сентябрь 2003 года – август 2004 года с группировкой
по проценту оплаты, сортировкой по возрастанию даты продажи
и названия клиента и суммарными итогами количества и
стоимости по лекарству.
Для БД «Продажа обуви». Создайте отчет о продажах
товаров в 2003 – 2004 годах с группировкой по типу товаров,
сортировкой по возрастанию даты продажи и названия клиента и
суммарными итогами количества и стоимости по товару.
Для БД «Библиотека». Создайте отчет о закупленных в 2004
году книгах с группировкой по авторам, сортировкой по
возрастанию даты приобретения книг и их авторам и суммарным
итогом стоимости по тематике книг.
2. Рассмотрите возможность редактирования созданного в
пункте 1 отчета в режиме Конструктора.
3. Опубликуйте полученный отчет в Microsoft Word
(например, Окно БД → вкладка Отчеты → выбрать отчет →
кнопка «Просмотр» → меню Сервис → Связи с Office →
Публикация в Microsoft Word).
4. Экспортируйте полученный отчет в Microsoft Excel
(например, Окно БД → вкладка Отчеты → выбрать отчет →
кнопка «Просмотр» → меню Сервис → Связи с Office → Анализ в
Microsoft Excel).
104
105
5. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Вариант 1
1. Определите среднюю стоимость товаров, за период с
20.07.2002 по 20.10.2002 г. отправленных фирме, название
которой начинается с буквы «Т» или «М», или заявок,
отправленных в Германию, в которых стоимость доставки менее
чем в 3 раза превосходит величину, записанную в ячейке К1.
2. Выделите все заявки, отправленные в Швейцарию или
Францию, в которых стоимость товаров не превосходит значения
из задания 1, или заявки, отправленные по почте, стоимость
доставки в которых отличается от значения, записанного в ячейке
К1 не менее чем на 25 %.
Вариант 2
1. Найдите минимальную стоимость товаров, отправленных в
страны, в названии которых вторая буква «Р», или заявок,
отправленных не по почте, в которых стоимость доставки
находится в диапазоне от значения в ячейке К1 до значения в
ячейке К2.
2. Выделите все заявки за 2002 год, в которых стоимость
товаров более чем в 4 раза превосходит значение из задания 1,
или заявки, оформленные сотрудником, фамилия которого
начинается с Кр и стоимость доставки в которых отличается от
значения, записанного в ячейку К1 более чем на 15 %.
Вариант 3
1. Найдите среднюю стоимость доставки весенних заказов в
Австрию или Францию по почте, стоимость товаров в которых не
более чем в 2 раза превышает величину, записанную в ячейке К1.
2. Выделите все заказы, оформленные сотрудником, фамилия
которого начинается с буквы «Б», отправленные в США или
Канаду, стоимость доставки которых отличается менее чем на 25
106
% от величины из задания 1, или заказы, доставленные
Ространсом, стоимость товаров в которых больше величины,
записанной в ячейке К2.
Вариант 4
1. Определите минимальную стоимость товаров,
отправленных не в Швейцарию в третьем квартале сотрудниками
Бабкиной или Ясеневой.
2. Выделите все заказы, оформленные в города, название
которых начинается на букву «Р», стоимость доставок в которых
отличается не менее чем на 15 % от величины, записанной в
ячейке К1, или заказы, доставленные по почте, стоимость товаров
в которых превосходит значение из задания 1 не более чем в 1,5
раза.
Вариант 5
1. Определите минимальную стоимость доставок Ространсом
за 2003 год в Швецию или Финляндию, стоимость товаров в
которых меньше величины, записанной в ячейке К1.
2. Выделите все заказы в страны, название которых
начинается с буквы В, стоимость товаров в которых отличается
более чем на 20 % от величины, записанной в ячейке К1, или
заказы в Бразилию, отправленные по почте, стоимость доставки в
которых превосходит значение из задания 1.
Вариант 6
1. Определите максимальную стоимость доставки в весенних
заказах по почте или Ространсом, стоимость товаров в которых
находится в диапазоне значений от содержимого ячейки К1 до
содержимого ячейки К2.
2. Выделите все заказы, оформленные в страны, название
которых начинается с буквы В, стоимость доставки в которых
отличается более чем на 15 % от величины из задания 1, или
заказы, отправленные не по почте, стоимость товаров в которых
превышает величину, записанную в ячейке К1.
107
2. Данные для выполнения заданий по Microsoft Access
Вариант 1
1. Выделите все продажи товара, название которого
начинается с некотрой буквы (вводится как параметр) за 2003
год, или продажи 2004 года, количество проданного товара в
которых отличается не более чем на 15 % от некоторой величины
(вводится как параметр).
Структура зароса: Дата, Название клиента, Наименование
товара, Цена за единицу, Количество товара, Стоимость
2. Выберите из базы данных все продажи некоторого года
(вводится как параметр), у которых стоимость заявки (цена за
единицу*количество+стоимость доставки) больше средней
стоимости зимних заявок (использовать вспомогательный
запрос).
Структура вспомогательного запроса: СредяяСтоимость.
Структура основного запроса: Дата, НомерСделки, Название
Клиента, НаименованиеТовара, Стоимость
3. Определите среднее количество товаров, проданных летом,
в зависимости от наименования товара (столбцы) и номера
сделки (строки).
108
Вариант 2
1. Выделите все зимние продажи, в которых участвовали
клиенты, название которых начинается с некоторой буквы
(вводится как параметр), или продажи 2004 года, в которых
процент наценки не превосходит некоторой величины (вводится
как параметр).
Структура запроса: Дата, НазваниеКлиента, Наименование
Товара, Операция, КоличествоТовара, %наценки, Стоимость.
2. Для каждого клиента выделите все заявки, стоимость (цена
за единицу*количество+ стоимость доставки) которых
отличается не менее чем на 25 % от средней стоимости заявок за
2004 год (использовать вспомогательные запросы).
Структура 1-го вспомогательного запроса: Клиент,
Стоимость (групповая операция Sum). Структура 2-го
вспомогательного запроса: СредяяСтоимость.
Структура основного запроса: Дата, Номер Сделки,
НазваниеКлиента, НаименованиеТовара, Стоимость.
3. Определите общую стоимость продаж для каждого клиента
(строки) по каждому месяцу (столбцы).
Вариант 3
1. Выделите все летние сделки товара, наименование кото-
рого начинается с некоторой буквы (вводится как параметр), или
сделки 2004 года, количество товара в которых отличается более
чем на 25 % от некоторой величины (вводится как параметр).
Структура запроса: Дата, НазваниеКлиента, Наименование-
Товара, КоличествоТовара, ЦенаЗаЕдиницу, Стоимость.
2. Выберите из базы данных все сделки некоторого года
(вводится как параметр), у которых стоимость сделки (Sum
(ЦенаЗаЕдиницу * КоличествоТовара) + СтоимостьДоставки)
больше некоторой величины (вводится как параметр)
(использовать вспомогательный запрос).
Структура вспомогательного запроса для группировки: Дата,
НомерСделки, НазваниеКлиента, СуммСтоимБезДоставки, Стои-
мостьДоставки.
Структура основного запроса: Дата, НомерСделки, Название
Клиента, Стоимость.
109
3. Определите суммарное количество товаров в сделках 2004
года в зависимости от наименования товара (столбцы) и номера
сделки (строки).
Вариант 4
1. Выделите все зимние сделки, в которых участвовали
клиенты, название которых начинается с некоторой буквы
(вводится как параметр), или сделки 2003 года, в которых
процент наценки превосходит некоторую величину (вводится как
параметр).
Структура: Дата, НазваниеКлиента, НаименованиеТовара,
КоличествоТовара, ЦенаЗаЕдиницу, Стоимость, %наценки.
2. Для каждого клиента найдите среднюю стоимость сделки
(Стоимость = Sum (ЦенаЗаЕдиницу * КоличествоТовара) +
СтоимостьДоставки) некоторого года (использовать
вспомогательный запрос).
Структура вспомогательного запроса: Дата, НазваниеКли-
ента, СуммСтоимБезДоставки, СтоимостьДоставки.
Структура основного запроса: НазваниеКлиента, Средняя
Стоимость.
3. Определите общую стоимость сделок для каждого клиента
(строки) по каждому месяцу (столбцы).
Вариант 5
1. Выделите все сделки клиента, название которого
начинается с некоторой буквы (вводится как параметр) за 2003
год, или сделки второго полугодия, количество товара в которых
отличается не более чем на 25 % от некоторой величины
(вводится как параметр).
Структура зароса: Дата, НазваниеКлиента, Наименование-
Товара, ЦенаЗаЕдиницу, КоличествоТовара, Стоимость.
2. Выберите из базы данных все сделки, осуществленные
сотрудником, работающим в должности, которая начинается с
некоторой буквы (вводится как параметр), у которых стоимость
сделки (Sum (ЦенаЗаЕдиницу * КоличествоТовара) + Стоимость
Доставки) больше некоторой величины (вводится как параметр)
(использовать вспомогательный запрос).
Структура вспомогательного запроса для группировки:
НомерСделки, Фамилия, Должность, СуммСтоимБезДоставки,
Сто-имостьДоставки.
110
Структура основного запроса: НомерСделки, Фамилия,
Должность, Стоимость.
3. Определите суммарное количество товаров, проданных в
2004 году, в зависимости от наименования товара (столбцы) и
названия клиента (строки).
Вариант 6
1. Выделите все сделки первого полугодия, в которых
участвовали товары, наименование которых начинается с
некоторой буквы (вводится как параметр), или сделки 2004 года
со стои-мостью товара в сделке, не меньшей некоторой
величины (вводится как параметр).
Структура запроса: Дата, НаименованиеТовара, Количество
Товара, ЦенаЗаЕдиницу, Стоимость.
2. Для каждого сотрудника найдите среднюю стоимость
сделки (Стоимость = Sum (ЦенаЗаЕдиницу * КоличествоТовара)
+ СтоимостьДоставки) некоторого года (вводится как параметр)
(использовать вспомогательный запрос).
Структура вспомогательного запроса: Дата, Фамилия, Сумм
СтоимБезДоставки, СтоимостьДоставки.
Структура основного запроса: Фамилия, СредняяСтоимость.
3. Определите общую стоимость сделок для каждого товара
(строки) по каждому месяцу (столбцы).
111
СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ
112