- •2. Лабораторная работа №2. Проектирование структуры базы данных 16
- •2.1. Общие сведения 16
- •3. Лабораторная работа №3. Сортировка, поиск и фильтрация записей в таблицах 37
- •3.1. Общие сведения 37
- •4. Лабораторная работа №4. Разработка запросов 47
- •4.1. Общие сведения 47
- •5. Лабораторная работа №5. Использование языка sql для создания запросов 61
- •5.1. Общие сведения 61
- •6. Лабораторная работа №6. Создание и использование форм 67
- •6.1. Общие сведения 67
- •7. Лабораторная работа №7. Разработка отчетов 80
- •7.1. Общие сведения 80
- •7.2. Порядок выполнения работы 83
- •8. Лабораторная работа №8. Разработка командного интерфейса приложения 85
- •8.1. Общие сведения 85
- •Введение
- •1. Лабораторная работа №1. Разработка таблиц баз данных
- •1.1. Общие сведения
- •1.1.1. Постановка задачи
- •1.1.2. Создание базы данных
- •1.1.3. Создание таблицы базы данных
- •1.1.4. Добавление, удаление, редактирование записей в таблице базы данных
- •1.1.5. Редактирование структуры таблицы базы данных
- •1.2. Порядок выполнения работы
- •2. Лабораторная работа №2. Проектирование структуры базы данных
- •2.1. Общие сведения
- •2.1.1. Постановка задачи №1
- •2.1.2. Проектирование структуры базы данных
- •2.1.2.1. Виды связи между таблицами
- •2.1.2.2. Виды зависимостей между атрибутами отношений
- •КодАбитуриента НазваниеФакультета КодФакультета
- •2.1.2.3. Процедура нормализации
- •КодАбитуриента КодСпециальности
- •2.1.3. Реализация структуры базы данных средствами субд Access
- •2.1.3.1. Определение связей между таблицами базы данных
- •2.1.3.2. Удаление и модификация связей между таблицами базы данных
- •2.1.3.3. Модификация структуры базы данных «Университет»
- •2.1.4. Постановка задачи №2
- •2.2. Порядок выполнения работы
- •3. Лабораторная работа №3. Сортировка, поиск и фильтрация записей в таблицах
- •3.1. Общие сведения
- •3.1.1. Сортировка записей в таблице базы данных
- •3.1.2. Поиск записей по значению поля
- •3.1.3. Отбор данных при помощи фильтров
- •3.1.3.1. Фильтр по выделенному фрагменту
- •3.1.3.2. Поле «Фильтр для»
- •3.1.3.3. Обычный фильтр.
- •3.1.3.4. Расширенный фильтр и расширенная сортировка.
- •3.1.3.5. Использование сложных критериев отбора.
- •3.1.3.6. Сохранение и загрузка фильтра в качестве запроса
- •3.1.3.7. Настройка режима таблицы
- •3.1.3.8. Копирование и экспорт отсортированных и отфильтрованных данных
- •3.2. Порядок выполнения работы
- •4. Лабораторная работа №4. Разработка запросов
- •4.1. Общие сведения
- •4.1.1. Создание простого запроса на выборку с помощью Мастера запросов
- •4.1.2. Создание простого запроса на выборку с помощью Конструктора запросов
- •4.1.3. Создание многотабличных запросов
- •4.1.3.1. Создание многотабличного запроса на выборку
- •4.1.3.1.1. Включение в бланк запроса вычисляемых полей
- •4.1.3.1.2. Включение в бланк запроса групповой операции
- •4.1.3.2. Создание перекрестного запроса
- •4.1.3.3. Создание параметрического запроса
- •4.1.3.4. Создание запросов на изменение
- •4.1.3.4.1. Запрос на создание таблицы
- •4.1.3.4.2. Запрос на обновление записей
- •4.1.3.4.3. Запрос на добавление записей
- •4.1.3.4.4. Запрос на удаление записей
- •4.2. Порядок выполнения работы
- •5. Лабораторная работа №5. Использование языка sql для создания запросов
- •5.1. Общие сведения
- •5.1.1. Структура запроса на выборку
- •5.1.2. Создание перекрестных запросов
- •5.1.3. Порядок создания собственного запроса на языке sql в среде субд Access
- •5.2. Порядок выполнения работы
- •6. Лабораторная работа №6. Создание и использование форм
- •6.1. Общие сведения
- •6.1.1. Создание формы средствами автоматического создания форм
- •6.1.2. Создание формы с помощью Мастера форм.
- •6.1.3. Редактирование макета формы в режиме Конструктора
- •6.1.4. Создание элемента управления «Поле со списком»
- •6.1.5. Создание многотабличных форм в режиме Конструктора.
- •6.1.6. Создание вычисляемых полей
- •6.2. Порядок выполнения работы
- •7. Лабораторная работа №7. Разработка отчетов
- •7.1. Общие сведения
- •7.1.1. Построение отчета с помощью средств автоматического создания отчетов и Мастера отчетов
- •7.1.2. Разработка простого отчета в режиме Конструктора отчетов
- •7.1.3. Создание составного отчета.
- •7.2. Порядок выполнения работы
- •8. Лабораторная работа №8. Разработка командного интерфейса приложения
- •8.1. Общие сведения
- •8.2. Порядок выполнения работы
- •Рекомендуемая литература
- •Статистические функции
- •Построитель выражений
- •Операторы для создания выражений
4.1.3. Создание многотабличных запросов
Сложный (многотабличный) запрос – запрос, который позволяет соединять воедино данные из разных таблиц и запросов, а также из разных баз данных. Таблицы (запросы) в таком запросе могут связываться с использованием внутренних, внешних, рекурсивных соединений и соединений по отношению. С помощью таких запросов можно создавать, обновлять, удалять таблицы, получать ответы на самые разнообразные вопросы.
Внутренние соединения чаще всего применяются для создания запросов на выборку. Если таблицы связаны соотношением “один-ко-многим”, объединения основываются на значении поля первичного ключа одной таблицы и значениях поля внешнего ключа другой таблицы. В результирующее множество запроса попадают все записи из главной таблицы (таблица “один”), для которых имеются соответствующие записи в подчиненной таблице (таблице “многие”). Внутренние соединения отображают в динамическом наборе соответствующие записи в объединенных полях таблиц как одну запись. Подобного рода соединения между таблицами создаются автоматически, если в таблицах имеются поля с одинаковыми именами и согласованными типами, причем одно из полей является ключевым либо это соединение явно задано в окне Схема данных. “Согласованные типы” в большинстве случаев означают одинаковые типы. Исключением является поле типа Счетчик, которое может иметь размер длинного целого или кода репликации и может связываться с числовыми полями соответствующего размера. Для обозначения внутренних соединений в Access используются зарезервированные слова INNER JOIN.
Для создания запроса, объединяющего все записи из одной таблицы и только те записи из второй таблицы, в которых связанные поля совпадают, используют внешнее соединение. В Access применяются правые (RIGHT JOIN) и левые (LEFT JOIN) внешние соединения. Запрос, основанный на таблицах с левым внешним соединением, отображает все записи главной таблицы (таблица “один”) с уникальным ключевым полем, независимо от того, имеются ли в связанных полях подчиненной таблицы (таблице “многие”) совпадающие значения. Запрос, основанный на таблицах с правым внешним соединением, отображает все записи таблицы многие, независимо от того, существуют ли в связанных с ними полях главной таблицы совпадающие значения. Записи в таблице со стороны многие, не имеющие связанных с ними записей в таблице один, обычно, но не обязательно, относятся к зависшим записям. Поэтому внешние соединения используются в системе поддержки БД для удаления из таблиц “зависших” записей и дублирования данных в результате создания новых таблиц, содержащих записи с уникальными значениями.
Рекурсивные соединения (самообъединения) связывают данные в одной и той же таблице. В Access самообъединения создаются в результате включения в запрос дубликата таблицы (Access назначает дубликату псевдоним), с последующим объединением между полями копий.
Соединения по отношению (тэта-соединения) связывают данные с помощью операторов сравнения, отличных от оператора равенства (=).