Главная » Просмотр файлов » Диго С.М. Базы данных проектирование и использование

Диго С.М. Базы данных проектирование и использование (1084447), страница 40

Файл №1084447 Диго С.М. Базы данных проектирование и использование (Диго С.М. Базы данных проектирование и использование) 40 страницаДиго С.М. Базы данных проектирование и использование (1084447) страница 402018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 40)

Работа с несколькими таблицами в конкретных СУБД различает­ся не только тем, каким способом можно определить связь между таб­лицами. Так, например, некоторые системы обязывают пользователя связать те таблицы/файлы, которые указываются как исходные для запроса; другие автоматически связывают открытые файлы по тем полям, которые система воспринимает как поля связи (чаще всего это поля, имеющие одинаковые имена, тип и длину); третьи - оставляют эти таблицы изолированными, если пользователь не указал, как они должны быть связаны, четвертые - выполняют декартово произведе­ние открытых таблиц. Например, в dBase IV вызвать несколько фай­лов БД на панель запросов и не связать их было нельзя. В MS Query, Access если таблицы не связаны, то при выполнении запроса это при­водит к связыванию каждой записи одной таблицы с каждой записью другой.

Внимание! Будьте внимательными при реализации запро­сов, в которых открыты несколько таблиц. Не открывайте таб­лиц больше, чем это действительно требуется для реализации каждого конкретного запроса!

Описание ответа. Кроме задания условия отбора данных, при описании запроса должна быть возможность указать, какие атрибуты и в какой последовательности входят в ответ. В ответ могут выдавать­ся не только реальные поля, которые хранятся в одной из базовых таблиц, но и вычисляемые поля.

Можно выделить два вида вычислений, которые могут выполнять­ся в запросах, формах, отчетах: это агрегирующие операторы, кото­рые выполняют операции над группой записей, и обычные вычисле­ния, затрагивающие отдельные поля одной или нескольких связан­ных записей.

Агрегирующие показатели могут быть включены не только в «Зап­росы», но и в «Отчеты». Возможности включения агрегирующих по­казателей в запросы и отчеты различаются между собой. Результатом запроса всегда является плоская таблица. Поэтому в запросах могут быть получены только одноуровневые итоги. В отчетах же может быть получено несколько степеней итогов.

Набор агрегирующих функций может быть различным в разных системах. Обычно во всех реализациях СУБД включены следующие функции: Sum (сумма), Min (минимум), Мах (максимум), Avg (сред­нее), Count (подсчет). Некоторые системы включают дополнительные статистические функции, такие, как отклонение, стандартное откло­нение, дисперсия и др.

Использование агрегирующих функций предполагает, что табли­ца упорядочена по тому полю (полям), по которому ведется агрегиро­вание. Некоторые СУБД сами автоматически выполняют упорядоче­ние данных по необходимым полям, другие - нет. В последнем слу­чае, если пользователь не задаст правильно требуемое упорядочение, результат, выводимый в ответ, будет искаженным.

Результаты вычислений, выводящиеся в поле, не запоминаются в базовой таблице. Вместо этого вычисления снова проводятся всякий раз, когда выполняется запрос, поэтому результаты всегда представ­ляют текущее содержимое базы данных. Обновить вычисленные ре­зультаты вручную невозможно (таблица, содержащая вычисляемое поле, имеет статус «только для чтения»).

Для удобства восприятия ответа часто требуется определить упо­рядоченность данных в ответе. Язык QBE обеспечивает такую воз­можность. Опять-таки возможности задания упорядочения ответа различаются в разных СУБД: некоторые системы разрешают прово­дить упорядочение по произвольным полям, другие требуют, чтобы поле упорядочения стояло в ответе обязательно первым, а если упо­рядочение ведется по нескольким полям, то чтобы эти поля следова­ли в ответе друг за другом в порядке их старшинства; некоторые СУБД различают обычное и словарное упорядочение (когда учитывается и не учитывается регистр соответственно), другие - нет; в некоторых системах, даже если не задано никакое упорядочение, ответ всегда выдается упорядоченным по первому полю таблицы ответа и т.п.

Дополнительные возможности. Кроме собственно поисковых запросов язык QBE позволяет выполнять и другие операции, напри­мер корректировку данных. Набор допустимых операций, а также способы их задания несколько различаются в разных системах.

Кроме того, некоторые СУБД позволяют формировать запросы специальных видов: параметрические, перекрестные и некоторые другие (не все из них, наверное, могут быть отнесены к QBE, но они реализованы одними и теми же компонентами СУБД и в связи с этим будут здесь рассмотрены).

Запросы, сформулированные на QBE, могут быть запомнены для их последующего многократного использования.

Некоторые языки запросов, которые носят название QBE, пост­роены совсем на других принципах, чем те, что были изложены выше, и было бы хорошо найти для них другое название. Так, на­пример, язык RQBE FoxPro не является табличным двухмерным язы­ком запросов. Он является «построителем» запросов (в том числе SQL). Сложный запрос реализуется в нем просто вводом каждого элементарного условия на отдельной строке. Если две строки не разделены никакой операцией, то считается, что они соединяются операцией «И». Операцию «ИЛИ» нужно указывать явно между со­единяемыми строками.

Все языки запросов имеют много общего. Но, с другой стороны, даже языки, относящиеся к одному классу, отличаются в деталях сво­ей реализации. Начиная работать с новой для вас СУБД, проведите серию экспериментов, чтобы убедиться, что ваше понимание логики реализации запросов соответствует той, что заложена в данной конк­ретной системе.

6.2. Реализация ОВЕ в Access

6.2.1. Общие сведения

После описания таблиц и заполнения их данными к базе данных можно формулировать разнообразные запросы. В табличном языке запросов в Access реализованы те общие принципы, о которых шла речь выше. Но, естественно, имеются и особенности реализации языка в этой конкретной системе.

В явном виде понятие наполнителя в QBE в Access не вводится. Связывание таблиц выполняется визуально. Для задания в запросе соотношения полей внутри таблицы вместо наполнителя можно про­сто задать соответствующее выражение для вычисляемого поля и для этого выражения задать условия отбора.

Для задания запроса в Access следует перейти к объекту Запросы в окне базы данных. Для создания нового запроса следует щелкнуть по кнопке Создать - появится окно Новый запрос (рис. 6.5).

Для построения запросов могут быть использованы различные мастера. Но чаще всего используется возможность создания запроса с помощью Конструктора.

Первым шагом при создании запроса является определение таб­лиц, которые содержат исходную информацию. Допускается также создание запроса на основании других запросов или одновременно и таблиц, и запросов. Использование предварительно созданных зап­росов при создании нового запроса может помочь сделать сложный запрос, содержащий большое число взаимосвязанных таблиц и мно­го разнообразных условий отбора, более простым для его формули­рования.

Любой запрос можно сохранить для последующего использова­ния. Это можно сделать несколькими способами, например, выбирая позиции меню Файл/Закрыть, ответив «Да» на вопрос о сохранении файла и задав после этого имя запроса. Имя запроса не может совпа­дать не только с именем другого запроса, но и с именем какой-либо таблицы в данной базе данных.

Сохраненный запрос можно впоследствии «открывать», что оз­начает его выполнение. Сохраненный запрос может быть скорректи­рован, если открыть его в режиме Конструктор.

      1. Добавление таблиц в запросе

Возможно использование нескольких способов включения таб­лиц, на которых базируется запрос.

Для добавления таблицы можно в режиме Конструктор запроса щелкнуть по кнопке Добавить таблицу на панели инструментов или выбрать в меню Запрос команду Добавить таблицу - открывается окно диалога Добавление таблицы.

Пользователь имеет также возможность добавить в запрос табли­цу или запрос, выбрав их имена в окне базы данных и переместив их с помощью мыши в верхнюю часть окна запроса.

Кроме того, можно позиционироваться на свободное место в верх­ней части окна запроса, нажать правую кнопку мыши и в появившем­ся ниспадающем меню выбрать позицию Добавить таблицу.

Для добавления в запрос таблицы из другой базы данных или дру­гого приложения следует сначала присоединить эту таблицу к актив­ной базе данных.

Это присоединение выполняется путем использования команды Присоединить таблицу (меню Файл).

При создании нового запроса без помощи мастера по разработке запросов окно диалога Добавление таблицы выводится автомати­чески (рис. 6.6). Для того чтобы указать, на чем будет базироваться создаваемый запрос (таблице, запросе или том и другом одновремен­но), нужно просто выбрать соответствующую вкладку.

Установив в появившемся списке доступных таблиц/запросов ука­затель на имя добавляемой таблицы или запроса, нужно или выпол­нить двойной щелчок «мышью», или нажать клавишу [Enter].

Допускается одновременное добавление в запрос нескольких таб­лиц или запросов. Для этого следует, удерживая нажатой клавишу [Ctrl], выбрать имена добавляемых таблиц или запросов и щелкнуть по кнопке Добавить.

В верхней части окна запроса выводится список полей добавлен­ных таблицы или запроса.

Действия, описанные выше, повторяются для добавления других таблиц или запросов.

      1. Удаление таблицы из запроса

Существует несколько способов удаления таблицы из запроса:

  • выбрать имя удаляемой таблицы или запроса в соответствую­щем списке и нажать клавишу [Del] или выбрать в меню Запрос ко­манду Удалить таблицу;

  • двойным щелчком мыши выделить нужную таблицу в соответ­ствующей зоне экрана и затем нажать клавишу [Del].

Имена полей удаленной таблицы или запроса удаляются из блан­ка запроса QBE. Удаление из запроса таблицы или запроса, на кото­рых он базируется, не приводит к их удалению из базы данных.

Различают несколько типов запросов: запрос на выборку (Select), перекрестный запрос (Crosstab), создание таблицы (Make-table), зап­рос на обновление (Update), добавление (Append), удаление (Delete). Наиболее часто используемым типом запросов является запрос на выборку. Именно с него мы и начнем изучение возможностей зада­ния запросов в Access.

6.2.4. Включение полей в запрос

После того как определены исходные таблицы/запросы, нужно выбрать поля, используемые в создаваемом запросе. Существует не­сколько способов переноса поля в бланк запроса: «буксировка» с по­мощью мыши, двойной щелчок мыши по имени соответствующего поля в списке полей, выбор поля в раскрывающемся списке полей, который появляется, если нажать на знак «стрелки» в строке Поле бланка запроса.

Можно переносить в бланк запроса не по одному полю, а сразу требуемую совокупность полей. Выделение полей, подлежащих пе­реносу, осуществляется стандартным для Windows-систем способом (нажать клавишу [Shift] для выделения полей, расположенных друг за другом, и, удерживая ее, выбрать первое и последнее поле набора; выбирать поля при нажатой клавише [Ctrl] для полей, располагаю­щихся в произвольном порядке не подряд друг за другом).

Можно перенести в бланк запроса одновременно все поля. Для этого следует установить указатель на заголовок списка полей и дваж­ды щелкнуть кнопкой мыши или установить указатель на символ звез­дочки (*) и нажать кнопку мыши.

6.2.5. Поля, выводимые в ответ

Не все поля, которые используются при формировании запроса, должны обязательно отражаться в ответе. Так, например, поле может быть необходимо для задания условия отбора, но надобность в его появлении в ответе отсутствует.

Характеристики

Тип файла
Документ
Размер
11,48 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6309
Авторов
на СтудИзбе
313
Средний доход
с одного платного файла
Обучение Подробнее