
- •Технологии разработки программного обеспечения
- •Реляционное представление данных
- •Типы субд
- •Место и роль субд Microsoft Access®
- •Объекты
- •Особенности интерфейса
- •Режимы работы с бд
- •Порядок выполнения работы
- •Контрольные вопросы
- •Свойства полей. Обзор
- •Регистронезависимость Access
- •Свойства полей Тип данных и Размер поля
- •Приоритеты при разработке субд
- •Проектировочный режим: средства создания объектов
- •Эксплуатационный режим таблиц
- •Порядок выполнения работы
- •Варианты заданий
- •Контрольные вопросы
- •Реализация разделения данных. Ключевые поля
- •Вид связи один-к-одному
- •Вид связи один-ко-многим
- •Вид связи многие-ко-многим
- •Механизм создания ключей
- •Механизм подтаблиц
- •Порядок выполнения работы
- •Варианты заданий
- •Контрольные вопросы
- •Фильтры по выделенному
- •Запросы
- •Классификация запросов
- •Запросы на выборку
- •Отличия фильтров от запросов на выборку
- •Понятие предиката
- •Константы и переменные в запросах
- •Операторы в запросах
- •Бланк запроса в Access
- •Запросы с параметрами
- •Порядок выполнения работы
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Контрольные вопросы
- •Групповые операции
- •Запрос на обновление
- •Встроенные функции
- •Язык sql
- •Порядок выполнения работы
- •Вариант 10
- •Контрольные вопросы
- •Компилируемые и интерпретируемые языки программирования
- •Написание программы на языке Perl
- •Синтаксис языка Perl
- •Функции Perl
- •Порядок выполнения работы
- •Регулярные выражения
- •Операция поиска в строке
- •Оператор замены в строке
- •Обратные ссылки
- •Предопределённые переменные
- •Замена в текстовом файле
- •Функции работы со строками
- •Порядок выполнения работы
- •Подчинённая таблица «Корреспонденция»
- •Вариант 2 Главная таблица «Партнёры»
- •Подчинённая таблица «Сделки»
- •Вариант 3 Главная таблица «Сотрудники»
- •Подчинённая таблица «Поручения»
- •Вариант 4 Главная таблица «Товары»
- •Подчинённая таблица «Сертификаты»
- •Вариант 5 Главная таблица «Заказы»
- •Подчинённая таблица «Заказчики»
- •Вариант 6 Главная таблица «Поставки»
- •Подчинённая таблица «Посредники»
- •Вариант 7 Главная таблица «Терминалы»
- •Подчинённая таблица «Покупки»
- •Вариант 8 Главная таблица «Плательщики»
- •Подчинённая таблица «Счета»
- •Вариант 9 Главная таблица «Проекты»
- •Подчинённая таблица «Исполнители»
- •Вариант 10 Главная таблица «Мероприятия»
- •Подчинённая таблица «Персонал»
Язык sql
Для создания всех видов запросов к СУБД существует специальный язык запросов, который называется SQL (Structured Query Language - структурированный язык запросов). Он был разработан в качестве универсального средства обмена информацией как внутри одной СУБД, так и между различными СУБД, часто с разными форматами хранения данных, идеологией и т.п.
До сих пор мы обходились без него, поскольку имели дело с бланком запроса – оболочкой-посредником между пользователем и БД. Для наших заданий оболочка является более быстрым и удобным средством. Однако не лишне помнить, что все запросы могут быть созданы и в простом текстовом редакторе, а после сохранены в текстовом файле с расширением .sql, после чего запрос можно импортировать в практически любую СУБД. Кроме того, при решении более сложных задач приходится иметь дело напрямую с языком SQL, поскольку оболочка попросту не может охватить все возможные случаи.
В Access возможно увидеть сгенерированный бланком запроса текст SQL-запроса прямо из приложения. Для этого, помимо режимов конструктора и выполнения запросов, существует режим SQL.
Порядок выполнения работы
В соответствии с вариантом задания (п. 1) сконструировать сложный запрос, содержащий итоговые вычисления, вычисляемое поле и сортировки. Проанализировать результаты.
Составить запрос на обновление (п. 2 задания) и запустить его. Открыть таблицу с изменёнными данными в эксплуатационном режиме и убедиться в правильности модификаций.
Открыть оба запроса в режиме SQL. Ознакомиться с текстами запросов.
Варианты заданий
Вариант 1
Выдать наличие скидок и ФИО подписчиков, число изданий, на которые они подписаны, а также их сумму взноса с НДС (18%). Отсортировать выбранные записи по возрастанию – по наличию скидок и по ФИО.
Перейти на семизначную нумерацию городских телефонов подписчиков (спереди добавляется тройка, если номер телефона начинается на 3, 4 или 5, и двойка в противном случае).
Вариант 2
Выдать общую сумму сделок, заключенных партнёром, его фамилию и имя, а также количество дней с последней встречи. Отсортировать полученные записи по общей сумме сделок (по убыванию) и по фамилии контакта (по возрастанию).
Изменить цифры региона в почтовом индексе (первые 3 цифры) для жителей НСО с 630- на 712-.
Вариант 3
Выдать название отдела, фамилию сотрудника, а также отчисления в Пенсионный фонд (4% от зарплаты), если у сотрудника есть невыполненные поручения. Отсортировать выбранные записи по возрастанию – по названию отдела и по фамилии.
Уменьшить на 10% заработную плату тем сотрудникам, которые работают с неполной отдачей, но получают при этом более 15000р.
Вариант 4
Выдать марку товара, его описание, а также дату получения последнего сертификата, если тот был получен после 2007 года, и количество единиц товара, которое возможно продать, оставив на складе минимальный запас на случай крайней необходимости. Отсортировать выбранные записи по марке товара (по возрастанию) и по количеству единиц товара сверх минимального (по убыванию).
Увеличить цену на 10% для тех товаров, которых осталось на складе не больше, чем два минимальных запаса, но поставки которых продолжаются.
Вариант 5
Выдать дату исполнения заказов, имена курьеров, а также число выполненных заказов и общую сумму отчисления НДС (18%) со стоимости их доставки. Отсортировать по дате исполнения (по убыванию) и по имени курьера (по возрастанию).
Увеличить на 15% стоимость доставки тех заказов, которые длятся более трёх дней.
Вариант 6
Выдать дату поставки товара, его название, а также наименьший процент от цены посредников, при условии, что все посредники берут в совокупности не более 50% от цены. Отсортировать выбранные записи по дате поставки (по убыванию) и по названию товара (по возрастанию).
Повысить на четверть цену всех товаров, которые везут в города, чьё название начинается на букву С.
Вариант 7
Выдать время начала работы терминала, ФИО кассира, а также наибольшую сумму покупки за наличный расчёт (без скидок) и количество наличных денег, которое должно быть в кассе (с учётом скидок). Отсортировать выбранные записи по возрастанию – по времени начала работы и по ФИО кассира.
Терминалы №№ 1, 3 и 5 прошли техосмотр сегодня. Зафиксировать это в БД.
Вариант 8
Выдать серию паспорта и ФИО плательщиков, а также среднюю сумму оплаченных ими счетов и почтовые расходы – 3% от суммы, но не менее 10 рублей. Отсортировать выбранные записи по возрастанию – по серии паспорта и по ФИО плательщика.
Добавить по одной собственности всем плательщикам, в чьём номере паспорта содержится комбинация цифр 16 (например, 001600, 716000).
Вариант 9
Выдать дату начала и название проектов, а также суммарную заработную плату всех работников, не являющихся стажёрами, и длительность проекта в месяцах (принять месяц равным 30 дням). Отсортировать выбранные записи по возрастанию – по дате начала и по названию проекта.
Увеличить на 5% оценочную стоимость проектов, которые к началу 2009 года уже начались, но завершены менее чем наполовину.