- •Курс «Базы данных»
- •Глава 6. Разработка пользовательских приложений в среде субд ms Access 28
- •Глава 1. Базы данных. Системы управления базами данных (субд)
- •Обзор субд
- •Основные функции субд
- •Управление данными во внешней памяти
- •Управление буферами оперативной памяти
- •Управление транзакциями
- •Журнализация и восстановление базы данных после сбоев
- •Поддержка языков баз данных
- •Контрольные вопросы
- •Глава 2. Модели данных
- •Иерархическая модель данных
- •Сетевая модель данных
- •Достоинства и недостатки ранних моделей
- •Объектная модель
- •Контрольные вопросы
- •Глава 3. Реляционная модель Основные понятия и ограничения реляционной модели
- •Математическое определение отношения. Реляционная алгебра
- •1.Объединение (r u s).
- •2.Разность (r - s).
- •3.Декартово произведение (RxS)
- •4. Проекция
- •5. Селекция
- •Контрольные вопросы
- •Глава 4. Вопросы проектирования реляционных баз данных Цели проектирования базы данных. Этапы проектирования
- •Вопросы и задания
- •Нормализация. 1,2,3 нормальные формы
- •1 Нормальная форма.
- •2 Нормальная форма.
- •3 Нормальная форма.
- •Вопросы и задания
- •Глава 5. Семантическая модель данных
- •Читатель
- •Операции над сущностями
- •Порядок построения er-модели и построение реляционной схемы базы данных из er-модели
- •Пример построения er- модели
- •Глава 6. Разработка пользовательских приложений в среде субд ms Access Объекты базы данных
- •Вопросы и задания
- •Ввод данных в таблицу
- •Вопросы и задания
- •Формы. Типы форм. Элементы управления
- •Создание формы с помощью Конструктора
- •Вопросы и задания
- •Запросы. Макросы. Отчеты Основы sql
- •Создание вложенных (подчиненных) запросов
- •Обновление записей
- •Вопросы и задания
- •Запросы qbe. Мастер запросов
- •Вопросы и задания
- •Вопросы и задания
- •Итоговый запрос
- •Перекрестный запрос
- •Вопросы и задания
- •Построение форм на основе запроса
- •Макросы
- •Разработка приложения
Вопросы и задания
Создайте базу данных согласно следующей схеме данных:
Товар(Код_товара, Название_товара, Цена)
Продавец(Код_продавца, ФИО,Телефон)
Продажа(Код_продажи, Дата продажи, Код_товара,Количество,Код_продавца)
Создайте формы для ввода данных и введите данные в таблицы. В таблице Товар должно быть не менее 6 записей, В таблице Продавец – не менее 3 записей, в таблице Продажи – не менее 15 записей.
Создайте итоговые и перекрестные запросы для следующих расчетов:
на какую сумму продано всего всех товаров всеми продавцами,
на какую сумму продано всех товаров всеми продавцами за конкретную дату,
на какую сумму продано каждого товаров всеми продавцами,
на какую сумму продано каждого товара конкретным продавцов,
на какую сумму продано конкретного товара всеми продавцами за конкретную дату,
на какую сумму продано конкретного товара конкретным продавцов в установленную дату,
какое количество каждого товара продано за конкретный месяц конкретного года
какое количество каждого товара продано каждым продавцов за весь период.
какое количество каждого товара продано каждым продавцов за установленный период.
Построение форм на основе запроса
Как правило, пользователю требуется видеть данные не одной, а нескольких таблиц, то есть данные, которые можно получить в результате выполнения запроса. На основе запросов можно построить формы различного вида. Для этого при создании формы в окне Источник данных нужно выбрать из списка требуемый запрос. Формы типа ленточная и в столбец, рассмотренные выше, построенные на базе запроса, выглядят так же, как и построенные на базе таблиц. Интерес представляют другие виды форм. А именно вложенные формы. В этих формах данные можно просматривать по группам. Например, книги по жанрам, квартиры по районам, лошадей по породам и т. д. Мастер форм может построить на основе запроса форму, которая содержит несколько уровней вложенности. Например, можно просматривать квартиры по районам и выбрав квартиру и установив курсор, можно тут же увидеть все операции купли/продажи, которые совершались с этой квартирой. Для создания такой формы сначала нужно разработать соответствующий запрос. При выполнении запроса пользователь увидит обычную таблицу. А вот форма на основе такого запроса представит информацию более компактно и удобно для пользователя.
Пример: требуется создать форму для просмотра журнала выдачи книг по жанрам.
Действия:
Сначала построим запрос. При этом требуется поля в запросе расположить определенным образом в порядке следования групп вложенности. Первый уровень группирования данных – по жанрам, второй уровень – по книгам, третий – по операциям обмена книг.
На вкладке Запросы щелкнуть по кнопке Создать/Конструктор.
Добавить таблицы Жанры, Книги, Обмен, Читатели.
Перенести мышкой в строку Поле атрибуты в следующем порядке Жанр, Автор, Название, Год издания, ФИО, Дата выдачи, Дата возврата.
Сохранить запрос с именем Для вложенной формы.
При выполнении запроса данные предстанут в виде таблицы.
Теперь построим форму на базе этого запроса. Действия:
Во вкладке Формы выбрать режим Построение формы с помощью мастера.
В окне Мастера выбрать в качестве источника данных запрос Для вложенной формы.
По кнопке >> Перенести все поля из левого окна Доступные поля в правое Выбранные поля.
Двигаться по кнопке Далее до режима задания имен форм.
Задать имена форм по уровням вложенности: Журнал обмена, Перечень книг, Операции обмена.
По кнопке Готово завершить процесс создания формы. Форма будет иметь вид:
Очень удобно при работе при выборке данных по некоторому условию использовать следующий прием.
Условие для отбора данных задавать при помощи элементов управления отдельной формы,
в запросе в строке Условие отбора соответствующего столбца указать элемент управления формы, с помощью которого задается условие для отбора записей.
Например: требуется делать выборку книг по жанру.
Действия:
Создать форму без указания источника данных.
В форме создать элемент управления поле со списком с именем ПолеСоСписком0 на базе таблицы Жанры.
Сохранить форму с именем Отбор книг по жанру.
Создать запрос на выборку на базе таблиц Жанры и Книги, содержащий поля Код жанра, Жанр, Автор, Название, Год издания.
В строке условие отбора в поле Код жанра с помощью построителя выражений задать имя элемента ПолеСоСписком0 формы Отбор книг по жанру.
Сохранить запрос с именем Список книг жанра.
Открыть форму Отбор книг по жанру в режиме Конструктор.
Добавить элемент управления Кнопка. В диалоге с Мастером кнопок задать категорию кнопки Разное, действие Выполнить запрос, указать имя запроса Список книг жанра.
Сохранить форму.
В дальнейшем легко просматривать книги по жанрам, выбирая жанр из списка в форме
Отбор книг по жанру.
