- •Лекция 8.
- •1. Проектирование баз данных. Объекты баз данных.
- •Сущности – это данные, которые классифицируются по типу, а связи показывают, как эти типы данных соотносятся один с другим.
- •Далее необходимо установить логические связи между таблицами.
- •2. Работа с субд Microsoft Access
- •Откроется таблица Группы студентов в режиме Конструктор
- •Затем заполняется table Успеваемость.
- •Рассмотрим создание запроса на выборку с помощью Конструктора
- •Структура формы Форма имеет три основных раздела:
- •Изменение порядка перехода выполняется перетаскиванием в два приема:
- •6. Сохранить форму. 7. Просмотреть форму Студенты_конструктор, выполнив на ней двойной щелчок в области переходов.
Затем заполняется table Успеваемость.
В таблице Успеваемость поля КодДисциплины и КодСтудента заполняются из раскрывающихся списков.
Необходимо отметить, что в базах данных Access 2007 применяются различные методы перемещения по таблице. Переходить от записи к записи можно с помощью: клавиш управления курсором; кнопок из области Запись, расположенных внизу таблицы в режиме таблицы; команды Перейти в группе Найти, расположенной на ленте. Для перемещения от поля к полю (слева направо) применяются клавиши Tab и Enter, а в обратном направлении Shift+Tab.
Поиск данных в таблице большого объема, можно осуществлять командой поиск расположенный внизу таблицы в режиме таблицы или командой Найти в группе Найти, расположенной на ленте. Для замены данных в полях необходимо использовать команду Заменить в группе Найти, расположенной на ленте.
После создания структуры таблиц, их заполнения и установления отношений (логических связей) между таблицами можно приступать к построению запросов.
СУБД Access 2007 применяются различные типы запросов:
на выборку,
на обновление,
на добавление,
на удаление,
перекрестный query,
выполнение вычислений,
создание таблиц.
Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).
Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.
Кроме того, в СУБД Access 2007 существует множество средств для поиска и отображения информации, которая хранится в базе данных. Данные в таблицах можно отсортировать на основе любого поля или комбинации полей. Для извлечения из базы данных необходимых записей можно отфильтровать таблицу, применив средства фильтрации.
На скриншоте средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.
Рассмотрим создание запроса на выборку с помощью Конструктора
Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов .
Откроется активное окно диалога Добавление таблицы на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.
В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным.
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.
Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.
При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке "Вывод на экран" автоматически устанавливается флажок просмотра информации.
Условия ограниченного поиска или критерий поиска информации вводится в строке "Условия" отбора и строке "Или". Например, введем критерий поиска - "5/A" в строке "Условия" для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A.
Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить - Да и ввести имя запроса, например "Успеваемость студентов". Для запуска запроса дважды щелкнем на query "Успеваемость студентов", откроется таблица с результатами выполненного запроса.
Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например [Введите фамилию]. В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.
Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить - Да и ввести имя запроса, например "Параметрический query". Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить
Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса.
В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.
Итоговый запрос
Запрос, выполняющий вычисление по всем записям для какого-либо числового поля, называются итоговыми запросами. В итоговом запросе может рассчитываться сумма значений или величина среднего значения по всем ячейкам поля, может выбираться максимальное или минимальное значение данных в поле, может, так же исполнятся иная итоговая функция. Итоговые запросы, как и запросы на выборку, готовятся с помощью бланка запроса по образцу.
Перекрёстный запрос
Он позволяет создать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц.
В перекрёстном запросе отображаются результаты расчетов (таких как суммы, количество записей и среднее значения), выполненных по данным из одного поля таблицы. Эти результаты группируются по двум наборам данных, один из которых расположен в левом столбце таблицы, а второй в верхней строке.
Запрос на изменение
Это запрос, который за одну операцию вносит изменения в несколько записей. Запрос на изменения бывают четырёх типов:
Запрос на удаление
Удаляет группу записей из одной или нескольких таблиц.
В рекламной практике запрос на удаление позволяет удалить записи о рекламодателях, которые не делали долгое время заказов в рекламном агентстве.
Запрос на обновление записей
Вносит общие изменения в группу записей одной или несколько таблиц.
Запрос на обновление записей в рекламной практике может использоваться, когда происходит повышение цен на 10% на бумагу для печатной рекламы, так как охватывает большую группу различных видов печатной продукции.
Запрос на добавление
Добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких других таблиц.
При появлении новых клиентов у рекламного агентства, сведения о них можно не вводить в ручную, а добавить в таблицу Клиенты с помощью запроса.
Запрос на создание таблиц
Создаёт новую таблицу на основе всех или части данных из одной или нескольких таблиц.
• Создание таблицы для экспорта в другую базу данных MS Access.
• Создание отчётов, содержащих данные, соответствующие определённому моменту времени.
• Создание резервной копии таблицы.
• Создание архивной копии, содержащей старые записи.
• Повышение быстродействия форм и отчётов, базирующихся на многотабличных запросах или инструкциях SQL.
Для создания любого из этих запросов бланке запроса конструктора щёлкнуть правой кнопкой и выбрать Тип запроса, а затем выбрать необходимый варианта запроса.
Специфические запросы SQL
Запрос к серверу базы данных написанные на языке запросов SQL.
Язык включает в себя несколько функциональных категорий:
• Язык определения данных (или язык определения схемы) содержит команды для создания объектов (таблиц, индексов, представлений) в базе данных.
• Язык манипулирования данными, представляющим множество команд, определяющих какие данные представлены в таблице в данный момент времени.
• Язык управления данными состоит из предложений, определяющих, может ли пользователь выполнить определённое действие.
Для создания этих специфических запросов необходимо составить инструкции SQL в режиме SQL, так как визуальных средств нет.
К запросам SQL относятся запросы на объединение, запросы к серверу или управляющие запросы.
Формы как объекты баз данных
В Access 2007 можно вводить данные непосредственно в таблицу в режиме таблица. Но обычно для ввода данных в БД Access 2007 используют формы (forms). Form ускоряет работу с базой данных. Form в БД - это структурированное интерактивное окно с элементами управления, в котором отображаются поля одной или нескольких таблиц или запросов.
Смысл формы - пользователь получает возможность заполнять только некоторые из полей. Преимущество форм раскрывается особенно наглядно при вводе данных заполненных бланков. Здесь форма повторяет вид бланка. Это снижает количество ошибок, упрощает работу.
Работа с формами
С одной стороны, формы позволяют пользователям вводить данные в таблицы базы данных без непосредственного доступа к самим таблицам. С другой стороны, они позволяют выводить результаты работы запросов не в виде скупых результирующих таблиц, а в виде красиво оформленных форм. В связи с таким разделением существует два вида формирования структуры форм: на основе таблицы и на основе запроса, хотя возможен и комбинированный подход, — это вопрос творчества.
Автоформы
В отличие от таблиц и запросов, которые мы формировали вручную, формы удобнее готовить с помощью средств автоматизации. Полностью автоматическими являются средства, называемые автоформами.
Существует три вида автоформ:
• Автоформа «в столбец» отображает все поля одной записи — она удобна для ввода и редактирования данных.
• «Ленточная» автоформа отображает одновременно группу записей — ее удобно использовать для оформления вывода данных.
• Табличная автоформа по внешнему виду ничем не отличается от таблицы, на которой она основана.
Для создания автоформы следует открыть панель Формы в окне База данных и воспользоваться командной кнопкой Создать. В открывшемся диалоговом окне Новая форма выбирают тип автоформы и таблицу (или запрос), на которой она основывается. После щелчка на кнопке ОК автоформа формируется автоматически и немедленно готова к работе, то есть к вводу или отображению данных.
Обратите внимание на то, что автоформа основывается только на одном объекте. Иные средства создания форм позволяют закладывать в основу структуры формы поля нескольких таблиц или запросов. Если форма основывается только на одном объекте, она называется простой формой. Если форма основывается на полях из нескольких связанных таблиц, то она называется сложной и представляет собой композицию из нескольких форм.
Создание форм с помощью мастера. Автоматизированные средства предоставляет Мастер форм — специальное программное средство, создающее структуру формы в режиме диалоге с разработчиком.
