Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012), страница 11
Описание файла
PDF-файл из архива "Кузин А.В., Левонисова С.В. Базы данных (5-е издание, 2012)", который расположен в категории "". Всё это находится в предмете "базы данных" из 6 семестр, которые можно найти в файловом архиве РТУ МИРЭА. Не смотря на прямую связь этого архива с РТУ МИРЭА, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "базы данных (бд)" в общих файлах.
Просмотр PDF-файла онлайн
Текст 11 страницы из PDF
Результаты запроса отображаются в виде таблицы.При конструировании запроса достаточно выделить и перетащить необходимые поля из таблиц, представленных в схеме данных запроса, в бланк запроса и ввести условия отбора записей.Результаты выполнения запроса выводятся в режиме таблицы.Несмотря на то, что поля результирующей таблицы принадлежат, как правило, нескольким таблицам базы данных, с нимиможно работать так, как если бы они принадлежали одной таблице. Можно также менять данные в таблице результатов запроса на51Новый запросРис.
2.4. Выбор вариантов построения запросавыборку, при этом сделанные изменения будут внесены в базовые таблицы.Для создания запроса в окне базы данных надо выбрать закладку Запрос и нажать кнопку [Создать]. В открывшемся окне Новыйзапрос из предложенных типов запросов (Конструктор, Простойзапрос, Перекрестный запрос, Повторяющиеся записи, Записи безподчиненных) следует выбрать Конструктор (рис.
2.4).В окне Добавление таблицы (рис. 2.5) выбрать используемые взапросе таблицы и нажать кнопку [Добавить]. Затем, нажав кнопку [Закрыть], выйти из окна Добавление таблицы.В результате появится окно конструктора запросов Имя запроса: запрос на выборку.Рис.
2.5. Создание запроса с помощью конструктора52Окно конструктора запросов разделено на две панели. Верхняяпанель содержит схему данных запроса, включающую в себя выбранные для данного запроса таблицы, которые представлены списками полей. Нижняя панель является бланком запроса по образцу(QBE), который нужно заполнить.Схема данных запроса. В окне запроса отображаются выбранные таблицы и связи между ними, имеющиеся в логической схеме (схеме данных) БД. Кроме того, Access автоматически устанавливает между таблицами дополнительные связи, которых небыло в логической модели, в том случае, если таблицы имеютполя с одинаковыми именами и типами данных (атрибутами). Логические связи между таблицами, которые Access не может установить автоматически, может создать пользователь, перетащив задействованные в связи поля из одного списка полей в другой.При использовании в запросе других запросов или таблиц, непредставленных в логической схеме базы данных, с ними такжемогут быть установлены связи-объединения, т.
е. связи без ключевого слова.Бланк запроса по образцу. Бланк запроса по образцу представлен в нижней панели окна запроса в виде таблицы, которая имеетдля заполнения следующие строки: Поле:, Имя таблицы:, Сортировка:, Вывод на экран:, Условие отбора:, или:.
До формированиязапроса эта таблица не заполнена.Каждый столбец бланка является одним полем запроса. Эти полямогут использоваться для включения их в таблицу результата выполнения запроса, задания сортировки по ним, а также заданияусловий отбора записей.При заполнении бланка запроса необходимо:в строку Поле включить имена полей, используемых в запросе;в строке Вывод на экран отметить поля, которые должны бытьвключены в результирующую таблицу;в строке Условия отбора задать условия отбора записей;в строке Сортировка выбрать порядок сортировки записей результата.Для включения нужных полей из таблиц БД в соответствующие столбцы запроса можно воспользоваться следующими приемами:в первой строке бланка запроса Поле щелчком мыши вызватьпоявление кнопки списка полей и, воспользовавшись ею, выбрать из списка нужное поле.
Список содержит все поля таблиц,представленных в бланке запроса;перетащить нужное поле из списка полей таблицы в схеме данных запроса в первую строку бланка запроса.В списке полей каждой таблицы на первом месте стоит символзвездочка (*), имеющий значение «Все поля таблицы», которыйвыбирается, если в запрос включаются все поля.53Модификация запроса. Для добавления поля в бланк запросанадо перетащить его с помощью мыши из таблицы в схеме данных в нужное место бланка. При этом все столбцы полей справа отнего передвинутся на один столбец вправо.Для удаления поля в бланке запроса надо выделить удаляемыйстолбец, щелкнув кнопкой мыши а области маркировки столбца,и нажать клавишу [Del] или выполнить пункт меню Правка\Удалить столбец.Для перемещения поля в бланке надо выделить соответствующий столбец и перетащить его в новую позицию с помощью мыши.При этом столбец, на место которого перемещен новый столбец,и все столбцы справа от него будут сдвинуты вправо.2.8.3.
Условия отбора записей, сортировка и фильтрация данныхУсловия отбора записей могут задаваться для одного или нескольких полей в соответствующей строке бланка запроса.Условием отбора является выражение, которое состоит из операторов сравнения и сравниваемых операторов. В качестве операторов сравнения и логических операторов могут использоватьсяследующие: =, С, >, < >, Between, In, Like, And, Or, Not, которые определяют операцию над одним или несколькими операндами.Если условие отбора не содержит оператора, то по умолчаниюиспользуется оператор =.В качестве операндов могут использоваться литералы, константыи идентификаторы (ссылки).Литералом является значение, воспринимаемое буквально, ане как значение переменной или результат вычисления (например, число, строка, дата).Константами являются не изменяющиеся значения (например,True, Falls, Да, Нет, Null).Идентификатор представляет собой ссылку на значение поля,элемент управления или свойство.
Идентификаторами могут быть,например, имена полей, таблиц, запросов, форм, отчетов, которые должны заключаться в квадратные скобки.Если необходимо указать ссылку на поле в конкретных таблице, форме, отчете, то перед именем поля ставится имя таблицы,также заключенное в квадратные скобки и отделенное от имениполя восклицательным знаком. Например:[Имя таблицы]! [Имя поля]Условия отбора, заданные в одной строке, связываются с помощью логической операции И, а заданные в разных строках — спомощью логической операции ИЛИ.
Эти операции могут быть54заданы явно в условии отбора с помощью операторов AND и ORсоответственно.Сформировать условие отбора можно с помощью построителявыражения. Перейти в окно Построитель выражений можно, нажав кнопку [Построитель] на панели инструментов или выбравкоманду Построить в контекстно-зависимом меню. При этом курсор мыши должен быть установлен в ячейке ввода условия отбора.После ввода выражения в бланк и нажатия клавиши [Enter]Access выполняет синтаксический анализ выражения и отображает его в соответствии с результатами этого анализа.Для выполнения запроса необходимо на панели инструментовконструктора запросов нажать кнопку [Запуск (!)] или [Представление запроса].Примеры выражений, используемых в качестве условий отбора, приведены в табл. 2.4.Т а б л и ц а 2.4Примеры выражений, используемых в качестве условий отбораПолеВыражениеОписаниеПунктНазна- “Москва”ченияОтображает заказы на доставкутоваров в МосквуПунктНазна- “Москва” Orчения“ Санкт-Петербургу”Оператор Or используется дляотображения заказов на доставку товаров в Москву или СанктПетербургДатаОтгрузки Between #05.01.03#And #10.01.03#Оператор Between...
And используется для отображениязаказов на отгрузку товаров неранее 5 января 2003 г. и непозднее 10 января 2003 г.ДатаОтгрузки #2/2/03#Отображает заказы на отгрузкутоваров 2 февраля 2003 г.СтранаДоста- In(“Россия”, “США”)вкиОператор In используется дляотображения заказов на доставку товаров в Россию или СШАСтранаДоста- Not “США”вкиОператор Not используется дляотображения заказов на доставку товаров во все страны, за исключением СШАИмя КлиентаОтображает заказы на доставкутоваров клиентам, имена которых начинаются с буквы СLike “С*”55Окончание табл. 2.4ПолеВыражениеОписаниеНазвание>=«Н»Отображает заказы на доставкутоваров в фирмы, названия которых начинаются с букв, находящихся в диапазоне от Н до ЯДатаЗаказа< Date()- 30Функция Date используется дляотображения заказов, сделанных более чем за 30 днейДатаЗаказаУеаг([ДатаЗаказа])=2003 Функция Year используетсядля отображения заказов, сделанных в 2003 г.ДатаЗаказаYear( [ДатаЗаказа] )=Year(Now()) AndMonth( [Д атаЗ аказа])=Month(Now())Функции Year и Month, а также оператор And используютсядля отображения заказов текущего года и месяцаОбластьДоставкиIs NullОтображает заказы дляклиентов, у которых полеОбластьДоставки являетсяпустымОбластьДост- Is Not NullавкиФакс«»9Отображает заказы для клиентов, у которых поле ОбластьДоставки содержит какое-либозначениеОтображает заказы для клиентов, у которых нет факсимильного аппарата, т.
е. для тех клиентов, у которых поле Факс содержит пустую строку, а не значение NullСортировка данных. Для удобства просмотра можно сортировать записи в таблице в определенной последовательности. Кнопки сортировки на панели инструментов (или команды меню Записи] Сортировка, Сортировка по возрастанию ( Сортировка по убыванию) позволяют сортировать столбцы по возрастанию или убыванию. Прежде чем щелкнуть по кнопке сортировки, следует выбрать поля, используемые для сортировки. Современные СУБД (такие, как Access) никогда не сортируют таблицы физически, какэто делалось раньше.
Средства сортировки данных (а также фильтрации, поиска и замены) реализованы в Access как автоматически создаваемые запросы. Записи таблицы всегда располагаются в56файле базы данных в том порядке, в котором они были добавлены в таблицу.Отбор данных с помощью фильтра. Фильтр — это набор условий, применяемых для отбора подмножества записей.
В Accessсуществуют фильтры четырех типов: фильтр по выделенному фрагменту, обычный фильтр, расширенный фильтр и фильтр по ВВОДУ-Фильтрование данных в Access производится с помощью кнопок [Фильтр по выделенному] или [Изменить фильтр] либо команды меню Записи\ Фильтр, Изменить фильтр. После нажатия второй кнопки от таблицы остается одна запись. Каждое поле становится полем со списком (когда в нем находится курсор), в котором можно выбрать из списка все значения для данного поля.
Послещелчка мышью по кнопке [Изменить фильтр] выбираются записи, соответствующие измененному фильтру. Еще более сложныеусловия фильтрации можно задать командой меню Записи\ Фильтр,Расширенный фильтр.2.8.4. Изменение данных в БД средствами запросаЗапрос на обновление может быть использован для замены данных в таблицах БД. Отбор заменяемых записей (полей) производится с помощью запроса на выборку, который затем в окне конструктора запросов с помощью кнопки [Обновление] на панелиинструментов или команды меню Запрос\Обновление превращается в запрос на обновление.Для обновления поля надо в строку Обновление ввести значение или выражение, определяющее новое значение поля. Такоевыражение можно создать при помощи построителя выражений.После выполнения команды Запрос\Запуск или нажатия соответствующей кнопки на панели инструментов открывается диалоговое окно с сообщением о числе обновляемых записей и вопросомо продолжении операции обновления.Результат выполнения запроса можно проверить переключением в режим таблицы с помощью команды Вид\Режим таблица илинажатием кнопки [Представление запроса] на панели инструментов.