
- •Технологии разработки программного обеспечения
- •Реляционное представление данных
- •Типы субд
- •Место и роль субд 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 Главная таблица «Мероприятия»
- •Подчинённая таблица «Персонал»
Запросы
Предположим, что на крупном предприятии есть огромная СУБД Кадры, содержащая подробнейшие сведения о каждом сотруднике. Кроме формальной информации база может содержать и конфиденциальную, например, сведения о заработной плате. Вся эта информация хранится в таблицах.
Работать с базой данных Кадры могут разные подразделения предприятия, и всем им нужны разные данные. Не все то, что положено знать службе безопасности предприятия, должно быть доступно штатному врачу, и наоборот. Поэтому пользователям СУБД доступ к базовым таблицам, как правило, закрывают.
Для доступа к данным есть другое, гораздо более гибкое и удобное средство –запросы. У сотрудника бухгалтерии должен быть запрос, который позволит определить сколько дней в году по болезни отсутствовал тот или иной работник, но у него не должно быть запроса, позволяющего узнать, чем он болел и где лечился, а у главного врача такой запрос быть должен.
Классификация запросов
Рисунок 13 – Классификация запросов
Запросы на выборку
Среди всего многообразия запросов наиболее часто применяемыми являются запросы на выборку, рисунок 13. В результате выполнения такого запроса из исходных таблиц в БД формируется временное представление данных (см. описание к лабораторной работе №3), содержащее необходимую часть общей информации.
Отличия фильтров от запросов на выборку
Запросы – это самостоятельные объекты СУБД, они имеют своё имя, могут быть перенесены из одной СУБД в другую и т.д. Фильтры – это лишь надстройка над таблицей. По сути, фильтр – это частный, очень ограниченный случай запроса на выборку, рисунок 13. Это – основное отличие, предопределяющее все остальные.
Каждая таблица может иметь только один такой фильтр (одна таблица – один фильтр), но с её данными могут работать несколько разных запросов.
Каждый фильтр имеет областью применимости только свою таблицу (один фильтр – одна таблица), в то время как областью применимости запроса является все таблицы в своей БД и даже, возможно, во внешних БД. Кроме того, запрос может использовать данные из других запросов.
Запросы, в отличие от фильтров, могут содержать вычисляемые поля, выполнять группировку и выдавать итоговые вычисления (например, среднюю зарплату по каждому отделу – см. описание к лабораторной работе №5).
Итого, пользуясь терминологией вида связей, можно сказать, что таблицы и фильтры связаны отношением 1-1, а таблицы и запросы – -. Единственным преимуществом фильтров является лёгкость и быстрота их применения, рисунок 7.
Понятие предиката
В запросах, помимо хорошо известных выражений вида 2+3, 14,2*5 и т. п. встречаются и так называемые предикаты. Предикат – это функция, которая из любой своей области определения областью значения имеет только константы Да или Нет.
Чаще всего предикаты встречаются в условиях отбора, где они отвечают на вопрос «Включать или не включать очередную запись в набор?». При выполнении запроса СУБД сначала соединяет множество таблиц в один набор записей, а потом в нём последовательно проходит все записи и для каждой из них проверяет условие отбора. Если условие истинно, то запись включается в итоговый набор представления, если ложно – то не включается.