Лекция № 18 ЗАПРОСЫ КАК ПРИЛОЖЕНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ

  • docx
  • 30.05.2021
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала Л 18.docx

Лекция № 18 ЗАПРОСЫ КАК ПРИЛОЖЕНИЯ ИНФОРМАЦИОННОЙ СИСТЕМЫ

 

ПЛАН

1.     Запросы как приложения информационной системы.

2.     Логические условия выбора данных.

 

1 Запросы как приложения информационной системы

                           

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

Запрос - это команда к СУБД на выполнение определенного вида манипулирования данными.

Существует универсальный язык, на котором формулируются запросы во многих СУБД. Он называется SQL (Structured Query Language) - структурированный язык запросов. Здесь мы оказы­ваемся перед выбором, с которым часто приходится сталкиваться в информатике: обучаться составлению запросов на языке SQL или воспользоваться каким-то более высокоуровневым вспомогатель­ным средством. В большинстве современных СУБД такие средства имеются. Например, в Microsoft Access это конструктор запросов.

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

 

Команда запроса на выборку данных из БД на гипотетическом языке  запросов имеет следующий формат:

.выбрать ˂ список выводимых полей > где  ˂условие выбора>

сортировать ˂ключ сортировки> по ˂ порядок сортировки>

 

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

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

Запрос 1. Требуется получить список всех специальностей университета с указанием факультета и плана приема на специ­альность. Список отсортировать в алфавитном порядке по двум ключам: названию факультета (первый ключ) и названию специ­альности (второй ключ). В этом запросе не будет использовано условие выбора, по­скольку в итоговый список войдет информация из всех записей таблиц ФАКУЛЬТЕТЫ и СПЕЦИАЛЬНОСТИ. В разделе сорти­ровки должно быть указано два ключа по порядку. Напомним, что в таком случае сортировка сначала происходит по первому ключу, и в случае совпадения у нескольких записей его значения они упорядочиваются по второму ключу.

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

Команда для данного запроса будет следующей:

.выбрать ФАКУЛЬТЕТЫ. ФАКУЛЬТЕТ, СПЕЦИАЛЬНОСТИ. СПЕЦИАЛЬНОСТЬ, СПЕЦИАЛЬНОСТИ. ПЛАН сортировать ФАКУЛЬТЕТЫ.ФАКУЛЬТЕТ по возрастанию, СПЕЦИАЛЬНОСТИ.СПЕЦИАЛЬНОСТЬ по возрастанию

Результат выполнения запроса - таблица 1.15.

Таблица 1.15 -  План приема: запрос на выборку

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

В этом запросе должны использоваться четыре таблицы одно­ временно: АНКЕТЫ, СПЕЦИАЛЬНОСТИ, АБИТУРИЕНТЫ, ФАКУЛЬТЕТЫ. Условие выбора в этом запросе будет представ­лять собой логическое выражение, содержащее операцию логи­ческого умножения «И» - конъюнкцию. Подробнее способы за­писи логических выражений мы обсудим в следующем пара­ графе.

На гипотетическом языке запросов команда будет выглядеть так: .выбрать АНКЕТЫ. ФАМИЛИЯ, АНКЕТЫ. ГОРОД,

СПЕЦИАЛЬНОСТИ.СПЕЦИАЛЬНОСТЬ,

АБИТУРИЕНТЫ. СТАЖ

где ФАКУЛЬТЕТЫ.ФАКУЛЬТЕТ= " Юридический"

и АБИТУРИЕНТЫ. СТАЖ>0 сортировать

АНКЕТЫ. ФАМИЛИЯ по возрастанию

В результате будет получена таблица 1.16 .

 

 

 

Таблица 1.16 - Юристы со стажем: запрос на выборку

В компьютерном практикуме вы научитесь реализовывать та­ кие запросы в среде СУБД Microsoft Access. Кроме того, вы буде­ те строить запросы на удаление записей, научитесь организовы­вать вычисляемые поля в запросах, создавать формы для ввода и просмотра таблиц, формировать отчетные печатные документы.

Система основных понятий

 

 

 

 

 

2 Логические условия выбора данных

При построении запросов на выборку важное значение имеет правильная запись условий выбора.

Условие выбора - это логическое выражение, которое долж­но быть истинным для выбираемых записей БД.

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

1. Логическая величина - это величина, принимающая одно из двух значений - ИСТИНА (TRUE) и ЛОЖЬ (FALSE). В базах данных поле логического типа - это логическая ве­личина.

2. Логическое выражение - это утверждение, которое может быть либо истинным, либо ложным. Логическое выражение состоит из логических констант, логических переменных, операций отношения и логических операций.

3. Операции отношения сравнивают значения двух величин. Знаки операций отношения:  = (равно),  <> (не равно),  > (больше),  < (меньше),

>= (больше или равно), <= (меньше или равно). Сравнение числовых величин производится в их арифметическом смысле; сравнение символьных величин - с учетом порядка символов в таблице кодировки; величины типа « дата» и «время » сравниваются по их последователь­ности во времени.

4. Существуют три основные логические операции: отрица­ние - НЕ (NOT), конъюнкция - И (AND), дизъюнкция - ИЛИ (OR). Их правила выполнения отражаются в таблице истинности:

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

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

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

Из этих примеров важно усвоить правила выполнения опера­ций конъюнкции (И) и дизъюнкции (ИЛИ). Каждая из этих опе­раций объединяет два условия (отношения). В результате выпол­нения операции ИЛИ в одну выборку объединяются записи, удов­летворяющие каждому из условий. Операция И работает иначе: сначала выбираются все записи, удовлетворяющие первому усло­вию, затем из отобранных записей выбираются те, которые удов­летворяют второму условию.

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

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

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

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

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

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

 

 

 

 

 

 

          

 

 

           Продолжение таблицы

 

Обратите внимание на условие в примере 10. При записи в таблицу фактически произошло раскрытие скобок и данное логи­ческое выражение заменилось эквивалентным выражением:

 

A=l И С=З ИЛИ В=2 И С=З

 

Имя поля, заключенное в квадратные скобки, идентифициру­ет значение этого поля в записи. Такое обозначение в принципе можно использовать во всех условных выражениях в конструкто­ре. Например, отношение A=l в конструкторе запроса в столбце А можно записать в двух вариантах: 1) [A]=l, 2) = 1 . Второй вариант короче, поэтому обычно пользуются им. Условие в примере 13 можно было бы записать так: [А]=[В] OR [А]=[С].

Система основных понятий

 

 

 

 

 

 

 

 

 

 

 

                                    

 

 

 

ВОПРОСЫ И ЗАДАНИЯ

1. Запросы как приложения информационной системы

1. а) Что входит в понятие манипулирования данными в БД?

б) Какова цель запроса на выборку?

2. Напишите на гипотетическом языке запросов команду, формирующую таблицу расшифровки кодов специальностей. Строки должны быть упорядочены по возрастанию кодов.

3. Придумайте серию запросов к базе данных, построенной по индивидуальному заданию в практикуме. Представьте эти запросы на гипотети­ческом языке.

2. Логические условия выбора данных

1. а) Что такое логическое выражение?  

б) Какие существуют основные логические операции? Что такое таблица истинности?

2. Для таблицы, приведенной в данном параграфе, определите результаты отбора записей по следующим условиям:

 а) А=2 И В=2;

б) А=2 ИЛИ В=2;

в) А=2 И В=1 ИЛИ С=3;

г) А>В;

д) С=А+В;

е) A=l ИЛИ А=2;

ж) В> l И В ˂3.

3. Все условия из предыдущего задания представьте в табличной форме, т. е. на языке конструктора запросов.

• Ввод данных в БД

• Высказывание. Простые и сложные высказывания. Основные логические операции

• Запросы на выборку данных

• Понятие СУБД. Классификация СУБД

• Проектирование баз данных

• Проектирование объектов данных

• Проектирование отчетов

• Проектирование экранных форм

• Создание отчетов в БД

• Этапы разработки ИС

ЭОР к главе 1 на сайте ФЦИОР (http://fcior. edu . ru)


 

Посмотрите также