- •Введение
- •Методические указания
- •1 Состав, содержание и объем курсовой работы
- •2 Оформление курсовой работы
- •2.1 Общие требования к оформлению пояснительной записки по курсовой работе
- •2.2 Построение пояснительной записки по курсовой работе
- •2.3 Изложение текста пояснительной записки дипломного проекта
- •2.4 Оформление приложений пояснительной записки по курсовой работе
- •2.5 Оформление иллюстраций пояснительной записки по курсовой работе
- •2.6 Построение таблиц в пояснительной записке по курсовой работе
- •Раздел 1: «Статистический анализ и прогнозирование в ms Excel»
- •1.1 Пример выполнения задания «Статистический анализ»
- •1. Использование статистических функций.
- •2. Выполнение статистического анализа.
- •1.2 Пример выполнения задания «Прогнозирование данных»
- •Раздел 2: «Финансовые расчеты и оптимизационные задачи в ms Excel»
- •Задания к подразделу 2.1 «Расчеты с использованием финансовых функций в ms Excel»
- •Задания к подразделу 2.2 «Расчеты с использованием подбора параметра в ms Excel»
- •Задания к подразделу 2.3 «Оптимизационные задачи в в ms Excel»
- •Задания к подразделу 2.4 «Использование таблицы подстановки в ms Excel»
- •Задания к подразделу 2.5 «Анализ бизнес-ситуаций с помощью Диспетчера сценариев в ms Excel»
- •2.1 Пример выполнения задания «Расчеты с использованием финансовых функций в ms Excel»
- •2.2 Пример выполнения задания «Расчеты с использованием подбора параметра в ms Excel»
- •2.3 Пример выполнения задания «Оптимизационные задачи в ms Excel»
- •2.4 Пример выполнения задания «Использование таблицы подстановки в ms Excel»
- •1. Использование Таблицы подстановки с одной изменяющейся переменной и несколькими формулами.
- •2. Использование Таблицы подстановки с двумя изменяющимися переменными.
- •2.5 Пример выполнения задания «Анализ бизнес-ситуаций с помощью Диспетчера сценариев в ms Excel»
- •Раздел 3: «Структуризация и первичная обработка в ms Excel»
- •3.1 Пример выполнения задания «Создание списка в режиме «Форма»
- •3.2 Пример выполнения задания «Использование автофильтра и расширенного фильтра»
- •3.3 Пример выполнения задания «Вычисление промежуточных итогов»
- •3.4 Пример выполнения задания «Проведение сводного анализа»
- •Раздел 4: «Управление базами данных в субд ms Access»
- •4.1 Пример выполнения задания «Разработка индивидуальной бд «Туристическая фирма «АлатанТур» Постановка задачи
- •Разработка информационно-логической модели бд «Туристическая фирма «АлатанТур»
- •Создание таблиц бд с помощью Microsoft Access
- •Формирование схемы бд
- •4.2 Пример выполнения задания «Проектирование запросов»
- •Язык запросов и команда select
- •Язык манипулирования данными
- •Язык определения данных
- •4.3 Пример выполнения задания «Проектирование форм»
- •4.4 Пример выполнения задания «Проектирование пользовательских форм при помощи языка sql»
- •4.5. Порядок выполнения задания «Проектирование отчетов»
- •Раздел 5: «Автоматизация подготовки экономических документов в ms Word»
- •Пример выполнения задания «Создание типовых документов с использованием слияния в ms Word и вычислений над полями слияния»
- •Купли – продажи
- •1. Предмет договора.
- •2. Условия договора.
- •Купли – продажи
- •5.3. Пример выполнения задания «Работа с главным и вложенными документами в Word»
- •Примерный список вопросов теоретического раздела:
- •Приложение а
- •Приложение с
- •Финансовые функции и их назначение
- •Список использованной литературы
Язык запросов и команда select
Краткий формат команды SELECT представлен ниже:
SELECT [ ALL | DISTINCT ] {*| [имя_столбца [AS новое_имя]]} [, …n] FROM имя_таблицы [[AS] псевдоним] [, …n] [WHERE <условие_поиска>] [GROUP BY имя_столбца [, …n]] [HAVING <критерии_выбора_групп>] [ORDER BY имя_столбца [, …n]]; |
Обработка элементов оператора выполняется в следующей последовательности:
FROM – определяются имена используемых таблиц;
WHERE – выполняется фильтрация строк объекта в соответствии с заданными условиями;
GROUP BY – образуются группы строк, имеющих одно и то же значение в указанном столбце;
HAVING – фильтруются группы строк объекта в соответствии с указанным условием;
SELECT – устанавливается, какие столбцы должны присутствовать в выходных данных;
ORDER BY – определяется упорядоченность результатов выполнения операторов.
Внимание! Только два предложения и являются обязательными, все остальные могут быть опущены.
Таблица 4.2
Основные предикаты оператора SELECT и примеры выборок
Описание выборки |
Примеры |
Простая выборка SELECT поле1, …, поле2, …, полеN FROM таблица1; Замечания:
|
Выбрать информацию о клиентах: SELECT Фамилия, Имя, Отчество FROM Клиент; |
Выбрать фамилии клиентов: SELECT fio AS ФИО FROM Клиент; | |
Использование псевдонимов – выбрать информацию о количестве заказанных путевок (поле kol) из таблицы Заказ: SELECT Заказ.kol AS [Количество_ заказанных_путевок] FROM Заказ; | |
Выбрать всю информацию из таблицы Клиент: SELECT ALL * FROM Клиент; или SELECT * FROM Клиент; | |
Выбрать, без повторов список имен клиентов: SELECT DISTINCT Имя FROM Клиент; | |
Выборка с условием отбора SELECT поле1, …, поле2, …, полеN FROM таблица1 WHERE условие; Замечания:
|
Выбрать информацию о турах с транспортом авиа: SELECT Название_тура, Транспорт, Проживание FROM Туры WHERE (Транспорт="авиа"); |
Выбрать информацию о турах, цена путевки которых >1 500 €: SELECT Название_тура, Цена_путевки FROM Туры WHERE (Цена_путевки>=1500); | |
Выбрать информацию о турах с ценами в диапазоне от 1000 до 2000 €: SELECT Название_тура, Цена_путевки FROM Туры WHERE Цена_путевки BETWEEN 1000 AND 1500; | |
Выбрать клиентов по имени Анна и Юлия: SELECT Фамилия, Имя, Отчество FROM Клиент WHERE Имя IN ("Анна", "Юлия"); | |
Выбрать фамилии клиентов, начинающиеся на букву К: SELECT Фамилия FROM Клиент WHERE (Фамилия Like "К*"); | |
Выбрать фамилии клиентов, с именами от А до М: SELECT Клиент.Фамилия, Клиент.Имя FROM Клиент WHERE (Клиент.Имя Like "[А- М]*"); | |
Список туров, которые имеются в наличие: SELECT Название_тура, Наличие FROM Туры WHERE Наличие Is Not Null; | |
Выбрать данные для клиентов, фамилии которых начинаются на требуемую букву: PARAMETERS [Введите первую букву] TEXT; SELECT * FROM Клиент WHERE Клиент.Фамилия Like [Введите первую букву]& "*"; | |
Выборка с параметром PARAMETERS [Имя параметра1] ТипДанных1, [Имя параметра2] ТипДанных2; SELECT поле1, …, полеN FROM таблица1 WHERE (поле1=[Имя параметра1] AND (полеN=[Имя параметра2]; Описание типа параметра необходимо для текста, а также в перекрестных запросах. |
Выбрать информацию по любому туру: PARAMETERS [Введите название тура] TEXT; SELECT Название_тура, Цена_путевки FROM Туры WHERE (Название_тура=[Введите название тура]); |
Выбрать клиентов, у которых день рождения в месяце, название которого вводится как параметр: PARAMETERS [Введите месяц] TEXT; SELECT Фамилия, Имя, Отчество, Дата_рождения FROM Клиент WHERE (MonthName(Month(Дата_ рождения))=[Введите месяц]); | |
Выборка с вычислениями SELECT поле1, …, поле2, …, выражение1 AS имя для вычисляемого поля, … FROM таблица1 WHERE условие; Замечания: Для проведения вычислений можно использовать функции разных категорий:
|
На основании данных поля ФИО, содержащего информацию вида Иванов Иван Иванович, сформировать выражение в виде Иванов И. SELECT Клиент.Фамилия, Клиент.Имя, Клиент.Отчество, Фамилия& " "&Left([Имя],InStr([Имя], " ")+1)& "."&Left([Отчество], InStr([Отчество]," ")+1)& "." AS ФИО FROM Клиент; |
Вывести списки клиентов по году рождения, вычисленному по полю [Дата_рождения]: SELECT Фамилия, [Дата_рождения], Year([Дата_рождения]) AS Год FROM Клиент WHERE (Year([Дата_рождения])= [Введите год]); | |
Самая высокая цена на путевки: SELECT Max(Цена_путевки) AS Стоимость FROM Туры; | |
Выборка с упорядочением SELECT поле1, …, поле2, …, полеN FROM таблица1 ORDER BY поле1 [ASC|DESC]; Позволяет управлять порядком вывода результирующей выборки: ASC – по возрастанию (по умолчанию); DESC – по убыванию. |
Выбрать информацию из таблицы Заказ и расположить ее в порядке убывания даты заказ: SELECT * FROM Заказ ORDER BY Дата_заказа DESC;
|
Выборка по связанным таблицам SELECT поле1, …, полеN FROM таблица1 INNER JOIR таблица2 ON таблица1.полеСвязи =таблица2.полеСвязи; Связь таблиц может управляться соединением INNER JOIN, LEFT JOIN или RIGHT JOIN для возможности получения и контроля данных. |
SELECT Клиент.Фамилия, Заказ.Название_тура FROM Клиент INNER JOIN Заказ ON Клиент.Фамилия=Заказ.Название_тура;
|
Таблица 4.3
Агрегирование в операторе SELECT и примеры выборок
Описание выборки |
Примеры |
Группировка и итоговые функции: SELECT поле1, …, итоговая функция AS имя для вычисляемого поля FROM таблица1 GROUP BY поля группировки; Замечание: Все имена полей, приведенные в списке предложения SELECT, должны присутствовать и во фразе GROUP BY – за исключением случаев, когда имя столбца используется в итоговой функции. Обратное правило не является справедливым – во фразе GROUP BY могут быть имена столбцов, отсутствующие в списке предложения SELECT. |
Подсчитать сколько туров было заказано в каком количестве: SELECT Количество_заказанных_путевок, COUNT (Код_тура) AS [Количество_туров] FROM Заказ GROUP BY Количество_заказанных_ путевок ORDER BY Количество_заказанных_ путевок; |
Определить суммарную стоимость каждого тура за каждый месяц: SELECT Туры.Название_тура, Month (Заказ.Дата_заказа) AS Месяц, Sum(Туры.Цена_путевки* Заказ.Количество_заказанных_путевок) AS [Стоимость] FROM Туры INNER JOIN Заказ ON Туры.Код_тура=Заказ.Код_тура GROUP BY Туры.Название_тура, Month(Заказ.Дата_заказа); | |
Группировка и условие отбора: SELECT поле1, …, итоговая функция AS имя для вычисляемого поля FROM таблица1 WHERE условие GROUP BY поля группировки; Если совместно с GROUP BY используется предложение WHERE, то оно обрабатывается первым, а группированию подвергаются только те строки, которые удовлетворяют условию поиска. |
Определить суммарную стоимость каждого тура во Францию_(Париж) за каждый месяц: SELECT Туры.Название_тура, Month(Заказ.Дата_заказа) AS Месяц, Sum(Туры.Цена_путевки*Заказ.Количество_заказанных_путевок) AS [Стоимость] FROM Туры INNER JOIN Заказ ON Туры.Код_тура=Заказ.Код_тура WHERE Туры.Название_тура ="Франция_(Париж)" GROUP BY Туры.Название_тура, Month(Заказ.Дата_заказа); |
Фильтрация после группировки: SELECT поле1, …, итоговая функция AS имя для вычисляемого поля FROM таблица1 GROUP BY поля группировки HAVING условие; При помощи HAVING отражаются все предварительно сгруппированные посредством GROUP BY блоки данных, удовлетворяющие заданным в HAVING условиям. |
Вывести список туров, проданных на сумму более 5000 €: SELECT Туры.Название_тура, Sum(Туры.Цена_путевки*Заказ.Количество_заказанных_путевок) AS [Стоимость] FROM Туры INNER JOIN Заказ ON Туры.Код_тура=Заказ.Код_тура GROUP BY Туры.Название_тура HAVING Sum(Туры.Цена_путевки*Заказ.Количество_заказанных_путевок)>5000;
|
Перекрестный запрос: TRANSFORM Статистическая_функция SELECT имена полей, по которым будет группировка по строкам FROM таблица GROUP BY поля группировки по строкам PIVOT имя поля, из значений которого формируются заголовки столбцов перекрестного запроса;
Перекрестные запросы позволяют формировать результат выборки виде сводной таблицы, где слово PIVOT определяет подписи столбцов, а GROUP BY – определяет подписи строк при выборке и группировании агрегированных данных статистической функцией в слове TRANSFORM. |
Определить суммарное количество путевок, заказанных на каждый тур: TRANSFORM Sum(Заказ!Количество_ заказанных_путевок) AS [Суммарное_ количество_путевок] SELECT Заказ.Код_тура FROM Заказ.Туры WHERE (((Заказ.Дата_заказа) Between #1/1/2008# And #12/31/2008#)) GROUP BY Заказ.Код_тура PIVOT Format(Заказ!Дата_заказа, "mmm","1","1");
Результат запроса: |
Ограничения на выборку: Предикат TOP N [PERCENT] вводится после оператора SELECT и возвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY. Предикат не осуществляет выбор между равными значениями. |
Получить список из 3 клиентов родившихся в октябре: SELECT TOP 3 Фамилия, Имя, Отчество FROM Клиент WHERE (MonthName(Month([Дата_рождения]))= "октябрь") ORDER BY Фамилия DESC; |
Таблица 4.4
Нетривиальные запросы (сложные выборки с подзапросами)
Описание выборки |
Примеры |
Вложенные подзапросы Подзапрос – инструмент создания временной таблицы, содержимое которой извлекается и обрабатывается внешним оператором. Текст подзапроса должен быть заключен в скобки. Подзапрос может извлекать единичное значение и множество значений (табличный подзапрос). |
Найти самого молодого клиента: SELECT Фамилия, [Дата_рождения] FROM Клиент WHERE ([Дата_рождения]= (SELECT MAX ([Дата_рождения]) FROM Клиент)); |
Определить названия туров, которые были заказаны: SELECT Название_тура FROM Туры WHERE Код_тура IN (SELECT Код_тура FROM Заказ); |